/* ══════════════════════════════════════
   HERO — FULL-HEIGHT MAP + SEARCH
══════════════════════════════════════ */
.hero {
  position: relative; height: 100svh; min-height: 580px;
  overflow: hidden; padding-top: var(--nav-h);
}
#map {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  opacity: 0.55;
  z-index: 0;
}
.hero__search-wrap {
  position: absolute;
  bottom: clamp(48px, 10vh, 110px);
  left: 50%; transform: translateX(-50%);
  width: min(770px, calc(100% - 40px));
  z-index: 10;
}

/* Leaflet light theme overrides */
.leaflet-container { background: #e8e0d5; }
.leaflet-control-zoom a {
  background: #fff !important; color: #333 !important;
  border-color: rgba(0,0,0,0.15) !important;
}
.map-locate-btn {
  display: flex; align-items: center; justify-content: center;
  width: 35px; height: 35px;
  background: #fff !important; color: #333 !important;
  border: 2px solid rgba(0,0,0,0.15) !important;
  border-radius: 4px; cursor: pointer; padding: 0;
  box-shadow: 0 1px 5px rgba(0,0,0,.4);
  transition: background 0.15s, color 0.15s;
}
.map-locate-btn svg { width: 14px; height: 14px; pointer-events: none; }
.map-locate-btn:hover { background: #f4f4f4 !important; color: #e53935 !important; }
.map-locate-btn.loading { opacity: 0.55; cursor: wait; }
.map-locate-btn.error { background: #ffebee !important; color: #e53935 !important; }
.leaflet-control-attribution {
  background: rgba(255,255,255,0.75) !important;
  color: #888 !important; font-size: 10px !important;
}
.leaflet-popup-content-wrapper {
  background: #fff !important; color: var(--dark) !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.15) !important;
  border: 1px solid var(--gold-border) !important;
}
.leaflet-popup-tip { background: #fff !important; }
.leaflet-popup-content { margin: 0 !important; }

/* ══════════════════════════════════════
   YAKINDAKI BERBERLER
══════════════════════════════════════ */
.nearby-section { padding: var(--section-y) 0; background: var(--bg); border-bottom: 1px solid var(--border-soft); }
.nearby-section__header {
  display: flex; align-items: flex-end; justify-content: space-between;
  margin-bottom: clamp(28px, 4vw, 40px); gap: 16px; flex-wrap: wrap;
}
.nearby-section__link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; letter-spacing: 1px; text-transform: uppercase;
  color: var(--text-70); text-decoration: none;
  border-bottom: 1px solid var(--border-soft); padding-bottom: 2px;
  transition: color var(--ease), border-color var(--ease);
}
.nearby-section__link:hover { color: var(--dark); border-color: var(--dark); }
#nearby-list { display: flex; flex-direction: column; gap: 12px; }
.nearby-section__footer {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
  margin-top: clamp(20px, 3vw, 28px);
  padding-top: 16px;
  border-top: 1px solid var(--border-soft);
}
.nearby-section__note {
  font-size: 14px; line-height: 1.55;
  color: var(--text-50);
  max-width: 520px;
  margin: 0;
}

/* ══════════════════════════════════════
   ÖNE ÇIKAN BERBERLER
══════════════════════════════════════ */
.vitrin-section { padding: var(--section-y) 0; background: var(--bg-soft); }
.vitrin-section__header {
  display: flex; align-items: flex-end; justify-content: space-between;
  margin-bottom: clamp(32px, 5vw, 48px);
}
.vitrin-section__nav { display: flex; gap: 16px; align-items: center; }
.vitrin-nav-btn {
  width: 48px; height: 48px; border: 1px solid var(--gold-border-md);
  background: transparent; display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: var(--dark);
  transition: border-color var(--ease), background var(--ease);
}
.vitrin-nav-btn:hover { border-color: var(--gold); background: rgba(233,193,118,0.1); }
.vitrin-viewport { overflow: hidden; }
.vitrin-track {
  display: flex;
  gap: 32px;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}
.vitrin-card {
  flex: 0 0 calc(33.333% - 21.34px);
  min-width: 0;
  background: #fff; border: 1px solid var(--gold-border);
  display: flex; flex-direction: column; cursor: pointer; text-decoration: none;
  transition: box-shadow var(--ease), transform var(--ease);
}
.vitrin-card:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.1); transform: translateY(-2px); }
.vitrin-card__img-wrap { overflow: hidden; height: 340px; }
.vitrin-card__img {
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(100%); transition: transform 0.5s ease, filter 0.5s ease;
}
.vitrin-card:hover .vitrin-card__img { transform: scale(1.04); filter: grayscale(0%); }
.vitrin-card__body { padding: 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.vitrin-card__name { font-family: var(--font-head); font-size: 20px; font-weight: 700; color: var(--dark); }
.vitrin-card__desc { font-size: 16px; color: var(--text-70); line-height: 1.5; flex: 1; }
.vitrin-card__link {
  display: inline-block; margin-top: 8px; font-size: 16px; font-weight: 400;
  letter-spacing: 1.6px; text-transform: uppercase; color: var(--text-70);
  border-bottom: 1px solid var(--text-70); padding-bottom: 2px; align-self: flex-start;
  transition: color var(--ease), border-color var(--ease);
}
.vitrin-card__link:hover { color: var(--dark); border-color: var(--dark); }

/* ══════════════════════════════════════
   RANDEVU CTA
══════════════════════════════════════ */
.booking-cta { padding: var(--section-y) 0; background: var(--bg); }
.booking-cta__grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 24px; align-items: center;
}
.booking-cta__image-wrap {
  position: relative; aspect-ratio: 1; max-width: 512px;
  background: #2d2924; border: 1px solid #4e4639; padding: 17px;
}
.booking-cta__img {
  width: 100%; height: 100%; object-fit: cover;
  opacity: 0.6; filter: grayscale(100%);
}
.booking-cta__badge {
  position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  background: rgba(35,31,26,0.65); backdrop-filter: blur(6px);
  border: 1px solid rgba(78,70,57,0.4);
  padding: 28px; display: flex; flex-direction: column; gap: 8px;
  width: 200px;
}
.booking-cta__badge-num {
  font-size: 36px; font-weight: 400; color: var(--gold);
  letter-spacing: 1.6px; text-transform: uppercase; line-height: 1;
}
.booking-cta__badge-text {
  font-size: 13px; color: #fff; text-transform: uppercase; line-height: 1.5; letter-spacing: 0.5px;
}
.booking-cta__content { display: flex; flex-direction: column; gap: 32px; }
.booking-cta__label { font-size: 16px; letter-spacing: 1.6px; text-transform: uppercase; color: var(--text-50); }
.booking-cta__title {
  font-family: var(--font-head); font-size: clamp(24px, 3vw, 40px);
  font-weight: 700; line-height: 1.2; color: var(--dark);
}
.booking-cta__desc { font-size: 16px; color: var(--text-50); line-height: 1.75; }
.booking-cta__actions { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; padding-top: 16px; }

/* ══════════════════════════════════════
   GOOGLE MÜŞTERİ YORUMLARI
══════════════════════════════════════ */
.testimonials-section { padding: var(--section-y) 0; background: var(--bg-soft); }
.testimonials-section__header { text-align: center; margin-bottom: clamp(32px, 5vw, 56px); }
.testimonials-title {
  font-family: var(--font-head); font-weight: 700;
  font-size: clamp(22px, 3vw, 36px);
  letter-spacing: 2px; text-transform: uppercase;
  color: var(--dark); text-align: center;
}

/* Slider */
.testimonials-viewport {
  overflow: hidden;
  padding: 24px 2px; /* room for the scaled center card shadow */
  margin: 0 -2px;
}
.testimonials-track {
  display: flex;
  gap: 24px;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  align-items: center;
}

/* Cards */
.testimonial-card {
  flex: 0 0 calc(33.333% - 16px);
  background: rgba(0,0,0,0.025);
  border: 1px solid rgba(52,48,42,0.06);
  padding: 40px;
  display: flex; flex-direction: column;
  justify-content: space-between; gap: 20px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
              background 0.3s ease,
              box-shadow 0.3s ease,
              border-color 0.3s ease;
  min-height: 240px;
}
.testimonial-card--featured {
  background: #fff;
  border: 2px solid var(--gold);
  box-shadow: 0 8px 32px rgba(0,0,0,0.12);
  transform: scale(1.05);
  z-index: 1; position: relative;
}

/* Stars */
.testimonial-stars { display: flex; gap: 3px; margin-bottom: 16px; }
.testimonial-star { font-size: 20px; color: var(--gold); }
.testimonial-star--empty { color: rgba(0,0,0,0.18); }

/* Text */
.testimonial-text {
  font-size: 15px; color: var(--text-70); line-height: 1.7;
  flex: 1;
}

/* Author */
.testimonial-author { display: flex; align-items: center; gap: 14px; padding-top: 8px; }
.testimonial-avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  overflow: hidden; background: rgba(52,48,42,0.05); flex-shrink: 0;
}
.testimonial-avatar img { width: 100%; height: 100%; object-fit: cover; }
.testimonial-avatar__initials {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-head); font-size: 18px; font-weight: 700;
  color: var(--gold); background: rgba(233,193,118,0.12);
}
.testimonial-name { font-size: 15px; font-weight: 500; color: var(--text-70); }

