/* Aegean Segway — paylaşılan tamamlayıcı stiller (Tailwind CDN ile birlikte) */
html {
  scroll-behavior: smooth;
}

/* Çok sayfalı geçişler: destekleyen tarayıcılarda (ör. Chrome 126+) yumuşak sayfa geçişi */
@view-transition {
  navigation: auto;
}

:focus-visible {
  outline: 2px solid #0072e5;
  outline-offset: 2px;
}

.shadow-ambient {
  box-shadow:
    0 4px 6px -1px rgba(25, 28, 29, 0.06),
    0 20px 40px -12px rgba(25, 28, 29, 0.1);
}

/* Sabit menü altında anchor hedeflerinin görünmesi */
[id^="tur-"],
[id^="paket-"],
#mesaj,
#sss {
  scroll-margin-top: 6rem;
}

/* Üst menü — dil seçici (<details>) */
.nav-lang > summary {
  list-style: none;
}
.nav-lang > summary::-webkit-details-marker {
  display: none;
}
.nav-lang[open] summary .nav-lang-caret {
  transform: rotate(180deg);
}
.nav-lang-caret {
  transition: transform 0.2s ease;
}

/* TripAdvisor yorum carousel — yatay kaydırma + snap */
.ta-carousel-viewport {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 90, 183, 0.35) transparent;
  transition: height 0.2s ease-out;
}
.ta-carousel-viewport::-webkit-scrollbar {
  height: 6px;
}
.ta-carousel-viewport::-webkit-scrollbar-thumb {
  background: rgba(0, 90, 183, 0.35);
  border-radius: 9999px;
}
.ta-carousel-track {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 1rem;
}
.ta-carousel-slide {
  flex: 0 0 auto;
  width: fit-content;
  max-width: 100%;
  scroll-snap-align: start;
  scroll-snap-stop: normal;
}
.ta-carousel-nav-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

/* Mobil hamburger panel — dil satırı (build script ile uyumlu p + 4×a yapısı) */
.nav-mobile-lang-box {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-content: flex-start;
}
.nav-mobile-lang-box > p {
  width: 100%;
  flex: 0 0 100%;
}
.nav-mobile-lang-box > a.block {
  flex: 1 1 calc(50% - 0.25rem);
  min-width: 6.25rem;
  border-radius: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
}
.nav-mobile-drawer-shell {
  max-height: 100dvh;
}

/* Matches js/nav-mobile.js — ensures scroll returns on iOS/WebKit if inline styles linger */
body.nav-mobile-scroll-lock {
  overflow: hidden;
  touch-action: none;
}
html:has(body.nav-mobile-scroll-lock) {
  overflow: hidden;
}
