/* detay-nova.css v39 - Temiz, acik renkli - Tatildeyap */

/* === 1. GLOBAL === */
.ndp-wrap { background:#f5f7fa; min-height:60vh; }

/* === 2. HEADER - Beyaz, sade === */
.ndp-header { background:#fff; border-bottom:2px solid #e2e8f0; padding:14px 0 20px; }
.ndp-header-inner { display:flex; flex-direction:column; gap:10px; }

.ndp-breadcrumb { display:flex; align-items:center; gap:6px; overflow-x:auto; scrollbar-width:none; }
.ndp-breadcrumb::-webkit-scrollbar { display:none; }
.ndp-back-btn { width:32px; height:32px; border-radius:8px; background:#f1f5f9; border:1px solid #e2e8f0; display:inline-flex; align-items:center; justify-content:center; color:#475569; font-size:13px; text-decoration:none; flex-shrink:0; transition:background .15s; }
.ndp-back-btn:hover { background:#e2e8f0; color:#1f396a; }
.ndp-crumb-chips { display:flex; align-items:center; gap:4px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.ndp-crumb-chips::-webkit-scrollbar { display:none; }
.ndp-chip { display:inline-flex; align-items:center; gap:4px; height:26px; padding:3px 10px; border-radius:999px; background:#f1f5f9; border:1px solid #e2e8f0; font-size:11px; font-weight:500; color:#475569; text-decoration:none; white-space:nowrap; transition:background .15s; flex-shrink:0; }
.ndp-chip:hover { background:#dbeafe; color:#1f396a; }
.ndp-chip i { font-size:9px; }

.ndp-h1 { font-size:1.6rem; font-weight:800; color:#0f172a; line-height:1.3; margin:0; }
@media(max-width:767px){ .ndp-header{padding:10px 0 16px;} .ndp-h1{font-size:1.2rem;} }

.ndp-title-meta { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
/* === 3b. GUVEN BANDI (detay sayfa — seokategori clone) === */
.ndp-wrap .tdy-seocat-trust {
    display:flex; align-items:flex-start; gap:12px;
    background:#fff; border:1px solid rgba(31,57,106,.09);
    border-radius:14px; padding:.85rem 1rem;
    margin-bottom:10px; cursor:pointer;
    transition:border-color .15s, background .15s;
}
.ndp-wrap .tdy-seocat-trust:hover { border-color:rgba(31,57,106,.18); background:#fafbff; }
.ndp-wrap .tdy-seocat-trust-icon {
    width:38px; height:38px; border-radius:50%;
    background:#eef3ff;
    display:flex; align-items:center; justify-content:center;
    color:#1f396a; font-size:1rem; flex-shrink:0;
}
.ndp-wrap .tdy-seocat-trust-title {
    font-size:.875rem; font-weight:700; color:#1f396a;
    display:flex; align-items:center; justify-content:space-between; gap:8px;
}
.ndp-wrap .tdy-seocat-trust-sub { font-size:.78rem; color:#64748b; margin-top:2px; }
.ndp-wrap .tdy-seocat-trust-body { font-size:.8rem; color:#64748b; margin-top:8px; display:none; }
.ndp-wrap .tdy-seocat-trust-body.open { display:block; }
.ndp-wrap .tdy-seocat-trust-toggle { font-size:1rem; font-weight:700; color:#1f396a; flex-shrink:0; }

/* Slogan bar — tur ozellikleri ustunde ayri blok */
.ndp-slogan-bar {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    background: #f8faff;
    border: 1px solid #e2e8f0;
    border-left: 3px solid #f59e0b;
    border-radius: 10px;
    padding: 10px 14px;
    margin-bottom: 10px;
}
.ndp-slogan-bar > i {
    color: #f59e0b;
    font-size: .75rem;
    margin-top: 3px;
    flex-shrink: 0;
}
.ndp-slogan {
    font-size: .84rem;
    font-weight: 500;
    color: #334155;
    font-style: italic;
    line-height: 1.5;
}
.ndp-ilan-no {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    color: #475569;
    font-size: .72rem;
    font-weight: 700;
    padding: 3px 10px 3px 8px;
    border-radius: 999px;
    letter-spacing: .01em;
}
.ndp-ilan-no i { color: #1f396a; font-size: .65rem; }
.ndp-ilan-label { font-size: .62rem; font-weight: 500; color: #94a3b8; margin-left: 2px; }
.ndp-report-btn { display:inline-flex; align-items:center; gap:4px; font-size:.7rem; color:#94a3b8; background:transparent; border:none; cursor:pointer; padding:3px 6px; border-radius:6px; margin-left:auto; transition:color .14s,background .14s; }
.ndp-report-btn:hover { color:#ef4444; background:#fff1f2; }

/* === 3. GALERI === */
.ndp-gallery-container { padding:0; }
.ndp-gallery-grid { display:grid; grid-template-columns:2fr 1fr; grid-template-rows:248px 248px; gap:3px; cursor:pointer; }
.ndp-gallery-item--0 { grid-column:1; grid-row:1/3; }
.ndp-gallery-item--1 { grid-column:2; grid-row:1; }
.ndp-gallery-item--2 { grid-column:2; grid-row:2; }
/* Items i>=3 — DOM'da ama gizli, LG thumbnails okuyabilsin */
.ndp-gallery-item--3 { position:absolute!important; width:0!important; height:0!important; opacity:0!important; pointer-events:none!important; overflow:hidden!important; min-width:0!important; min-height:0!important; }
.ndp-gallery-item { position:relative; overflow:hidden; background:#e2e8f0; }
.ndp-gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .4s; display:block; }
.ndp-gallery-item:hover img { transform:scale(1.04); }
.ndp-gallery-all-btn { position:absolute; bottom:14px; right:14px; background:rgba(15,23,42,.62); color:#fff; font-size:.74rem; font-weight:700; padding:7px 14px; border-radius:999px; display:flex; align-items:center; gap:6px; backdrop-filter:blur(4px); pointer-events:none; }
.ndp-gallery-more-overlay { position:absolute; inset:0; background:rgba(15,23,42,.5); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; font-size:1rem; font-weight:700; }
.ndp-gallery-more-overlay i { font-size:1.5rem; opacity:.85; }
@media(max-width:639px){
  .ndp-gallery-grid { grid-template-columns:1fr; grid-template-rows:260px; }
  .ndp-gallery-item--0{grid-column:1;grid-row:1;} .ndp-gallery-item--1,.ndp-gallery-item--2{display:none;}
}

/* Mobil foto seridi */
.ndp-mobile-strip {
    display: none;
}
@media(max-width:639px){
  .ndp-mobile-strip {
    display: flex;
    gap: 4px;
    padding: 4px 0 0;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .ndp-mobile-strip::-webkit-scrollbar { display:none; }
  .ndp-mobile-strip-item {
    flex: 0 0 calc(20% - 4px);
    aspect-ratio: 1;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
    border: 2px solid transparent;
    transition: border-color .15s;
    cursor: pointer;
    background: #e2e8f0;
  }
  .ndp-mobile-strip-item.active { border-color: #1f396a; }
  .ndp-mobile-strip-item img { width:100%; height:100%; object-fit:cover; display:block; }
  .ndp-mobile-strip-more {
    position: absolute; inset:0;
    background: rgba(15,23,42,.55);
    color:#fff; font-size:.72rem; font-weight:800;
    display:flex; align-items:center; justify-content:center;
  }
}

/* === 4. STICKY NAV ===
   position:fixed — DOM parent'tan bagimsiz, header altina sabitlenir.
   Header masaustu ~58px, mobil 52px (tdy-header-inner height:52px)
*/
.ndp-sticky-nav {
    position: fixed;
    top: 58px;           /* masaustu: header yuksekligi */
    left: 0;
    right: 0;
    z-index: 490;        /* header z-index:500'un hemen altinda */
    background: #fff;
    border-bottom: 2px solid #e2e8f0;
    box-shadow: 0 2px 12px rgba(15,23,42,.08);
    width: 100%;
    transform: translateY(-120%);
    opacity: 0;
    transition: transform .25s ease, opacity .2s ease;
    pointer-events: none;
}
.ndp-sticky-nav.is-visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}
.ndp-sticky-nav-inner {
    display: flex;
    align-items: stretch;
    min-height: 52px;
    max-width: 100%;
}
/* Galeri bitince nav altindaki icerige offset ver */
#ndp-page-wrap,
#ndp-page-lower {
    scroll-margin-top: 120px;
}
/* Tabs wrapper — artik nav nav-tabs degil, sadece ndp-sticky-tabs */
.ndp-sticky-tabs {
    display: flex;
    align-items: stretch;
    flex: 1;
    min-width: 0;
    overflow-x: auto;
    overflow-y: visible;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 0;
}
.ndp-sticky-tabs::-webkit-scrollbar { display: none; }
/* Tab linkleri — .nav-link artik Bootstrap'e bagimli degil */
.ndp-sticky-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 16px;
    height: 52px;
    font-size: .82rem;
    font-weight: 600;
    color: #64748b;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    border: none;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    background: transparent;
    cursor: pointer;
    transition: color .15s, border-color .15s, background .15s;
}
.ndp-sticky-tab i {
    font-size: .85rem;
    flex-shrink: 0;
    opacity: .8;
}
.ndp-sticky-tab.active i { opacity: 1; }
.ndp-sticky-tab:hover {
    color: #1f396a;
    border-bottom-color: #c7d9f8;
    background: #f8faff;
}
.ndp-sticky-tab.active {
    color: #1f396a !important;
    font-weight: 700;
    border-bottom-color: #f59e0b !important;
    background: transparent !important;
}
/* Fiyat + CTA — her zaman gorunsun (masaustu) */
.ndp-sticky-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    flex-shrink: 0;
    padding: 0 14px;
    border-left: 1px solid #e2e8f0;
    gap: 2px;
}
.ndp-sticky-price-label {
    font-size: .6rem;
    color: #94a3b8;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    line-height: 1;
}
.ndp-sticky-price-val {
    font-size: 1.05rem;
    font-weight: 800;
    color: #1f396a;
    line-height: 1.2;
    white-space: nowrap;
}
.ndp-sticky-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 8px 12px 8px 8px;
    padding: 9px 18px;
    background: #10b981;
    color: #fff !important;
    font-size: .82rem;
    font-weight: 700;
    border-radius: 999px;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    box-shadow: 0 3px 10px rgba(5,150,105,.28);
    transition: background .15s, transform .12s;
}
.ndp-sticky-cta-btn:hover { background: #059669; transform: translateY(-1px); }
@media (max-width: 767px) {
    .ndp-sticky-nav { top: 52px; }
    .ndp-sticky-price { display: none; }
    .ndp-sticky-cta-btn { display: none; }
    .ndp-sticky-tab { padding: 0 12px; font-size: .75rem; height: 46px; gap: 5px; }
    /* Mobilde isim + icon goster, scroll ile gezilir */
}
@media (min-width: 768px) {
    .ndp-sticky-price { display: flex !important; }
    .ndp-sticky-cta-btn { display: inline-flex !important; }
}

/* === 4c. TRUST BAR — galeri altı, sticky nav üstü === */
.ndp-trust-bar { background:#fff; border-bottom:1px solid #eaeff5; }
.ndp-trust-bar-wrap { cursor:pointer; user-select:none; padding:8px 0; }
.ndp-tbw-row { display:flex; align-items:center; gap:12px; }
.ndp-tbw-left { display:flex; align-items:center; gap:10px; flex:1; min-width:0; }
.ndp-tbw-icon {
    width:32px; height:32px; border-radius:50%; flex-shrink:0;
    background:linear-gradient(135deg,#eef3ff,#dbeafe);
    display:flex; align-items:center; justify-content:center;
    color:#1f396a; font-size:.85rem;
    transition:background .2s, color .2s;
}
.ndp-trust-bar-wrap.open .ndp-tbw-icon { background:linear-gradient(135deg,#1f396a,#2d5091); color:#fff; }
.ndp-tbw-text { display:flex; flex-direction:column; gap:1px; min-width:0; }
.ndp-tbw-title { font-size:.8rem; font-weight:700; color:#1f396a; }
.ndp-tbw-sub { font-size:.7rem; color:#64748b; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ndp-tbw-chevron {
    font-size:.58rem; color:#94a3b8; flex-shrink:0;
    transition:transform .28s cubic-bezier(.4,0,.2,1), color .2s;
}
.ndp-trust-bar-wrap.open .ndp-tbw-chevron { transform:rotate(180deg); color:#1f396a; }
.ndp-tbw-body { max-height:0; overflow:hidden; transition:max-height .32s cubic-bezier(.4,0,.2,1); }
.ndp-trust-bar-wrap.open .ndp-tbw-body { max-height:100px; }
.ndp-tbw-body-inner {
    display:flex; flex-wrap:wrap; gap:8px 20px;
    padding:8px 0 10px; border-top:1px solid #f1f5f9;
    margin-top:4px; font-size:.75rem; color:#475569;
}
.ndp-tbw-body-inner span { display:flex; align-items:center; gap:5px; }
.ndp-tbw-body-inner i { color:#1f396a; font-size:.68rem; flex-shrink:0; }
.ndp-tbw-body-inner strong { color:#1e293b; font-weight:600; }

/* === 4b. SCROLL MARGIN — fixed nav + header yuksekligi kadar offset === */
#ndp-overview, #ndp-highlights, #icerik, #tur-programi,
#dahil-olanlar, #servis-saatleri, #hizmetfaq,
#onemli-bilgiler, #vize-bilgileri, #iptal-sartlari, #ndp-yorumlar {
    scroll-margin-top: 120px;
}

/* === 5. ANA ICERIK === */
.ndp-content-row { padding-top:16px; padding-bottom:32px; }

/* Fiyat banner — mobil sol kolon ustu */
.ndp-price-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: linear-gradient(135deg,#1f396a 0%,#2d4f8e 100%);
    border-radius: 14px;
    padding: 14px 18px;
    margin-bottom: 12px;
    box-shadow: 0 4px 16px rgba(31,57,106,.18);
}
.ndp-price-banner-left { display:flex; flex-direction:column; gap:3px; }
.ndp-price-banner-label { font-size:.58rem; font-weight:700; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.08em; }
.ndp-price-banner-row { display:flex; align-items:baseline; gap:7px; flex-wrap:wrap; }
.ndp-price-banner-val { font-size:1.5rem; font-weight:800; color:#fff; line-height:1; letter-spacing:-.02em; }
.ndp-price-banner-old { font-size:.72rem; color:rgba(255,255,255,.38); text-decoration:line-through; }
.ndp-price-banner-badge { font-size:.62rem; font-weight:800; background:#f59e0b; color:#fff; padding:2px 7px; border-radius:6px; }
.ndp-price-banner-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 11px 18px;
    background: #10b981;
    color: #fff;
    font-size: .82rem;
    font-weight: 700;
    border-radius: 10px;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(5,150,105,.3);
    transition: background .15s;
}
.ndp-price-banner-cta:hover { background:#059669; color:#fff; }

.ndp-section { background:#fff; border-radius:12px; border:1px solid #e2e8f0; padding:16px 18px; margin-bottom:10px; box-shadow:0 1px 4px rgba(15,23,42,.04); }
.ndp-section-title {
    font-size: .9rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 12px;
    padding-bottom: 10px;
    border-bottom: 2px solid #f1f5f9;
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
}
.ndp-section-title::before {
    content: '';
    display: inline-block;
    width: 3px;
    height: 16px;
    background: #1f396a;
    border-radius: 999px;
    flex-shrink: 0;
}
.ndp-section-title i { font-size: .82rem; color: #1f396a; }

/* Genel Bilgi kaynak grid — masaustu 4+, tablet 3, mobil 3 */
.ndp-kaynak-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:8px; }
@media(max-width:767px){ .ndp-kaynak-grid{ grid-template-columns:repeat(3,1fr); } }
.ndp-kaynak-item { display:flex; flex-direction:column; align-items:center; gap:4px; padding:10px 8px; background:#f8faff; border:1px solid #e8edf8; border-radius:10px; text-align:center; }
.ndp-kaynak-item i { font-size:1.1rem; color:#1f396a; }
.ndp-kaynak-label { font-size:.62rem; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:.04em; }
.ndp-kaynak-val { font-size:.78rem; font-weight:600; color:#1e293b; }

/* Servis list */
.ndp-servis-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px; }
.ndp-servis-list li { display:flex; align-items:center; gap:8px; font-size:.83rem; color:#475569; padding:6px 10px; background:#f8faff; border-radius:8px; border:1px solid #e8edf8; }
.ndp-servis-list li i { color:#1f396a; font-size:.75rem; flex-shrink:0; }

.ndp-readmore-content { max-height:150px; overflow:hidden; transition:max-height .4s; font-size:.88rem; line-height:1.8; color:#475569; position:relative; }
.ndp-readmore-content:not(.expanded)::after { content:''; position:absolute; bottom:0; left:0; right:0; height:60px; background:linear-gradient(to bottom,rgba(255,255,255,0),#fff); }
.ndp-readmore-content.expanded { max-height:9999px; }
.ndp-readmore-content.expanded::after { display:none; }
/* === 8a. DAHL OLANLAR — checklist stili === */
.ndp-dahil-body ul, .ndp-dahil-body ol { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px; }
.ndp-dahil-body ul li, .ndp-dahil-body ol li {
    display:flex; align-items:flex-start; gap:10px;
    padding:9px 14px; background:#f0fdf4;
    border-radius:10px; border:1px solid #bbf7d0;
    font-size:.85rem; color:#166534; line-height:1.5; font-weight:500;
}
.ndp-dahil-body ul li::before {
    content:'\2022'; font-family:inherit; font-weight:900;
    color:#16a34a; font-size:1rem; flex-shrink:0; line-height:1.4;
}
.ndp-dahil-body ul.ndp-dahil-haric li {
    background:#fef2f2; border-color:#fecaca; color:#991b1b;
}
.ndp-dahil-body ul.ndp-dahil-haric li::before { color:#ef4444; }
.ndp-dahil-body p { font-size:.88rem; color:#475569; margin:0 0 8px; }
.ndp-dahil-body h1,.ndp-dahil-body h2,.ndp-dahil-body h3,.ndp-dahil-body h4 {
    font-size:.88rem; font-weight:600; color:#334155; margin:10px 0 6px;
}

/* === 8b. SIKCA SORULAN SORULAR — custom FAQ accordion === */
.ndp-faq-list { display:flex; flex-direction:column; gap:8px; }
.ndp-faq-item { border:1px solid #e8edf8; border-radius:14px; overflow:hidden; background:#fff; transition:border-color .2s, box-shadow .2s; }
.ndp-faq-item.open { border-color:#c7d7f4; box-shadow:0 2px 12px rgba(31,57,106,.08); }
.ndp-faq-q {
    width:100%; display:flex; align-items:center; gap:12px;
    padding:14px 16px; background:none; border:none; cursor:pointer;
    text-align:left; transition:background .15s;
}
.ndp-faq-q:hover { background:#f8faff; }
.ndp-faq-item.open .ndp-faq-q { background:#f0f4ff; }
.ndp-faq-num {
    min-width:26px; height:26px; border-radius:50%;
    background:#e8edf8; color:#64748b;
    font-size:.7rem; font-weight:700;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0; transition:all .2s;
}
.ndp-faq-item.open .ndp-faq-num { background:#1f396a; color:#fff; }
.ndp-faq-text { flex:1; font-size:.88rem; font-weight:600; color:#1e293b; line-height:1.4; }
.ndp-faq-arrow { font-size:.6rem; color:#94a3b8; transition:transform .25s, color .2s; flex-shrink:0; }
.ndp-faq-item.open .ndp-faq-arrow { transform:rotate(180deg); color:#1f396a; }
.ndp-faq-a { max-height:0; overflow:hidden; transition:max-height .32s ease; }
.ndp-faq-item.open .ndp-faq-a { max-height:800px; }
.ndp-faq-a-inner { font-size:.85rem; color:#475569; line-height:1.75; border-top:1px solid #f1f5f9; padding:12px 16px 16px; }
.ndp-faq-a-inner h1,.ndp-faq-a-inner h2,.ndp-faq-a-inner h3 { font-size:.88rem; font-weight:600; color:#334155; margin:8px 0 4px; }
.ndp-faq-a-inner ul,.ndp-faq-a-inner ol { padding-left:18px; margin:4px 0 8px; }
.ndp-faq-a-inner li { margin-bottom:3px; }

/* Rich text content typography */
.ndp-readmore-content h1,.ndp-readmore-content h2,.ndp-readmore-content h3,
.ndp-readmore-content h4,.ndp-readmore-content h5,.ndp-readmore-content h6 {
    font-size:.93rem; font-weight:600; color:#334155; margin:12px 0 4px; line-height:1.4;
}
.ndp-readmore-content h1 { font-size:1rem; }
.ndp-readmore-content p { margin:0 0 8px; }
.ndp-readmore-content ul,.ndp-readmore-content ol { padding-left:18px; margin:6px 0 10px; }
.ndp-readmore-content li { margin-bottom:3px; }
.ndp-readmore-content strong { font-weight:600; color:#334155; }
.ndp-readmore-content a { color:#1f396a; text-decoration:underline; }
.ndp-readmore-btn { display:inline-flex; align-items:center; gap:6px; margin-top:10px; background:#f1f5f9; border:1px solid #e2e8f0; border-radius:999px; padding:6px 16px; cursor:pointer; font-size:.81rem; font-weight:600; color:#1f396a; transition:background .15s; }
.ndp-readmore-btn:hover { background:#e2e8f0; }
.ndp-readmore-btn i { transition:transform .3s; }
.ndp-readmore-btn.expanded i { transform:rotate(180deg); }

.ndp-highlights-header { margin-bottom: 12px; }
.ndp-highlights-header .ndp-section-title { margin-bottom:0; }

/* Highlights grid — tam 2 sutun */
.ndp-highlights-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ndp-highlight-item { display:flex; align-items:center; gap:12px; padding:13px 16px; background:#f8faff; border-radius:12px; border:1px solid #e8edf8; transition:box-shadow .15s,border-color .15s; }
.ndp-highlight-item:hover { box-shadow:0 3px 10px rgba(31,57,106,.08); border-color:#c7d9f8; }
.ndp-highlight-item i { font-size:1.15rem; color:#1f396a; flex-shrink:0; width:22px; text-align:center; }
.ndp-highlight-item div { display:flex; flex-direction:column; gap:2px; min-width:0; }
.ndp-hl-label { font-size:.6rem; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:.05em; display:block; }
.ndp-hl-val { font-size:.86rem; font-weight:700; color:#1e293b; display:block; overflow:hidden; text-overflow:ellipsis; word-break:break-word; white-space:normal; }
@media(max-width:767px){ .ndp-highlights-grid{ grid-template-columns:1fr 1fr; gap:8px; } }
@media(max-width:400px){ .ndp-highlights-grid{ grid-template-columns:1fr; } }
.ndp-highlight-item { min-width:0; overflow:hidden; }
.ndp-highlight-item div { min-width:0; overflow:hidden; }

/* === 6. REZERVASYON KARTI — Profesyonel Tasarim === */
/* sticky top JS ile dinamik set edilir (positionNav), fallback: header(58)+nav(52)+12 = 122px */
.ndp-rez-card {
    position: sticky;
    top: 122px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    box-shadow: 0 4px 32px rgba(15,23,42,.11);
    overflow: hidden;
}

/* Fiyat kutusu — gradient koyu alan */
.ndp-rez-price-box {
    background: linear-gradient(135deg,#1f396a 0%,#2d4f8e 100%);
    padding: 20px 22px 16px;
    position: relative;
    overflow: hidden;
}
.ndp-rez-price-box::before {
    content: '';
    position: absolute;
    top: -30px; right: -30px;
    width: 120px; height: 120px;
    background: rgba(255,255,255,.05);
    border-radius: 50%;
}
.ndp-rez-price-top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:12px; }
.ndp-rez-price-label { font-size:.6rem; font-weight:700; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.08em; margin-bottom:4px; display:block; }
.ndp-rez-price-val { font-size:2rem; font-weight:800; color:#fff; line-height:1; letter-spacing:-.02em; }
.ndp-rez-price-old { font-size:.75rem; color:rgba(255,255,255,.38); display:block; margin-top:4px; text-decoration:line-through; }
.ndp-discount-badge {
    display: inline-flex;
    align-items: center;
    background: #f59e0b;
    color: #fff;
    font-size: .68rem;
    font-weight: 800;
    padding: 5px 10px;
    border-radius: 8px;
    white-space: nowrap;
    flex-shrink: 0;
    letter-spacing: .02em;
}
.ndp-rez-children { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:10px; }
.ndp-child-chip { display:inline-flex; align-items:center; background:rgba(255,255,255,.12); color:rgba(255,255,255,.88); font-size:.7rem; font-weight:600; padding:4px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.18); }
.ndp-child-chip.free { background:rgba(16,185,129,.3); border-color:rgba(16,185,129,.4); }
.ndp-rez-meta-row { display:flex; flex-wrap:wrap; gap:6px; padding-top:10px; border-top:1px solid rgba(255,255,255,.1); }
.ndp-rez-meta-row span { display:inline-flex; align-items:center; gap:4px; font-size:.63rem; font-weight:500; color:rgba(255,255,255,.55); }
.ndp-rez-meta-row span i { font-size:.65rem; color:rgba(255,255,255,.45); }

/* Form alani */
.ndp-rez-form-inner { padding:18px 20px 20px; display:flex; flex-direction:column; gap:12px; background:#fff; }
.ndp-rez-label { display:flex; align-items:center; gap:5px; font-size:.67rem; font-weight:700; color:#64748b; margin-bottom:6px; text-transform:uppercase; letter-spacing:.06em; }
.ndp-rez-label i { color:#94a3b8; font-size:.7rem; }

/* ═══ CUSTOM DATE DROPDOWN (ndp-cdd) ═══ */
.ndp-cdd-wrap { position:relative; }

/* Trigger butonu */
.ndp-cdd-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px 12px 14px;
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    color: #1e293b;
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s, background .15s;
    text-align: left;
    position: relative;
}
.ndp-cdd-trigger:hover { border-color: #c7d9f8; background: #f8faff; }
.ndp-cdd-trigger[aria-expanded="true"] { border-color: #1f396a; background: #f0f5ff; box-shadow: 0 0 0 3px rgba(31,57,106,.08); }
.ndp-cdd-icon { color:#1f396a; font-size:.92rem; flex-shrink:0; }
.ndp-cdd-val { flex:1; display:flex; align-items:center; gap:8px; min-width:0; }
.ndp-cdd-val-date { font-size:.92rem; font-weight:700; color:#1e293b; white-space:nowrap; }
.ndp-cdd-val-day  { font-size:.78rem; font-weight:500; color:#64748b; }
.ndp-cdd-arrow { font-size:.6rem; color:#94a3b8; flex-shrink:0; transition:transform .2s; }

/* Badge - trigger icinde */
.ndp-cdd-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .02em;
    white-space: nowrap;
    flex-shrink: 0;
}
.ndp-cdd-badge.musait     { background:#dcfce7; color:#15803d; }
.ndp-cdd-badge.sonyerler  { background:#fff7ed; color:#c2410c; border:1px solid #fed7aa; }
.ndp-cdd-badge.musaitdegil{ background:#f1f5f9; color:#94a3b8; border:1px solid #e2e8f0; }

/* Dropdown listesi */
.ndp-cdd-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    left: 0; right: 0;
    background: #fff;
    border: 1.5px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 8px 32px rgba(15,23,42,.13);
    max-height: 300px;
    overflow-y: auto;
    z-index: 1000;
    display: none;
    padding: 6px;
    scrollbar-width: thin;
    scrollbar-color: #e2e8f0 transparent;
}
.ndp-cdd-dropdown.open { display:block; animation:cddFadeIn .18s ease; }
@keyframes cddFadeIn { from{opacity:0;transform:translateY(-6px)} to{opacity:1;transform:translateY(0)} }

/* Her tarih satiri */
.ndp-cdd-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border-radius: 10px;
    cursor: pointer;
    transition: background .12s;
    border: 1.5px solid transparent;
}
.ndp-cdd-item:hover:not(.disabled) { background:#f8faff; border-color:#e8edf8; }
.ndp-cdd-item.selected { background:#eef3ff; border-color:#c7d9f8; }
.ndp-cdd-item.selected .ndp-cdd-item-day { color:#1f396a; }
.ndp-cdd-item.disabled { opacity:.45; cursor:not-allowed; }

/* Sol: takvim kutusu — ay üst / gun altta */
.ndp-cdd-item-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 38px;
    min-width: 38px;
    height: 38px;
    border-radius: 8px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    flex-shrink: 0;
    overflow: hidden;
    padding: 0;
}
.ndp-cdd-item-left-month {
    display: block;
    width: 100%;
    text-align: center;
    font-size: .48rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    background: #1f396a;
    color: #fff;
    line-height: 1;
    padding: 2px 0;
}
.ndp-cdd-item-left-day {
    display: block;
    font-size: .95rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1;
    padding: 2px 0 1px;
}
.ndp-cdd-item.selected .ndp-cdd-item-left { background:#dbeafe; border-color:#93c5fd; }
.ndp-cdd-item.selected .ndp-cdd-item-left-month { background:#1f396a; }
.ndp-cdd-item.selected .ndp-cdd-item-left-day { color:#1f396a; }

/* Orta: hafta gunu + tam tarih */
.ndp-cdd-item-center { flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; overflow:hidden; justify-content:center; }
.ndp-cdd-item-weekday { font-size:.8rem; font-weight:700; color:#1e293b; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ndp-cdd-item-full    { font-size:.67rem; color:#94a3b8; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* Sag: badge */
.ndp-cdd-item-right { flex-shrink:0; }

/* Cok tarih: sabit yukseklik + scroll — 30+ tarihte bozulmasin */
.ndp-cdd-item { padding: 6px 8px; gap: 8px; }
.ndp-cdd-dropdown {
    max-height: 280px;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

/* Mobil: bottom sheet */
@media(max-width:575px){
    .ndp-cdd-dropdown {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        top: auto !important;
        bottom: 0 !important;
        border-radius: 20px 20px 0 0;
        max-height: 65vh;
        padding: 0 6px 24px;
        box-shadow: 0 -12px 40px rgba(15,23,42,.22);
        border: none;
        border-top: 1px solid #e2e8f0;
        z-index: 1050;
    }
    .ndp-cdd-dropdown.open::before {
        content: '';
        display: block;
        width: 40px; height: 4px;
        background: #cbd5e1;
        border-radius: 2px;
        margin: 10px auto 8px;
    }
    .ndp-cdd-dropdown.open::after {
        content: 'Tarih Seçin';
        display: block;
        font-size: .72rem;
        font-weight: 700;
        color: #94a3b8;
        text-transform: uppercase;
        letter-spacing: .08em;
        text-align: center;
        padding-bottom: 8px;
        border-bottom: 1px solid #f1f5f9;
        margin-bottom: 6px;
    }
    .ndp-cdd-badge { font-size: .58rem; padding: 2px 6px; }
    .ndp-cdd-item-weekday { font-size:.76rem; }
    .ndp-cdd-item-full    { font-size:.64rem; }
}

/* Bootstrap-select artik kullanilmiyor */
.tarih-ribbon { display:inline-block; font-size:11px; font-weight:600; padding:2px 6px; border-radius:4px; margin-left:6px; }
.ribbon-sonyerler  { background:#fff7ed; color:#c2410c; }
.ribbon-musaitdegil{ background:#f1f5f9; color:#94a3b8; }

.ndp-rez-submit-btn {
    position: relative;
    overflow: hidden;
    width: 100%;
    display: flex!important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 15px 20px;
    background: linear-gradient(135deg,#10b981 0%,#059669 100%);
    color: #fff!important;
    font-size: .98rem;
    font-weight: 700;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(5,150,105,.32);
    transition: box-shadow .18s, transform .12s;
    letter-spacing: .01em;
}
.ndp-rez-submit-btn:hover { box-shadow:0 8px 28px rgba(5,150,105,.42); transform:translateY(-1px); }
.ndp-rez-submit-btn:active { transform:scale(.98); box-shadow:0 2px 10px rgba(5,150,105,.25); }
.ndp-rez-submit-btn::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0);
    transition: background .15s;
}
.ndp-rez-submit-btn:hover::after { background: rgba(255,255,255,.06); }

.ndp-no-date-msg { display:flex; align-items:flex-start; gap:10px; background:#fffbeb; color:#92400e; border:1px solid #fde68a; border-radius:10px; padding:12px 14px; font-size:.82rem; font-weight:500; line-height:1.5; }
.ndp-no-date-msg i { font-size:1rem; margin-top:1px; flex-shrink:0; }

/* === 6b. GUVEN — Static Trust Pills (rez kartı altı) === */
.ndp-trust-static { padding:12px 14px; border:1px solid #d1fae5; border-radius:12px; background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%); }
.ndp-trust-static-head { font-size:.7rem; font-weight:700; color:#064e3b; text-transform:uppercase; letter-spacing:.05em; margin-bottom:9px; display:flex; align-items:center; gap:5px; }
.ndp-trust-static-head i { color:#059669; font-size:.8rem; }
.ndp-trust-static-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.ndp-trust-static-item { display:flex; align-items:flex-start; gap:7px; font-size:.74rem; color:#166534; line-height:1.4; }
.ndp-trust-static-item i { font-size:.7rem; color:#059669; flex-shrink:0; margin-top:2px; }

/* === 6c. TAKSİT SATIRI === */
.ndp-taksit-row {
    border-top: 1px solid #f1f5f9;
    padding: 10px 16px;
}
.ndp-taksit-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 11px 14px;
    background: #f8faff;
    border: 1.5px solid #c7d9f8;
    border-radius: 10px;
    cursor: pointer;
    gap: 10px;
    transition: background .15s, border-color .15s;
    text-align: left;
}
.ndp-taksit-btn:hover { background: #edf2fe; border-color: #8fb8f8; }
.ndp-taksit-btn-left {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.ndp-taksit-btn-left > i {
    font-size: 1rem;
    color: #1f396a;
    background: rgba(31,57,106,.1);
    width: 32px; height: 32px;
    border-radius: 8px;
    display: inline-flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.ndp-taksit-btn-left span { display: flex; flex-direction: column; gap: 1px; }
.ndp-taksit-btn-left strong { font-size: .82rem; font-weight: 700; color: #1f396a; display: block; }
.ndp-taksit-btn-left small { font-size: .72rem; color: #64748b; display: block; }
.ndp-taksit-arrow { font-size: .65rem; color: #94a3b8; flex-shrink: 0; }

/* === 6d. TAKSİT MODAL — Tab Tasarım === */
.ndp-taksit-modal { border-radius: 16px; overflow: hidden; border: none; }
.ndp-taksit-modal-header {
    background: linear-gradient(135deg, #1f396a 0%, #2d4f8e 100%);
    border-bottom: none;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ndp-taksit-modal-header .btn-close { filter: invert(1) brightness(2); opacity: .8; }
.ndp-taksit-modal-title-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}
.ndp-taksit-modal-title-wrap > i {
    font-size: 1.2rem;
    color: #fff;
    background: rgba(255,255,255,.15);
    width: 38px; height: 38px;
    border-radius: 10px;
    display: inline-flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.ndp-taksit-modal-title { font-size: .95rem; font-weight: 700; color: #fff; }
.ndp-taksit-modal-sub { font-size: .72rem; color: rgba(255,255,255,.6); margin-top: 2px; }
.ndp-taksit-modal-body { padding: 0; background: #fff; }
/* Tab nav — horizontal scroll, logo butonlar */
.ndp-taksit-tab-nav {
    display: flex;
    overflow-x: auto;
    gap: 0;
    border-bottom: 2px solid #e8edf8;
    background: #f8faff;
    padding: 0 4px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.ndp-taksit-tab-nav::-webkit-scrollbar { display: none; }
.ndp-taksit-tab-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding: 10px 16px;
    border: none;
    background: transparent;
    cursor: pointer;
    white-space: nowrap;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    transition: border-color .15s, background .15s;
    flex-shrink: 0;
    min-width: 80px;
}
.ndp-taksit-tab-btn img { height: 26px; max-width: 80px; object-fit: contain; display: block; filter: grayscale(.5) opacity(.7); transition: filter .15s; }
.ndp-taksit-tab-btn span { font-size: .65rem; font-weight: 700; color: #94a3b8; transition: color .15s; letter-spacing:.01em; }
.ndp-taksit-tab-btn.active img { filter: none; }
.ndp-taksit-tab-btn.active { border-bottom-color: #1f396a; background: rgba(31,57,106,.05); }
.ndp-taksit-tab-btn.active span { color: #1f396a; }
.ndp-taksit-tab-btn:hover:not(.active) { background: #f1f5f9; }
/* Tab panels */
.ndp-taksit-panels { background: #fff; }
.ndp-taksit-panel { display: none; }
.ndp-taksit-panel.active { display: block; }
.ndp-taksit-table-wrap { overflow-x: auto; }
.ndp-taksit-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .84rem;
}
.ndp-taksit-table thead tr { background: #f1f5f9; }
.ndp-taksit-table th {
    padding: 9px 16px;
    font-size: .68rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .04em;
    text-align: left;
    border-bottom: 1px solid #e2e8f0;
    white-space: nowrap;
}
.ndp-taksit-table td {
    padding: 10px 16px;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}
.ndp-taksit-table tbody tr:last-child td { border-bottom: none; }
.ndp-taksit-table tbody tr:hover td { background: #f8faff; }
.ndp-taksit-table td strong { color: #1f396a; font-weight: 700; font-size: .9rem; }
.ndp-taksit-row-tek td { background: #f0fdf4; }
.ndp-taksit-row-tek:hover td { background: #dcfce7 !important; }
.ndp-taksit-num { font-weight: 600; color: #475569; }
.ndp-taksit-note {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-size: .72rem;
    color: #64748b;
    margin: 0;
    padding: 10px 16px;
    background: #f8faff;
    border-top: 1px solid #e8edf8;
}
.ndp-taksit-note i { color: #1f396a; flex-shrink: 0; margin-top: 1px; }
/* Taksit modal sticky footer */
.ndp-taksit-modal-footer { padding:12px 16px; border-top:1px solid #e8edf8; background:#f8faff; }
.ndp-taksit-devam-btn { width:100%; padding:12px 16px; border:1.5px solid #1f396a; border-radius:11px; background:#fff; color:#1f396a; font-size:.86rem; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; transition:background .15s, color .15s, box-shadow .15s; }
.ndp-taksit-devam-btn:hover { background:#1f396a; color:#fff; box-shadow:0 2px 10px rgba(31,57,106,.18); }
.ndp-taksit-devam-btn i { font-size:.74rem; }
@media(max-width:575px) {
    .ndp-taksit-tab-btn { min-width:68px; padding:8px 10px; }
    .ndp-taksit-tab-btn img { height:20px; max-width:64px; }
    .ndp-taksit-table th, .ndp-taksit-table td { padding:8px 10px; font-size:.8rem; }
}

.ndp-contact-mini { display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid #f1f5f9; padding:12px 18px; }
.ndp-contact-presence { display:flex; align-items:center; gap:6px; font-size:.75rem; color:#475569; }
.ndp-dot-online { width:8px; height:8px; border-radius:50%; background:#10b981; box-shadow:0 0 0 3px rgba(16,185,129,.2); flex-shrink:0; display:inline-block; }
.ndp-contact-btn { display:inline-flex; align-items:center; gap:6px; padding:8px 14px; background:#25d366; color:#fff; font-size:.79rem; font-weight:700; border:none; border-radius:999px; cursor:pointer; transition:background .15s; }
.ndp-contact-btn:hover { background:#1dbc58; }
.ndp-contact-btn i { font-size:.9rem; }

/* === 7. ALT ICERIK - detaycard - Acik, sade === */
.ndp-lower-content { padding-top:24px; padding-bottom:80px; }
.ndp-lower-content > .col-md-12 { width:100%; max-width:100%; padding-left:0; padding-right:0; }

/* goTopBtn — mob CTA bar uzerine binmesin */
@media(max-width:767.98px){
    #goTopBtn { bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important; }
}

.detaycard { background:#fff; border-radius:14px; border:1px solid #e2e8f0; box-shadow:0 1px 6px rgba(15,23,42,.04); overflow:hidden; margin-bottom:14px; }
.detayhead { background:#f8faff; color:#1f396a; font-size:.88rem; font-weight:700; padding:12px 18px; border-bottom:1px solid #e2e8f0; display:flex; align-items:center; gap:8px; }
.detayhead i { opacity:.85; }
.detaycontent { background:#fff; padding:14px 18px; }
.detaycontent-fx { overflow-x:auto; }
.hizcol { margin-bottom:10px; padding:4px; }

.hizmetkaynaklari-card { background:#f8faff; border:1px solid #e2e8f0; height:auto; min-height:108px; border-radius:12px; padding:12px 6px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; text-align:center; transition:box-shadow .15s; }
.hizmetkaynaklari-card:hover { box-shadow:0 3px 12px rgba(31,57,106,.08); }
.hizmetkaynaklari-card > i,.hizmetkaynaklari-card i { width:auto!important; margin-top:0!important; font-size:1.4rem; color:#1f396a; }
.hizmetkaynaklari-val { font-size:.63rem; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:.04em; margin-top:0; display:inline-block; width:100%; text-align:center; }
.hizmetkaynaklari-baslik { font-size:.78rem; font-weight:600; color:#1e293b; margin-top:0; display:inline-block; width:100%; text-align:center; }

/* === 7b. ACCORDION SCOPE FIX ===
   detay.css global .accordion-button renkleri tum sayfayi etkiliyor;
   ndp-nova icin scoped override — hem ndp-section hem ndp-lower-content */
.ndp-section .accordion-button,
.ndp-lower-content .accordion-button {
    color: #1f396a !important;
    background: #f8faff !important;
    font-weight: 600;
    font-size: 14.5px;
    border: none;
    box-shadow: none !important;
}
.ndp-section .accordion-button:not(.collapsed),
.ndp-lower-content .accordion-button:not(.collapsed) {
    color: #fff !important;
    background: #1f396a !important;
    border-bottom-color: transparent !important;
}
.ndp-section .accordion-button::after,
.ndp-lower-content .accordion-button::after {
    filter: none;
}
.ndp-section .accordion-button:not(.collapsed)::after,
.ndp-lower-content .accordion-button:not(.collapsed)::after {
    filter: brightness(10);
}
.ndp-section .accordion-body,
.ndp-lower-content .accordion-body {
    color: #334155 !important;
    font-size: 14px !important;
    background: #fff;
}
.ndp-section .accordion-item,
.ndp-lower-content .accordion-item {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    margin-bottom: 10px;
    overflow: hidden;
    background: #fff;
}

/* === 8. ICERIK BOLUMU (eski tab sistemi kaldirildi, anchor-based) === */
.hizmet-detay-p img { width:100%!important; object-fit:contain!important; }
.hizmet-detay-p > div { display:block; font-size:13px; margin-bottom:16px; }
.hizmet-detay-p > div + div { margin-top:0; }
.hizmet-detay-section-head { background:#f8faff; color:#1f396a; font-size:.88rem; font-weight:700; padding:11px 16px; border-radius:12px 12px 0 0; border:1px solid #e2e8f0; border-bottom:none; display:flex; align-items:center; gap:8px; }
.hizmet-detay-section-head + .tab-body { border-radius:0 0 12px 12px; margin-top:0; }

.tab-body { padding:18px 14px; border-radius:12px; margin-bottom:12px; background:#fff; border:1px solid #e2e8f0; box-shadow:0 1px 6px rgba(15,23,42,.04); overflow:hidden; }
.hizmet-detay-p h2 { font-size:18px; }
.table table td { color:#1e396b!important; padding:7px; font-size:14px; }
.table table th { color:#1e396b!important; font-weight:600; padding-bottom:5px; }
.table table tr { border-bottom:solid 1px rgba(30,57,107,.15)!important; }

/* === 9. TUR PROGRAMI TIMELINE === */
.tdy-timeline { --blue:#1e396b; --text:#334155; --muted:#64748b; font-size:14px; }
.tdy-timeline-row { display:flex; gap:14px; padding:14px 0; }
.tdy-timeline-rail { position:relative; width:22px; flex:0 0 22px; display:flex; justify-content:center; }
.tdy-timeline-dot { position:relative; width:12px; height:12px; border-radius:999px; background:#fff; border:2px solid #1e396b; margin-top:4px; }
.tdy-timeline-dot:after { content:''; position:absolute; inset:3px; border-radius:999px; background:#1e396b; opacity:.9; }
.tdy-timeline-line { position:absolute; top:22px; bottom:-14px; width:2px; background:linear-gradient(180deg,rgba(30,57,107,.18),rgba(30,57,107,.05)); border-radius:999px; }
.tdy-timeline-row:last-child .tdy-timeline-line { display:none; }
.tdy-timeline-main { flex:1; min-width:0; padding-bottom:12px; border-bottom:1px solid rgba(229,231,235,.55); }
.tdy-timeline-row:last-child .tdy-timeline-main { border-bottom:0; }
.tdy-timeline-head { display:flex; align-items:baseline; gap:10px; margin-bottom:6px; }
.tdy-timeline-title { margin:0; color:#1e396b; font-weight:800; font-size:14px; line-height:1.35; }
.tdy-timeline-body { color:#334155; font-size:13.5px; line-height:1.7; }
.tdy-timeline-body p { margin:0 0 10px; }
.tdy-timeline-body h1,.tdy-timeline-body h2,.tdy-timeline-body h3,.tdy-timeline-body h4 { color:#1e396b; margin:10px 0 6px; font-size:13.5px; font-weight:800; }
.tdy-timeline-body ul { padding-left:18px; margin:6px 0 10px; }
.tdy-timeline-body li { margin:0 0 5px; }
@media(max-width:768px){ .tdy-timeline-row{gap:10px;padding:10px 0;} .tdy-timeline-title{font-size:13.5px;} .tdy-timeline-body{font-size:13px;} }

/* === 10. ACCORDION (FAQ + Tur Programi) === */
.tour-program-accordion .accordion-item { border-radius:10px; margin-bottom:12px; background:#fff; border:1px solid #e2e8f0; overflow:hidden; }
.tour-program-accordion .accordion-button { background:#f8faff; color:#1f396a; font-weight:700; font-size:15px; padding:12px 16px; border:none; border-radius:0!important; display:flex; align-items:center; gap:10px; transition:all .2s; border-bottom:1px solid #e2e8f0; }
.tour-program-accordion .accordion-button:not(.collapsed) { background:#1f396a; color:#fff; border-bottom-color:#152749; }
.tour-program-accordion .accordion-button::after { background-image:none!important; content:''; width:11px; height:11px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); opacity:.8; transition:all .2s; }
.tour-program-accordion .accordion-button:not(.collapsed)::after { transform:rotate(-135deg); opacity:1; }
.tour-program-accordion .accordion-body { background:#fff; padding:14px 16px; color:#334155; font-size:14.5px; line-height:1.6; }

/* === 11. READ MORE === */
.tdy-readmore { position:relative; }
.tdy-readmore-content { overflow:hidden; position:relative; transition:max-height .25s; }
.tdy-readmore:not(.tdy-readmore--expanded) .tdy-readmore-content::after { content:''; position:absolute; left:0; right:0; bottom:0; height:40px; background:linear-gradient(to bottom,rgba(255,255,255,0),#fff); }
.tdy-readmore-footer { margin-top:8px; text-align:center; }
.tdy-readmore-toggle { border:1px solid #e2e8f0; background:#f8faff; border-radius:999px; padding:7px 18px; font-size:13px; font-weight:500; color:#1f396a; cursor:pointer; display:inline-flex; align-items:center; gap:6px; }
.tdy-readmore-toggle:hover { background:#e8edf8; }
.tdy-readmore.tdy-readmore--expanded .tdy-readmore-content::after { display:none; }

/* === 12. TRS — kaldırıldı (rez-second removed) === */
/* Eski trs-* stilleri silindi. */
.trs-wrap {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(15,23,42,.14);
    background: #fff;
    border: 1px solid #e2e8f0;
}
.trs-inner {
    display: grid;
    grid-template-columns: 1fr 360px;
    height: 340px; /* explicit height — swiper height:100% icin gerekli */
}

/* Sol: Fotograf — icini absolut doldur */
.trs-photo {
    position: relative;
    overflow: hidden;
    background: #0f172a;
    height: 100%;
}
.trs-swiper {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}
.trs-swiper .swiper-wrapper {
    height: 100%;
}
.trs-swiper .swiper-slide {
    overflow: hidden;
    height: 100%;
}
.trs-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .5s ease;
}
.trs-swiper .swiper-slide:hover img { transform: scale(1.03); }
.trs-swiper-dots {
    position: absolute;
    bottom: 80px !important;
    left: 50% !important;
    transform: translateX(-50%);
    width: auto !important;
    z-index: 10;
}
.trs-swiper-dots .swiper-pagination-bullet { background:rgba(255,255,255,.55)!important; opacity:1!important; width:7px; height:7px; }
.trs-swiper-dots .swiper-pagination-bullet-active { background:#fff!important; width:20px; border-radius:999px; }

/* Fotograf overlay — gradient + icerik */
.trs-photo-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(10,15,30,.88) 0%, rgba(10,15,30,.3) 55%, transparent 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 18px 20px 22px;
    z-index: 5;
    pointer-events: none;
}
.trs-photo-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(245,158,11,.9);
    color: #fff;
    font-size: .68rem;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 999px;
    letter-spacing: .04em;
    text-transform: uppercase;
    align-self: flex-start;
    margin-bottom: 10px;
}
.trs-photo-title {
    font-size: 1.1rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.3;
    margin: 0 0 5px;
    text-shadow: 0 1px 6px rgba(0,0,0,.4);
}
.trs-photo-sub {
    font-size: .83rem;
    color: rgba(255,255,255,.72);
    margin: 0 0 14px;
    line-height: 1.4;
}
.trs-photo-trust {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.trs-photo-trust span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(255,255,255,.12);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,.2);
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
    padding: 5px 11px;
    border-radius: 999px;
}
.trs-photo-trust span i { font-size: .7rem; color: #86efac; }

/* Sag: Rezervasyon Paneli */
.trs-panel {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-left: 1px solid #f1f5f9;
}

/* Fiyat bloku */
.trs-price-block {
    background: linear-gradient(135deg, #1f396a 0%, #2a4d8a 100%);
    padding: 16px 20px 14px;
    position: relative;
    overflow: hidden;
}
.trs-price-block::before {
    content: '';
    position: absolute;
    top: -50px; right: -50px;
    width: 160px; height: 160px;
    background: rgba(255,255,255,.04);
    border-radius: 50%;
    pointer-events: none;
}
.trs-urgency {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: .68rem;
    font-weight: 700;
    color: #fbbf24;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 12px;
}
.trs-urgency-dot {
    width: 7px; height: 7px;
    background: #f59e0b;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(245,158,11,.3);
    animation: trsPulse 1.6s ease-in-out infinite;
    flex-shrink: 0;
}
@keyframes trsPulse {
    0%,100% { box-shadow: 0 0 0 3px rgba(245,158,11,.3); }
    50%      { box-shadow: 0 0 0 6px rgba(245,158,11,.1); }
}
.trs-price-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
}
.trs-price-main { display: flex; flex-direction: column; gap: 2px; }
.trs-price-label { font-size: .6rem; font-weight: 700; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .08em; }
.trs-price-val { font-size: 1.8rem; font-weight: 800; color: #fff; line-height: 1; letter-spacing: -.03em; }
.trs-price-side { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; padding-bottom: 4px; }
.trs-price-old { font-size: .78rem; color: rgba(255,255,255,.35); text-decoration: line-through; }
.trs-discount-badge { background: #f59e0b; color: #fff; font-size: .62rem; font-weight: 800; padding: 3px 8px; border-radius: 6px; letter-spacing:.03em; }

.trs-child-chips { display:flex; flex-wrap:wrap; gap:5px; margin-top:12px; }
.trs-child-chip { display:inline-flex; align-items:center; gap:4px; padding:3px 9px; border-radius:999px; font-size:.68rem; font-weight:600; background:rgba(255,255,255,.12); color:rgba(255,255,255,.8); border:1px solid rgba(255,255,255,.2); }
.trs-child-chip.free { background:rgba(167,243,208,.18); color:#86efac; border-color:rgba(167,243,208,.3); }

/* Form alani */
.trs-form {
    padding: 14px 18px 18px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 1;
}

.trs-trust-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.trs-trust-pills span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #f1f5f9;
    color: #475569;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 600;
    border: 1px solid #e2e8f0;
}
.trs-trust-pills span i { font-size: .62rem; color: #1f396a; }

.trs-no-date { display:flex; align-items:flex-start; gap:10px; background:#fffbeb; color:#92400e; border:1px solid #fde68a; border-radius:12px; padding:13px 15px; font-size:.82rem; font-weight:500; line-height:1.5; }
.trs-no-date i { font-size:1rem; margin-top:1px; flex-shrink:0; }

.trs-date-field { display:flex; flex-direction:column; gap:0; }
.trs-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .67rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .07em;
    margin-bottom: 7px;
}
.trs-label i { color: #94a3b8; font-size: .68rem; }
.trs-select-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.trs-sel-icon {
    position: absolute;
    left: 14px;
    color: #1f396a;
    font-size: .88rem;
    pointer-events: none;
    z-index: 1;
}
.trs-sel-arrow {
    position: absolute;
    right: 14px;
    color: #94a3b8;
    font-size: .6rem;
    pointer-events: none;
    z-index: 1;
}
.trs-select {
    width: 100%;
    padding: 13px 38px 13px 40px;
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    background: #f8faff;
    color: #1f396a;
    font-size: .9rem;
    font-weight: 600;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    transition: border-color .15s, background .15s, box-shadow .15s;
    line-height: 1.4;
}
.trs-select:focus { outline:none; border-color:#1f396a; background:#eef3ff; box-shadow:0 0 0 3px rgba(31,57,106,.1); }
.trs-select option:disabled { color:#cbd5e1; }

.trs-submit-btn {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 16px 20px;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    border: none;
    border-radius: 14px;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(5,150,105,.35);
    transition: box-shadow .18s, transform .12s;
    letter-spacing: .01em;
    margin-top: auto;
}
.trs-submit-btn:hover { box-shadow:0 10px 30px rgba(5,150,105,.45); transform:translateY(-2px); }
.trs-submit-btn:active { transform:scale(.98); }
.trs-btn-arrow { font-size:.8rem; transition:transform .18s; }
.trs-submit-btn:hover .trs-btn-arrow { transform:translateX(3px); }
.trs-submit-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0);
    transition: background .15s;
}
.trs-submit-btn:hover::before { background: rgba(255,255,255,.05); }

/* === 13. BENEFITS === */
.tyd-benefits-section { padding:36px 0; background:#f8faff; }
.tyd-benefits-head { max-width:680px; margin:0 auto 24px; text-align:center; }
.tyd-benefits-title { font-size:1.5rem; font-weight:800; color:#0f172a; margin-bottom:6px; }
.tyd-benefits-sub { font-size:.88rem; color:#64748b; margin:0; line-height:1.6; }
/* Benefits row — Bootstrap’tan bağımsız, saf CSS */
.tyd-benefits-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.tyd-benefits-col {
    flex: 1 1 100%;
    min-width: 0;
    display: flex;
}
@media(min-width: 992px) {
    .tyd-benefits-col { flex: 0 0 calc(33.333% - 11px); max-width: calc(33.333% - 11px); }
}
.tyd-benefit-card { background:#fff; border-radius:16px; padding:22px 16px 18px; border:1px solid #e2e8f0; box-shadow:0 1px 8px rgba(15,23,42,.04); display:flex; flex-direction:column; align-items:center; text-align:center; height:100%; transition:transform .15s,box-shadow .15s; }
.tyd-benefit-card:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(31,57,106,.09); }
.tyd-benefit-icon { width:76px; height:76px; border-radius:999px; background:#eef3ff; display:flex; align-items:center; justify-content:center; margin-bottom:12px; overflow:hidden; }
.tyd-benefit-icon img { max-width:52px; max-height:52px; object-fit:contain; }
.tyd-benefit-title { font-size:.94rem; font-weight:700; color:#0f172a; margin-bottom:5px; }
.tyd-benefit-desc { font-size:.82rem; color:#64748b; line-height:1.55; }

/* === 14. ODEME TABLARI === */
.tdy-tabs-section { background:#fff; border-radius:16px; padding:22px 20px; border:1px solid #e2e8f0; box-shadow:0 1px 8px rgba(15,23,42,.04); }
.tdy-tab-header { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-bottom:22px; }
.tdy-tab-item { background:#f8faff; padding:13px 16px; border-radius:12px; cursor:pointer; width:31%; text-align:center; border:1px solid #e2e8f0; transition:all .18s; }
.tdy-tab-item h3 { font-size:.88rem; font-weight:700; color:#1f396a; margin-bottom:3px; }
.tdy-tab-item p { font-size:.77rem; color:#64748b; margin:0; }
.tdy-tab-item:hover { background:#eef3ff; border-color:#c7d9f8; }
.tdy-tab-item.active { background:#1f396a; border-color:#1f396a; }
.tdy-tab-item.active h3 { color:#fff; }
.tdy-tab-item.active p { color:rgba(255,255,255,.65); }
.tdy-tab-content { display:none; }
.tdy-tab-content.active { display:block; animation:tdyFadeIn .3s ease; }
@keyframes tdyFadeIn { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }
@media(max-width:768px){ .tdy-tab-item{width:100%;} }

/* Assurance kart */
.tdy-assurance-pill { display:inline-block; padding:3px 10px; border-radius:999px; background:#ecfdf5; color:#047857; font-size:.74rem; font-weight:600; margin-bottom:6px; }
.tdy-assurance-card { background:#fff; border-radius:14px; padding:16px; border:1px solid #e2e8f0; box-shadow:0 1px 6px rgba(15,23,42,.04); height:100%; display:flex; flex-direction:column; }
.tdy-assurance-card-title { font-size:1.05rem; font-weight:700; margin-bottom:8px; color:#0f172a; }
.tdy-assurance-card p { font-size:.85rem; color:#475569; margin-bottom:6px; }
.tdy-assurance-card ul { padding-left:16px; margin:0; }
.tdy-assurance-card ul li { margin-bottom:5px; font-size:.83rem; color:#64748b; }
.tdy-assurance-section { padding:36px 0; background:#f8faff; border-radius:10px; }
.tdy-assurance-flow { background:#fff; border-radius:14px; padding:16px; border:1px solid #e2e8f0; }
.tdy-assurance-flow-title { font-size:1.05rem; font-weight:700; color:#0f172a; margin-bottom:3px; }
.tdy-assurance-flow-sub { font-size:.84rem; color:#64748b; margin:0; }
.tdy-assurance-steps { margin:8px 0 10px; padding-left:18px; }
.tdy-assurance-steps li { font-size:.83rem; color:#475569; line-height:1.5; margin-bottom:5px; }
.tdy-assurance-btn { display:inline-flex; align-items:center; padding:8px 18px; border-radius:999px; background:#10b981; color:#fff; font-size:.84rem; font-weight:600; text-decoration:none; }

/* === 15. REZ SURECI ACCORDION === */
.tdy-accordion-section { padding:28px 0; }
.tdy-accordion-title { font-size:1.5rem; font-weight:800; text-align:center; color:#0f172a; margin-bottom:6px; }
.tdy-accordion-sub { text-align:center; max-width:580px; margin:0 auto 20px; color:#64748b; font-size:.88rem; line-height:1.6; }
.tdy-acc-item { background:#fff; border-radius:12px; border:1px solid #e2e8f0; margin-bottom:8px; overflow:hidden; }
.tdy-acc-header { width:100%; text-align:left; padding:14px 18px; background:#fff; border:none; display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-weight:600; color:#1e293b; font-size:.92rem; transition:background .15s; }
.tdy-acc-header:hover { background:#f8faff; }
.tdy-acc-header i { font-size:.82rem; color:#94a3b8; transition:.2s; }
.tdy-acc-body { display:none; padding:12px 18px 14px; background:#f8faff; color:#475569; font-size:.88rem; line-height:1.6; border-top:1px solid #e2e8f0; animation:tdyFadeIn .3s; }
.tdy-acc-body ul { margin:6px 0 0 16px; }
.tdy-acc-item.active .tdy-acc-header { background:#f0f6ff; color:#1f396a; }
.tdy-acc-item.active .tdy-acc-header i { transform:rotate(180deg); color:#1f396a; }
.tdy-acc-btn { background:#1f396a; color:#fff; padding:11px 24px; border-radius:10px; border:none; font-size:.9rem; font-weight:700; transition:.18s; }
.tdy-acc-btn:hover { background:#152749; }
.tdy-acc-note { margin-top:8px; color:#64748b; font-size:.88rem; }

/* === 16. ILETISIM === */
.tdy-contact-wrapper { background:#fff; padding:28px 24px; border-radius:16px; border:1px solid #e2e8f0; box-shadow:0 1px 8px rgba(15,23,42,.04); }
.tdy-contact-title { font-size:1.4rem; font-weight:800; color:#0f172a; margin-bottom:5px; }
.tdy-contact-sub { color:#64748b; font-size:.88rem; margin-bottom:20px; line-height:1.6; }
.tdy-contact-phone-grid { gap:16px; flex-wrap:wrap; margin-bottom:18px; }
.tdy-contact-phone-item { background:#f8faff; padding:13px 16px; border-radius:12px; border:1px solid #e2e8f0; display:flex; align-items:center; gap:12px; min-width:220px; width:auto; transition:box-shadow .15s; }
.tdy-contact-phone-item:hover { box-shadow:0 3px 12px rgba(15,23,42,.07); }
.tdy-contact-phone-item .icon { width:42px; height:42px; border-radius:10px; background:#eef3ff; display:flex; align-items:center; justify-content:center; font-size:1.1rem; color:#1f396a; flex-shrink:0; }
.tdy-contact-phone-item .icon.whatsapp { background:#d1fae5; color:#059669; }
.tdy-contact-phone-item .info span { display:block; font-size:.7rem; color:#94a3b8; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.tdy-contact-phone-item .info a { font-size:.97rem; font-weight:700; color:#0f172a; text-decoration:none; }
.tdy-contact-phone-item .info a:hover { color:#1f396a; }
.tdy-contact-buttons { display:flex; gap:12px; flex-wrap:wrap; }
.tdy-btn { border:none; padding:10px 20px; font-size:.88rem; font-weight:700; border-radius:10px; cursor:pointer; transition:.15s; display:flex; align-items:center; gap:7px; }
.tdy-btn-blue { background:#1f396a; color:#fff; }
.tdy-btn-blue:hover { background:#152749; }
.tdy-btn-green { background:#25d366; color:#fff; }
.tdy-btn-green:hover { background:#1dbc58; }
@media(max-width:768px){ .tdy-contact-wrapper{padding:20px 16px;} .tdy-contact-phone-item{width:100%;min-width:0;} .tdy-btn{width:100%;justify-content:center;} }

/* === 16b. QUICK REZ MODAL — 3 adimli profesyonel === */
.ndp-qrez-modal { border-radius:20px; overflow:hidden; border:none; box-shadow:0 24px 60px rgba(15,23,42,.22); position:relative; display:flex; flex-direction:column;  max-height:90vh; }
.ndp-qrez-modal form { display:flex; flex-direction:column; min-height:0; flex:1; overflow:hidden; }
.ndp-qrez-head {
    background:linear-gradient(135deg,#1f396a 0%,#2d5091 100%);
    padding:16px 20px 0; position:relative;
}
.ndp-qrez-head-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.ndp-qrez-head-title { display:flex; align-items:center; gap:10px; color:#fff; }
.ndp-qrez-head-title i { font-size:1.05rem; opacity:.85; }
.ndp-qrez-head-title span { font-size:.95rem; font-weight:800; letter-spacing:.02em; }
.ndp-qrez-head-close {
    background:rgba(255,255,255,.12); border:none; color:#fff;
    width:28px; height:28px; border-radius:50%; cursor:pointer;
    display:flex; align-items:center; justify-content:center; font-size:.7rem;
    transition:background .15s;
}
.ndp-qrez-head-close:hover { background:rgba(255,255,255,.25); }
/* Step indicator */
.ndp-qrez-steps { display:flex; align-items:center; gap:0; padding:0 4px 16px; }
.ndp-qrez-step-item { display:flex; flex-direction:column; align-items:center; gap:3px; flex:1; position:relative; }
.ndp-qrez-step-item:not(:last-child)::after {
    content:''; position:absolute; top:12px; left:60%; width:80%;
    height:2px; background:rgba(255,255,255,.2);
}
.ndp-qrez-step-item.done:not(:last-child)::after { background:rgba(255,255,255,.7); }
.ndp-qrez-step-dot {
    width:24px; height:24px; border-radius:50%;
    background:rgba(255,255,255,.15); border:2px solid rgba(255,255,255,.3);
    display:flex; align-items:center; justify-content:center;
    font-size:.65rem; font-weight:700; color:rgba(255,255,255,.6);
    transition:all .2s; z-index:1; position:relative;
}
.ndp-qrez-step-item.active .ndp-qrez-step-dot { background:#fff; border-color:#fff; color:#1f396a; }
.ndp-qrez-step-item.done .ndp-qrez-step-dot { background:rgba(255,255,255,.5); border-color:rgba(255,255,255,.8); color:#fff; }
.ndp-qrez-step-lbl { font-size:.65rem; color:rgba(255,255,255,.5); font-weight:600; white-space:nowrap; }
.ndp-qrez-step-item.active .ndp-qrez-step-lbl { color:#fff; }
.ndp-qrez-step-item.done .ndp-qrez-step-lbl { color:rgba(255,255,255,.75); }
/* Tour name strip */
.ndp-qrez-tourstrip { padding:10px 20px; background:#f8faff; border-bottom:1px solid #e8edf8; display:flex; align-items:center; gap:8px; }
.ndp-qrez-tourstrip > i { color:#1f396a; font-size:.78rem; flex-shrink:0; }
.ndp-qrez-tourstrip-name { font-size:.84rem; font-weight:700; color:#1e293b; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
/* Preloader */
.ndp-qrez-preloader { position:absolute; inset:0; z-index:20; background:rgba(255,255,255,.97); display:flex; align-items:center; justify-content:center; border-radius:inherit; transition:opacity .3s; }
.ndp-qrez-preloader.hidden { opacity:0; pointer-events:none; }
.ndp-qrez-preloader-inner { text-align:center; }
.ndp-qrez-preloader-spin { width:36px; height:36px; margin:0 auto 10px; border:3px solid #e2e8f0; border-top-color:#1f396a; border-radius:50%; animation:ndpQSpin .7s linear infinite; }
@keyframes ndpQSpin { to { transform:rotate(360deg); } }
.ndp-qrez-preloader-txt { font-size:.78rem; font-weight:600; color:#64748b; }
/* Modal inline alert bar */
.ndp-qrez-modal-alert { position:absolute; top:0; left:0; right:0; z-index:25; background:#ef4444; color:#fff; font-size:.78rem; font-weight:700; padding:10px 20px; text-align:center; opacity:0; transform:translateY(-100%); pointer-events:none; transition:opacity .3s, transform .3s; }
.ndp-qrez-modal-alert.show { opacity:1; transform:translateY(0); pointer-events:auto; }
.ndp-qrez-modal-alert.shake { animation:ndpQAlertShake .4s; }
@keyframes ndpQAlertShake { 10%,90%{transform:translateX(-2px)} 20%,80%{transform:translateX(2px)} 30%,50%,70%{transform:translateX(-3px)} 40%,60%{transform:translateX(3px)} }
/* Field error highlight */
.ndp-qrez-field-error { border-color:#ef4444 !important; box-shadow:0 0 0 3px rgba(239,68,68,.15) !important; animation:ndpQFieldShake .4s; }
@keyframes ndpQFieldShake { 10%,90%{transform:translateX(-2px)} 20%,80%{transform:translateX(2px)} 30%,50%,70%{transform:translateX(-3px)} 40%,60%{transform:translateX(3px)} }
/* Body */
.ndp-qrez-body { padding:18px 22px; display:flex; flex-direction:column; gap:14px; flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
.ndp-qrez-step-body { display:none; flex-direction:column; gap:12px; }
.ndp-qrez-step-body.active { display:flex; }
/* Section label (adım 2) */
.ndp-qrez-section-label { display:flex; align-items:center; gap:6px; font-size:.74rem; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:.06em; padding-bottom:4px; border-bottom:1px solid #f1f5f9; }
.ndp-qrez-section-label i { font-size:.65rem; }
.ndp-qrez-req { color:#ef4444; }
/* Fields */
.ndp-qrez-field label { display:flex; align-items:center; gap:5px; font-size:.78rem; font-weight:600; color:#475569; margin-bottom:6px; }
.ndp-qrez-field label i { font-size:.68rem; color:#94a3b8; }
.ndp-qrez-input {
    width:100%; padding:11px 14px; border-radius:10px;
    border:1.5px solid #e2e8f0; font-size:16px; color:#1e293b;
    background:#f8faff; outline:none; transition:border-color .15s, box-shadow .15s;
    font-family:inherit;
}
.ndp-qrez-input:focus { border-color:#1f396a; background:#fff; box-shadow:0 0 0 3px rgba(31,57,106,.08); }
.ndp-qrez-input::placeholder { color:#94a3b8; }
.ndp-qrez-select { width:100%; padding:10px 13px; border-radius:10px; border:1.5px solid #e2e8f0; font-size:16px; color:#1e293b; background:#f8faff; appearance:none; -webkit-appearance:none; cursor:pointer; outline:none; transition:border-color .15s; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; padding-right:30px; }
.ndp-qrez-select:focus { border-color:#1f396a; }
.ndp-qrez-2col { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
/* Phone row — unified grouped input container */
.ndp-qrez-phone-row { display:flex; gap:0; align-items:stretch; background:#f8faff; border:1.5px solid #e2e8f0; border-radius:10px; overflow:hidden; transition:border-color .15s, box-shadow .15s; }
.ndp-qrez-phone-row:focus-within { border-color:#1f396a; box-shadow:0 0 0 3px rgba(31,57,106,.08); background:#fff; }
.ndp-qrez-phone-cc { width:100px; flex-shrink:0; padding:10px 4px 10px 10px; border:none; border-right:1.5px solid #e2e8f0; font-size:14px; background:transparent; cursor:pointer; outline:none; -webkit-appearance:none; appearance:none; color:#1e293b; font-family:inherit; }
.ndp-qrez-phone-area { width:58px; flex-shrink:0; padding:11px 6px; border:none; border-right:1.5px solid #e2e8f0; font-size:16px; background:transparent; outline:none; text-align:center; letter-spacing:1px; font-weight:600; color:#1e293b; }
.ndp-qrez-phone-num { flex:1; min-width:0; padding:11px 12px; border:none; font-size:16px; background:transparent; outline:none; letter-spacing:1px; font-weight:500; color:#1e293b; }
.ndp-qrez-phone-error { font-size:.74rem; color:#ef4444; font-weight:600; min-height:18px; margin-top:4px; margin-bottom:0; }
.ndp-qrez-textarea { width:100%; padding:11px 14px; border-radius:10px; border:1.5px solid #e2e8f0; font-size:16px; color:#1e293b; background:#f8faff; outline:none; resize:vertical; min-height:60px; transition:border-color .15s; font-family:inherit; }
.ndp-qrez-textarea:focus { border-color:#1f396a; }
/* Counter */
.ndp-qrez-counter-wrap { display:flex; align-items:center; justify-content:space-between; padding:4px 0; }
.ndp-qrez-counter { display:flex; align-items:center; border:1.5px solid #e2e8f0; border-radius:10px; overflow:hidden; }
.ndp-qrez-counter button { border:none; background:#f8faff; color:#1f396a; font-size:1.1rem; font-weight:700; width:40px; height:40px; cursor:pointer; transition:background .15s; display:flex; align-items:center; justify-content:center; -webkit-tap-highlight-color:transparent; }
.ndp-qrez-counter button:hover:not(:disabled) { background:#eef3ff; }
.ndp-qrez-counter button:active:not(:disabled) { background:#dce6f7; }
.ndp-qrez-counter button:disabled { opacity:.35; cursor:not-allowed; }
.ndp-qrez-counter-val { min-width:42px; text-align:center; font-size:.95rem; font-weight:800; color:#1e293b; }
.ndp-qrez-counter-lbl { font-size:.88rem; color:#334155; font-weight:600; }
.ndp-qrez-counter-sub { font-size:.72rem; color:#94a3b8; }
/* Sticky price bar — always visible above footer */
.ndp-qrez-sticky-price { display:flex; align-items:center; justify-content:space-between; padding:10px 20px; background:linear-gradient(135deg,#f0f4ff,#e8f0fe); border-top:1px solid #c7d7f4; border-bottom:1px solid #e2e8f0; gap:10px; flex-shrink:0; }
.ndp-qrez-sticky-price-left { display:flex; flex-direction:column; gap:1px; min-width:0; }
.ndp-qrez-sticky-price-label { font-size:.7rem; font-weight:700; color:#64748b; text-transform:uppercase; letter-spacing:.04em; }
.ndp-qrez-sticky-price-note { font-size:.64rem; color:#f59e0b; font-weight:600; }
.ndp-qrez-sticky-price-right { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.ndp-qrez-sticky-price-val { font-size:1.4rem; font-weight:800; color:#1f396a; line-height:1.2; white-space:nowrap; }
.ndp-qrez-sticky-taksit { background:none; border:1.5px solid #1f396a; color:#1f396a; font-size:.68rem; font-weight:700; padding:5px 10px; border-radius:6px; cursor:pointer; display:inline-flex; align-items:center; gap:4px; transition:background .15s, color .15s; white-space:nowrap; }
.ndp-qrez-sticky-taksit:hover { background:#1f396a; color:#fff; }
.ndp-qrez-sticky-taksit i { font-size:.6rem; }
/* Summary step */
.ndp-qrez-summary-card { background:#f8faff; border:1px solid #e2e8f0; border-radius:14px; padding:14px 16px; display:flex; flex-direction:column; gap:10px; }
.ndp-qrez-summary-head { font-size:.78rem; font-weight:800; color:#1f396a; text-transform:uppercase; letter-spacing:.06em; padding-bottom:8px; border-bottom:1px solid #e8edf8; }
.ndp-qrez-summary-divider { height:1px; background:#e8edf8; }
.ndp-qrez-summary-row { display:flex; align-items:flex-start; gap:10px; }
.ndp-qrez-summary-row > i { color:#1f396a; font-size:.72rem; flex-shrink:0; margin-top:2px; width:14px; text-align:center; }
.ndp-qrez-summary-row > div { flex:1; min-width:0; }
.ndp-qrez-summary-row .lbl { font-size:.68rem; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:.04em; }
.ndp-qrez-summary-row .val { font-size:.86rem; font-weight:600; color:#1e293b; margin-top:1px; word-break:break-word; }
/* KVKK area — rez-yap style */
.ndp-qrez-kvkk-area { display:flex; flex-direction:column; gap:8px; }
.ndp-qrez-kvkk-info { font-size:.8rem; color:#475569; background:#f9fafb; border:1px solid #f1f5f9; border-radius:10px; padding:10px 14px; line-height:1.5; }
.ndp-qrez-kvkk-link { color:#1f396a; font-weight:600; text-decoration:underline; cursor:pointer; }
.ndp-qrez-kvkk-link:hover { color:#0f2344; }
.ndp-qrez-kvkk-row { display:flex; align-items:flex-start; gap:10px; font-size:.8rem; color:#475569; background:#f9fafb; border:1px solid #f1f5f9; border-radius:10px; padding:10px 14px; cursor:pointer; line-height:1.5; transition:border-color .2s, box-shadow .2s; }
.ndp-qrez-kvkk-row input[type="checkbox"] { flex-shrink:0; margin-top:3px; accent-color:#1f396a; width:18px; height:18px; cursor:pointer; }
/* Footer */
.ndp-qrez-footer { padding:10px 20px 16px; display:flex; gap:8px; border-top:1px solid #f1f5f9; background:#fff; }
.ndp-qrez-btn-prev { flex:1; padding:12px; border:1.5px solid #e2e8f0; border-radius:11px; background:#fff; color:#475569; font-size:.84rem; font-weight:700; cursor:pointer; display:none; transition:background .15s; }
.ndp-qrez-btn-prev:hover { background:#f8faff; }
.ndp-qrez-btn-next { flex:2; padding:13px; border:none; border-radius:11px; background:#1f396a; color:#fff; font-size:.88rem; font-weight:800; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:7px; transition:background .15s; }
.ndp-qrez-btn-next:hover { background:#162d55; }
.ndp-qrez-btn-submit { flex:2; padding:13px; border:none; border-radius:11px; background:linear-gradient(135deg,#22c55e,#16a34a); color:#fff; font-size:.88rem; font-weight:800; cursor:pointer; display:none; align-items:center; justify-content:center; gap:7px; transition:opacity .15s; box-shadow:0 2px 8px rgba(34,197,94,.3); }
.ndp-qrez-btn-submit:hover:not(:disabled) { opacity:.9; }
.ndp-qrez-btn-submit:disabled { opacity:.7; cursor:not-allowed; }
.ndp-qrez-btn-spinner { display:inline-block; width:16px; height:16px; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; animation:ndpQSpin .6s linear infinite; vertical-align:middle; }
/* Oda block */
.ndp-qrez-oda-block { padding:10px 0; border-bottom:1px solid #f1f5f9; margin-bottom:4px; }
.ndp-qrez-oda-block:last-child { border-bottom:none; margin-bottom:0; }
.ndp-qrez-oda-title { display:none; align-items:center; justify-content:space-between; font-size:.82rem; font-weight:700; color:#1f396a; background:#eef3ff; border-radius:8px; padding:8px 12px; margin-bottom:8px; }
.ndp-qrez-oda-remove { border:none; background:none; color:#ef4444; font-size:.76rem; font-weight:700; cursor:pointer; padding:3px 8px; border-radius:6px; transition:background .15s; display:flex; align-items:center; gap:4px; }
.ndp-qrez-oda-remove:hover { background:rgba(239,68,68,.08); }
.ndp-qrez-oda-ekle-btn { width:100%; padding:10px 12px; border:1.5px dashed #c7d7f4; border-radius:10px; background:#f8faff; color:#1f396a; font-size:.8rem; font-weight:700; cursor:pointer; display:none; align-items:center; justify-content:center; gap:6px; transition:background .15s, border-color .15s; }
.ndp-qrez-oda-ekle-btn:hover { background:#eef3ff; border-color:#a0bae8; }
/* Child age rows — styled select */
.ndp-qrez-cocuk-yaslar { display:flex; flex-direction:column; gap:10px; margin-top:10px; }
.ndp-qrez-cocuk-yas-row { background:linear-gradient(135deg,#f8faff 0%,#f0f4ff 100%); border:1px solid #dce6f8; border-radius:12px; padding:12px 14px; transition:border-color .2s, box-shadow .2s; }
.ndp-qrez-cocuk-yas-row:hover { border-color:#c0d4f4; }
.ndp-qrez-cocuk-yas-label { display:flex; align-items:center; gap:6px; font-size:.76rem; font-weight:700; color:#475569; margin-bottom:8px; }
.ndp-qrez-cocuk-yas-label i { font-size:.7rem; color:#1f396a; background:rgba(31,57,106,.08); width:22px; height:22px; border-radius:6px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.ndp-qrez-cocuk-yas-sel { width:100%; padding:11px 36px 11px 14px; border-radius:10px; border:1.5px solid #d0daf0; font-size:16px; color:#1e293b; background:#fff; cursor:pointer; outline:none; transition:border-color .2s, box-shadow .2s; font-family:inherit; font-weight:600; appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%231f396a' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; box-shadow:0 1px 3px rgba(31,57,106,.06); }
.ndp-qrez-cocuk-yas-sel:focus { border-color:#1f396a; box-shadow:0 0 0 3px rgba(31,57,106,.1),0 1px 3px rgba(31,57,106,.06); }
.ndp-qrez-cocuk-yas-sel option { font-weight:500; padding:6px 0; }
/* ndp-cdd inside modal */
.ndp-qrez-cdd { position:relative; }
.ndp-qrez-cdd .ndp-cdd-dropdown { position:absolute; z-index:1060; max-height:220px; overflow-y:auto; }
/* Combo alert balloon */
.ndp-qrez-combo-alert-wrap { position:relative; display:block; height:0; overflow:visible; }
.ndp-qrez-combo-alert { position:absolute; top:-34px; left:50%; transform:translateX(-50%); background:#111; color:#fff; font-size:.72rem; padding:5px 12px; border-radius:8px; opacity:0; pointer-events:none; white-space:nowrap; z-index:50; transition:opacity .3s ease, transform .3s ease; max-width:95vw; text-overflow:ellipsis; overflow:hidden; }
.ndp-qrez-combo-alert.show { opacity:.95; transform:translateX(-50%) translateY(-4px); }
.ndp-qrez-combo-alert.shake { animation:ndpQShake .4s; }
@keyframes ndpQShake { 10%,90%{transform:translateX(-48%) translateY(-4px)} 20%,80%{transform:translateX(-52%) translateY(-4px)} 30%,50%,70%{transform:translateX(-54%) translateY(-4px)} 40%,60%{transform:translateX(-46%) translateY(-4px)} }
/* Oda ekle flash */
@keyframes ndpQFlash { 0%{box-shadow:0 0 0 rgba(255,150,0,0)} 50%{box-shadow:0 0 14px 3px rgba(255,150,0,.7)} 100%{box-shadow:0 0 0 rgba(255,150,0,0)} }
.ndp-qrez-flash { animation:ndpQFlash 1.4s ease-in-out; }
/* ═══ Mobile responsive — modal UX fixes ═══ */

/* B2 fix: tüm modal input/select/textarea'lara box-sizing garanti */
.ndp-qrez-modal input,
.ndp-qrez-modal select,
.ndp-qrez-modal textarea,
.ndp-qrez-modal button { box-sizing:border-box; }

/* B2 fix: modal ve body overflow-x engelle */
.ndp-qrez-modal { max-width:100vw; overflow-x:hidden; }
.ndp-qrez-body { overflow-x:hidden; }
.ndp-qrez-step-body { min-width:0; overflow-x:hidden; flex-shrink:0; }

/* B1 fix: modal içindeki tarih dropdown — backdrop overlay */
.ndp-qrez-cdd-backdrop {
    display:none; position:fixed; inset:0; z-index:1059;
    background:rgba(0,0,0,.3); -webkit-tap-highlight-color:transparent;
}
.ndp-qrez-cdd-backdrop.show { display:block; }

@media(max-width:575px) {
    /* Modal: mobilde tam ekran + scroll fix */
    .ndp-qrez-modal { border-radius:0 !important; height:100% !important; max-height:100% !important; }
    #ndpQuickRezModal .modal-dialog { margin:0; max-width:100%; height:100dvh; height:100vh; max-height:100dvh; max-height:100vh; align-items:stretch; }
    #ndpQuickRezModal .modal-content { height:100%; }

    .ndp-qrez-2col { grid-template-columns:1fr; }
    .ndp-qrez-body { padding:14px 16px; gap:12px; overflow-x:hidden; }
    .ndp-qrez-footer { padding:10px 16px 14px; }
    .ndp-qrez-tourstrip { padding:8px 16px; }

    /* Telefon satırı — mobilde tek satır, kompakt */
    .ndp-qrez-phone-row { flex-wrap:nowrap; }
    .ndp-qrez-phone-cc { width:82px; font-size:12px; padding:10px 2px 10px 8px; }
    .ndp-qrez-phone-area { width:50px; font-size:15px; padding:10px 4px; }
    .ndp-qrez-phone-num { flex:1; min-width:0; font-size:16px; padding:10px 8px; }

    .ndp-qrez-counter button { width:44px; height:44px; font-size:1.15rem; }
    .ndp-qrez-counter-val { min-width:44px; font-size:1rem; }
    .ndp-qrez-sticky-price { padding:8px 16px; }
    .ndp-qrez-sticky-price-val { font-size:1.2rem; }
    .ndp-qrez-btn-next, .ndp-qrez-btn-submit, .ndp-qrez-btn-prev { padding:14px; font-size:.9rem; min-height:48px; }
    .ndp-qrez-kvkk-info, .ndp-qrez-kvkk-row { font-size:.76rem; padding:9px 12px; }
    .ndp-qrez-kvkk-row input[type="checkbox"] { width:16px; height:16px; }
    .ndp-qrez-cocuk-yas-sel { font-size:16px; padding:10px 32px 10px 12px; }
    .ndp-qrez-cocuk-yas-row { padding:10px 12px; }
    .ndp-qrez-cocuk-yas-label i { width:20px; height:20px; font-size:.64rem; }
    .ndp-taksit-devam-btn { padding:12px 14px; font-size:.84rem; }
    .ndp-qrez-modal-alert { font-size:.72rem; padding:8px 16px; }

    /* B1 fix: tarih dropdown mobilde modal üzerinde bottom sheet */
    .ndp-qrez-cdd .ndp-cdd-dropdown {
        position:fixed !important;
        left:0 !important; right:0 !important;
        top:auto !important; bottom:0 !important;
        border-radius:20px 20px 0 0;
        max-height:65vh;
        z-index:1070 !important;
        box-shadow:0 -12px 40px rgba(15,23,42,.25);
        border:none; border-top:1px solid #e2e8f0;
        padding:0 6px calc(16px + env(safe-area-inset-bottom,0px));
    }
    .ndp-qrez-cdd .ndp-cdd-dropdown.open::before {
        content:''; display:block; width:40px; height:4px;
        background:#cbd5e1; border-radius:2px; margin:10px auto 8px;
    }
    .ndp-qrez-cdd .ndp-cdd-dropdown.open::after {
        content:'Tarih Seçin'; display:block; font-size:.72rem; font-weight:700;
        color:#94a3b8; text-transform:uppercase; letter-spacing:.08em;
        text-align:center; padding-bottom:8px; border-bottom:1px solid #f1f5f9; margin-bottom:6px;
    }
}

/* === 17. SEO KATEGORI ETIKETLERI === */
.ndp-kat-section { padding:24px 0 16px; border-top:1px solid #e8edf8; margin-top:4px; }
.ndp-kat-section-label {
    font-size:.7rem; font-weight:700; color:#94a3b8;
    text-transform:uppercase; letter-spacing:.07em;
    display:flex; align-items:center; gap:6px; margin-bottom:12px;
}
.ndp-kat-section-label i { font-size:.7rem; color:#cbd5e1; }
.ndp-kat-list { display:flex; flex-wrap:wrap; gap:7px; list-style:none; padding:0; margin:0; }
.ndp-kat-list li a {
    display:inline-flex; align-items:center; gap:6px;
    padding:6px 14px; border-radius:999px;
    background:#f8faff; border:1px solid #dce8f8;
    color:#1f396a; font-size:.78rem; font-weight:600;
    text-decoration:none; transition:background .15s, border-color .15s, color .15s;
    line-height:1;
}
.ndp-kat-list li a i { font-size:.65rem; color:#94a3b8; transition:color .15s; }
.ndp-kat-list li a:hover { background:#1f396a; color:#fff; border-color:#1f396a; }
.ndp-kat-list li a:hover i { color:rgba(255,255,255,.6); }

/* === 18. HARITA === */
#detay-map { width:100%; height:360px; border:none; display:block; }
.framediv { overflow:hidden; border-radius:8px; }
@media(max-width:768px){ #detay-map{height:240px;} }

/* === 19. MOBIL STICKY CTA BAR (tdy-mob-rez-bar) — yeniden tasarim === */
.tdy-mob-rez-bar { display:none; }
@media(max-width:767.98px){
  .tdy-mob-rez-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 2000;
    background: #fff;
    padding: 10px 14px;
    padding-bottom: calc(10px + env(safe-area-inset-bottom,0px));
    box-shadow: 0 -4px 20px rgba(15,23,42,.12);
    border-top: 1px solid #e2e8f0;
    transition: transform .22s, opacity .22s;
  }
  .tdy-mob-rez-bar--dimmed { opacity:0; transform:translateY(100%); pointer-events:none; }

  /* Sol: fiyat bloku */
  .tdy-mob-rez-left { display:flex; flex-direction:column; gap:1px; min-width:0; flex-shrink:0; }
  .tdy-mob-rez-label { font-size:.58rem; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:.06em; line-height:1; }
  .tdy-mob-rez-price { font-size:1.25rem; font-weight:800; color:#1f396a; line-height:1.2; letter-spacing:-.01em; }
  .tdy-mob-rez-old del { font-size:.7rem; color:#cbd5e1; }

  body { padding-bottom:calc(72px + env(safe-area-inset-bottom,0px)); }
}

/* Buton grubu + butonlar — media query DISINDA (her ekranda gorunsun) */
.tdy-mob-rez-actions { display:flex; align-items:center; gap:7px; flex-shrink:0; }

.tdy-mob-taksit-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1.5px solid #1f396a;
    background: transparent;
    color: #1f396a;
    font-size: .78rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
    transition: background .14s, color .14s;
}
.tdy-mob-taksit-btn:hover { background:#eef3ff; }
.tdy-mob-taksit-btn:active { background:#dbeafe; }
.tdy-mob-taksit-btn i { font-size:.75rem; }

.tdy-mob-rez-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 11px 16px;
    border-radius: 10px;
    border: none;
    background: linear-gradient(135deg,#10b981,#059669);
    color: #fff;
    font-size: .85rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(5,150,105,.28);
    -webkit-tap-highlight-color: transparent;
    white-space: nowrap;
    transition: box-shadow .15s;
}
.tdy-mob-rez-btn:hover { box-shadow:0 6px 18px rgba(5,150,105,.38); }
.tdy-mob-rez-btn:active { transform:scale(.97); }
.tdy-mob-rez-btn i { font-size:.82rem; }

/* === 20. MODALLAR === */
#contact-modal { z-index:1060!important; }
.share-icon { font-size:28px; }
.share-btn { text-align:center; width:24%; color:#475569; }
.detayContactBtn { font-size:20px!important; font-weight:600!important; background:transparent; color:#374151; }
.taksit-card,.banka-img-div,.taksit-title,.taksit-info { display:none!important; }

/* === 21. LG LOCK === */
html.tdy-lg-lock, body.tdy-lg-lock { overflow:hidden!important; touch-action:none!important; }

/* === 22. GENEL YARDIMCILAR === */
.fiyat del { font-size:14px; color:#94a3b8; padding:2px; }
.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) { width:100%; }
.bs-searchbox { margin-bottom:5px; }
.bootstrap-select .dropdown-menu { height:350px; }
.bootstrap-select .dropdown-menu li a { font-size:14px; padding:8px 12px; display:flex; align-items:center; }
.bootstrap-select .dropdown-menu li>.disabled { background:#ffe6e6; cursor:no-drop!important; }
.dropdown-item.active,.dropdown-item:active { background-color:#dbeafe!important; color:#1e3a8a!important; }
.btn-rezervasyon { position:relative; overflow:hidden; width:100%; text-align:center; font-size:1rem; font-weight:700; padding:13px; background:#10b981; color:#fff; border-radius:10px; border:none; box-shadow:0 4px 14px rgba(5,150,105,.32); transition:all .2s; }
.btn-rezervasyon:hover { background:#059669; transform:translateY(-1px); }
.btn-iletisim-form { text-align:center; width:100%; font-size:.82rem; font-weight:500; padding:13px; background:#f8faff; color:#64748b; border-radius:10px; border:1px solid #e2e8f0; }
.tdy-mobile-sticky-rez { display:none; }

/* === 23. STACKED MODAL — reservation pushed back when taksit opens on top === */
#ndpQuickRezModal .ndp-qrez-modal {
    transition: transform 0.32s cubic-bezier(.4,0,.2,1), opacity 0.32s ease, filter 0.32s ease;
}
#ndpQuickRezModal.ndp-modal-behind .ndp-qrez-modal {
    transform: scale(0.90) translateY(-18px);
    opacity: 0.20;
    filter: blur(3px);
    pointer-events: none;
}
/* Second backdrop (taksit's) — lighter so reservation behind is visible */
.modal-backdrop + .modal-backdrop { opacity: 0.35 !important; }

/* === 24. SCROLL HINT — bouncing down arrow when body has overflow === */
.ndp-qrez-scroll-hint {
    position: absolute;
    bottom: 122px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 14;
    width: 34px; height: 34px;
    border-radius: 50%;
    background: rgba(31,57,106,.80);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: .82rem;
    cursor: pointer;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.35s;
    box-shadow: 0 4px 18px rgba(31,57,106,.28);
    animation: ndpScrollBounce 1.7s ease-in-out infinite;
}
.ndp-qrez-scroll-hint.show { opacity: 1; pointer-events: auto; }
@keyframes ndpScrollBounce {
    0%, 100% { transform: translateX(-50%) translateY(0px); }
    50%       { transform: translateX(-50%) translateY(6px); }
}
@media(max-width:575px) {
    .ndp-qrez-scroll-hint { bottom: 228px; width: 32px; height: 32px; font-size: .75rem; }
}

/* === 25. SOZLESMEModal — KVKK/Açık Rıza/ETK professional redesign === */
#ndpQSozlesmeModal .modal-dialog { max-width: 580px; }
.ndp-soz-modal { border-radius: 18px; overflow: hidden; border: none; box-shadow: 0 20px 60px rgba(15,23,42,.22); }
.ndp-soz-header {
    background: linear-gradient(135deg,#1f396a 0%,#2d5091 100%);
    padding: 16px 20px;
    display: flex; align-items: center; justify-content: space-between;
    flex-shrink: 0;
    gap: 12px;
}
.ndp-soz-header-inner { display:flex; align-items:center; gap:12px; min-width:0; flex:1; }
.ndp-soz-icon-wrap {
    width: 40px; height: 40px; border-radius: 11px;
    background: rgba(255,255,255,.15);
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 1.05rem; flex-shrink: 0;
}
.ndp-soz-title { font-size: .92rem; font-weight: 700; color: #fff; line-height: 1.3; }
.ndp-soz-sub { font-size: .67rem; color: rgba(255,255,255,.52); margin-top: 2px; }
.ndp-soz-close { filter: invert(1) brightness(2); opacity: .75; flex-shrink: 0; }
.ndp-soz-body {
    padding: 20px 22px;
    font-size: .84rem;
    color: #334155;
    line-height: 1.72;
    background: #fff;
}
.ndp-soz-body h4 { font-size: .88rem; font-weight: 700; color: #1f396a; margin: 18px 0 6px; padding-top: 4px; }
.ndp-soz-body h5 { font-size: .82rem; font-weight: 700; color: #334155; margin: 12px 0 5px; border-left: 3px solid #c7d9f8; padding-left: 10px; }
.ndp-soz-body p { margin-bottom: 10px; }
.ndp-soz-body ul { padding-left: 18px; margin-bottom: 10px; }
.ndp-soz-body li { margin-bottom: 5px; }
.ndp-soz-body strong { color: #1e293b; }
.ndp-soz-footer {
    padding: 12px 20px 14px;
    background: #f8faff;
    border-top: 1px solid #e2e8f0;
    display: flex; gap: 8px;
    flex-shrink: 0;
}
.ndp-soz-okudum-btn {
    flex: 1; padding: 13px 20px;
    background: #1f396a; color: #fff;
    border: none; border-radius: 11px;
    font-size: .9rem; font-weight: 800;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    transition: background .15s, box-shadow .15s;
    box-shadow: 0 2px 8px rgba(31,57,106,.18);
}
.ndp-soz-okudum-btn:hover { background: #162d55; box-shadow: 0 4px 14px rgba(31,57,106,.28); }
.ndp-soz-okudum-btn i { font-size: .82rem; }
@media(max-width:575px) {
    .ndp-soz-body { padding: 16px; font-size: .82rem; }
    .ndp-soz-header { padding: 14px 16px; }
    .ndp-soz-footer { padding: 10px 16px 12px; }
}
/* ── WA Contact Modal (detay.php) ─────────────────────────── */
.tdy-wa-modal-overlay{display:none;position:fixed;inset:0;background:rgba(10,15,30,.65);z-index:2000;align-items:flex-end;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding-bottom:env(safe-area-inset-bottom,0)}
.tdy-wa-modal-overlay.open{display:flex}
.tdy-wa-modal{background:#fff;border-radius:24px 24px 0 0;width:100%;max-width:480px;padding:0 0 calc(20px + env(safe-area-inset-bottom,0)) 0;position:relative;animation:ndp-wa-slide-up .26s cubic-bezier(.32,.72,0,1);box-shadow:0 -12px 60px rgba(10,15,30,.22);overflow:hidden}
@keyframes ndp-wa-slide-up{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
.tdy-wa-modal::before{content:'';display:block;width:36px;height:4px;border-radius:99px;background:#e2e8f0;margin:10px auto 0}
.tdy-wa-modal-close{position:absolute;top:12px;right:14px;width:28px;height:28px;border-radius:50%;border:none;background:#f1f5f9;color:#94a3b8;font-size:.78rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .14s,color .14s;z-index:1}
.tdy-wa-modal-close:hover{background:#e2e8f0;color:#475569}
.tdy-wa-modal-head{display:flex;align-items:center;gap:12px;padding:14px 18px 12px;border-bottom:1px solid #f1f5f9}
.tdy-wa-modal-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#1f396a 0%,#2d5499 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;box-shadow:0 2px 8px rgba(31,57,106,.3)}
.tdy-wa-modal-head strong{display:block;font-size:.9rem;font-weight:700;color:#0f172a;line-height:1.3}
.tdy-wa-modal-head span{display:flex;align-items:center;gap:4px;font-size:.72rem;color:#16a34a;font-weight:600}
.tdy-wa-modal-head span::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 2px rgba(22,163,74,.2)}
.tdy-wa-modal-msg{font-size:.82rem;color:#64748b;line-height:1.6;margin:0;padding:12px 18px 14px;border-bottom:1px solid #f8fafc}
.tdy-wa-modal-msg strong{color:#1e293b;font-weight:600}
.tdy-wa-modal-actions{display:flex;flex-direction:column;gap:0;padding:10px 14px 0}
.tdy-wa-modal-btn{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;text-decoration:none;border:none;cursor:pointer;transition:filter .14s,transform .12s;-webkit-tap-highlight-color:transparent;margin-bottom:8px}
.tdy-wa-modal-btn:active{transform:scale(.98)}
.tdy-wa-modal-btn:hover{filter:brightness(.94);text-decoration:none}
.tdy-wa-modal-btn-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.tdy-wa-modal-btn-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.tdy-wa-modal-btn-text strong{font-size:.88rem;font-weight:700;line-height:1.2}
.tdy-wa-modal-btn-text small{font-size:.73rem;font-weight:400;line-height:1.3;opacity:.75}
.tdy-wa-modal-btn-arr{font-size:.72rem;flex-shrink:0;opacity:.5}
.tdy-wa-modal-btn--wa{background:#0a7c3e !important;color:#fff !important;box-shadow:0 4px 16px rgba(10,124,62,.35) !important}
.tdy-wa-modal-btn--wa .tdy-wa-modal-btn-icon{background:rgba(255,255,255,.18) !important;color:#fff !important}
.tdy-wa-modal-btn--wa .tdy-wa-modal-btn-text strong{color:#fff !important}
.tdy-wa-modal-btn--wa .tdy-wa-modal-btn-text small{color:rgba(255,255,255,.82) !important;opacity:1 !important}
.tdy-wa-modal-btn--wa .tdy-wa-modal-btn-arr{color:rgba(255,255,255,.55) !important}
.tdy-wa-modal-btn--call{background:#1f396a !important;color:#fff !important;box-shadow:0 4px 14px rgba(31,57,106,.28) !important}
.tdy-wa-modal-btn--call .tdy-wa-modal-btn-icon{background:rgba(255,255,255,.15) !important;color:#fff !important}
.tdy-wa-modal-btn--call .tdy-wa-modal-btn-text strong{color:#fff !important}
.tdy-wa-modal-btn--call .tdy-wa-modal-btn-text small{color:rgba(255,255,255,.82) !important;opacity:1 !important}
.tdy-wa-modal-btn--call .tdy-wa-modal-btn-arr{color:rgba(255,255,255,.55) !important}
.tdy-wa-modal-btn--landline{background:#f8fafc !important;color:#1e293b !important;box-shadow:none !important;border:1.5px solid #e2e8f0 !important}
.tdy-wa-modal-btn--landline .tdy-wa-modal-btn-icon{background:#e9eef6 !important;color:#1f396a !important}
.tdy-wa-modal-btn--landline .tdy-wa-modal-btn-text strong{color:#1e293b !important}
.tdy-wa-modal-btn--landline .tdy-wa-modal-btn-text small{color:#64748b !important;opacity:1 !important}
.tdy-wa-modal-btn--landline .tdy-wa-modal-btn-arr{color:#94a3b8 !important}