/* Nav */
.testimonials-nav {
  display: flex; gap: 12px; justify-content: flex-end;
  margin-top: 28px;
}
.testimonials-nav-btn {
  width: 44px; height: 44px;
  border: 1px solid rgba(209,197,180,0.5);
  background: transparent;
  border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: var(--dark);
  transition: border-color var(--ease), background var(--ease), color var(--ease);
}
.testimonials-nav-btn:hover {
  border-color: var(--gold);
  background: rgba(233,193,118,0.08);
}

/* ══════════════════════════════════════
   BLOG YAZILARI
══════════════════════════════════════ */
.blog-section { padding: var(--section-y) 0; background: var(--bg); }
.blog-section__header {
  display: flex; align-items: flex-end; justify-content: space-between;
  margin-bottom: clamp(32px, 5vw, 64px);
}
.blog-section__link {
  font-size: 16px; letter-spacing: 1.6px; text-transform: uppercase;
  color: var(--text-70); display: flex; align-items: center; gap: 8px;
  transition: color var(--ease);
}
.blog-section__link:hover { color: var(--dark); }
/* Blog slider */
.blog-viewport { overflow: hidden; }
.blog-track {
  display: flex; gap: 24px;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.blog-card {
  flex: 0 0 calc(33.333% - 16px);
  display: flex; flex-direction: column; gap: 8px; cursor: pointer;
}
.blog-card__img-wrap { background: #fff; border: 1px solid var(--border-soft); overflow: hidden; }
.blog-card__img {
  width: 100%; height: 228px; object-fit: cover;
  filter: grayscale(100%); transition: transform 0.4s ease;
}
.blog-card:hover .blog-card__img { transform: scale(1.03); }
.blog-card__meta {
  display: flex; align-items: center; justify-content: space-between;
  gap: 8px; margin-top: 8px;
}
.blog-card__category {
  font-size: 14px; letter-spacing: 1.6px; text-transform: uppercase;
  color: var(--text-50);
}
.blog-card__date {
  font-size: 12px; color: var(--text-50); white-space: nowrap;
}
.blog-card__title {
  font-size: 16px; font-weight: 400; letter-spacing: 1.6px;
  text-transform: uppercase; color: var(--text-70); line-height: 1.5;
}
.blog-card__excerpt { font-size: 14px; color: var(--text-70); line-height: 1.75; margin-top: 8px; }
.blog-nav {
  display: flex; gap: 12px; justify-content: flex-end;
  margin-top: 28px;
}
.blog-nav-btn {
  width: 44px; height: 44px;
  border: 1px solid rgba(209,197,180,0.5);
  background: transparent; border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: var(--dark);
  transition: border-color var(--ease), background var(--ease);
}
.blog-nav-btn:hover { border-color: var(--gold); background: rgba(233,193,118,0.08); }

/* ══════════════════════════════════════
   İLETİŞİM
══════════════════════════════════════ */
.contact-section { padding: var(--section-y) 0; background: var(--bg-soft); }
.contact-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(48px, 8vw, 120px); align-items: start;
}

/* Sol: iletişim bilgileri */
.contact-info { display: flex; flex-direction: column; gap: 48px; }
.contact-info__head { display: flex; flex-direction: column; gap: 16px; }
.contact-info__title {
  font-family: var(--font-head); font-size: clamp(28px, 3vw, 40px);
  font-weight: 700; line-height: 1.2; color: var(--dark);
}
.contact-info__desc { font-size: 16px; color: var(--text-70); line-height: 1.6; max-width: 460px; }

.contact-info__list { display: flex; flex-direction: column; gap: 32px; }
.contact-item { display: flex; gap: 24px; align-items: flex-start; }
.contact-item__icon {
  width: 56px; height: 56px; flex-shrink: 0;
  background: var(--dark); border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold);
}
.contact-item__icon svg { width: 22px; height: 22px; }
.contact-item__body { display: flex; flex-direction: column; gap: 4px; padding-top: 4px; }
.contact-item__label {
  font-size: 14px; font-weight: 400; letter-spacing: 1.2px;
  text-transform: uppercase; color: var(--text-50);
}
.contact-item__value {
  font-size: 16px; letter-spacing: 1.6px; text-transform: uppercase;
  color: var(--text-70); line-height: 1.5;
  transition: color var(--ease);
}
a.contact-item__value:hover { color: var(--gold); }

