/* ── Webreta Consulting Frontend CSS ─────────────────────────── */
:root {
  --wrcns-navy:      #0f0b2e;
  --wrcns-navy-mid:  #1a1648;
  --wrcns-gold:      #c9a456;
  --wrcns-gold-pale: #f5edd8;
  --wrcns-white:     #ffffff;
  --wrcns-off:       #fafaf8;
  --wrcns-g100:      #f4f4f2;
  --wrcns-g200:      #e8e8e4;
  --wrcns-g400:      #9a9a94;
  --wrcns-g600:      #5a5a54;
}

/* ── RESET: Flatsome ve WC override ───────────────────────────── */
.wrcns-page,
.wrcns-page * {
  box-sizing: border-box !important;
}

.wrcns-page {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 32px 80px !important;
  float: none !important;
  width: 100% !important;
}

/* Flatsome'ın WC layout'unu sıfırla */
.woocommerce-page .wrcns-page .wrcns-product-section,
.wrcns-product-section {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 64px !important;
  align-items: start !important;
  margin: 24px 0 64px !important;
  float: none !important;
  width: 100% !important;
}

/* Breadcrumb */
.wrcns-breadcrumb {
  padding: 16px 0 !important;
  font-size: 12px !important;
  color: var(--wrcns-g400) !important;
}
.wrcns-breadcrumb a { color: var(--wrcns-g400) !important; text-decoration: none !important; }
.wrcns-breadcrumb span { margin: 0 6px !important; }

/* ── GALERI ───────────────────────────────────────────────────── */
.wrcns-gallery {
  position: sticky !important;
  top: 90px !important;
  width: 100% !important;
  float: none !important;
}

.wrcns-gallery-main {
  width: 100% !important;
  aspect-ratio: 4/3 !important;
  background: linear-gradient(145deg, var(--wrcns-navy), var(--wrcns-navy-mid) 60%, #2a1f5e) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
}

.wrcns-main-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.wrcns-gallery-placeholder {
  text-align: center !important;
  padding: 40px !important;
  color: rgba(255,255,255,0.5) !important;
}
.wrcns-gallery-placeholder p {
  font-size: 13px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  margin-top: 14px !important;
  color: var(--wrcns-gold) !important;
}

.wrcns-gallery-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 8px !important;
  margin-top: 10px !important;
}

.wrcns-thumb {
  aspect-ratio: 1 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  opacity: .7 !important;
  transition: opacity .2s !important;
  border: 2px solid transparent !important;
}
.wrcns-thumb:hover { opacity: 1 !important; }
.wrcns-thumb.active { opacity: 1 !important; border-color: var(--wrcns-gold) !important; }
.wrcns-thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }

/* ── BİLGİ SÜTUNU ─────────────────────────────────────────────── */
.wrcns-info {
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
}

.wrcns-category {
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--wrcns-gold) !important;
  font-weight: 500 !important;
  margin-bottom: 10px !important;
  display: block !important;
}

.wrcns-title {
  font-size: 38px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: var(--wrcns-navy) !important;
  margin: 0 0 10px !important;
}

.wrcns-subtitle {
  font-size: 14px !important;
  color: var(--wrcns-g400) !important;
  font-style: italic !important;
  margin-bottom: 20px !important;
  line-height: 1.7 !important;
}

.wrcns-divider {
  width: 48px !important;
  height: 2px !important;
  background: var(--wrcns-gold) !important;
  opacity: .6 !important;
  margin: 0 0 20px !important;
}

/* Fiyat */
.wrcns-price-block {
  margin-bottom: 24px !important;
}
.wrcns-price-block .price,
.wrcns-price-block .woocommerce-Price-amount {
  font-size: 32px !important;
  color: var(--wrcns-navy) !important;
  font-weight: 500 !important;
}
.wrcns-price-block .price del { font-size: 18px !important; color: var(--wrcns-g400) !important; }
.wrcns-price-block .price ins { text-decoration: none !important; }

/* Özellikler */
.wrcns-features {
  list-style: none !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.wrcns-features li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  font-size: 14px !important;
  color: var(--wrcns-g600) !important;
  line-height: 1.5 !important;
}
.wrcns-feat-icon {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  border-radius: 50% !important;
  background: var(--wrcns-gold-pale) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--wrcns-gold) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

