/* =============================================================
   Turla360 - Product Detail Page CSS (GetYourGuide style, v1.5.0)
   ============================================================= */

/* ---- Layout Wrapper ---- */
.pd-wrapper {
  max-width: 1240px;
  margin: 0 auto;
  padding: 12px 24px 40px;
}

/* ---- Gallery ---- */
.pd-gallery-section {
  position: relative;
  margin-bottom: 28px;
}
.pd-gallery-grid {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  gap: 4px;
  border-radius: 12px;
  overflow: hidden;
  height: 380px;
}
.pd-gal-main {
  position: relative;
  cursor: pointer;
  overflow: hidden;
  grid-row: 1 / 3;
}
.pd-gal-thumbs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 6px;
}
.pd-gal-thumb {
  position: relative;
  cursor: pointer;
  overflow: hidden;
}
.pd-gal-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
  display: block;
}
.pd-gal-main:hover .pd-gal-img,
.pd-gal-thumb:hover .pd-gal-img {
  transform: scale(1.05);
}
.pd-gal-overlay {
  position: absolute;
  bottom: 12px;
  right: 12px;
  pointer-events: none;
}
.pd-gal-all-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 600;
  color: #111;
  cursor: pointer;
  pointer-events: all;
  transition: background .2s;
}
.pd-gal-all-btn:hover { background: #fff; }
.pd-gal-more { position: relative; }
.pd-gal-more-ov {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 700;
}
.pd-gal-placeholder {
  height: 300px;
  background: #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  border-radius: 14px;
}

/* ---- Lightbox ---- */
.pd-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.92);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pd-lb-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: rgba(255,255,255,.15);
  border: none;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  cursor: pointer;
  transition: background .2s;
  z-index: 2;
}
.pd-lb-close:hover { background: rgba(255,255,255,.3); }
.pd-lb-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,.15);
  border: none;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  cursor: pointer;
  transition: background .2s;
  z-index: 2;
}
.pd-lb-nav:hover { background: rgba(255,255,255,.3); }
.pd-lb-prev { left: 16px; }
.pd-lb-next { right: 16px; }
.pd-lb-img-wrap { max-width: 90vw; max-height: 85vh; }
.pd-lb-img { max-width: 100%; max-height: 85vh; object-fit: contain; border-radius: 6px; }
.pd-lb-counter {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,.8);
  font-size: 13px;
  background: rgba(0,0,0,.4);
  padding: 4px 12px;
  border-radius: 20px;
}

/* ---- Content + Sidebar Layout ---- */
.pd-content-wrap {
  display: grid;
  grid-template-columns: 1fr 368px;
  gap: 40px;
  align-items: start;
  margin-bottom: 48px;
}
.pd-main { min-width: 0; }
.pd-sidebar {
  position: sticky;
  top: 88px;
}