/* Sağ: form */
.contact-form-wrap {
  border: 1px solid rgba(0,0,0,0.2);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  background: rgba(255,255,255,0.6);
  padding: clamp(32px, 4vw, 49px);
}
.contact-form { display: flex; flex-direction: column; gap: 32px; }
.contact-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.contact-form__field { display: flex; flex-direction: column; gap: 8px; }
.contact-form__label {
  font-size: 14px; font-weight: 400; letter-spacing: 1px;
  text-transform: uppercase; color: var(--text-70);
}
.contact-form__input {
  padding: 12px 10px; border: 1px solid rgba(0,0,0,0.2);
  background: transparent; outline: none;
  font: 400 14px/1.7 var(--font-body); color: var(--dark);
  transition: border-color var(--ease);
  -webkit-appearance: none; border-radius: 0;
}
.contact-form__input::placeholder { color: rgba(0,0,0,0.2); }
.contact-form__input:focus { border-color: var(--gold); }
.contact-form__textarea { resize: vertical; min-height: 140px; }
.contact-form__submit {
  width: 100%; padding: 20px; border: none; cursor: pointer;
  font: 400 16px/1 var(--font-body); letter-spacing: 1.6px;
  text-transform: uppercase; background: var(--gold); color: var(--dark);
  transition: background var(--ease);
}
.contact-form__submit:hover { background: var(--gold-hover); }
.contact-form__feedback {
  font-size: 14px; text-align: center; padding: 4px 0;
}
.contact-form__feedback--success { color: #3a7d44; }
.contact-form__feedback--error   { color: #c0392b; }

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media (max-width: 1024px) {
  .vitrin-card { flex: 0 0 calc(50% - 16px); }
  /* testimonials: show 2 cards, center always featured */
  .testimonial-card { flex: 0 0 calc(50% - 12px); }
  /* blog: 2 cards visible */
  .blog-card { flex: 0 0 calc(50% - 12px); }
  .booking-cta__grid { grid-template-columns: 1fr; }
  .booking-cta__image-wrap { max-width: 100%; aspect-ratio: 16/9; }
  .contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .vitrin-track { gap: 16px; }
  .vitrin-card { flex: 0 0 100%; }
  /* testimonials: 1 card visible, no scale */
  .testimonial-card { flex: 0 0 100%; }
  .testimonial-card--featured { transform: none; }
  /* blog: 1 card visible */
  .blog-card { flex: 0 0 100%; }
  .booking-cta__badge { position: static; transform: none; width: 100%; margin-top: 16px; }
  .contact-form__row { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 480px) {
  .booking-cta__actions { flex-direction: column; }
  .booking-cta__actions .btn { width: 100%; justify-content: center; }
}