/* CTA Buton */
.wrcns-cta { margin-bottom: 24px !important; }
.wrcns-btn-primary {
  display: block !important;
  width: 100% !important;
  padding: 16px 28px !important;
  background: var(--wrcns-navy) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
.wrcns-btn-primary:hover { background: #150f42 !important; }

.wrcns-out-of-stock { color: #c00 !important; font-size: 14px !important; }

/* Trust badges */
.wrcns-trust {
  display: flex !important;
  gap: 20px !important;
  padding: 16px 0 0 !important;
  border-top: 1px solid var(--wrcns-g200) !important;
  flex-wrap: wrap !important;
}
.wrcns-badge {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  color: var(--wrcns-g400) !important;
}

/* ── TABS ─────────────────────────────────────────────────────── */
.wrcns-tabs-section { margin-bottom: 64px !important; }

.wrcns-tabs-nav {
  display: flex !important;
  border-bottom: 1px solid var(--wrcns-g200) !important;
  margin-bottom: 36px !important;
  gap: 0 !important;
}

.wrcns-tab-btn {
  padding: 12px 28px !important;
  font-size: 12px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--wrcns-g400) !important;
  cursor: pointer !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  background: none !important;
  font-weight: 600 !important;
  transition: all .2s !important;
}
.wrcns-tab-btn.active {
  color: var(--wrcns-navy) !important;
  border-bottom-color: var(--wrcns-gold) !important;
}

.wrcns-tab-content { display: none !important; }
.wrcns-tab-content.active { display: block !important; }

.wrcns-tab-inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  align-items: start !important;
}

.wrcns-tab-text h3 { font-size: 24px !important; font-weight: 400 !important; color: var(--wrcns-navy) !important; margin-bottom: 16px !important; }
.wrcns-tab-text p  { font-size: 14px !important; color: var(--wrcns-g600) !important; line-height: 1.9 !important; margin-bottom: 12px !important; }
.wrcns-tab-text ul { list-style: none !important; padding: 0 !important; display: flex !important; flex-direction: column !important; gap: 12px !important; }
.wrcns-tab-text ul li { font-size: 14px !important; color: var(--wrcns-g600) !important; padding-left: 18px !important; position: relative !important; }
.wrcns-tab-text ul li::before { content: '—' !important; position: absolute !important; left: 0 !important; color: var(--wrcns-gold) !important; }

/* Info cards */
.wrcns-info-cards { display: flex !important; flex-direction: column !important; gap: 16px !important; }
.wrcns-info-card {
  display: flex !important;
  gap: 16px !important;
  align-items: flex-start !important;
  padding: 20px !important;
  background: var(--wrcns-off) !important;
  border-radius: 6px !important;
  border: 1px solid var(--wrcns-g200) !important;
}
.wrcns-ic-icon { font-size: 22px !important; line-height: 1 !important; min-width: 28px !important; }
.wrcns-info-card h4 { font-size: 14px !important; font-weight: 600 !important; color: var(--wrcns-navy) !important; margin: 0 0 4px !important; }
.wrcns-info-card p  { font-size: 13px !important; color: var(--wrcns-g400) !important; margin: 0 !important; line-height: 1.6 !important; }

/* ── İLGİLİ ÜRÜNLER ──────────────────────────────────────────── */
.wrcns-related { padding: 48px 0 0 !important; border-top: 1px solid var(--wrcns-g200) !important; }
.wrcns-related-inner { max-width: 100% !important; }
.wrcns-related-header { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 28px !important; }
.wrcns-related-title { font-size: 22px !important; font-weight: 400 !important; color: var(--wrcns-navy) !important; margin: 0 !important; }
.wrcns-see-all { font-size: 12px !important; color: var(--wrcns-gold) !important; text-decoration: none !important; letter-spacing: .06em !important; }

.wrcns-products-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
.wrcns-product-card {
  border: 1px solid var(--wrcns-g200) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #fff !important;
}
.wrcns-card-img { display: block !important; aspect-ratio: 1 !important; overflow: hidden !important; }
.wrcns-card-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform .3s !important; }
.wrcns-card-img:hover img { transform: scale(1.04) !important; }
.wrcns-card-body { padding: 16px 16px 8px !important; }
.wrcns-card-title { font-size: 14px !important; font-weight: 500 !important; color: var(--wrcns-navy) !important; margin: 0 0 6px !important; }
.wrcns-card-title a { color: inherit !important; text-decoration: none !important; }
.wrcns-card-price .price { font-size: 15px !important; color: var(--wrcns-navy) !important; }
.wrcns-card-footer { padding: 8px 16px 16px !important; }
.wrcns-card-btn {
  display: block !important;
  text-align: center !important;
  padding: 9px !important;
  border: 1px solid var(--wrcns-g200) !important;
  border-radius: 3px !important;
  font-size: 12px !important;
  color: var(--wrcns-navy) !important;
  text-decoration: none !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  transition: background .2s !important;
}
.wrcns-card-btn:hover { background: var(--wrcns-gold-pale) !important; border-color: var(--wrcns-gold) !important; }