/* ---- Breadcrumb ---- */
.pd-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 6px;
  font-size: 13px;
  color: #64748b;
  margin-bottom: 8px;
}
.pd-breadcrumb a { color: #64748b; text-decoration: none; }
.pd-breadcrumb a:hover { color: var(--theme-primary, #2563eb); text-decoration: underline; }
.pd-breadcrumb span { color: #94a3b8; }
.pd-bc-cur { color: #1e293b; font-weight: 500; }

/* ---- Badges ---- */
.pd-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}
.pd-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .03em;
}
.pd-badge-type { background: #eff6ff; color: #1d4ed8; }
.pd-badge-cancel { background: #f0fdf4; color: #15803d; }
.pd-badge-popular { background: #fffbeb; color: #b45309; }

/* ---- Title ---- */
.pd-h1 {
  font-size: clamp(20px, 3vw, 30px);
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
  margin: 6px 0 4px;
}

/* ---- Meta Row ---- */
.pd-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 16px;
  font-size: 13px;
  color: #475569;
  margin-bottom: 4px;
}
.pd-rating-wrap {
  display: flex;
  align-items: center;
  gap: 5px;
}
.pd-rating-wrap b { color: #0f172a; font-weight: 700; }
.pd-rating-cnt { color: #64748b; }
.pd-stars { display: inline-flex; align-items: center; gap: 1px; }
.pd-loc {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #64748b;
}
.pd-company-nm {
  color: var(--theme-primary, #2563eb);
  font-weight: 600;
}

/* ---- Mobile Price ---- */
.pd-price-mobile {
  display: none;
  align-items: center;
  justify-content: space-between;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 14px 16px;
  margin-bottom: 20px;
}
.pd-pm-label { font-size: 11px; color: #64748b; text-transform: uppercase; letter-spacing: .05em; }
.pd-pm-val { font-size: 22px; font-weight: 700; color: #0f172a; }
.pd-pm-child { font-size: 12px; color: #64748b; margin-top: 2px; }

/* ---- Quick Facts ---- */
.pd-quick-facts {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  padding: 14px 20px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  margin-bottom: 28px;
}
.pd-fact {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1 1 0;
  min-width: 80px;
  padding: 6px 16px;
  border-right: 1px solid #e2e8f0;
}
.pd-fact:first-child { padding-left: 4px; }
.pd-fact:last-child  { border-right: none; padding-right: 4px; }
.pd-fact-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.pd-fact-lbl { font-size: 11px; color: #64748b; text-transform: uppercase; letter-spacing: .05em; white-space: nowrap; }
.pd-fact-val { font-size: 13px; font-weight: 700; color: #0f172a; margin-top: 2px; word-break: normal; overflow-wrap: break-word; }

/* ---- Sections ---- */
.pd-section {
  border-top: 1px solid #f1f5f9;
  padding: 24px 0;
}
.pd-section:first-child { border-top: none; }
.pd-section-h2 {
  font-size: 20px;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 16px;
}

/* ---- Highlights ---- */
.pd-highlights-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 8px;
}
.pd-highlights-list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 14px;
  color: #374151;
  line-height: 1.5;
  padding: 2px 0;
}

/* ---- Description ---- */
.pd-desc {
  font-size: 15px;
  line-height: 1.75;
  color: #374151;
}
.pd-desc-clamp {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pd-expand-btn {
  background: none;
  border: none;
  color: var(--theme-primary, #2563eb);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  padding: 8px 0 0;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ---- Included / Excluded ---- */
.pd-incl-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.pd-incl-col {
  border-radius: 10px;
  padding: 16px;
}
.pd-incl-yes { background: #f0fdf4; border: 1px solid #bbf7d0; }
.pd-incl-no  { background: #fff7f7; border: 1px solid #fecaca; }
.pd-incl-hdr {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 12px;
}
.pd-incl-yes .pd-incl-hdr { color: #15803d; }
.pd-incl-no  .pd-incl-hdr { color: #b91c1c; }
.pd-incl-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.pd-incl-col ul li {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  font-size: 13px;
  color: #374151;
  line-height: 1.45;
}
.pd-incl-yes ul li svg { color: #16a34a; flex-shrink: 0; margin-top: 2px; }
.pd-incl-no  ul li svg { color: #dc2626; flex-shrink: 0; margin-top: 2px; }

/* ---- Important Info ---- */
.pd-important-box {
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 10px;
  padding: 16px;
}
.pd-important-box ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pd-important-box ul li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 14px;
  color: #374151;
  line-height: 1.5;
}

/* ---- Meeting Point ---- */
.pd-meeting-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
}
.pd-meeting-addr {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 16px;
  font-size: 14px;
  color: #374151;
  line-height: 1.5;
}
.pd-meeting-map {
  height: 220px;
  width: 100%;
  background: #e2e8f0;
}

/* ---- Cancellation Policy ---- */
.pd-cancel-box {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 12px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pd-cancel-free {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.pd-cancel-title { font-weight: 700; font-size: 16px; color: #166534; }
.pd-cancel-desc { font-size: 13px; color: #15803d; margin-top: 2px; }
.pd-cancel-text {
  font-size: 13px;
  color: #374151;
  line-height: 1.6;
  margin: 0;
}

/* ---- FAQ ---- */
.pd-faq-list { display: flex; flex-direction: column; gap: 6px; }
.pd-faq-item {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.pd-faq-q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  background: none;
  border: none;
  text-align: left;
  font-size: 14px;
  font-weight: 600;
  color: #0f172a;
  cursor: pointer;
  transition: background .15s;
}
.pd-faq-q:hover { background: #f8fafc; }
.pd-faq-q svg { transition: transform .2s; color: #64748b; flex-shrink: 0; }
.pd-faq-a { padding: 0 16px 14px; }
.pd-faq-a p { font-size: 14px; color: #475569; line-height: 1.6; margin: 0; }

/* ---- Reviews ---- */
.pd-reviews-hdr {
  display: block;
  margin-bottom: 18px;
}
.pd-reviews-hdr .pd-rav-box { margin-top: 4px; }
.pd-rav-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 10px;
  padding: 8px 14px;
}
.pd-rav-score {
  font-size: 24px;
  font-weight: 800;
  color: #b45309;
}
.pd-rav-cnt { font-size: 13px; color: #78350f; }
.pd-reviews-list { display: flex; flex-direction: column; gap: 14px; }
.pd-review-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 16px;
}
.pd-rev-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.pd-rev-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--theme-primary, #2563eb);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  flex-shrink: 0;
}
.pd-rev-name { font-size: 14px; font-weight: 600; color: #0f172a; }
.pd-rev-date { font-size: 12px; color: #94a3b8; margin-top: 1px; }
.pd-rev-title { font-size: 14px; font-weight: 600; color: #1e293b; margin-bottom: 6px; }
.pd-rev-body { font-size: 13px; color: #475569; line-height: 1.6; margin: 0; }
.pd-rev-pros {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: #16a34a;
  margin-top: 8px;
}
.pd-no-reviews {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 32px 0;
  color: #94a3b8;
  font-size: 14px;
}

/* ---- Similar Products ---- */
.pd-similar-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 14px;
}
.pd-sim-card {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  display: block;
  transition: box-shadow .2s, transform .2s;
  background: #fff;
}
.pd-sim-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,.1);
  transform: translateY(-2px);
}
.pd-sim-img-wrap { aspect-ratio: 16/9; overflow: hidden; background: #f1f5f9; }
.pd-sim-img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.pd-sim-card:hover .pd-sim-img { transform: scale(1.06); }
.pd-sim-img-ph { width: 100%; height: 100%; background: #e2e8f0; }
.pd-sim-body { padding: 12px; }
.pd-sim-title { font-size: 13px; font-weight: 600; color: #0f172a; line-height: 1.4; margin-bottom: 4px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pd-sim-desc { font-size: 12px; color: #64748b; line-height: 1.45; margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pd-sim-price { font-size: 14px; font-weight: 700; color: var(--theme-primary, #2563eb); }
.pd-sim-price span { font-size: 12px; font-weight: 400; color: #94a3b8; }

/* ---- Booking Widget (Sidebar) ---- */
.pd-widget {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 22px 20px;
  box-shadow: 0 4px 20px rgba(0,0,0,.07);
}
.pd-widget-price-hdr {
  border-bottom: 1px solid #f1f5f9;
  padding-bottom: 14px;
  margin-bottom: 14px;
}
.pd-widget-price-lbl {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #64748b;
  margin-bottom: 2px;
}
.pd-widget-price-val {
  font-size: 28px;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.15;
}
.pd-widget-price-val span { font-size: 18px; color: #475569; }
.pd-widget-child-price {
  font-size: 12px;
  color: #64748b;
  margin-top: 3px;
}
.pd-widget-cancel-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #f0fdf4;
  border: 1px solid #86efac;
  color: #15803d;
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 600;
  margin-top: 8px;
}

/* ---- Urgency ---- */
.pd-urgency {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 14px;
}
.urg-critical { background: #fef2f2; border: 1px solid #fca5a5; color: #b91c1c; }
.urg-low      { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; }
.urg-sold-out { background: #f1f5f9; border: 1px solid #cbd5e1; color: #475569; }

/* ---- Widget Fields ---- */
.pd-widget-field { margin-bottom: 14px; }
.pd-widget-lbl {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #475569;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.pd-widget-select {
  width: 100%;
  padding: 9px 12px;
  border: 1.5px solid #e2e8f0;
  border-radius: 9px;
  font-size: 14px;
  color: #0f172a;
  background: #fff;
  appearance: auto;
  transition: border-color .2s;
}
.pd-widget-select:focus {
  outline: none;
  border-color: var(--theme-primary, #2563eb);
}

/* ---- Counter ---- */
.pd-counter {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1.5px solid #e2e8f0;
  border-radius: 9px;
  overflow: hidden;
  width: fit-content;
}
.pd-cnt-btn {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8fafc;
  border: none;
  font-size: 18px;
  font-weight: 700;
  color: #374151;
  cursor: pointer;
  transition: background .15s;
  line-height: 1;
}
.pd-cnt-btn:hover { background: #e2e8f0; }
.pd-cnt-val {
  min-width: 38px;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
  border-left: 1px solid #e2e8f0;
  border-right: 1px solid #e2e8f0;
  padding: 0 8px;
  line-height: 38px;
}

/* ---- Total ---- */
.pd-widget-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  border-top: 1px solid #f1f5f9;
  margin: 8px 0 14px;
}
.pd-wt-label { font-size: 15px; font-weight: 600; color: #374151; }
.pd-wt-val { font-size: 20px; font-weight: 800; color: #0f172a; }

/* ---- CTA Button ---- */
.pd-btn-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--theme-primary, #2563eb);
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  border-radius: 10px;
  padding: 12px 22px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background .2s, transform .15s, box-shadow .2s;
  white-space: nowrap;
}
.pd-btn-cta:hover {
  background: var(--theme-primary-dark, #1d4ed8);
  box-shadow: 0 4px 14px rgba(37,99,235,.35);
  transform: translateY(-1px);
}
.pd-btn-cta-full { width: 100%; font-size: 16px; padding: 14px; }
.pd-cta-disabled { opacity: .55; cursor: not-allowed; transform: none !important; }
.pd-sold-out-msg { font-size: 14px; color: #64748b; text-align: center; padding: 10px 0; }
.pd-link { color: var(--theme-primary, #2563eb); text-decoration: underline; }

/* ---- Trust Badges ---- */
.pd-trust-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 16px;
  padding: 14px 0 0;
  margin-top: 12px;
  border-top: 1px solid #f1f5f9;
}
.pd-trust-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: #64748b;
}

/* ---- Widget Action Buttons ---- */
.pd-widget-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
.pd-action-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 12px;
  border: 1.5px solid #e2e8f0;
  border-radius: 9px;
  background: #fff;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
}
.pd-action-btn:hover { background: #f8fafc; border-color: #cbd5e1; }
.pd-fav-on { color: var(--theme-primary, #2563eb); border-color: var(--theme-primary, #2563eb); background: #eff6ff; }

/* Sticky Bottom Bar - kaldirildi (v2.1) */

/* ================================================================
   RESPONSIVE — Tablet (max 1024px)
   ================================================================ */
@media (max-width: 1024px) {
  .pd-content-wrap {
    grid-template-columns: 1fr 300px;
    gap: 20px;
  }
}

/* ================================================================
   RESPONSIVE — Mobile (max 767px)
   ================================================================ */
@media (max-width: 767px) {
  .pd-wrapper { padding: 0 12px 24px; }

  .pd-gallery-grid {
    grid-template-columns: 1fr;
    aspect-ratio: 4/3;
  }
  .pd-gal-main { grid-row: 1; }
  .pd-gal-thumbs { display: none; }

  .pd-content-wrap {
    grid-template-columns: 1fr;
  }
  .pd-sidebar { display: none; }
  .pd-price-mobile { display: flex; }

  .pd-h1 { font-size: 20px; }

  .pd-quick-facts { padding: 10px 12px; overflow-x: auto; scrollbar-width: none; }
  .pd-quick-facts::-webkit-scrollbar { display: none; }
  .pd-fact { flex: 0 0 auto; min-width: 90px; padding: 4px 12px; }
  .pd-fact:first-child { padding-left: 2px; }
  .pd-fact:last-child  { padding-right: 2px; }

  .pd-incl-grid { grid-template-columns: 1fr; }

  .pd-similar-grid { grid-template-columns: 1fr 1fr; }

  .pd-reviews-title-row { flex-direction: column; align-items: flex-start; }
  .pd-rev-ctrl-row { width: 100%; flex-wrap: wrap; }
}

@media (max-width: 480px) {
  .pd-similar-grid { grid-template-columns: 1fr; }
  .pd-highlights-list { grid-template-columns: 1fr; }
}

/* ---- Rating Breakdown Box ---- */
.pd-rav-box {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  flex-wrap: wrap;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 12px;
  padding: 14px 18px;
}
.pd-rav-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 80px;
}
.pd-rav-bars {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 160px;
}
.pd-rav-bar-row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
}
.pd-rav-bar-lbl {
  width: 14px;
  text-align: right;
  color: #78350f;
  font-weight: 600;
  flex-shrink: 0;
}
.pd-rav-bar-track {
  flex: 1;
  height: 7px;
  background: #fef3c7;
  border-radius: 4px;
  overflow: hidden;
}
.pd-rav-bar-fill {
  height: 100%;
  background: #f59e0b;
  border-radius: 4px;
  transition: width .4s ease;
}
.pd-rav-bar-cnt {
  width: 20px;
  text-align: right;
  color: #92400e;
  font-size: 11px;
  flex-shrink: 0;
}

/* ---- Gallery Thumbnail Strip (mobil/lightbox alt) ---- */
.pd-thumb-strip {
  display: none;
  gap: 6px;
  overflow-x: auto;
  padding: 8px 0 4px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.pd-thumb-strip::-webkit-scrollbar { display: none; }
.pd-thumb-strip-btn {
  flex-shrink: 0;
  width: 56px;
  height: 42px;
  border-radius: 6px;
  overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color .2s;
  padding: 0;
  background: #e2e8f0;
}
.pd-thumb-strip-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pd-thumb-strip-btn.active,
.pd-thumb-strip-btn:hover {
  border-color: var(--theme-primary, #2563eb);
}

/* Show thumb strip on mobile */
@media (max-width: 767px) {
  .pd-thumb-strip { display: flex; }
}

/* ================================================================
   GYG Layout v2.0.0 - Yeni class eklentileri
   ================================================================ */

.pd-hero-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:8px; padding-top:0; }
.pd-hero-header-left { flex:1; min-width:0; }
.pd-hero-header-right { display:flex; align-items:center; gap:8px; flex-shrink:0; padding-top:4px; }
.pd-hero-featured-badge { display:inline-flex; align-items:center; gap:5px; background:#111; color:#fff; font-size:12px; font-weight:700; padding:4px 10px; border-radius:6px; margin-bottom:10px; }
.pd-hero-action-btn { display:flex; flex-direction:column; align-items:center; gap:3px; padding:8px 12px; border:1.5px solid #e2e8f0; border-radius:10px; background:#fff; cursor:pointer; color:#374151; transition:background .15s,border-color .15s; }
.pd-hero-action-btn:hover { background:#f8fafc; border-color:#cbd5e1; }
.pd-hero-action-btn.pd-fav-on { color:var(--theme-primary,#2563eb); border-color:var(--theme-primary,#2563eb); background:#eff6ff; }
.pd-hero-action-lbl { font-size:11px; font-weight:600; white-space:nowrap; }
.pd-meta-sep { color:#94a3b8; }

/* ---- Gallery GYG overrides ---- */
.pd-gallery-grid { height:420px; gap:4px; }
.pd-gal-main { border-radius:12px 0 0 12px; overflow:hidden; cursor:pointer; position:relative; }
.pd-gal-main .pd-gal-img { border-radius:12px 0 0 12px; }
.pd-gal-thumb-last { border-radius:0 0 12px 0; overflow:hidden; }
.pd-gal-thumb-last .pd-gal-img { border-radius:0 0 12px 0; }
.pd-gal-thumbs > .pd-gal-thumb:first-child { border-radius:0 12px 0 0; overflow:hidden; }
.pd-gal-thumbs > .pd-gal-thumb:first-child .pd-gal-img { border-radius:0 12px 0 0; }
.pd-gal-empty { background:#f3f4f6; cursor:default; }
.pd-gal-all-overlay { position:absolute; inset:0; background:rgba(0,0,0,.15); display:flex; align-items:flex-end; justify-content:flex-end; padding:10px; }

/* ---- Sidebar GYG overrides (v4.0 - GYG exact match) ---- */

/* Widget kart */
.pd-widget { border:1px solid #e5e7eb; box-shadow:0 2px 12px rgba(0,0,0,.08); padding:24px; border-radius:16px; }

/* Fiyat blogu */
.pd-widget-price-block { margin-bottom:14px; }
.pd-widget-price-start-lbl { font-size:13px; color:#6b7280; margin-bottom:1px; }
.pd-widget-old-price-line { display:block; margin-bottom:1px; }
.pd-widget-old-price-amt { font-size:14px; font-weight:400; color:#6b7280; text-decoration:line-through; }
/* Eski class - geriye donuk uyumluluk */
.pd-widget-old-price { font-size:14px; color:#6b7280; text-decoration:line-through; margin-bottom:2px; }
.pd-widget-price-row { display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; margin-bottom:2px; }
.pd-widget-price-big { font-size:28px; font-weight:800; color:#dc2626; line-height:1.1; }
.pd-widget-price-per { font-size:14px; color:#4b5563; align-self:flex-end; }
/* Eski class - geriye donuk uyumluluk */
.pd-widget-price-main { display:flex; align-items:baseline; gap:4px; flex-wrap:wrap; }
.pd-widget-price-num { font-size:28px; font-weight:800; color:#dc2626; line-height:1.1; }
.pd-widget-currency { font-size:16px; font-weight:700; color:#dc2626; }
.pd-widget-per-person { font-size:14px; color:#6b7280; align-self:flex-end; margin-bottom:2px; }
.pd-widget-child-price { font-size:13px; color:#6b7280; margin-top:4px; }
.pd-widget-divider { border-top:1px solid #f1f5f9; margin:14px 0; }

/* Scarcity */
.pd-widget-scarcity { display:flex; align-items:center; gap:6px; padding:8px 12px; background:#fef2f2; border:1px solid #fca5a5; border-radius:8px; font-size:13px; font-weight:600; color:#dc2626; margin-bottom:12px; }

/* Dropdown alanlar - GYG gri bg */
.pd-gyg-select-btn { background:#f3f4f6; border-radius:8px; border:1px solid #e5e7eb; }
.pd-gyg-select-btn:hover { background:#e9eaec; border-color:#d1d3d6; }
.pd-gyg-select-icon { color:#374151; }
.pd-gyg-select-arrow { color:#374151; }
.pd-gyg-static { background:#f3f4f6 !important; }
.pd-gyg-static:hover { background:#f3f4f6 !important; border-color:#e5e7eb !important; }

/* CTA butonu - GYG mavisi */
.pd-btn-gyg-cta { background:#1a73e8; border-radius:8px; margin-top:12px; margin-bottom:4px; }
.pd-btn-gyg-cta:hover { background:#1557b0; box-shadow:0 4px 16px rgba(26,115,232,.35); transform:none; }
.pd-btn-gyg-cta.pd-cta-disabled { opacity:.55; cursor:not-allowed; transform:none !important; }

/* Garanti satirlari */
.pd-widget-guarantees { display:flex; flex-direction:column; gap:0; margin-top:16px; padding-top:16px; border-top:1px solid #e5e7eb; }
.pd-guarantee-item { display:flex; align-items:flex-start; gap:12px; margin-top:0; padding:8px 0; }
.pd-guarantee-item + .pd-guarantee-item { border-top:none; }
.pd-guarantee-icon { flex-shrink:0; margin-top:1px; line-height:0; }
.pd-guarantee-body { font-size:14px; color:#111827; line-height:1.4; }
.pd-guarantee-body strong { display:block; font-weight:600; margin-bottom:3px; color:#111827; }
.pd-guarantee-sub { font-size:13px; color:#6b7280; line-height:1.45; margin-top:0; display:block; }
.pd-guarantee-link { color:#1a73e8; text-decoration:underline; font-size:13px; }
.pd-guarantee-link:hover { color:#1557b0; }

/* Diger */
.pd-widget-field-row { display:flex; align-items:flex-start; gap:10px; }
.pd-widget-field-icon { color:#6b7280; padding-top:20px; flex-shrink:0; }
.pd-widget-field-body { flex:1; }
.pd-pm-old { font-size:13px; color:#9ca3af; text-decoration:line-through; margin-bottom:1px; }


@media (max-width:767px) {
  .pd-hero-header { flex-direction:column; gap:10px; }
  .pd-hero-header-right { flex-direction:row; }
  .pd-gallery-grid { height:260px; grid-template-columns:1fr; }
  .pd-gal-main { border-radius:12px !important; }
  .pd-gal-main .pd-gal-img { border-radius:12px !important; }
}


/* ================================================================
   GYG v3.0.0 - Meta Row, Sidebar Dropdown, Date Picker, Calendar
   ================================================================ */

/* ---- GYG Meta Row ---- */
.pd-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-bottom: 4px;
}
.pd-meta-left {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 10px;
  font-size: 14px;
  color: #374151;
}
.pd-rating-anchor {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  text-decoration: none;
  color: #374151;
  font-size: 14px;
  font-weight: 600;
}
.pd-rating-anchor:hover .pd-meta-cnt { text-decoration: underline; }
.pd-meta-score { color: #0f172a; font-size: 16px; }
.pd-meta-cnt { color: #374151; text-decoration: underline; text-underline-offset: 2px; }
.pd-meta-sep { color: #94a3b8; font-size: 16px; }
.pd-meta-company { color: #374151; font-size: 14px; }
.pd-meta-company strong { color: #0f172a; }
.pd-meta-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pd-meta-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  font-size: 13px;
  font-weight: 600;
  color: #111827;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
  transition: color .15s;
}
.pd-meta-action-btn:hover { color: #374151; }
.pd-meta-action-btn .pd-meta-btn-icon {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}
.pd-meta-fav-on { color: #e11d48 !important; }

/* ---- GYG Pill Select Buttons ---- */
.pd-gyg-field { margin-bottom: 10px; position: relative; }
.pd-gyg-select-btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #f3f4f6;
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  cursor: pointer;
  transition: background .15s, border-color .15s;
  text-align: left;
}
.pd-gyg-select-btn:hover { background: #e9eaec; border-color: #d1d3d6; }
.pd-gyg-select-btn:focus { outline: none; border-color: var(--theme-primary,#2563eb); box-shadow: 0 0 0 3px rgba(37,99,235,.1); }
.pd-gyg-select-icon { flex-shrink: 0; color: #6b7280; display: flex; align-items: center; }
.pd-gyg-select-text { flex: 1; }
.pd-gyg-select-arrow { flex-shrink: 0; color: #6b7280; display: flex; align-items: center; transition: transform .2s; }
.pd-gyg-static { cursor: default; background: #f9fafb; }
.pd-gyg-static:hover { border-color: #e5e7eb; }

/* ---- GYG Adults Dropdown ---- */
.pd-gyg-dropdown {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  z-index: 200;
  max-height: 260px;
  overflow-y: auto;
  padding: 6px 0;
}
.pd-gyg-opt {
  display: block;
  width: 100%;
  padding: 10px 18px;
  background: none;
  border: none;
  text-align: left;
  font-size: 14px;
  color: #374151;
  cursor: pointer;
  transition: background .12s;
}
.pd-gyg-opt:hover { background: #f3f4f6; }
.pd-gyg-opt.active { background: #eff6ff; color: var(--theme-primary,#2563eb); font-weight: 600; }

/* ---- GYG Main CTA Button ---- */
.pd-btn-gyg-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 52px;
  background: #1a73e8;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: background .15s;
  margin: 12px 0 4px;
}
.pd-btn-gyg-cta:hover {
  background: #1557b0;
  box-shadow: 0 4px 16px rgba(26,115,232,.35);
  transform: none;
}
.pd-btn-gyg-cta.pd-cta-disabled { opacity: .55; cursor: not-allowed; transform: none !important; }

/* ---- GYG Guarantee Sub Text ---- */
.pd-guarantee-sub {
  font-size: 13px;
  color: #6b7280;
  margin-top: 0;
  line-height: 1.45;
  display: block;
}

/* ---- GYG Date Picker Calendar Panel ---- */
.pd-cal-panel {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(100% + 6px);
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(0,0,0,.16);
  z-index: 1000;
  padding: 20px;
  min-width: 320px;
}
.pd-cal-nav-row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.pd-cal-months {
  flex: 1;
  display: flex;
  gap: 24px;
}
.pd-cal-month { flex: 1; min-width: 200px; }
.pd-cal-month-title {
  font-size: 14px;
  font-weight: 700;
  color: #0f172a;
  text-align: center;
  margin-bottom: 10px;
}
.pd-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}
.pd-cal-dow {
  font-size: 11px;
  font-weight: 600;
  color: #94a3b8;
  text-align: center;
  padding: 4px 0;
  text-transform: uppercase;
}
.pd-cal-day {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 50%;
  background: transparent;
  font-size: 13px;
  color: #0f172a;
  cursor: pointer;
  transition: background .15s, color .15s;
  position: relative;
}
.pd-cal-day:hover:not(.disabled):not(.empty) { background: #eff6ff; color: var(--theme-primary,#2563eb); }
.pd-cal-day.today { border: 2px solid #e2e8f0; font-weight: 700; }
.pd-cal-day.selected { background: var(--theme-primary,#2563eb) !important; color: #fff !important; font-weight: 700; }
.pd-cal-day.disabled { color: #d1d5db; text-decoration: line-through; cursor: not-allowed; }
.pd-cal-day.empty { visibility: hidden; cursor: default; }
.pd-cal-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  color: #374151;
  cursor: pointer;
  flex-shrink: 0;
  transition: background .15s, border-color .15s;
  margin-top: 22px;
}
.pd-cal-nav:hover { background: #f1f5f9; border-color: #cbd5e1; }

/* Widget override: no x-cloak flash */
[x-cloak] { display: none !important; }

@media (max-width: 1024px) {
  .pd-cal-months { flex-direction: column; gap: 12px; }
  .pd-cal-panel { min-width: 260px; left: 0; transform: none; }
}

@media (max-width: 767px) {
  .pd-meta-row { flex-direction: column; align-items: flex-start; gap: 10px; }
  .pd-meta-actions { width: 100%; justify-content: flex-start; }
  .pd-cal-panel { position: fixed; left: 0; right: 0; bottom: 0; top: auto; transform: none; border-radius: 20px 20px 0 0; padding: 20px 16px; max-height: 85vh; overflow-y: auto; }
  .pd-cal-months { flex-direction: column; }
}


/* ================================================================
   GYG v4.0 - Adults Counter Panel + Language Dropdown
   ================================================================ */

/* Counter panel dropdown */
.pd-gyg-counter-panel {
  padding: 16px 18px 8px;
}
.pd-gyg-counter-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid #f3f4f6;
}
.pd-gyg-counter-row:last-of-type { border-bottom: none; }
.pd-gyg-counter-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.pd-gyg-counter-label {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
}
.pd-gyg-counter-sub {
  font-size: 12px;
  color: #9ca3af;
}
.pd-gyg-counter {
  display: flex;
  align-items: center;
  gap: 12px;
}
.pd-gyg-counter-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1.5px solid #1a73e8;
  color: #1a73e8;
  background: #fff;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 0;
  transition: background .15s, color .15s;
}
.pd-gyg-counter-btn:hover:not(:disabled) {
  background: #1a73e8;
  color: #fff;
}
.pd-gyg-counter-btn:disabled {
  border-color: #d1d5db;
  color: #d1d5db;
  cursor: not-allowed;
}
.pd-gyg-counter-val {
  min-width: 24px;
  text-align: center;
  font-weight: 600;
  font-size: 15px;
  color: #111827;
}
.pd-gyg-counter-footer {
  padding: 10px 0 4px;
}
.pd-gyg-counter-confirm {
  width: 100%;
  height: 40px;
  background: #1a73e8;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background .15s;
}
.pd-gyg-counter-confirm:hover { background: #1557b0; }

/* Language dropdown */
.pd-gyg-lang-dropdown {
  padding: 6px 0;
}
.pd-gyg-lang-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  cursor: pointer;
  font-size: 14px;
  color: #111827;
  transition: background .12s;
}
.pd-gyg-lang-item:hover { background: #f3f4f6; }
.pd-gyg-lang-radio {
  width: 16px;
  height: 16px;
  accent-color: #1a73e8;
  cursor: pointer;
  flex-shrink: 0;
}


/* Modal overlay (Devamini oku / Paylas) - Alpine x-show ile birlikte calismasi icin CSS class */
.pd-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.8);
}
[x-cloak] { display: none !important; }

/* ---- GYG-style Wishlist Button (link-look) ---- */
.pd-fav-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  color: #111827;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .15s;
  white-space: nowrap;
}
.pd-fav-btn:hover { color: #374151; }
.pd-fav-on { color: #e11d48 !important; }
.pd-fav-on:hover { color: #be123c !important; }

/* ---- Wishlist Toast (bottom-right) ---- */
.wishlist-toast-wrap {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 14px 18px;
  box-shadow: 0 4px 20px rgba(0,0,0,.12);
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 260px;
  max-width: 340px;
  font-size: 13px;
  color: #111827;
  font-weight: 500;
  line-height: 1.4;
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity .25s, transform .25s;
}
.wishlist-toast-wrap.wishlist-toast-show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
@media (max-width: 640px) {
  .wishlist-toast-wrap {
    left: 16px;
    right: 16px;
    bottom: 16px;
    min-width: 0;
    max-width: none;
  }
}

/* ================================================================
   GYG v5.0 - Itinerary, Tags, Meeting Address, Helpful, Similar Rating
   ================================================================ */

/* ---- Itinerary / Program ---- */
.pd-itinerary { margin-bottom: 0; }
.pd-itin-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.pd-itin-item {
  display: flex;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid #f1f5f9;
}
.pd-itin-item:last-child { border-bottom: none; padding-bottom: 0; }
.pd-itin-item:first-child { padding-top: 0; }
.pd-itin-num {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  background: var(--theme-primary, #1d4ed8);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}
.pd-itin-body { flex: 1; min-width: 0; }
.pd-itin-title {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #111827;
  margin-bottom: 4px;
}
.pd-itin-desc {
  font-size: 14px;
  color: #4b5563;
  line-height: 1.6;
  margin: 4px 0;
}
.pd-itin-dur {
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  color: #6b7280;
  margin-top: 4px;
}

/* ---- Tags / Etiketler ---- */
.pd-tags-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: -10px 0 24px;
}
.pd-tag {
  display: inline-block;
  padding: 4px 12px;
  background: #f1f5f9;
  border-radius: 20px;
  font-size: 13px;
  color: #374151;
  font-weight: 500;
  line-height: 1.5;
}

/* ---- Meeting Address (location_address) ---- */
.pd-meeting-address {
  font-size: 13px;
  color: #4b5563;
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 0;
  padding: 0 16px 12px;
  line-height: 1.5;
}
.pd-meeting-address svg {
  flex-shrink: 0;
  margin-top: 3px;
  color: #6b7280;
}

/* ---- Review footer (helpful + translate) ---- */
.pd-rev-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  gap: 12px;
  flex-wrap: wrap;
}
.pd-helpful-wrap {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.pd-helpful-q {
  font-size: 13px;
  color: #374151;
  font-weight: 500;
}
.pd-helpful-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: none;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 12px;
  color: #6b7280;
  cursor: pointer;
  transition: border-color .15s, color .15s, background .15s;
  line-height: 1.4;
}
.pd-helpful-btn:hover { border-color: #94a3b8; color: #374151; background: #f8fafc; }
.pd-helpful-btn.voted {
  border-color: var(--theme-primary, #1d4ed8);
  color: var(--theme-primary, #1d4ed8);
  background: #eff6ff;
}
.pd-helpful-btn svg { flex-shrink: 0; }
.pd-helpful-thanks {
  font-size: 13px;
  color: #16a34a;
  font-weight: 500;
}
.pd-translate-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: none;
  padding: 0;
  font-size: 13px;
  font-weight: 600;
  color: #1d4ed8;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
  transition: color .15s;
}
.pd-translate-btn:hover { color: #1e40af; }
.pd-translate-btn:disabled { color: #9ca3af; text-decoration: none; cursor: default; }
.pd-translate-btn svg { flex-shrink: 0; }

/* ---- Reviews "Load More" ---- */
.pd-reviews-more {
  text-align: center;
  margin-top: 20px;
}
.pd-reviews-more-btn {
  display: inline-block;
  padding: 10px 28px;
  border: 1.5px solid var(--theme-primary, #1d4ed8);
  border-radius: 8px;
  color: var(--theme-primary, #1d4ed8);
  font-size: 14px;
  font-weight: 600;
  background: none;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.pd-reviews-more-btn:hover {
  background: var(--theme-primary, #1d4ed8);
  color: #fff;
}
.pd-reviews-more-btn:disabled { opacity: .5; cursor: default; }

/* ---- Similar Tour Rating ---- */
.pd-sim-rating {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 600;
  color: #111827;
  margin: 4px 0 6px;
}
.pd-sim-rating svg { flex-shrink: 0; }
.pd-sim-rcnt { font-weight: 400; color: #6b7280; }

/* ================================================================
   GYG v6.0 - Review Sort/Filter Controls + Carousel Suggest
   ================================================================ */

/* ---- Review Controls (Sort + Filter) ---- */
.pd-reviews-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}
.pd-rev-ctrl-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pd-rev-ctrl-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 14px;
  border: 1.5px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  font-size: 13px;
  font-weight: 500;
  color: #374151;
  cursor: pointer;
  transition: border-color .15s, background .15s;
  white-space: nowrap;
  line-height: 1.4;
}
.pd-rev-ctrl-btn:hover { border-color: #94a3b8; background: #f8fafc; }
.pd-rev-sort-wrap { position: relative; }
.pd-rev-sort-dd {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 180px;
  background: #fff;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 4px 16px rgba(0,0,0,.1);
  z-index: 50;
  overflow: hidden;
}
.pd-rev-sort-dd button {
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px 16px;
  font-size: 13px;
  color: #374151;
  background: none;
  border: none;
  cursor: pointer;
  transition: background .1s;
}
.pd-rev-sort-dd button:hover { background: #f1f5f9; }
.pd-rev-sort-dd button.active { background: #eff6ff; color: var(--theme-primary, #1d4ed8); font-weight: 600; }
.pd-rev-filter-btn { position: relative; }
.pd-rev-filter-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  background: #ef4444;
  color: #fff;
  font-size: 10px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  line-height: 1;
}

/* ---- Filter Modal ---- */
.pd-filter-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 3000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
@media (min-width: 640px) {
  .pd-filter-overlay { align-items: center; }
}
.pd-filter-modal {
  background: #fff;
  width: 100%;
  max-width: 480px;
  border-radius: 20px 20px 0 0;
  max-height: 90vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
@media (min-width: 640px) {
  .pd-filter-modal {
    border-radius: 16px;
    max-height: 80vh;
  }
}
.pd-filter-modal-hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #e2e8f0;
  font-weight: 700;
  font-size: 15px;
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 1;
  color: #111827;
}
.pd-filter-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #374151;
}
.pd-filter-close:hover { background: #f1f5f9; }
.pd-filter-modal-body { padding: 20px; flex: 1; }
.pd-filter-section-title {
  font-size: 13px;
  font-weight: 700;
  color: #374151;
  margin: 0 0 10px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.pd-filter-check-list + .pd-filter-section-title { margin-top: 20px; }
.pd-filter-check-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pd-filter-check {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: #374151;
  cursor: pointer;
  padding: 4px 0;
}
.pd-filter-check input[type="radio"],
.pd-filter-check input[type="checkbox"] {
  width: 20px;
  height: 20px;
  accent-color: var(--theme-primary, #1d4ed8);
  cursor: pointer;
  flex-shrink: 0;
}
.pd-filter-modal-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-top: 1px solid #e2e8f0;
  position: sticky;
  bottom: 0;
  background: #fff;
}
.pd-filter-reset-btn {
  background: none;
  border: none;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  padding: 0;
}
.pd-filter-apply-btn {
  background: var(--theme-primary, #1d4ed8);
  color: #fff;
  border: none;
  padding: 10px 28px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s;
}
.pd-filter-apply-btn:hover { background: #1e40af; }

/* ---- Rating Breakdown (Rehber / Ulaşım / Fiyat-Kalite) ---- */
.pd-rev-breakdown {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 16px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid #e2e8f0;
}
.pd-rev-bkd-item {
  display: flex;
  align-items: center;
  gap: 10px;
}
.pd-rev-bkd-lbl {
  font-size: 13px;
  color: #64748b;
  width: 110px;
  flex-shrink: 0;
}
.pd-rev-bkd-bar-wrap {
  flex: 1;
  height: 6px;
  background: #e2e8f0;
  border-radius: 3px;
  overflow: hidden;
}
.pd-rev-bkd-bar {
  height: 100%;
  background: var(--theme-primary, #1d4ed8);
  border-radius: 3px;
  transition: width .4s ease;
}
.pd-rev-bkd-val {
  font-size: 13px;
  font-weight: 700;
  color: #0f172a;
  width: 40px;
  text-align: right;
}

/* ---- Review Card date row + verified badge ---- */
.pd-rev-date-row {
  font-size: 12px;
  color: #94a3b8;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 1px;
}
.pd-rev-date-row .pd-rev-date { margin: 0; }
.pd-rev-verified {
  background: #dcfce7;
  color: #15803d;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 20px;
  line-height: 1.4;
  white-space: nowrap;
}
.pd-stars-wrap { display: inline-flex; align-items: center; }

/* ---- Below Fold (carousel + reviews — grid dışı, tam genişlik) ---- */
.pd-below-fold {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px 40px;
}
.pd-below-fold .pd-section:first-child {
  border-top: 1px solid #e2e8f0;
}

/* ---- Beğeneceğinizi Düşündük (Carousel) ---- */
.pd-section-suggest { position: relative; }
.pd-suggest-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.pd-sug-arrows {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.pd-suggest-carousel {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  padding-bottom: 8px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.pd-suggest-carousel::-webkit-scrollbar { display: none; }
.pd-sug-card {
  flex: 0 0 320px;
  scroll-snap-align: start;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s, transform .2s;
  background: #fff;
}
.pd-sug-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  transform: translateY(-2px);
}
.pd-sug-img-wrap {
  position: relative;
  height: 210px;
  overflow: hidden;
  background: #f1f5f9;
}
.pd-sug-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s;
}
.pd-sug-card:hover .pd-sug-img { transform: scale(1.05); }
.pd-sug-img-ph { width: 100%; height: 100%; background: #e2e8f0; }
.pd-sug-discount-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #ef4444;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 6px;
  letter-spacing: .02em;
}
.pd-sug-cancel-badge {
  position: absolute;
  bottom: 10px;
  left: 10px;
  background: rgba(0,0,0,.6);
  color: #fff;
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 6px;
}
.pd-sug-heart {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255,255,255,.88);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  transition: background .15s, color .15s;
  backdrop-filter: blur(4px);
}
.pd-sug-heart:hover { background: #fff; color: #ef4444; }
/* Aktif: beyaz buton zemini + kırmızı dolu kalp (GYG stili) — kırmızı zemin DEĞİL */
.pd-sug-heart.sr-fav-active { background: rgba(255,255,255,.95); color: #ef4444; }
.pd-sug-heart.sr-fav-active svg { fill: #ef4444; stroke: #ef4444; }
.pd-sug-heart.sr-fav-active:hover { background: #fff; }

/* ─ Buton kendi beyaz zeminine sahip → kalp her zaman gri(pasif)/kırmızı(aktif).
   bg-aware sınıfları kalbi beyaz/kırmızı zeminde görünmez yapıyordu, nötralize edildi. ─ */
.sr-fav-btn.sr-fav-dark-bg svg,
.sr-fav-btn.sr-fav-light-bg svg,
.pd-sug-heart.sr-fav-dark-bg svg,
.pd-sug-heart.sr-fav-light-bg svg { stroke: #64748b; fill: none; filter: none; }
.sr-fav-btn.sr-fav-active svg,
.sr-fav-btn.sr-fav-dark-bg.sr-fav-active svg,
.sr-fav-btn.sr-fav-light-bg.sr-fav-active svg,
.pd-sug-heart.sr-fav-active svg,
.pd-sug-heart.sr-fav-dark-bg.sr-fav-active svg,
.pd-sug-heart.sr-fav-light-bg.sr-fav-active svg { stroke: #ef4444; fill: #ef4444; }

/* fav-toast — favorite.js tarafından dinamik eklenir, product-detail sayfasında da gerekli */
.fav-toast {
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%) translateY(100px);
  background: #111827;
  color: #fff;
  padding: 13px 22px 13px 16px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  box-shadow: 0 12px 32px rgba(0,0,0,.32), 0 2px 8px rgba(0,0,0,.18);
  z-index: 9999;
  transition: transform .38s cubic-bezier(.34,1.46,.64,1), opacity .25s ease;
  opacity: 0;
  pointer-events: none;
  max-width: 90vw;
  display: flex;
  align-items: center;
  gap: 10px;
}
.fav-toast.fav-toast-show { transform: translateX(-50%) translateY(0); opacity: 1; }
.fav-toast .ft-icon {
  width: 28px; height: 28px;
  background: #dc2626;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.fav-toast .ft-icon svg { width: 14px; height: 14px; }
.fav-toast .ft-remove .ft-icon { background: #4b5563; }
.fav-toast .ft-text { line-height: 1.3; }
@media (max-width: 480px) {
  .fav-toast {
    left: 16px; right: 16px;
    transform: translateX(0) translateY(100px);
    border-radius: 14px; white-space: normal; max-width: none;
    justify-content: flex-start;
  }
  .fav-toast.fav-toast-show { transform: translateX(0) translateY(0); }
}
.pd-sug-body {
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
}
.pd-sug-title {
  font-size: 14px;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pd-sug-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 4px;
  font-size: 12px;
  color: #64748b;
  line-height: 1.5;
}
.pd-sug-sep {
  color: #94a3b8;
  padding: 0 2px;
  font-size: 11px;
}
.pd-sug-rating {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  font-weight: 700;
  color: #0f172a;
}
.pd-sug-rcnt { font-weight: 400; color: #64748b; }
.pd-sug-price { margin-top: auto; padding-top: 4px; }
.pd-sug-old-price {
  display: block;
  font-size: 12px;
  color: #94a3b8;
  text-decoration: line-through;
  line-height: 1.2;
}
.pd-sug-price-lbl {
  font-size: 11px;
  color: #64748b;
  margin-top: 2px;
}
.pd-sug-price-val {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.2;
}
.pd-sug-arrow {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  border: 1.5px solid #e2e8f0;
  box-shadow: 0 2px 6px rgba(0,0,0,.10);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #374151;
  transition: background .15s, border-color .15s, box-shadow .15s;
  flex-shrink: 0;
}
.pd-sug-arrow:hover {
  background: #f8fafc;
  border-color: #94a3b8;
  box-shadow: 0 3px 10px rgba(0,0,0,.14);
}

@media (max-width: 767px) {
  .pd-sug-arrows { display: none; }
  .pd-sug-card { flex: 0 0 260px; }
  .pd-sug-img-wrap { height: 165px; }
  .pd-reviews-title-row { align-items: flex-start; }
}

/* ================================================================
   GYG v7.0 - Session Option Cards (sidebar widget)
   ================================================================ */
.pd-session-heading {
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 8px;
}
.pd-session-cards {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pd-session-card {
  border: 1.5px solid #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  transition: border-color .15s, box-shadow .15s;
}
.pd-session-card:hover { border-color: #d1d5db; }
.pd-session-selected {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 2px rgba(239,68,68,.12);
}
.pd-session-card-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  cursor: pointer;
  user-select: none;
}
.pd-session-card-title {
  flex: 1;
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 0;
}
.pd-session-spots-badge {
  font-size: 11px;
  font-weight: 600;
  color: #dc2626;
  background: #fef2f2;
  border-radius: 20px;
  padding: 2px 8px;
  white-space: nowrap;
  line-height: 1.4;
}
.pd-session-spots-sold {
  font-size: 11px;
  font-weight: 600;
  color: #6b7280;
  background: #f3f4f6;
  border-radius: 20px;
  padding: 2px 8px;
  white-space: nowrap;
  line-height: 1.4;
}
.pd-session-card-price {
  font-size: 15px;
  font-weight: 700;
  color: #111827;
  white-space: nowrap;
  flex-shrink: 0;
}
.pd-session-card-chevron {
  color: #6b7280;
  transition: transform .2s ease;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.pd-session-card-body {
  padding: 0 14px 14px;
  border-top: 1px solid #f3f4f6;
}
.pd-session-meta { padding-top: 10px; }
.pd-session-meta-row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 6px;
  line-height: 1.45;
}
.pd-session-meta-row svg {
  flex-shrink: 0;
  color: #9ca3af;
}
.pd-session-timeslot-label {
  font-size: 12px;
  font-weight: 600;
  color: #374151;
  margin: 10px 0 6px;
}
.pd-session-timeslots {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.pd-session-time-btn {
  font-size: 13px;
  font-weight: 500;
  padding: 6px 14px;
  border: 1.5px solid #e5e7eb;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  color: #374151;
  transition: border-color .15s, background .15s, color .15s;
  line-height: 1.4;
}
.pd-session-time-btn:hover:not(:disabled) {
  border-color: #ef4444;
  color: #ef4444;
}
.pd-session-time-btn.pd-time-selected {
  border-color: #ef4444;
  background: #ef4444;
  color: #fff;
}
.pd-session-time-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}

/* ── GYG Session Section (main content area) ── */
.pd-sess-section-header{display:flex;align-items:center;gap:8px;font-family:'Inter',sans-serif;font-size:17px;font-weight:800;color:#0a1628;margin-bottom:14px}
.pd-sess-section-cnt{font-size:14px;font-weight:400;color:#6b7280}
.pd-sess-cards-list{display:flex;flex-direction:column;gap:10px}
.pd-sess-option-card{border:1.5px solid #e5e7eb;border-radius:14px;overflow:hidden;background:#fff;transition:border-color .18s}
.pd-sess-option-card:hover{border-color:#d1d5db}
.pd-sess-option-selected{border-color:#2563eb !important;box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.pd-sess-option-head{display:flex;align-items:center;gap:8px;padding:16px 18px;cursor:pointer;user-select:none;gap:8px}
.pd-sess-option-title{flex:1;font-size:15px;font-weight:700;color:#0a1628}
.pd-sess-spot-badge{font-size:11px;font-weight:700;color:#dc2626;background:#fef2f2;border-radius:100px;padding:2px 9px;white-space:nowrap}
.pd-sess-spot-full{font-size:11px;font-weight:700;color:#9ca3af;background:#f3f4f6;border-radius:100px;padding:2px 9px}
.pd-sess-chevron{color:#6b7280;transition:transform .2s;flex-shrink:0}
.pd-sess-option-body{padding:0 18px 16px;border-top:1px solid #f3f4f6}
.pd-sess-option-desc{font-size:13px;color:#4b5563;line-height:1.6;margin:10px 0 12px}
.pd-sess-option-meta{display:flex;align-items:center;gap:7px;font-size:13px;color:#374151;margin-bottom:7px}
.pd-sess-divider{border:none;border-top:1px solid #f3f4f6;margin:14px 0}
.pd-sess-time-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.pd-sess-time-header>span:first-child{font-size:13px;font-weight:700;color:#0a1628}
.pd-sess-time-date{font-size:12px;color:#6b7280}
.pd-sess-timeslots-row{display:flex;flex-wrap:wrap;gap:7px}
.pd-sess-time-btn{min-width:64px;padding:8px 14px;border:1.5px solid #e5e7eb;border-radius:8px;background:#fff;font-size:14px;font-weight:600;color:#0a1628;cursor:pointer;transition:all .15s}
.pd-sess-time-btn:hover:not(:disabled){border-color:#2563eb;color:#2563eb}
.pd-sess-time-selected{border-color:#0a1628 !important;background:#0a1628 !important;color:#fff !important}
.pd-sess-time-btn:disabled{opacity:.4;cursor:not-allowed}
.pd-sess-policy-row{display:flex;align-items:center;gap:7px;font-size:12px;color:#374151;margin-bottom:6px}
.pd-sess-price-cta{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:6px}
.pd-sess-price-col{flex:1}
.pd-sess-price-main{font-family:'Inter',sans-serif;font-size:22px;font-weight:800;color:#dc2626}
.pd-sess-price-old{font-size:13px;color:#9ca3af;text-decoration:line-through;margin-top:1px}
.pd-sess-price-sub{font-size:12px;color:#6b7280;margin-top:3px}
.pd-sess-vat{font-size:11px;color:#9ca3af;margin-top:2px}
.pd-sess-cta-col{display:flex;flex-direction:column;gap:8px;flex-shrink:0}
.pd-sess-btn-reserve{padding:10px 22px;background:#0a1628;color:#fff;border:none;border-radius:9px;font-family:'Inter',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:.18s;white-space:nowrap}
.pd-sess-btn-reserve:hover:not(:disabled){background:#112240;transform:translateY(-1px)}
.pd-sess-btn-reserve:disabled{background:#d1d5db;cursor:not-allowed;transform:none}
@media(max-width:900px){.pd-sess-price-cta{flex-direction:column;align-items:flex-start}.pd-sess-cta-col{width:100%}.pd-sess-btn-reserve{width:100%;padding:12px}}


/* === GYG Session Cards v2 (2026-05-28) === */
.pd-sess-v2-heading{font-family:'Inter',sans-serif;font-size:20px;font-weight:800;color:#0a1628;margin:0 0 14px;letter-spacing:-.02em}
.pd-sess-v2-list{display:flex;flex-direction:column;gap:12px}
.pd-sess-v2-card{border:1.5px solid #e5e7eb;border-radius:14px;overflow:hidden;background:#fff;transition:border-color .18s,box-shadow .18s}
.pd-sess-v2-card:hover{border-color:#d1d5db}
.pd-sess-v2-open{border-color:#1d4ed8 !important;box-shadow:0 0 0 3px rgba(29,78,216,.1)}
.pd-sess-v2-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;cursor:pointer;user-select:none;gap:10px}
.pd-sess-v2-title{font-size:15px;font-weight:700;color:#0a1628;flex:1}
.pd-sess-v2-chevron{color:#6b7280;flex-shrink:0;transition:transform .2s}
.pd-sess-v2-always{padding:0 18px 16px}
.pd-sess-v2-desc{font-size:13px;color:#4b5563;line-height:1.6;margin:0 0 10px}
.pd-sess-v2-meta{display:flex;align-items:center;gap:6px;font-size:13px;color:#374151;margin-bottom:6px}
.pd-sess-v2-meta svg{color:#6b7280;flex-shrink:0}
/* GYG-style 2-kolon meta grid (süre + karşılama dili) */
.pd-sess-v2-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin-bottom:8px}
.pd-sess-v2-meta-item{display:flex;align-items:center;gap:5px;font-size:13px;color:#374151}
.pd-sess-v2-meta-item svg{color:#6b7280;flex-shrink:0}
@media(max-width:480px){.pd-sess-v2-meta-grid{grid-template-columns:1fr}}
.pd-sess-v2-location-link{color:#2563eb;text-decoration:none;font-size:13px}
.pd-sess-v2-location-link:hover{text-decoration:underline}
.pd-sess-v2-divider{border:none;border-top:1px solid #f3f4f6;margin:12px 0}
.pd-sess-v2-price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:3px}
.pd-sess-v2-price-main{font-family:'Inter',sans-serif;font-size:22px;font-weight:800;color:#dc2626}
.pd-sess-v2-price-old{font-size:13px;color:#9ca3af;text-decoration:line-through}
.pd-sess-v2-discount-badge{font-size:11px;font-weight:700;background:#fef2f2;color:#dc2626;border-radius:4px;padding:2px 6px}
.pd-sess-v2-price-sub{font-size:12px;color:#6b7280;margin-bottom:2px}
.pd-sess-v2-vat{font-size:11px;color:#9ca3af}
.pd-sess-v2-expand{padding:0 18px 16px}
.pd-sess-v2-time-section{margin-bottom:14px}
.pd-sess-v2-time-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.pd-sess-v2-time-label{font-size:13px;font-weight:700;color:#0a1628}
.pd-sess-v2-time-date{font-size:12px;color:#6b7280}
.pd-sess-v2-slots{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}
.pd-sess-v2-slot-btn{min-width:68px;padding:8px 14px;border:1.5px solid #d1d5db;border-radius:8px;background:#fff;font-size:14px;font-weight:600;color:#0a1628;cursor:pointer;transition:all .15s}
.pd-sess-v2-slot-btn:hover:not(:disabled){border-color:#1d4ed8;color:#1d4ed8}
.pd-sess-v2-slot-selected{border-color:#0a1628 !important;background:#0a1628 !important;color:#fff !important}
.pd-sess-v2-slot-full{opacity:.4;cursor:not-allowed}
.pd-sess-v2-urgency{display:flex;align-items:center;gap:5px;font-size:12px;color:#ea580c;margin-top:6px}
.pd-sess-v2-policy{margin-bottom:14px}
.pd-sess-v2-policy-item{display:flex;align-items:center;gap:7px;font-size:12px;color:#374151;margin-bottom:6px}
.pd-sess-v2-cta-row{display:flex;gap:8px}
.pd-sess-v2-btn-outline{flex:1;padding:10px 16px;border:1.5px solid #0a1628;border-radius:9px;background:#fff;color:#0a1628;font-family:'Inter',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:.15s}
.pd-sess-v2-btn-outline:hover:not(:disabled){background:#f3f4f6}
.pd-sess-v2-btn-filled{flex:1;padding:10px 16px;border:none;border-radius:9px;background:#1d4ed8;color:#fff;font-family:'Inter',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:.15s}
.pd-sess-v2-btn-filled:hover:not(:disabled){background:#1e40af}
.pd-sess-v2-btn-outline:disabled,.pd-sess-v2-btn-filled:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:700px){.pd-sess-v2-cta-row{flex-direction:column}.pd-sess-v2-price-main{font-size:19px}}

/* ── Cart Toast (GYG tarzı sepete ekleme bildirimi) ── */
.cart-toast-wrap{position:fixed;bottom:80px;left:50%;z-index:9999;min-width:320px;max-width:520px;width:90%;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease;transform:translateX(-50%) translateY(12px)}
.cart-toast-wrap.cart-toast-show{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.cart-toast-inner{background:#fff;border:1px solid #d1fae5;border-left:4px solid #16a34a;border-radius:10px;padding:14px 16px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 20px rgba(0,0,0,.12)}
.cart-toast-msg{flex:1;font-size:14px;color:#111827;font-weight:500;line-height:1.4}
.cart-toast-link{font-size:13px;color:#16a34a;font-weight:600;text-decoration:none;white-space:nowrap;padding:4px 10px;border:1.5px solid #16a34a;border-radius:6px;transition:background .15s}
.cart-toast-link:hover{background:#d1fae5}
.cart-toast-close{background:none;border:none;cursor:pointer;color:#9ca3af;font-size:16px;line-height:1;padding:2px;margin-left:4px}
.cart-toast-close:hover{color:#374151}

@media(max-width:640px){
  .cart-toast-wrap{bottom:72px;min-width:unset;width:calc(100% - 32px);left:16px;right:16px;transform:translateY(12px)}
  .cart-toast-wrap.cart-toast-show{transform:translateY(0)}
}

/* ── Neden Turla360 güven bloğu (widget altı) ── */
.pd-trust-block{border-top:1px solid #f1f5f9;margin-top:14px;padding-top:14px}
.pd-trust-title{font-size:12px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}
.pd-trust-item{display:flex;align-items:flex-start;gap:9px;margin-bottom:9px}
.pd-trust-item:last-child{margin-bottom:0}
.pd-trust-item svg{flex-shrink:0;margin-top:2px}
.pd-trust-item div{display:flex;flex-direction:column;gap:1px}
.pd-trust-item strong{font-size:12px;color:#0f172a;font-weight:600;line-height:1.3}
.pd-trust-item span{font-size:11px;color:#6b7280;line-height:1.3}

/* ── GÜZERGAH (GetYourGuide tarzı: solda zaman çizelgesi, sağda haritalı duraklar) ── */
.pd-route { display: grid; grid-template-columns: 1fr; gap: 20px; }
.pd-route.has-map { grid-template-columns: minmax(0, 340px) minmax(0, 1fr); align-items: start; }

.pd-route-timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.pd-route-step { position: relative; padding: 0 0 22px 40px; }
.pd-route-step:last-child { padding-bottom: 0; }
/* duraklar arası kesikli bağlantı çizgisi */
.pd-route-step::before {
  content: ""; position: absolute; left: 13px; top: 26px; bottom: 2px;
  border-left: 2px dotted #cbd5e1;
}
.pd-route-step:last-child::before { display: none; }

.pd-route-dot {
  position: absolute; left: 0; top: 0;
  width: 28px; height: 28px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; border: 2px solid #cbd5e1; color: #64748b; z-index: 1;
}
.pd-route-dot svg { width: 15px; height: 15px; }
/* ana duraklar marka rengiyle vurgulanır */
.pd-route-step.tip-durak .pd-route-dot,
.pd-route-step.tip-baslangic .pd-route-dot {
  background: var(--theme-primary, #2563eb); border-color: var(--theme-primary, #2563eb); color: #fff;
}
.pd-route-step.tip-ulasim::before { border-left-style: dotted; }

.pd-route-title { display: block; font-weight: 700; font-size: 16px; color: #0f172a; line-height: 1.35; }
.pd-route-acts { font-size: 13px; color: #475569; margin-top: 3px; }
.pd-route-dur { color: #64748b; }
.pd-route-desc { font-size: 13px; color: #64748b; margin: 5px 0 0; line-height: 1.5; }

.pd-route-mapwrap { position: relative; }
.pd-route-map {
  width: 100%; height: 340px; border-radius: 14px; overflow: hidden;
  background: #e8eef5; border: 1px solid #e2e8f0;
}
.pd-route-legend {
  display: flex; gap: 18px; align-items: center;
  margin-top: 10px; font-size: 12px; color: #475569;
}
.pd-route-legend .dot {
  display: inline-block; width: 11px; height: 11px; border-radius: 50%;
  border: 2px solid #94a3b8; background: #fff; vertical-align: -1px; margin-right: 5px;
}
.pd-route-legend .dot.main { background: var(--theme-primary, #2563eb); border-color: var(--theme-primary, #2563eb); }

.pd-route-note {
  display: flex; align-items: center; gap: 7px;
  margin: 16px 0 0; font-size: 12px; color: #94a3b8;
}
.pd-route-note svg { flex: 0 0 auto; }

/* harita üzerindeki numaralı pin */
.pd-route-pin {
  width: 26px; height: 26px; border-radius: 50%;
  background: #94a3b8; color: #fff; border: 2px solid #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700; box-shadow: 0 2px 6px rgba(15,23,42,.3);
}
.pd-route-pin.main { background: var(--theme-primary, #2563eb); }

@media (max-width: 900px) {
  .pd-route.has-map { grid-template-columns: 1fr; }
  .pd-route-map { height: 260px; }
}

/* ── Takvimde gün altında fiyat (GYG deseni) + kontenjan durumu ── */
.pd-cal-day { display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.1; gap: 1px; }
.pd-cal-d { font-size: 13px; font-weight: 600; }
.pd-cal-p { font-size: 9px; font-weight: 600; color: #64748b; letter-spacing: -.02em; }
.pd-cal-day.selected .pd-cal-p { color: rgba(255,255,255,.9); }
.pd-cal-day.disabled .pd-cal-p { display: none; }
/* kontenjanı bitmiş gün: üstü çizili, tıklanamaz */
.pd-cal-day.dolu .pd-cal-d { text-decoration: line-through; opacity: .5; }
/* son birkaç yer kaldıysa fiyat uyarı renginde */
.pd-cal-day.azkaldi .pd-cal-p { color: #d97706; }

/* Yönetici önizleme bandı — yayında olmayan tur açıldığında */
.pd-onizleme-bant {
  display: flex; align-items: center; gap: 9px;
  background: #fef3c7; color: #92400e;
  border-bottom: 1px solid #fde68a;
  padding: 10px 20px; font-size: 13px;
}
.pd-onizleme-bant svg { flex: 0 0 auto; }

/* Yaklaşık para birimi kutusu — tahsilatın ₺ olduğu açıkça belirtilir */
.pd-widget-approx {
  display: flex; flex-direction: column; gap: 2px;
  margin-top: 4px; font-size: 13px; font-weight: 600; color: #475569;
}
.pd-widget-approx span { font-size: 11px; font-weight: 400; color: #94a3b8; line-height: 1.4; }

/* ── Yorumların AI özeti (GetYourGuide deseni) ────────────────────────
   Özet onbellekten gelir (review_summaries); sayfa Gemini'yi çağırmaz. */
.pd-ai-ozet {
  border: 1px solid #dbe6f7;
  background: linear-gradient(180deg, #f6f9ff 0%, #fbfdff 100%);
  border-radius: 12px;
  padding: 14px 16px;
  margin: 16px 0 18px;
}
.pd-ai-ozet-bas {
  display: flex; align-items: center; gap: 8px;
  font-size: 14px; color: #0f172a; margin-bottom: 8px;
}
.pd-ai-ozet-rozet {
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 800; letter-spacing: .06em;
  color: #fff; background: #1a56db;
  border-radius: 5px; padding: 3px 6px; line-height: 1;
}
.pd-ai-ozet-metin {
  margin: 0; font-size: 14px; line-height: 1.6; color: #1f2937;
}
.pd-ai-ozet-not {
  margin: 8px 0 0; font-size: 12px; color: #7b8794; line-height: 1.45;
}

/* ── Mobil dokunma hedefi ────────────────────────────────────────────────
   "İstek listesine ekle" ve "Paylaş" butonlari mobilde 22px yuksekligindeydi
   (olculdu, 390px). Metin butonu olduklari icin gorsel olarak kucukler ama
   dokunma alani parmak icin yetersiz. Gorunumu degistirmeden yalniz
   tiklanabilir alan buyutuluyor (min-height + dikey ic bosluk). */
@media (max-width: 767px) {
  .pd-fav-btn,
  .pd-meta-action-btn {
    min-height: 44px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

/* ── KAMPANYA GECERLILIK SERIDI ──────────────────────────────────────────
   Musteri indirimin hangi tarihe kadar gecerli oldugunu gormeli (Emrah talebi).
   Rezervasyon widget'inda fiyatin hemen altinda; indirimi "sahte" gostermemek
   icin sade ve net — sadece rozet + tarih. */
.pd-kampanya{
  margin-top:12px;
  padding:10px 12px;
  background:#f0fdf4;
  border:1px solid #bbf7d0;
  border-radius:10px;
}
.pd-kampanya-ust{
  display:flex; align-items:center; gap:7px; flex-wrap:wrap;
  color:#047857;
}
.pd-kampanya-ust svg{ width:15px; height:15px; flex-shrink:0; }
.pd-kampanya-rozet{ font-size:13px; font-weight:800; letter-spacing:-.01em; }
.pd-kampanya-son{
  display:inline-flex; align-items:center;
  padding:2px 8px; border-radius:999px;
  background:#dc2626; color:#fff;
  font-size:10.5px; font-weight:800; letter-spacing:.02em;
}
.pd-kampanya-tarih{
  margin-top:4px;
  font-size:12px; font-weight:600; color:#15803d;
}

/* ── GALERI IZGARASI — gorsel sayisina gore uyum (Emrah: "boş yerler var") ──
   Onceden her zaman 2x2 = 4 kucuk kutu ciziliyordu; 2 gorselli bir turda
   3 kutu BOS kaliyordu. Artik yalnizca var olan gorseller basilir ve izgara
   sayiya gore daralir. Tek gorsel varsa kucuk sutun hic olusmaz. */
.pd-gal-thumbs[data-adet="1"] { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.pd-gal-thumbs[data-adet="2"] { grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; }
.pd-gal-thumbs[data-adet="3"] { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }
.pd-gal-thumbs[data-adet="3"] .pd-gal-thumb:first-child { grid-column: 1 / -1; }

/* Kucuk gorsel hic yoksa (tek fotografli tur) ana gorsel tam genislik alir */
.pd-gallery-grid:not(:has(.pd-gal-thumbs)) { grid-template-columns: 1fr; }

/* Buyutecte gorsele tiklayinca sonraki fotografa gecilir -> imlec bunu belli etsin */
.pd-lb-img-wrap { cursor: pointer; }
.pd-lb-img { user-select: none; -webkit-user-drag: none; }