/* ── MODAL ────────────────────────────────────────────────────── */
.wrcns-modal-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(15,11,46,.65) !important;
  backdrop-filter: blur(4px) !important;
  z-index: 99999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .25s !important;
}
.wrcns-modal-overlay.open { opacity: 1 !important; pointer-events: all !important; }

.wrcns-modal {
  background: #fff !important;
  border-radius: 8px !important;
  width: 760px !important;
  max-width: 96vw !important;
  max-height: 90vh !important;
  overflow-y: auto !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.3) !important;
}

.wrcns-modal-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  padding: 28px 28px 0 !important;
  border-bottom: 1px solid var(--wrcns-g200) !important;
  padding-bottom: 20px !important;
}
.wrcns-modal-header h2 { font-size: 20px !important; font-weight: 400 !important; color: var(--wrcns-navy) !important; margin: 0 0 4px !important; }
.wrcns-modal-header p  { font-size: 13px !important; color: var(--wrcns-g400) !important; margin: 0 !important; }
.wrcns-modal-close {
  background: none !important;
  border: none !important;
  font-size: 26px !important;
  color: var(--wrcns-g400) !important;
  cursor: pointer !important;
  line-height: 1 !important;
  padding: 0 !important;
}
.wrcns-modal-close:hover { color: var(--wrcns-navy) !important; }

.wrcns-modal-body {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
}
.wrcns-modal-left  { padding: 24px 28px !important; border-right: 1px solid var(--wrcns-g200) !important; }
.wrcns-modal-right { padding: 24px 28px !important; }

/* ── TAKVİM NAV ────────────────────────────────────────────────── */
.wrcns-cal-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 16px !important;
}
.wrcns-cal-nav span {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
}
.wrcns-cal-nav button {
  background: #fff !important;
  color: #64748b !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 7px !important;
  width: 32px !important;
  height: 32px !important;
  font-size: 16px !important;
  cursor: pointer !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all .15s !important;
}
.wrcns-cal-nav button:hover {
  background: #6366f1 !important;
  color: #fff !important;
  border-color: #6366f1 !important;
}

/* ── TAKVİM GRID ───────────────────────────────────────────────── */
.wrcns-cal-grid {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  gap: 4px !important;
}
.wrcns-cal-dn {
  text-align: center !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #cbd5e1 !important;
  text-transform: uppercase !important;
  padding: 6px 0 8px !important;
  letter-spacing: .05em !important;
}

/* Temel gün hücresi */
.wrcns-cal-d {
  aspect-ratio: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  font-size: 13px !important;
  border-radius: 9px !important;
  cursor: pointer !important;
  border: 1.5px solid transparent !important;
  transition: background .12s, border-color .12s, color .12s !important;
  color: #334155 !important;
  position: relative !important;
  user-select: none !important;
}

/* Müsait — hover */
.wrcns-cal-d:not(.ps):not(.cl):not(.full):not(.sel):hover {
  background: #f0f0fe !important;
  border-color: #c7c8fa !important;
  color: #6366f1 !important;
}

/* Geçmiş günler */
.wrcns-cal-d.ps {
  color: #d1d5db !important;
  cursor: default !important;
}

/* KAPALI (normal çalışma dışı) — gri */
.wrcns-cal-d.cl {
  background: #f8f9fa !important;
  color: #d1d5db !important;
  cursor: default !important;
}

/* DOLU (saatler bitti) — pembe/kırmızı */
.wrcns-cal-d.full {
  background: #fff0f0 !important;
  color: #f87171 !important;
  cursor: default !important;
}

/* Bugün — sadece seçili değilse */
.wrcns-cal-d.today {
  font-weight: 700 !important;
  border-color: #6366f1 !important;
  color: #6366f1 !important;
  background: transparent !important;
}

/* Seçili — today dahil her şeyi ezer */
.wrcns-cal-d.sel,
.wrcns-cal-d.sel.today {
  background: #4f46e5 !important;
  color: #fff !important;
  border-color: #4f46e5 !important;
  box-shadow: 0 3px 10px rgba(79,70,229,.35) !important;
  font-weight: 600 !important;
  cursor: default !important;
}

/* Dolu nokta göstergesi */
.full-dot {
  width: 4px !important;
  height: 4px !important;
  border-radius: 50% !important;
  background: #f87171 !important;
  position: absolute !important;
  bottom: 4px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}

/* ── LEGEND ────────────────────────────────────────────────────── */
.wrcns-cal-legend {
  display: flex !important;
  gap: 16px !important;
  margin-top: 16px !important;
  font-size: 11px !important;
  color: #94a3b8 !important;
  flex-wrap: wrap !important;
}
.wrcns-cal-legend span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.wrcns-dot {
  display: inline-block !important;
  width: 9px !important;
  height: 9px !important;
  border-radius: 3px !important;
  flex-shrink: 0 !important;
}
/* Renkler legend'daki sıraya göre */
.wrcns-dot-avail  { background: #e2e8f0 !important; border: 1.5px solid #cbd5e1 !important; }
.wrcns-dot-closed { background: #f8f9fa !important; border: 1.5px solid #e5e7eb !important; }
.wrcns-dot-full   { background: #fff0f0 !important; border: 1.5px solid #fca5a5 !important; border-radius: 50% !important; }
.wrcns-dot-sel    { background: #4f46e5 !important; border-radius: 50% !important; }

/* ── SAAT SLOTLARI ─────────────────────────────────────────────── */
.wrcns-modal-right h4 {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #94a3b8 !important;
  margin: 0 0 12px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.wrcns-slots {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8px !important;
  margin-bottom: 20px !important;
}
.wrcns-slot {
  padding: 13px 6px !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 9px !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  color: #334155 !important;
  transition: all .12s !important;
  background: #fff !important;
}
.wrcns-slot:hover:not(.bk) {
  border-color: #6366f1 !important;
  background: #f0f0fe !important;
  color: #6366f1 !important;
}
.wrcns-slot.sl {
  background: #1e293b !important;
  color: #fff !important;
  border-color: #1e293b !important;
  box-shadow: 0 2px 8px rgba(30,41,59,.2) !important;
}
.wrcns-slot.bk {
  color: #fca5a5 !important;
  background: #fff8f8 !important;
  border-color: #fecaca !important;
  cursor: default !important;
  text-decoration: line-through !important;
}

/* ── SUMMARY & CTA ─────────────────────────────────────────────── */
.wrcns-summary {
  background: #f0f0fe !important;
  border: 1.5px solid #c7c8fa !important;
  border-radius: 9px !important;
  padding: 14px 16px !important;
  margin-bottom: 16px !important;
  font-size: 13px !important;
  color: #1e293b !important;
  line-height: 1.6 !important;
}
.wrcns-confirm-btn {
  display: block !important;
  width: 100% !important;
  padding: 15px !important;
  background: #4f46e5 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 9px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .15s !important;
}
.wrcns-confirm-btn:hover { background: #4338ca !important; }

/* ── MOBİL ─────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  /* Ürün layout */
  .wrcns-product-section,
  .wrcns-tab-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .wrcns-products-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .wrcns-title { font-size: 26px !important; }

  /* Modal tam ekran */
  .wrcns-modal-overlay {
    align-items: flex-end !important;
    padding: 0 !important;
  }
  .wrcns-modal {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 20px 20px 0 0 !important;
    max-height: 92vh !important;
  }
  .wrcns-modal-header {
    padding: 20px 20px 16px !important;
    position: sticky !important;
    top: 0 !important;
    background: #fff !important;
    z-index: 10 !important;
  }
  .wrcns-modal-header::before {
    content: '' !important;
    display: block !important;
    width: 36px !important;
    height: 4px !important;
    background: #e2e8f0 !important;
    border-radius: 2px !important;
    margin: 0 auto 16px !important;
  }
  .wrcns-modal-header h2 { font-size: 17px !important; }

  /* Modal body dikey */
  .wrcns-modal-body {
    grid-template-columns: 1fr !important;
  }
  .wrcns-modal-left {
    border-right: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    padding: 16px 16px 20px !important;
  }
  .wrcns-modal-right {
    padding: 16px 16px 24px !important;
  }

  /* Takvim hücreleri biraz küçük */
  .wrcns-cal-d { font-size: 12px !important; border-radius: 7px !important; }
  .wrcns-cal-dn { font-size: 9px !important; }
  .wrcns-cal-nav span { font-size: 14px !important; }

  /* Slotlar 3 kolon hâlâ ama daha compact */
  .wrcns-slot { padding: 11px 4px !important; font-size: 13px !important; }

  /* Legend */
  .wrcns-cal-legend { gap: 10px !important; font-size: 10px !important; }
}