/* ============================================================
   DÜZCE GURMESİ — TEMİZ TEMA (tuketici web yuzu)
   Referans: klasik rehber gorunumu — beyaz zemin, tek mor vurgu,
   fotografli sade kartlar, koyu manifesto panolari YOK.
   styles.css'ten SONRA yuklenir; gorsel dili bastan tanimlar.
   ============================================================ */

:root {
  --tc-purple: #5b4199;
  --tc-purple-dark: #431d95;
  --tc-purple-soft: #f1ecfb;
  --tc-ink: #231f20;
  --tc-gray: #6b6478;
  --tc-line: #e9e4f2;
  --tc-bg: #f6f1e6;
  --tc-card: #fffdf8;
  --tc-radius: 12px;
  --tc-shadow: 0 2px 6px rgba(40, 25, 80, 0.048);
  --tc-shadow-hover: 0 6px 14px rgba(40, 25, 80, 0.096);
}

/* clean-v74: app-style lists page, one source of truth for web/mobile */
.lists-web-shell {
  /* Diger sayfalarla (.page-shell: 1440px) ayni genislik — sayfadan sayfaya
     govde genisligi degismesin diye buraya sabit deger yazma. */
  max-width: 1440px !important;
  overflow-x: clip !important;
}

.lists-web-sections {
  display: grid !important;
  gap: 22px !important;
  margin-top: 24px !important;
  min-width: 0 !important;
}

.lists-app-hero {
  align-items: flex-start !important;
  display: flex !important;
  gap: 14px !important;
  justify-content: space-between !important;
  min-width: 0 !important;
}

.lists-app-hero h1 {
  color: #1b1129 !important;
  font-size: clamp(2.2rem, 6vw, 4.1rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 0.98 !important;
  margin: 0 0 12px !important;
}

.lists-app-hero p {
  color: #6e6675 !important;
  font-size: clamp(1rem, 2vw, 1.22rem) !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  max-width: 720px !important;
}

.lists-app-new {
  align-items: center !important;
  background: #5f24bf !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #fff !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  font-size: 1rem !important;
  font-weight: 650 !important;
  gap: 6px !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 0 16px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.lists-app-new span {
  font-size: 1.35em !important;
  line-height: 1 !important;
}

.lists-app-mode {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid rgba(36, 24, 52, 0.1) !important;
  border-radius: 15px !important;
  box-shadow: none !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: 1fr 1fr !important;
  min-width: 0 !important;
  padding: 8px !important;
}

.lists-app-mode a,
.lists-app-mode button {
  align-items: center !important;
  appearance: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 12px !important;
  color: #5f24bf !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font: inherit !important;
  font-size: 1rem !important;
  font-weight: 650 !important;
  gap: 8px !important;
  justify-content: center !important;
  min-height: 49px !important;
  min-width: 0 !important;
  padding: 0 12px !important;
  text-decoration: none !important;
}

.lists-app-mode .is-active {
  background: #5f24bf !important;
  box-shadow: none !important;
  color: #fff !important;
}

.lists-app-tabs {
  display: flex !important;
  gap: 10px !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 6px 0 6px !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}

.lists-app-tabs::-webkit-scrollbar {
  display: none !important;
}

.lists-app-tabs button {
  appearance: none !important;
  background: #fff !important;
  border: 1px solid rgba(36, 24, 52, 0.1) !important;
  border-radius: 999px !important;
  color: #5f24bf !important;
  cursor: pointer !important;
  flex: 0 0 auto !important;
  font: inherit !important;
  font-size: 0.98rem !important;
  font-weight: 650 !important;
  min-height: 46px !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
}

.lists-app-tabs button b {
  color: inherit !important;
  font-weight: 650 !important;
  margin-left: 6px !important;
}

.lists-app-tabs button.is-active {
  background: #171018 !important;
  border-color: #171018 !important;
  color: #fff !important;
}

.lists-app-intro {
  background: #fff !important;
  border: 1px solid rgba(36, 24, 52, 0.1) !important;
  border-radius: 15px !important;
  box-shadow: none !important;
  padding: 18px !important;
}

.lists-app-intro h2 {
  color: #171018 !important;
  font-size: clamp(1.35rem, 2.8vw, 2rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.12 !important;
  margin: 0 0 8px !important;
}

.lists-app-intro p {
  color: #706874 !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.42 !important;
  margin: 0 !important;
}

.lists-app-grid {
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  min-width: 0 !important;
}

.lists-app-card {
  background: #fff !important;
  border: 1px solid rgba(36, 24, 52, 0.1) !important;
  border-radius: 15px !important;
  box-shadow: none !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.lists-app-card-link {
  color: inherit !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-width: 0 !important;
  text-decoration: none !important;
}

.lists-app-cover {
  aspect-ratio: 16 / 10 !important;
  background: #efe7d7 !important;
  overflow: hidden !important;
  position: relative !important;
}

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

.lists-app-cover-fallback {
  align-items: center !important;
  color: #fff !important;
  display: none !important;
  font-size: clamp(2.5rem, 8vw, 5rem) !important;
  font-weight: 650 !important;
  inset: 0 !important;
  justify-content: center !important;
  position: absolute !important;
}

.lists-app-cover.is-empty {
  background: linear-gradient(135deg, #2a173a, #6b2ed0) !important;
}

.lists-app-cover.is-empty .lists-app-cover-fallback {
  display: flex !important;
}

.lists-app-save {
  align-items: center !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #171018 !important;
  display: inline-flex !important;
  height: 46px !important;
  justify-content: center !important;
  position: absolute !important;
  right: 14px !important;
  top: 14px !important;
  width: 46px !important;
  z-index: 2 !important;
}

.lists-app-save svg {
  height: 22px !important;
  width: 22px !important;
}

.lists-app-card-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 16px !important;
}

.lists-app-card-body small {
  color: #5f24bf !important;
  font-size: 0.83rem !important;
  font-weight: 650 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

.lists-app-card-body h3 {
  color: #171018 !important;
  font-size: clamp(1.2rem, 2.4vw, 1.55rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.14 !important;
  margin: 0 !important;
}

.lists-app-card-body p {
  color: #716a73 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  margin: 0 !important;
}

.lists-app-card-body strong {
  color: #5f24bf !important;
  font-size: 1rem !important;
  font-weight: 650 !important;
  margin-top: auto !important;
}

@media (max-width: 900px) {
  .lists-app-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* clean-v79: mekan detay web görünümü uygulama kart düzeni */
body.venue-page-body:not(.list-detail-body) {
  overflow-x: clip !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell {
  box-sizing: border-box !important;
  max-width: 980px !important;
  overflow-x: clip !important;
  padding-bottom: 120px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-profile-hero:not(.public-user-hero) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  margin: 24px auto 0 !important;
  max-width: 920px !important;
  overflow: visible !important;
  padding: 0 !important;
  width: 100% !important;
}

body.venue-page-body:not(.list-detail-body) .venue-profile-copy {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: block !important;
  min-height: 0 !important;
  order: 2 !important;
  padding: 0 !important;
  width: 100% !important;
}

body.venue-page-body:not(.list-detail-body) .venue-profile-copy > .story-pill,
body.venue-page-body:not(.list-detail-body) .venue-profile-copy > h1,
body.venue-page-body:not(.list-detail-body) .venue-profile-copy > #venueNote,
body.venue-page-body:not(.list-detail-body) .venue-profile-copy > .venue-profile-card {
  display: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-gallery-section {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: block !important;
  order: 1 !important;
  overflow: visible !important;
  width: 100% !important;
}

body.venue-page-body:not(.list-detail-body) .venue-gallery-section[hidden] {
  display: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-gallery-cover {
  align-items: flex-start !important;
  aspect-ratio: auto !important;
  background-color: #2b153d !important;
  background-position: center !important;
  background-size: cover !important;
  border-radius: 28px !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  min-height: clamp(430px, 58vw, 620px) !important;
  overflow: hidden !important;
  padding: 30px !important;
  position: relative !important;
  width: 100% !important;
}

body.venue-page-body:not(.list-detail-body) .venue-gallery-cover::before {
  background:
    linear-gradient(180deg, rgba(13, 8, 20, 0) 0%, rgba(13, 8, 20, 0.04) 42%, rgba(13, 8, 20, 0.62) 78%, rgba(13, 8, 20, 0.9) 100%),
    linear-gradient(90deg, rgba(13, 8, 20, 0.5), rgba(13, 8, 20, 0));
  content: "" !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 0 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-gallery-cover > * {
  position: relative !important;
  z-index: 1 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-top {
  align-items: flex-start !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: space-between !important;
  left: 24px !important;
  position: absolute !important;
  right: 24px !important;
  top: 24px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-gallery-index {
  align-items: center !important;
  background: rgba(16, 12, 21, 0.72) !important;
  border-radius: 999px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-size: 1.05rem !important;
  font-weight: 650 !important;
  min-height: 38px !important;
  padding: 0 12px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-open-pill {
  align-items: center !important;
  background: #dcfce7 !important;
  border-radius: 999px !important;
  color: #15803d !important;
  display: inline-flex !important;
  font-size: clamp(0.95rem, 2vw, 1.25rem) !important;
  font-weight: 650 !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 16px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body.venue-page-body:not(.list-detail-body) .venue-open-pill.is-closed {
  background: #ffe2e2 !important;
  color: #b91c1c !important;
}

body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-dots {
  display: flex !important;
  gap: 9px !important;
  left: 50% !important;
  position: absolute !important;
  top: 30px !important;
  transform: translateX(-50%) !important;
}

body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-dots i {
  background: rgba(255, 255, 255, 0.42) !important;
  border-radius: 999px !important;
  display: block !important;
  height: 15px !important;
  width: 15px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-dots i.is-active {
  background: #fff !important;
  width: 38px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-meta {
  color: #f6c20a !important;
  font-size: clamp(1rem, 2.5vw, 1.35rem) !important;
  font-weight: 650 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.14 !important;
  margin-bottom: 18px !important;
  text-transform: uppercase !important;
}

body.venue-page-body:not(.list-detail-body) .venue-mobile-logo {
  background: #fff !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  color: #5f24bf !important;
  display: inline-flex !important;
  font-size: 1.35rem !important;
  font-weight: 650 !important;
  height: 96px !important;
  justify-content: center !important;
  margin-bottom: 18px !important;
  object-fit: contain !important;
  padding: 8px !important;
  width: 96px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-mobile-title {
  color: #fff !important;
  display: block !important;
  font-size: clamp(2.6rem, 7vw, 5rem) !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  line-height: 0.98 !important;
  max-width: 760px !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.28) !important;
}

body.venue-page-body:not(.list-detail-body) .venue-gallery-strip {
  display: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-profile-actions {
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  margin: 0 !important;
  width: 100% !important;
}

body.venue-page-body:not(.list-detail-body) .venue-profile-actions a,
body.venue-page-body:not(.list-detail-body) .venue-profile-actions button {
  align-items: center !important;
  background: #f6c20a !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #171018 !important;
  display: inline-flex !important;
  font-size: clamp(1rem, 2.2vw, 1.18rem) !important;
  font-weight: 650 !important;
  grid-column: span 2 !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 0 14px !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

/* eski 6-sutunlu grid span-3 kurali silindi (clean-v107 2-sutunlu grid ile celisiyordu) */

/* #venueQrMenu artik uygulamadaki gibi kosullu: JS'teki setHref hidden'i
   venue.qrMenuUrl'e gore ayarliyor, burada koşulsuz gizlenmiyor. */

body.venue-page-body:not(.list-detail-body) #saveVenueFavorite.is-active,
body.venue-page-body:not(.list-detail-body) #markVenueVisited.is-active {
  background: #55249c !important;
  color: #fff !important;
}

body.venue-page-body:not(.list-detail-body) .share-status {
  color: #5f24bf !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  min-height: 20px !important;
  text-align: center !important;
}

body.venue-page-body:not(.list-detail-body) .venue-quick-facts,
body.venue-page-body:not(.list-detail-body) .venue-info-grid,
body.venue-page-body:not(.list-detail-body) .venue-service-options-section,
body.venue-page-body:not(.list-detail-body) .venue-about-section,
body.venue-page-body:not(.list-detail-body) .venue-location-map,
body.venue-page-body:not(.list-detail-body) .venue-menu-section,
body.venue-page-body:not(.list-detail-body) .venue-chip-section {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 920px !important;
  width: 100% !important;
}

body.venue-page-body:not(.list-detail-body) .venue-quick-facts {
  display: grid !important;
  gap: 16px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin-top: 20px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-quick-facts article,
body.venue-page-body:not(.list-detail-body) .venue-info-grid article,
body.venue-page-body:not(.list-detail-body) .venue-service-options-section {
  background: #fff !important;
  border: 1px solid rgba(36, 24, 52, 0.1) !important;
  border-radius: 21px !important;
  box-shadow: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-quick-facts article {
  padding: 24px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-quick-facts small,
body.venue-page-body:not(.list-detail-body) .venue-info-grid strong {
  color: #777179 !important;
  display: block !important;
  font-size: 1rem !important;
  font-weight: 650 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.1 !important;
  margin-bottom: 10px !important;
  text-transform: uppercase !important;
}

body.venue-page-body:not(.list-detail-body) .venue-quick-facts strong {
  color: #171018 !important;
  display: block !important;
  font-size: clamp(1.35rem, 3.4vw, 2rem) !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  line-height: 1.1 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-daily-hours {
  grid-column: 1 / -1 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-info-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  margin-top: 24px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-info-grid article:first-child {
  display: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-info-grid article:nth-child(2) {
  align-items: center !important;
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: 34px minmax(0, 1fr) 22px !important;
  padding: 24px 28px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-info-grid article:nth-child(2)::before {
  color: #5f24bf !important;
  content: "⌖" !important;
  font-size: 2rem !important;
  grid-row: 1 / span 2 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-info-grid article:nth-child(2)::after {
  color: #777179 !important;
  content: "›" !important;
  font-size: 2.6rem !important;
  grid-column: 3 !important;
  grid-row: 1 / span 2 !important;
  line-height: 1 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-info-grid article:nth-child(2) strong,
body.venue-page-body:not(.list-detail-body) .venue-info-grid article:nth-child(2) span {
  grid-column: 2 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-info-grid span {
  color: #171018 !important;
  font-size: clamp(1.2rem, 3vw, 1.7rem) !important;
  font-weight: 650 !important;
  line-height: 1.16 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-service-options-section {
  margin-top: 24px !important;
  padding: 30px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-service-options-section .section-heading h2 {
  color: #171018 !important;
  font-size: clamp(1.8rem, 4vw, 2.6rem) !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-chip-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 20px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-chip {
  align-items: center !important;
  background: #fbfaf7 !important;
  border: 1px solid rgba(36, 24, 52, 0.1) !important;
  border-radius: 15px !important;
  color: #171018 !important;
  display: inline-flex !important;
  font-size: 1rem !important;
  font-weight: 650 !important;
  gap: 8px !important;
  min-height: 47px !important;
  padding: 0 14px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-location-map {
  border-radius: 21px !important;
  min-height: 320px !important;
  overflow: hidden !important;
}

@media (max-width: 760px) {
  body.venue-page-body:not(.list-detail-body) .venue-page-shell {
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-profile-hero:not(.public-user-hero) {
    margin-top: 18px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-gallery-cover {
    border-radius: 23px !important;
    min-height: min(560px, 66vh) !important;
    padding: 24px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-top {
    left: 18px !important;
    right: 18px !important;
    top: 18px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-gallery-cover .venue-mobile-gallery-top {
    left: 18px !important;
    right: 18px !important;
    top: 18px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-gallery-index {
    font-size: 0.96rem !important;
    min-height: 34px !important;
    padding: 0 13px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-open-pill {
    font-size: 0.95rem !important;
    min-height: 38px !important;
    padding: 0 12px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-dots {
    top: 24px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-dots i {
    height: 11px !important;
    width: 11px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-dots i.is-active {
    width: 28px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-mobile-logo {
    border-radius: 15px !important;
    height: 76px !important;
    margin-bottom: 14px !important;
    width: 76px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-mobile-title {
    font-size: clamp(2.45rem, 12vw, 3.6rem) !important;
    max-width: 96% !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-profile-actions {
    gap: 10px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-profile-actions a,
  body.venue-page-body:not(.list-detail-body) .venue-profile-actions button {
    font-size: 0.98rem !important;
    min-height: 49px !important;
    padding: 0 10px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-quick-facts {
    gap: 12px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-quick-facts article {
    border-radius: 18px !important;
    padding: 20px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-quick-facts small,
  body.venue-page-body:not(.list-detail-body) .venue-info-grid strong {
    font-size: 0.92rem !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-quick-facts strong {
    font-size: 1.35rem !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-info-grid article:nth-child(2) {
    border-radius: 20px !important;
    grid-template-columns: 28px minmax(0, 1fr) 20px !important;
    padding: 22px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-info-grid article:nth-child(2)::before {
    font-size: 1.7rem !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-info-grid span {
    font-size: 1.24rem !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-service-options-section {
    border-radius: 20px !important;
    padding: 26px 22px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-service-options-section .section-heading h2 {
    font-size: 1.85rem !important;
  }
}

/* clean-v79-pin: galeri ust rozetlerini kesin konuma sabitle */
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-cover .venue-mobile-gallery-top {
  bottom: auto !important;
  display: flex !important;
  height: auto !important;
  justify-content: space-between !important;
  left: 24px !important;
  position: absolute !important;
  right: 24px !important;
  top: 24px !important;
  transform: none !important;
  width: auto !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-cover .venue-gallery-index,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-cover .venue-open-pill {
  bottom: auto !important;
  left: auto !important;
  position: static !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
}

@media (max-width: 760px) {
  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-cover .venue-mobile-gallery-top {
    left: 18px !important;
    right: 18px !important;
    top: 18px !important;
  }
}

@media (max-width: 760px) {
  .lists-web-body,
  .lists-web-body .page-shell {
    overflow-x: clip !important;
  }

  .lists-web-shell {
    padding-left: 18px !important;
    padding-right: 18px !important;
    padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .lists-web-sections {
    gap: 18px !important;
    margin-top: 20px !important;
  }

  .lists-app-hero {
    align-items: flex-end !important;
    gap: 12px !important;
  }

  .lists-app-hero h1 {
    font-size: clamp(2.25rem, 14vw, 3.45rem) !important;
    margin-bottom: 10px !important;
  }

  .lists-app-hero p {
    font-size: 1.02rem !important;
    line-height: 1.42 !important;
  }

  .lists-app-new {
    min-height: 46px !important;
    padding: 0 12px !important;
  }

  .lists-app-mode {
    border-radius: 13px !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    padding: 8px !important;
  }

  .lists-app-mode a,
  .lists-app-mode button {
    font-size: 0.95rem !important;
    min-height: 48px !important;
    padding: 0 10px !important;
  }

  .lists-app-tabs {
    margin-left: -18px !important;
    margin-right: -18px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .lists-app-tabs button {
    font-size: 0.94rem !important;
    min-height: 45px !important;
    padding: 0 12px !important;
  }

  .lists-app-intro {
    border-radius: 13px !important;
    padding: 16px 20px !important;
  }

  .lists-app-grid {
    gap: 16px !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .lists-app-card {
    border-radius: 15px !important;
  }

  .lists-app-cover {
    aspect-ratio: 16 / 10.5 !important;
  }

  .lists-app-save {
    height: 44px !important;
    width: 44px !important;
  }

  .lists-app-card-body {
    gap: 8px !important;
    padding: 16px 20px 24px !important;
  }

  .lists-app-card-body h3 {
    font-size: clamp(1.45rem, 8vw, 2.05rem) !important;
    line-height: 1.08 !important;
  }
}

/* clean-v69: account page matches the native profile screen */
#accountPage.account-app-profile {
  max-width: 920px;
  padding-top: clamp(18px, 3vw, 34px);
  padding-bottom: 110px;
}

#accountPage.account-app-profile .account-app-topbar {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 22px;
}

#accountPage.account-app-profile .account-app-logo {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  text-decoration: none;
}

#accountPage.account-app-profile .account-app-logo .brand-mark {
  border-radius: 20px;
  height: clamp(72px, 14vw, 92px);
  width: clamp(72px, 14vw, 92px);
}

#accountPage.account-app-profile .account-app-top-actions {
  align-items: center;
  display: flex;
  gap: clamp(10px, 2.8vw, 18px);
  justify-content: flex-end;
  min-width: 0;
}

#accountPage.account-app-profile .account-app-top-actions a {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(43, 25, 71, 0.08);
  border-radius: 999px;
  box-shadow: none !important;
  color: #211331;
  display: inline-flex;
  flex: 0 0 auto;
  height: clamp(62px, 12vw, 78px);
  justify-content: center;
  text-decoration: none;
  width: clamp(62px, 12vw, 78px);
}

#accountPage.account-app-profile .account-app-top-actions svg {
  height: clamp(30px, 6vw, 38px);
  width: clamp(30px, 6vw, 38px);
}

#accountPage.account-app-profile .account-app-mini-avatar {
  background: #4c2594 !important;
  color: #fff !important;
  font-size: clamp(1.25rem, 5vw, 1.9rem);
  font-weight: 700;
  /* Fotograf varken bas harflerin ustunu kapatir; yoksa bas harf gorunur. */
  position: relative;
  overflow: hidden;
}

#accountPage.account-app-profile .account-app-mini-avatar img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#accountPage.account-app-profile .account-app-summary-card,
#accountPage.account-app-profile .account-app-card,
#accountPage.account-app-profile .account-app-edit-panel article,
#accountPage.account-app-profile .account-app-settings-panel article {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(43, 25, 71, 0.11);
  border-radius: 23px;
  box-shadow: none !important;
}

#accountPage.account-app-profile .account-app-summary-card {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 18px 0 24px;
  padding: 20px 22px;
}

#accountPage.account-app-profile .account-app-summary-card strong {
  color: #211331;
  display: block;
  font-size: clamp(1.65rem, 4vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
}

#accountPage.account-app-profile .account-app-summary-card span {
  color: #716678;
  display: block;
  font-size: clamp(1rem, 2vw, 1.25rem);
  font-weight: 650;
  margin-top: 8px;
}

#accountPage.account-app-profile .account-app-summary-card a,
#accountPage.account-app-profile .account-app-actions a,
#accountPage.account-app-profile .account-app-signout {
  align-items: center;
  color: #5b4199;
  display: inline-flex;
  justify-content: center;
  text-decoration: none;
}

#accountPage.account-app-profile svg {
  height: 1.25em;
  width: 1.25em;
}

#accountPage.account-app-profile .account-app-summary-card a {
  background: #f4ecff;
  border-radius: 18px;
  flex: 0 0 80px;
  height: 80px;
}

#accountPage.account-app-profile .account-app-summary-card a svg {
  height: 36px;
  width: 36px;
}

#accountPage.account-app-profile .account-app-card {
  padding: clamp(22px, 5vw, 44px);
}

#accountPage.account-app-profile .account-app-identity {
  align-items: center;
  display: flex;
  gap: clamp(18px, 4vw, 32px);
  margin-bottom: 30px;
  min-width: 0;
}

#accountPage.account-app-profile .account-app-avatar {
  align-items: center;
  background: #5b4199;
  border: 0;
  border-radius: 25px;
  box-shadow: none !important;
  color: #fff;
  display: inline-flex;
  flex: 0 0 clamp(100px, 20vw, 138px);
  height: clamp(100px, 20vw, 138px);
  justify-content: center;
  position: relative;
  width: clamp(100px, 20vw, 138px);
}

#accountPage.account-app-profile .account-app-avatar img {
  border-radius: inherit;
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
  z-index: 1;
}

#accountPage.account-app-profile .account-app-avatar span {
  font-size: clamp(2rem, 7vw, 3.1rem);
  font-weight: 700;
  line-height: 1;
}

#accountPage.account-app-profile .account-app-avatar:has(img) span {
  opacity: 0;
}

#accountPage.account-app-profile .account-app-avatar i {
  align-items: center;
  background: #fff;
  border: 4px solid #fff;
  border-radius: 999px;
  bottom: 0;
  color: #5b4199;
  display: inline-flex;
  height: 42px;
  justify-content: center;
  position: absolute;
  right: 0;
  width: 42px;
  z-index: 2;
}

#accountPage.account-app-profile .account-app-identity h1 {
  color: #161018;
  font-size: clamp(2.1rem, 6vw, 4rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1;
  margin: 0 0 10px;
}

#accountPage.account-app-profile .account-app-identity p {
  color: #5b4199;
  font-size: clamp(1.25rem, 4vw, 2rem);
  font-weight: 650;
  line-height: 1.08;
  margin: 0;
  overflow-wrap: anywhere;
}

#accountPage.account-app-profile .account-app-stats {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 22px;
}

#accountPage.account-app-profile .account-app-stats a {
  align-items: center;
  background: #fbfaf7;
  border: 1px solid rgba(43, 25, 71, 0.1);
  border-radius: 18px;
  color: #161018;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 77px;
  padding: 14px 10px;
  text-align: center;
  text-decoration: none;
}

#accountPage.account-app-profile .account-app-stats strong {
  font-size: clamp(1.8rem, 5vw, 2.6rem);
  font-weight: 700;
  line-height: 1;
}

#accountPage.account-app-profile .account-app-stats span {
  color: #766f77;
  font-size: clamp(0.95rem, 2.5vw, 1.2rem);
  font-weight: 650;
  margin-top: 10px;
}

#accountPage.account-app-profile .account-app-actions {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 20px;
}

#accountPage.account-app-profile .account-app-actions a,
#accountPage.account-app-profile .account-app-signout {
  background: #fbfaf7;
  border: 1px solid rgba(43, 25, 71, 0.12);
  border-radius: 18px;
  gap: 12px;
  min-height: 61px;
  padding: 16px;
}

#accountPage.account-app-profile .account-app-actions span,
#accountPage.account-app-profile .account-app-signout span {
  font-size: clamp(1.05rem, 3.4vw, 1.55rem);
  font-weight: 650;
}

#accountPage.account-app-profile .account-app-signout {
  cursor: pointer;
  font: inherit;
  width: 100%;
}

#accountPage.account-app-profile .account-app-edit-panel,
#accountPage.account-app-profile .account-app-settings-panel {
  margin-top: 22px;
}

#accountPage.account-app-profile .account-app-edit-panel article,
#accountPage.account-app-profile .account-app-settings-panel article {
  padding: 24px;
}

#accountPage.account-app-profile .account-app-edit-panel h2,
#accountPage.account-app-profile .account-app-settings-panel h2 {
  color: #211331;
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 700;
  margin: 0 0 8px;
}

#accountPage.account-app-profile .account-app-edit-panel p,
#accountPage.account-app-profile .account-app-edit-panel span,
#accountPage.account-app-profile .account-app-settings-panel p,
#accountPage.account-app-profile .account-app-settings-panel span {
  color: #746a78;
  font-weight: 600;
}

#accountPage.account-app-profile .account-app-edit-panel form,
#accountPage.account-app-profile .account-app-settings-panel form {
  display: grid;
  gap: 10px;
  margin: 18px 0 10px;
}

#accountPage.account-app-profile .account-app-edit-panel label {
  display: grid;
  gap: 8px;
}

#accountPage.account-app-profile .account-app-edit-panel label > span {
  color: #211331;
  font-size: 0.9rem;
  font-weight: 650;
}

#accountPage.account-app-profile .account-app-edit-panel input,
#accountPage.account-app-profile .account-app-edit-panel textarea,
#accountPage.account-app-profile .account-app-settings-panel input {
  background: #fff;
  border: 1px solid rgba(43, 25, 71, 0.14);
  border-radius: 15px;
  color: #161018;
  font: inherit;
  min-height: 48px;
  padding: 0 14px;
  width: 100%;
}

#accountPage.account-app-profile .account-app-edit-panel textarea {
  line-height: 1.45;
  min-height: 67px;
  padding: 14px 16px;
  resize: vertical;
}

#accountPage.account-app-profile .account-app-edit-panel button,
#accountPage.account-app-profile .account-app-settings-panel button {
  background: #5b4199;
  border: 0;
  border-radius: 15px;
  color: #fff;
  font: inherit;
  font-weight: 650;
  min-height: 48px;
}

#accountPage.account-app-profile .account-app-edit-panel .account-app-secondary-button {
  background: #fbfaf7;
  border: 1px solid rgba(43, 25, 71, 0.12);
  color: #5b4199;
}

/* Tiklanabilir foto butonlari: kamera ikonu (avatar) ve "Profil/Kapak fotografi
   sec" butonlari <button> oldugu icin tarayici varsayilani cursor: default veriyordu;
   uzerine gelince el imleci (pointer) gorunsun. */
#accountPage.account-app-profile .account-app-avatar,
#accountPage.account-app-profile .account-app-secondary-button {
  cursor: pointer;
}

#accountPage.account-app-profile #accountProfileStatus[data-tone="ok"],
#accountPage.account-app-profile #accountPasswordStatus[data-tone="ok"] {
  color: #15803d;
}

#accountPage.account-app-profile #accountProfileStatus[data-tone="error"],
#accountPage.account-app-profile #accountPasswordStatus[data-tone="error"] {
  color: #b91c1c;
}

@media (max-width: 760px) {
  #accountPage.account-app-profile {
    padding: 16px 18px calc(110px + env(safe-area-inset-bottom, 0px)) !important;
  }

  #accountPage.account-app-profile .account-app-topbar {
    margin-bottom: 20px;
  }

  #accountPage.account-app-profile .account-app-summary-card {
    border-radius: 20px;
    margin: 14px 0 22px;
    padding: 18px;
  }

  #accountPage.account-app-profile .account-app-summary-card a {
    flex-basis: 66px;
    height: 66px;
    border-radius: 16px;
  }

  #accountPage.account-app-profile .account-app-card {
    border-radius: 23px;
    padding: 26px 24px;
  }

  #accountPage.account-app-profile .account-app-identity {
    align-items: center;
  }

  #accountPage.account-app-profile .account-app-stats {
    gap: 12px;
  }

  #accountPage.account-app-profile .account-app-actions {
    gap: 12px;
  }
}

@media (max-width: 380px) {
  #accountPage.account-app-profile .account-app-card {
    padding: 22px 18px;
  }

  #accountPage.account-app-profile .account-app-actions a,
  #accountPage.account-app-profile .account-app-signout {
    min-height: 57px;
    padding: 12px;
  }
}

/* clean-v56: merkezi soft polish. Bu blok dosyanin en sonunda kalmali. */
:root {
  --tc-radius-sm: 11px;
  --tc-radius-md: 16px;
  --tc-radius-lg: 21px;
  --tc-radius-xl: 26px;
  --tc-shadow-soft: 0 14px 34px rgba(31, 19, 45, 0.08);
  --tc-shadow-card: 0 5px 11px rgba(31, 19, 45, 0.053);
  --tc-border-soft: rgba(45, 31, 63, 0.10);
}

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

body.web-shell,
body.guide-body {
  font-weight: 400;
  letter-spacing: 0;
}

body.web-shell h1,
body.web-shell h2,
body.web-shell h3,
body.guide-body h1,
body.guide-body h2,
body.guide-body h3 {
  letter-spacing: 0;
  font-weight: 600;
}

.site-header,
.page-header-v3,
.guide-header,
.page-hero,
.venues-web-hero,
.venues-page-hero,
.lists-page-hero,
.campaigns-page-hero,
.events-page-hero,
.routes-page-hero,
.city-page-hero,
.page-list-card,
.home-venue-card,
.home-list-card,
.campaign-card,
.campaign-page-card,
.venue-card,
.detail-card,
.detail-hero-card,
.search-ai-hint,
.page-empty-card {
  box-shadow: none !important;
  border-color: var(--tc-border-soft) !important;
}

.page-list-card,
.home-venue-card,
.home-list-card,
.campaign-card,
.campaign-page-card,
.venue-card {
  overflow: hidden;
}

.page-list-card h3,
.home-venue-card h3,
.home-list-body h3,
.campaign-card strong,
.campaign-page-card h3,
.venue-card h3 {
  font-weight: 600 !important;
}

.page-list-card p,
.home-venue-card p,
.campaign-card span,
.campaign-page-card p,
.venue-card p,
.page-hero p {
  font-weight: 400 !important;
}

.campaign-card img,
.campaign-page-card img,
.page-list-card img,
.home-venue-card img,
.venue-card img {
  display: block;
  max-width: 100%;
}

@media (max-width: 760px) {
  body.web-shell,
  body.guide-body {
    background: #fbf7ef !important;
  }

  .site-header,
  .page-header-v3,
  .guide-header {
    position: relative !important;
    inset-inline: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100vw !important;
    margin: 0 !important;
    border-radius: 0 0 20px 20px !important;
  }

  .site-header-inner,
  .page-header-v3 .page-header-top,
  .guide-header {
    max-width: 100% !important;
  }

  .page-hero,
  .venues-web-hero,
  .venues-page-hero,
  .lists-page-hero,
  .campaigns-page-hero,
  .events-page-hero,
  .routes-page-hero,
  .city-page-hero {
    margin-top: 18px !important;
    padding: 22px 18px !important;
    border-radius: 20px !important;
  }

  .page-hero h1,
  .lists-page-hero h1,
  .venues-web-hero h1,
  .venues-web-title h1,
  .search-app-head h1,
  #searchPage .search-app-head h1,
  #campaignsPage .page-hero h1,
  #eventsPage .page-hero h1,
  #cityPage .page-hero h1 {
    font-size: clamp(1.55rem, 6.8vw, 2rem) !important;
    line-height: 1.04 !important;
    font-weight: 600 !important;
  }

  .lists-page-hero p,
  .page-hero p,
  .venues-web-hero p,
  .venues-web-title p {
    font-size: 0.94rem !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
  }

  .section-heading h2,
  .section-title h2,
  .page-section-title h2,
  #searchPage .page-section-title h2,
  #campaignsPage .page-section-title h2 {
    font-size: clamp(1.18rem, 5vw, 1.48rem) !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;
  }

  .page-section-title {
    align-items: flex-start !important;
    gap: 8px !important;
  }

  .page-section-title > span,
  .section-meta,
  .pill-count {
    max-width: 100% !important;
    white-space: normal !important;
    line-height: 1.2 !important;
  }

  .site-nav,
  .page-header-v3 .page-top-nav,
  .guide-header .page-top-nav {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .site-nav a,
  .page-header-v3 .page-top-nav a,
  .guide-header .page-top-nav a {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .page-list-card,
  .home-list-card,
  .campaign-card,
  .campaign-page-card,
  .venue-card,
  .home-venue-card {
    border-radius: 15px !important;
    box-shadow: none !important;
  }

  .page-list-card h3,
  .home-list-body h3,
  .campaign-card strong,
  .campaign-page-card h3,
  .venue-card h3,
  .home-venue-card h3 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
  }

  .page-list-card p,
  .campaign-card span,
  .campaign-page-card p,
  .venue-card p,
  .home-venue-card p {
    font-size: 0.86rem !important;
    line-height: 1.36 !important;
  }

  .page-list-badge,
  .campaign-page-badge,
  .venue-status-pill,
  .home-status-pill,
  .page-chip {
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
  }

  .search-popular-section h2,
  .search-chip-title h2 {
    font-size: clamp(1.2rem, 5.2vw, 1.45rem) !important;
  }

  #searchPage .page-filter-bar button,
  .search-ai-hint strong {
    font-size: 0.92rem !important;
    font-weight: 550 !important;
  }

  .detail-hero h1,
  .venue-detail-hero h1,
  .mobile-detail-hero h1,
  body:has(.detail-hero) h1 {
    font-size: clamp(2rem, 9.2vw, 2.7rem) !important;
    line-height: 0.98 !important;
    font-weight: 600 !important;
  }

  .detail-actions,
  .venue-detail-actions {
    gap: 10px !important;
  }

  .detail-actions a,
  .detail-actions button,
  .venue-detail-actions a,
  .venue-detail-actions button {
    min-width: 0 !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
  }
}

/* clean-v60: final public polish guard - one source for soft typography, mobile overflow and card rhythm */
:root {
  --dg-soft-bg: #f6f1e6;
  --dg-soft-card: #fffdf8;
  --dg-soft-ink: #231f20;
  --dg-soft-muted: #706a78;
  --dg-soft-purple: #5b4199;
  --dg-soft-yellow: #f6c20a;
  --dg-soft-line: rgba(42, 31, 58, 0.1);
  --dg-soft-radius: 18px;
  --dg-soft-shadow: 0 10px 24px rgba(33, 24, 46, 0.055);
}

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

body.web-shell,
body.guide-body,
body.venue-page-body {
  background: var(--dg-soft-bg) !important;
  color: var(--dg-soft-ink) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-weight: 400 !important;
}

body.web-shell *,
body.guide-body *,
body.venue-page-body * {
  box-sizing: border-box;
}

.site-header,
.page-header-v3,
.guide-header {
  max-width: min(1440px, calc(100vw - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 0 0 20px 20px !important;
}

.page-shell,
.web-shell .app-shell,
.guide-shell,
.venue-profile-main,
.venue-detail-main {
  width: min(1440px, calc(100vw - 32px)) !important;
  max-width: min(1440px, calc(100vw - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.page-hero,
.venues-web-hero,
.venues-page-hero,
.lists-page-hero,
.campaigns-page-hero,
.events-page-hero,
.routes-page-hero,
.city-page-hero,
.search-hero,
.venue-profile-hero,
.detail-card,
.page-list-card,
.campaign-card,
.campaign-page-card,
.home-venue-card,
.venue-card {
  border: 1px solid var(--dg-soft-line) !important;
  border-radius: var(--dg-soft-radius) !important;
  box-shadow: none !important;
}

h1,
h2,
h3,
.venue-detail-title,
.detail-hero h1 {
  letter-spacing: 0 !important;
  color: var(--dg-soft-ink) !important;
}

@media (max-width: 760px) {
  body.web-shell,
  body.guide-body,
  body.venue-page-body {
    overflow-x: clip !important;
    padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .site-header,
  .page-header-v3,
  .guide-header {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 18px 18px 14px !important;
    border-radius: 0 0 21px 21px !important;
  }

  .site-brand,
  .page-header-brand,
  .guide-brand {
    min-width: 0 !important;
  }

  .site-brand strong,
  .page-header-brand strong,
  .guide-brand strong {
    font-size: 1.08rem !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .site-search,
  .page-search,
  .guide-search {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .site-nav,
  .page-header-v3 .page-top-nav,
  .guide-nav {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    max-width: 100% !important;
    padding: 8px 0 2px !important;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .site-nav::-webkit-scrollbar,
  .page-header-v3 .page-top-nav::-webkit-scrollbar,
  .guide-nav::-webkit-scrollbar {
    display: none;
  }

  .site-nav a,
  .page-header-v3 .page-top-nav a,
  .guide-nav a {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    padding: 10px 14px !important;
    border-radius: 999px !important;
    font-size: 0.9rem !important;
    line-height: 1 !important;
    scroll-snap-align: start;
  }

  .page-shell,
  .web-shell .app-shell,
  .guide-shell,
  .venue-profile-main,
  .venue-detail-main {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .page-hero,
  .venues-web-hero,
  .venues-page-hero,
  .lists-page-hero,
  .campaigns-page-hero,
  .events-page-hero,
  .routes-page-hero,
  .city-page-hero,
  .search-hero {
    margin: 18px 0 20px !important;
    padding: 24px 20px !important;
    min-height: auto !important;
    overflow: hidden !important;
  }

  .page-hero h1,
  .venues-web-hero h1,
  .lists-page-hero h1,
  .campaigns-page-hero h1,
  .events-page-hero h1,
  .routes-page-hero h1,
  .city-page-hero h1,
  .search-hero h1 {
    font-size: clamp(1.55rem, 8vw, 2.15rem) !important;
    line-height: 1.04 !important;
    font-weight: 600 !important;
  }

  .page-hero p,
  .venues-web-hero p,
  .lists-page-hero p,
  .campaigns-page-hero p,
  .events-page-hero p,
  .routes-page-hero p,
  .city-page-hero p,
  .search-hero p {
    font-size: 0.95rem !important;
    line-height: 1.45 !important;
    color: var(--dg-soft-muted) !important;
  }

  .section-heading h2,
  .section-title h2,
  .page-section-title h2,
  #campaignsPage .page-section-title h2,
  #listsPage .page-section-title h2 {
    font-size: clamp(1.22rem, 6vw, 1.58rem) !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
  }

  .home-venue-grid,
  .venue-card-grid,
  .venues-grid,
  #venuesGrid,
  #venueGrid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .home-venue-card,
  .venue-card {
    min-width: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  .home-venue-card img,
  .venue-card img,
  .venue-card-media,
  .home-venue-card-media {
    aspect-ratio: 1.05 / 0.78 !important;
    height: auto !important;
    min-height: 0 !important;
    object-fit: cover !important;
  }

  .home-venue-card h3,
  .venue-card h3 {
    font-size: 0.9rem !important;
    line-height: 1.16 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden !important;
  }

  .home-venue-card p,
  .venue-card p,
  .home-venue-card small,
  .venue-card small {
    font-size: 0.74rem !important;
    line-height: 1.5 !important;
  }

  .home-list-row,
  .home-list-grid,
  .campaign-grid,
  .events-grid,
  .news-grid,
  #campaignGrid,
  #eventsGrid,
  #newsGrid,
  #listsPageGrid {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(78vw, 1fr) !important;
    grid-template-columns: none !important;
    gap: 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    max-width: 100% !important;
    padding: 2px 4px 14px !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch;
  }

  .home-list-row::-webkit-scrollbar,
  .home-list-grid::-webkit-scrollbar,
  .campaign-grid::-webkit-scrollbar,
  .events-grid::-webkit-scrollbar,
  .news-grid::-webkit-scrollbar,
  #campaignGrid::-webkit-scrollbar,
  #eventsGrid::-webkit-scrollbar,
  #newsGrid::-webkit-scrollbar,
  #listsPageGrid::-webkit-scrollbar {
    display: none;
  }

  .home-list-card,
  .campaign-card,
  .campaign-page-card,
  .event-card,
  .news-card,
  #listsPageGrid .page-list-card {
    width: 100% !important;
    min-width: 0 !important;
    scroll-snap-align: start !important;
  }

  .campaign-card,
  .campaign-page-card {
    background: var(--dg-soft-card) !important;
    overflow: hidden !important;
  }

  /* Ana sayfa kartinda "Mekana git" butonu kaldirildi; alt bosluk onunla
     geliyordu, simdi kartin kendisi veriyor ki baslik dibe yapismasin. */
  .campaign-card {
    padding-bottom: 14px !important;
  }

  .campaign-card-cover,
  .campaign-page-card-media,
  .campaign-card img,
  .campaign-page-card img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1.35 / 1 !important;
    object-fit: cover !important;
  }

  .campaign-card small,
  .campaign-page-badge {
    position: static !important;
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 12px 14px 0 !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    background: #fff4c8 !important;
    color: var(--dg-soft-ink) !important;
    font-size: 0.76rem !important;
    line-height: 1 !important;
  }

  .campaign-card strong,
  .campaign-page-card h3 {
    display: block !important;
    margin: 10px 14px 0 !important;
    font-size: 1.02rem !important;
    line-height: 1.16 !important;
    color: var(--dg-soft-ink) !important;
  }

  .campaign-card span,
  .campaign-page-card p {
    display: -webkit-box !important;
    margin: 8px 14px 0 !important;
    font-size: 0.84rem !important;
    line-height: 1.35 !important;
    color: var(--dg-soft-muted) !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden !important;
  }

  .campaign-card a,
  .campaign-page-action {
    margin: 14px !important;
    min-height: 42px !important;
    border-radius: 999px !important;
  }

  .nearby-card {
    margin-top: 14px !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .site-footer,
  body.web-shell .site-footer,
  body.guide-body .site-footer {
    display: none !important;
  }

  .floating-ai {
    right: 16px !important;
    bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important;
    max-width: calc(100vw - 32px) !important;
    border-radius: 999px !important;
  }

  .bottom-nav,
  .web-shell .bottom-nav {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }
}

/* ---------- Zemin ---------- */
body.guide-body,
body.web-shell,
body.venue-page-body {
  background: var(--tc-bg);
  color: var(--tc-ink);
}

.page-shell { padding-top: 0; }

/* ---------- Ust menu ---------- */
.site-header,
.page-header-v3 {
  background: #fff;
  border-bottom: 1px solid var(--tc-line);
  backdrop-filter: none;
}

.site-nav a,
.page-header-v3 .page-top-nav a {
  background: transparent;
  border: 0;
  color: var(--tc-ink);
  font-weight: 600;
}

.site-nav a:hover,
.page-header-v3 .page-top-nav a:hover {
  background: var(--tc-purple-soft);
  color: var(--tc-purple);
}

.page-header-v3 .page-top-nav a.active,
.site-nav a.active {
  background: var(--tc-purple);
  color: #fff;
}

.site-search {
  background: #fff;
  border: 1.5px solid var(--tc-line);
}

.site-search:focus-within { border-color: var(--tc-purple); }
.site-search button { color: var(--tc-purple); }

.login-action,
.page-account-link {
  background: var(--tc-purple);
  border: 0;
  color: #fff;
}

.site-biz-cta { background: var(--tc-purple); }
.site-biz-cta:hover { background: var(--tc-purple-dark); }

.round-action {
  background: #fff;
  border: 1px solid var(--tc-line);
  color: var(--tc-ink);
}

/* ---------- Sayfa basligi: koyu pano yerine sade baslik ---------- */
.page-hero,
.venues-page-hero,
.city-page-hero,
.feed-page-hero,
.lists-page-hero,
.events-page-hero,
.routes-page-hero,
.campaigns-page-hero,
.tastes-page-hero,
.plans-page-hero,
.search-page-hero,
.account-page-hero {
  background: transparent;
  color: var(--tc-ink);
  min-height: 0;
  padding: 26px 4px 6px;
  border-radius: 0;
  box-shadow: none !important;
}

.page-hero h1 {
  color: var(--tc-ink);
  font-size: clamp(1.45rem, 2.6vw, 2.1rem);
  line-height: 1.2;
  font-weight: 650;
}

.page-hero p {
  color: var(--tc-gray);
  font-size: 0.98rem;
  max-width: 640px;
}

.page-hero .story-pill {
  background: var(--tc-purple-soft);
  color: var(--tc-purple);
  font-weight: 650;
  letter-spacing: 0.02em;
  text-transform: none;
  box-shadow: none !important;
}

/* ---------- Kartlar ---------- */
.page-list-card,
.page-service-card,
.page-profile-card,
.page-empty-card,
.panel-work-card,
.plan-social-card,
.panel-metric-card {
  background: var(--tc-card);
  border: 1px solid var(--tc-line);
  border-radius: var(--tc-radius);
  box-shadow: none !important;
}

.page-list-card:hover,
.page-clickable-card:hover {
  box-shadow: none !important;
}

.page-list-card h3 { color: var(--tc-ink); }
.page-list-card p { color: var(--tc-gray); }

.page-card-head small {
  background: var(--tc-purple-soft);
  color: var(--tc-purple);
  border-radius: 999px;
  padding: 4px 10px;
  font-weight: 650;
}

.page-card-head b { color: var(--tc-gray); background: transparent; }

.page-venue-stack span {
  background: #f6f4fa;
  border: 0;
  color: var(--tc-ink);
}

.page-service-meta b {
  background: var(--tc-purple-soft);
  color: var(--tc-purple);
  border: 0;
}

.page-list-badge {
  background: rgba(67, 29, 149, 0.88);
  color: #fff;
}

.page-open-badge.is-open { background: #e5f6ec; color: #0f7a3d; }
.page-open-badge.is-closed { background: #fdeaea; color: #a13333; }

/* ---------- Butonlar: siyah/sari yerine mor ---------- */
.page-card-actions a,
.page-card-actions button,
.page-modal-open,
.page-action-ghost,
.soft-button {
  background: #fff;
  border: 1.5px solid var(--tc-purple);
  color: var(--tc-purple);
  border-radius: 999px;
  font-weight: 650;
}

.page-card-actions a:hover,
.page-card-actions button:hover,
.soft-button:hover {
  background: var(--tc-purple-soft);
  color: var(--tc-purple-dark);
}

.page-incele-btn,
#venueFilterApply {
  background: var(--tc-purple);
  color: #fff;
  border: 0;
}

.page-incele-btn:hover,
#venueFilterApply:hover { background: var(--tc-purple-dark); }

.page-filter-bar button,
.page-search-form button {
  background: #fff;
  border: 1px solid var(--tc-line);
  color: var(--tc-ink);
}

.page-filter-bar button.active,
.page-filter-bar button:hover {
  background: var(--tc-purple);
  border-color: var(--tc-purple);
  color: #fff;
}

.page-section-title h2 { color: var(--tc-ink); }
.page-section-title span { color: var(--tc-gray); }

.heading-icon {
  background: var(--tc-purple-soft);
  color: var(--tc-purple);
}

/* ---------- Ana sayfa ---------- */
.web-shell .section-heading h2 { color: var(--tc-ink); }

.web-shell .campaign-card {
  background: var(--tc-card);
  border: 1px solid var(--tc-line);
  color: var(--tc-ink);
  box-shadow: none !important;
}

.web-shell .campaign-grid {
  align-items: stretch;
}

.web-shell .campaign-card {
  isolation: isolate;
}

.web-shell .campaign-card small {
  width: fit-content;
  border-radius: 999px;
  background: rgba(246, 194, 10, 0.92);
  color: #201713;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  padding: 6px 10px;
}

.web-shell .campaign-card strong,
.web-shell .campaign-card h3 { color: var(--tc-ink); }
.web-shell .campaign-card span,
.web-shell .campaign-card p { color: var(--tc-gray); }

.web-shell .campaign-card strong {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.web-shell .campaign-card span {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.web-shell .platform-launchpad {
  background: transparent;
  border: 0;
  box-shadow: none !important;
  padding-top: 0;
  padding-bottom: 0;
}

.web-shell .platform-launchpad-copy h2 { color: var(--tc-ink); }
.web-shell .platform-launchpad-copy p { color: var(--tc-gray); }
.web-shell .platform-launchpad-copy .story-pill { display: none; }

.web-shell .platform-mode-card {
  background: var(--tc-card);
  border: 1px solid var(--tc-line);
  border-radius: var(--tc-radius);
  box-shadow: none !important;
  color: var(--tc-ink);
}

.web-shell .platform-mode-card:hover { box-shadow: none !important; }

.web-shell .platform-mode-card small {
  color: var(--tc-purple);
  text-transform: none;
  letter-spacing: 0.02em;
}

.web-shell .platform-mode-card strong { color: var(--tc-ink); }
.web-shell .platform-mode-card span { color: var(--tc-gray); }

.web-shell .platform-mode-card b {
  background: var(--tc-purple-soft);
  color: var(--tc-purple);
}

.web-shell .quick-list-form {
  background: var(--tc-card);
  border: 1px solid var(--tc-line);
  box-shadow: none !important;
}

.web-shell .quick-list-form button {
  background: var(--tc-purple);
  color: #fff;
}

.web-shell .my-lists-grid .saved-rank-card,
.web-shell .my-lists-grid > article {
  background: var(--tc-card);
  border: 1px solid var(--tc-line);
  box-shadow: none !important;
}

.web-shell .rising-list-panel > * {
  border: 1px solid var(--tc-line);
  box-shadow: none !important;
}

.web-shell .user-home-panel .user-home-empty,
.web-shell .user-home-panel > article {
  background: var(--tc-card);
  border: 1px solid var(--tc-line);
  box-shadow: none !important;
}

/* ---------- Footer: beyaz, mor basliklar (referans) ---------- */
.site-footer {
  background: #fff;
  border-top: 1px solid var(--tc-line);
  color: var(--tc-gray);
}

.site-footer-brand strong { color: var(--tc-ink); }
.site-footer-brand p { color: var(--tc-gray); }
.site-footer-col strong { color: var(--tc-purple); }
.site-footer-col a { color: var(--tc-ink); }
.site-footer-col a:hover { color: var(--tc-purple); }

.site-footer-base {
  border-top: 1px solid var(--tc-line);
  color: var(--tc-gray);
}

/* ---------- Mekan sayfasi (menu.html): sari zemin yerine beyaz ---------- */
body.venue-page-body {
  background: var(--tc-bg);
}

.venue-page-topbar {
  background: #fff;
  border-bottom: 1px solid var(--tc-line);
}

.venue-page-topbar .site-nav { display: none; }

@media (min-width: 1000px) {
  .venue-page-topbar .site-nav { display: flex; flex: 1; justify-content: center; }
}

.venue-profile-hero {
  background: var(--tc-card);
  border: 1px solid var(--tc-line);
  border-radius: 16px;
  box-shadow: none !important;
  color: var(--tc-ink);
}

.venue-profile-hero h1 { color: var(--tc-ink); }
.venue-profile-hero p { color: var(--tc-gray); }

.venue-profile-hero .story-pill {
  background: var(--tc-purple-soft);
  color: var(--tc-purple);
}

.venue-profile-actions a,
.venue-profile-actions button {
  background: #fff;
  border: 1.5px solid var(--tc-purple);
  color: var(--tc-purple);
  font-weight: 650;
}

.venue-profile-actions a:hover,
.venue-profile-actions button:hover { background: var(--tc-purple-soft); }

.venue-profile-card {
  background: var(--tc-purple);
  color: #fff;
  border-radius: 15px;
}

.venue-profile-card strong { color: #fff; }
.venue-profile-card span,
.venue-profile-card small { color: rgba(255, 255, 255, 0.82); }

.venue-info-grid article,
.venue-menu-section,
.venue-campaign-card,
.venue-list-studio {
  background: var(--tc-card);
  border: 1px solid var(--tc-line);
  border-radius: var(--tc-radius);
  box-shadow: none !important;
}

/* ---------- Kenar cubugu ---------- */
.venues-sidebar {
  border: 1px solid var(--tc-line);
  box-shadow: none !important;
}

.venues-sidebar select { border-color: var(--tc-line); }

/* ---------- Liste detay (list.html) ---------- */
.list-share-hero,
.list-page-hero {
  background: var(--tc-card);
  border: 1px solid var(--tc-line);
  color: var(--tc-ink);
  box-shadow: none !important;
}

.list-share-hero h1 { color: var(--tc-ink); }
.list-share-hero p { color: var(--tc-gray); }

/* ---------- Alt gezinme (mobil) ---------- */
.web-shell .bottom-nav {
  background: #fff;
  border-top: 1px solid var(--tc-line);
}

.web-shell .bottom-nav a,
.web-shell .bottom-nav button { color: var(--tc-gray); }
.web-shell .bottom-nav .active,
.web-shell .bottom-nav a:hover { color: var(--tc-purple); }

/* ---------- Ana sayfa hero: fotograf temiz kalir, koyu overlay hafifler ---------- */
.web-shell .story-hero {
  border-radius: 18px;
  box-shadow: none !important;
}

/* Hero basligi fotografin uzerinde durur ve BEYAZ olmali. Renk .story-hero'dan
   miras aliniyordu; ancak asagidaki genel kural
     h1, h2, h3 { color: var(--dg-soft-ink) !important; }
   mirasi ezdigi icin baslik koyu cikiyor ve gorselin uzerinde okunmuyordu.
   (Alt yazi `p` daha once acikca beyaza cekilmis, baslik atlanmis.)
   Golge, acik renkli fotograflarda da okunurlugu garantiler. */
.story-hero .story-hero-copy h1,
.web-shell .story-hero .story-hero-copy h1 {
  color: #fff !important;
  text-shadow: 0 2px 14px rgba(12, 8, 18, 0.55);
}

.story-hero .story-hero-copy p {
  text-shadow: 0 1px 10px rgba(12, 8, 18, 0.5);
}

/* ---------- Kesfet CTA bandi: tek mor vurgu olarak kalir ---------- */
.web-shell .nearby-card {
  background: linear-gradient(100deg, var(--tc-purple), #7c3aed);
  box-shadow: none !important;
}

/* ---------- Yuvarlak/soft buton kalintilari ---------- */
.web-shell .floating-ai {
  background: var(--tc-purple);
  color: #fff;
  box-shadow: none !important;
}

/* Mekan/liste sayfasi topbar markasi: baslik+altyazi alt alta, tasma yok */
.venue-page-topbar .brand > span:last-child { display: grid; min-width: 0; }
.venue-page-topbar .brand-title,
.venue-page-topbar .brand-subtitle { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---------- Acilir paneller (giris, arama, bildirim, rezervasyon, profil) ---------- */
.auth-panel small,
.search-panel small,
.notification-panel small,
.reservation-panel small { color: var(--tc-purple); font-weight: 650; }

.auth-form button,
.search-sheet-form button,
.experience-form button {
  background: var(--tc-purple);
  color: #fff;
  border: 0;
}

.auth-form button:hover,
.search-sheet-form button:hover { background: var(--tc-purple-dark); }

.auth-form input,
.auth-form textarea,
.search-sheet-form input,
.experience-form input,
.experience-form select,
.experience-form textarea {
  border: 1.5px solid var(--tc-line);
  background: #fff;
}

.auth-form input:focus,
.search-sheet-form input:focus { border-color: var(--tc-purple); }

/* ---------- Cekmece menu ---------- */
.drawer-group a:hover,
.drawer-group button:hover { color: var(--tc-purple); }

/* ---------- Asistan sohbeti ---------- */
.web-shell .assistant-dock { background: #fff; }

.send-button,
.web-shell .primary-button {
  background: var(--tc-purple);
  color: #fff;
  border: 0;
}

.send-button:hover { background: var(--tc-purple-dark); }

.chips button,
.reply-suggestions button {
  background: var(--tc-purple-soft);
  color: var(--tc-purple);
  border: 0;
}

/* ---------- Mekan onizleme + rezervasyon cubugu ---------- */
.reservation-bar button {
  background: var(--tc-purple);
  color: #fff;
}

.reservation-bar button:first-child {
  background: #fff;
  color: var(--tc-purple);
  border: 1.5px solid var(--tc-purple);
}

.detail-action-card button { color: var(--tc-purple); }

/* ---------- Alt menu: modern SVG ikonlar (metin glifleri gizlenir) ---------- */
.web-shell .bottom-nav a > span,
.web-shell .bottom-nav button > span {
  display: inline-flex;
  width: 24px;
  height: 24px;
  font-size: 0;
  background-color: currentColor;
  -webkit-mask: var(--nav-icon) center / contain no-repeat;
  mask: var(--nav-icon) center / contain no-repeat;
}

.web-shell .bottom-nav > *:nth-child(1) > span { --nav-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 10.5 12 3l9 7.5"/><path d="M5 9.5V21h14V9.5"/></svg>'); }
.web-shell .bottom-nav > *:nth-child(2) > span { --nav-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round"><circle cx="11" cy="11" r="7"/><line x1="16.5" y1="16.5" x2="21" y2="21"/></svg>'); }
.web-shell .bottom-nav > *:nth-child(3) > span { --nav-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 21s-7-7.1-7-12a7 7 0 0 1 14 0c0 4.9-7 12-7 12z"/><circle cx="12" cy="9" r="2.5"/></svg>'); }
.web-shell .bottom-nav > *:nth-child(4) > span { --nav-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round"><line x1="4" y1="6" x2="20" y2="6"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="18" x2="14" y2="18"/></svg>'); }
.web-shell .bottom-nav > *:nth-child(5) > span { --nav-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="4"/><path d="M5 21c0-3.9 3.1-7 7-7s7 3.1 7 7"/></svg>'); }

/* ---------- Kent hizmet kartlari: sari kare + siyah Ac yerine mor ---------- */
.page-service-card > span {
  background: var(--tc-purple-soft);
  color: var(--tc-purple);
}

.page-service-card a {
  background: #fff;
  border: 1.5px solid var(--tc-purple);
  color: var(--tc-purple);
  font-weight: 650;
}

.page-service-card a:hover { background: var(--tc-purple-soft); }

/* ---------- Alt menu hizasi: ikon ustte, etiket altta ---------- */
.web-shell .bottom-nav a,
.web-shell .bottom-nav button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

/* ---------- Planlayici ---------- */
.plan-builder-form button[type="submit"] {
  background: var(--tc-purple);
  color: #fff;
  border: 0;
}

.plan-preset-grid button {
  background: #fff;
  border: 1px solid var(--tc-line);
  color: var(--tc-ink);
  font-weight: 650;
}

.plan-preset-grid button:hover {
  background: var(--tc-purple-soft);
  border-color: var(--tc-purple);
  color: var(--tc-purple);
}

.plan-social-card a {
  background: #fff;
  border: 1.5px solid var(--tc-purple);
  color: var(--tc-purple);
  font-weight: 650;
}

.plan-social-card a:hover { background: var(--tc-purple-soft); }

.plan-result-stack .page-venue-stack span { background: #f6f4fa; }

/* ---- Bana En Yakin ---- */
.page-distance-badge {
  display: inline-block;
  width: fit-content;
  background: var(--tc-purple-soft);
  color: var(--tc-purple);
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 0.78rem;
  font-weight: 700;
  margin-top: 2px;
}

#venueNearMeBtn {
  border: 1.5px solid var(--tc-purple);
  background: #fff;
  color: var(--tc-purple);
  font-weight: 700;
  font-size: 0.95rem;
  border-radius: 12px;
  padding: 12px;
  cursor: pointer;
}

#venueNearMeBtn:hover { background: var(--tc-purple-soft); }

/* Mekan sayfasi gun-gun saatler */
.venue-daily-hours { grid-column: 1 / -1; }
#venueDailyHoursList { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.vdh-day {
  background: #f6f4fa;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--tc-ink);
}
.vdh-day b { color: var(--tc-purple); margin-right: 4px; }
.vdh-closed { background: #fdeaea; color: #a13333; }
.vdh-closed b { color: #a13333; }

/* Kapali mekanda durum kutusu gri */
.venue-profile-card.is-closed { background: #6b6478; }

/* Sidebar hizmet grubu */
.venues-sidebar-grouplabel {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #6f6982;
  display: block;
  margin-bottom: 6px;
}
#venueServiceFilterList { display: grid; gap: 6px; }

/* Arama sonucu kucuk gorseli (panel-work-card 2 kolon; gorselle 3 kolona gecer, dar ekranda da bozulmaz) */
.page-search-card { align-items: center; }
.page-search-card:has(.page-search-thumb) { grid-template-columns: auto minmax(0, 1fr) auto !important; }
.page-search-thumb {
  border-radius: 12px;
  flex: 0 0 auto;
  height: 64px;
  object-fit: cover;
  width: 64px;
}

/* Gorseli olmayan sonuc: isimden turetilen sabit renkli bas harf rozeti.
   Kart duzeni gorselli sonuclarla ayni kalir (baslik dar sutuna sikismaz). */
.page-search-thumb-fallback {
  align-items: center;
  background: hsl(var(--thumb-hue, 260) 42% 94%);
  border: 1px solid hsl(var(--thumb-hue, 260) 38% 82%);
  color: hsl(var(--thumb-hue, 260) 46% 34%);
  display: inline-flex;
  font-size: 1.22rem;
  font-weight: 800;
  justify-content: center;
  letter-spacing: 0.01em;
  line-height: 1;
  user-select: none;
}

/* Mekan karti hizmet rozetleri */
.page-service-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.page-service-badges span {
  background: #f3effa;
  border-radius: 999px;
  color: #4c3a86;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 4px 10px;
}

/* Mekan sayfasi konum haritasi */
.venue-location-map {
  border: 1px solid var(--tc-line);
  border-radius: 13px;
  height: 260px;
  overflow: hidden;
  width: 100%;
}

/* Ana sayfa liste kartlari — foto dili */
.my-lists-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}
.home-list-card {
  background: var(--tc-card);
  border: 1px solid var(--tc-line);
  border-radius: var(--tc-radius);
  box-shadow: none !important;
  color: var(--tc-ink);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  text-decoration: none;
  transition: box-shadow 0.15s ease;
}
.home-list-card:hover { box-shadow: none !important; }
.home-list-cover {
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: cover;
  width: 100%;
}
.home-list-cover-empty {
  align-items: center;
  background: linear-gradient(135deg, #f1ecfb, #e4d9f7);
  color: var(--tc-purple);
  display: flex;
  font-size: 2rem;
  font-weight: 700;
  justify-content: center;
}
.home-list-body { display: grid; gap: 4px; padding: 12px 14px 14px; }
.home-list-body small { color: var(--tc-purple); font-size: 0.72rem; font-weight: 650; letter-spacing: 0.02em; }
.home-list-body h3 { font-size: 1.02rem; margin: 0; }
.home-list-body span { color: var(--tc-gray); font-size: 0.85rem; font-weight: 600; }
.home-list-body b { color: var(--tc-purple); font-size: 0.85rem; margin-top: 2px; }

/* Ana sayfa etkinlik/haber seritleri — beyaz foto-kart dili */
.featured-carousel {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}
.home-strip-card {
  background: var(--tc-card);
  border: 1px solid var(--tc-line);
  border-radius: var(--tc-radius);
  box-shadow: none !important;
  color: var(--tc-ink);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  font: inherit;
  overflow: hidden;
  padding: 0;
  text-align: left;
  transition: box-shadow 0.15s ease;
}
.home-strip-card:hover { box-shadow: none !important; }
.home-strip-cover {
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: cover;
  width: 100%;
}
.home-strip-cover-empty {
  align-items: center;
  background: linear-gradient(135deg, #f1ecfb, #e4d9f7);
  color: var(--tc-purple);
  display: flex;
  font-size: 2rem;
  font-weight: 700;
  justify-content: center;
}
.home-strip-body { display: grid; gap: 4px; padding: 12px 14px 14px; }
.home-strip-body small { color: var(--tc-purple); font-size: 0.72rem; font-weight: 650; letter-spacing: 0.02em; }
.home-strip-body strong { font-size: 1.02rem; }
.home-strip-body b { color: var(--tc-purple); font-size: 0.85rem; margin-top: 2px; }

/* Listeler sayfasi durum satiri + liste detay temizligi */
.list-action-status {
  color: var(--tc-purple);
  font-weight: 600;
  margin: 0 4px 8px;
}
.list-report-row { text-align: center; padding: 6px 0 18px; }
.list-report-link {
  background: none;
  border: 0;
  color: var(--tc-gray);
  cursor: pointer;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: underline;
}
.list-report-link:hover { color: var(--tc-purple); }
.public-list-venues a {
  background: #fff;
  border: 1.5px solid var(--tc-purple);
  border-radius: 999px;
  color: var(--tc-purple);
  font-weight: 650;
}
.public-list-venues a:hover { background: var(--tc-purple-soft); }

/* ============================================================
   KRITIK: SAYFA KAYDIRMA KILIDI KALDIRILDI
   styles.css'teki .guide-body { height:100vh; overflow:hidden }
   app-shell kalintisiydi; web-shell donusumunde ic kaydirici da
   kapatildiginda TUM tuketici sayfalarinda tekerlek/parmak scroll
   olmuyordu (programatik scroll calistigi icin testlerde gizlendi).
   Tuketici webi artik normal belge akisiyla kayar.
   ============================================================ */
body.guide-body,
body.web-shell {
  height: auto;
  min-height: 100vh;
  overflow: visible;
  overflow-x: clip;
}
.web-shell .guide-app,
.web-shell .guide-scroll {
  height: auto;
  overflow: visible;
}

/* Liste sayfasi sorun bildirme formu */
.list-report-form {
  background: var(--tc-card);
  border: 1px solid var(--tc-line);
  border-radius: var(--tc-radius);
  box-shadow: none !important;
  display: grid;
  gap: 10px;
  margin: 10px auto 0;
  max-width: 480px;
  padding: 16px;
  text-align: left;
}
.list-report-form textarea {
  border: 1.5px solid var(--tc-line);
  border-radius: 12px;
  font: inherit;
  padding: 10px 12px;
  resize: vertical;
}
.list-report-form textarea:focus { border-color: var(--tc-purple); outline: none; }
.list-report-form-actions { display: flex; align-items: center; gap: 10px; }
.list-report-form-actions #listReportSend {
  background: var(--tc-purple);
  border: 0;
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  font-weight: 650;
  padding: 9px 22px;
}
.list-report-form-actions #listReportSend:disabled { opacity: 0.6; }

/* Kampanya kartindan gelinen mekanda hedef kampanya vurgusu */
.venue-campaign-card.is-highlight {
  animation: dga-kampanya-vurgu 2.4s ease;
  border: 2px solid var(--tc-purple);
}
@keyframes dga-kampanya-vurgu {
  0% { box-shadow: none !important; }
  100% { box-shadow: none !important; }
}

/* Kent Rehberi: verisi olmayan modul rozeti */
.page-service-soon {
  background: var(--tc-purple-soft);
  border-radius: 999px;
  color: var(--tc-purple);
  font-size: 0.82rem;
  font-weight: 650;
  padding: 6px 14px;
  width: fit-content;
}

/* Kayit ol / Giris yap sekmeleri (web authSheet) */
.auth-mode-tabs {
  background: var(--tc-bg);
  border-radius: 999px;
  display: flex;
  gap: 4px;
  margin: 10px 0 4px;
  padding: 4px;
}
.auth-mode-tabs button {
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: var(--tc-ink);
  cursor: pointer;
  flex: 1;
  font-weight: 700;
  padding: 9px 0;
}
.auth-mode-tabs button.active {
  background: var(--tc-purple);
  color: #fff;
}

/* Google ile devam et butonu (genel form buton kurallarini ozgullukle ezer) */
.auth-form button.auth-google-button {
  align-items: center;
  background: #fff;
  border: 1.5px solid var(--tc-line);
  border-radius: 999px;
  color: var(--tc-ink);
  cursor: pointer;
  display: flex;
  font-weight: 650;
  gap: 10px;
  justify-content: center;
  padding: 11px 0;
  width: 100%;
}
.auth-form button.auth-google-button:hover { border-color: var(--tc-purple); background: var(--tc-purple-soft); }

/* Hesap guvenligi karti — sifre degistir / ilk sifre belirle */
.account-security-card { grid-column: 1 / -1; }
.account-security-card form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.account-security-card form input {
  flex: 1 1 200px;
  border: 1.5px solid var(--tc-line);
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  color: var(--tc-ink);
}
.account-security-card form input:focus { outline: none; border-color: var(--tc-purple); }
.account-security-card form button {
  flex: 0 0 auto;
  border: none;
  border-radius: 999px;
  background: var(--tc-purple);
  color: #fff;
  font-weight: 650;
  padding: 10px 20px;
  cursor: pointer;
}
.account-security-card form button:hover { filter: brightness(1.08); }
.account-security-card > span { display: block; margin-top: 8px; }

/* Mekanlar sayfasi: Haritada Gor */
.venues-map-section {
  margin: 14px 0;
}
#venuesMap {
  height: 440px;
  border-radius: 15px;
  border: 1.5px solid var(--tc-line);
  overflow: hidden;
  z-index: 0;
}
.venues-map-section small {
  display: block;
  margin-top: 6px;
  color: #6b6280;
}
#venuesMap a { color: var(--tc-purple); font-weight: 600; }

/* Account page: mobile app aligned profile surface */
#accountPage {
  max-width: 1440px;
}

#accountPage .account-mobile-toolbar {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(86, 38, 132, 0.08);
  border-radius: 18px;
  box-shadow: none !important;
  display: flex;
  justify-content: space-between;
  margin: 18px 0 24px;
  padding: 14px 16px;
}

#accountPage .account-mobile-toolbar strong {
  color: #211331;
  display: block;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
}

#accountPage .account-mobile-toolbar span {
  color: #756b7d;
  display: block;
  font-size: 0.86rem;
  font-weight: 650;
  margin-top: 5px;
}

#accountPage .account-mobile-toolbar a {
  align-items: center;
  background: #f3eef9;
  border-radius: 13px;
  color: #5b4199;
  display: inline-flex;
  font-weight: 700;
  min-height: 44px;
  padding: 0 14px;
  text-decoration: none;
}

#accountPage .account-profile-grid {
  align-items: stretch;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(280px, 1.2fr) repeat(3, minmax(190px, 0.8fr));
}

#accountPage .account-profile-card,
#accountPage .account-social-card,
#accountPage .account-control-card {
  background: #fff;
  border-color: rgba(86, 38, 132, 0.09);
  border-radius: 20px;
  box-shadow: none !important;
}

#accountPage .account-profile-card {
  align-items: center;
  display: flex;
  gap: 16px;
}

#accountPage .account-profile-card > span {
  background: #5b4199;
  border-radius: 20px;
  box-shadow: none !important;
  color: #fff;
  flex: 0 0 auto;
  height: 78px;
  width: 78px;
}

#accountPage .account-profile-card h2 {
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  line-height: 1.05;
  margin-bottom: 2px;
}

#accountPage .account-profile-card strong {
  color: #5b4199;
}

#accountPage .account-profile-card p {
  color: #756b7d;
  margin-top: 8px;
  max-width: 46ch;
}

#accountPage .account-profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

#accountPage .account-profile-actions a,
#accountPage .account-profile-actions button,
#accountPage .account-social-card button,
#accountPage .account-security-card button,
#accountPage .account-quick-list-form button {
  border-radius: 11px;
  font-weight: 700;
  min-height: 42px;
}

#accountPage .account-profile-actions a {
  align-items: center;
  background: #f3eef9;
  color: #5b4199;
  display: inline-flex;
  padding: 0 12px;
}

#accountPage .account-social-card small,
#accountPage .account-control-card small {
  color: #756b7d;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

#accountPage .account-social-card strong,
#accountPage .account-control-card strong {
  color: #211331;
  font-size: 1.05rem;
}

#accountPage .account-social-card form {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

#accountPage .account-social-card input {
  border: 1px solid rgba(86, 38, 132, 0.14);
  border-radius: 11px;
  min-height: 44px;
  padding: 0 12px;
}

#accountPage .panel-metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 16px;
}

#accountPage #accountDailyBrief,
#accountPage #accountSocialPlan,
#accountPage #accountWeeklyChallenge {
  display: none;
}

#accountPage .account-list-studio,
#accountPage .page-section {
  background: transparent;
  border: 0;
  box-shadow: none !important;
  margin-top: 20px;
  padding: 0;
}

#accountPage .page-section-title {
  margin-bottom: 12px;
}

@media (max-width: 980px) {
  #accountPage .account-profile-grid,
  #accountPage .panel-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #accountPage .account-profile-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  #accountPage .account-mobile-toolbar {
    margin-top: 10px;
  }
  #accountPage .account-profile-grid,
  #accountPage .panel-metric-grid {
    grid-template-columns: 1fr;
  }
  #accountPage .account-profile-card {
    align-items: flex-start;
  }
}

/* Public user profile: shared shell and social profile rhythm */
.venue-page-shell:has(.public-profile-header) {
  max-width: 1440px;
}

.public-profile-header {
  margin-bottom: 24px;
}

.public-user-hero {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(86, 38, 132, 0.09);
  border-radius: 23px;
  box-shadow: none !important;
  display: grid;
  gap: 20px;
  grid-template-columns: auto minmax(0, 1fr) minmax(220px, 0.45fr);
  margin-top: 0;
  padding: 24px;
}

.public-user-avatar {
  align-items: center;
  background: #5b4199;
  border-radius: 23px;
  box-shadow: none !important;
  color: #fff;
  display: flex;
  font-size: 1.65rem;
  font-weight: 700;
  height: 92px;
  justify-content: center;
  width: 92px;
}

.public-user-hero h1 {
  color: #211331;
  font-size: clamp(2.1rem, 5vw, 4.2rem);
  line-height: 0.96;
  margin: 10px 0 8px;
}

.public-user-hero p {
  color: #756b7d;
  font-weight: 600;
  max-width: 58ch;
}

.public-user-hero .story-pill {
  background: #f3eef9;
  border: 1px solid rgba(91, 65, 153, 0.14);
  color: #5b4199;
}

.public-user-hero .venue-profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.public-user-hero .venue-profile-actions a,
.public-user-hero .venue-profile-actions button {
  border-radius: 11px;
  font-weight: 700;
  min-height: 42px;
}

.public-user-hero .venue-profile-card {
  background-color: #211331;
  border-radius: 20px;
  color: #fff7de;
  min-height: 92px;
}

.profile-stat-row {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 16px 0;
}

.profile-stat-row article {
  background: #fff;
  border: 1px solid rgba(86, 38, 132, 0.08);
  border-radius: 15px;
  box-shadow: none !important;
  padding: 14px;
}

.profile-stat-row strong {
  color: #211331;
  display: block;
  font-size: 1.35rem;
  font-weight: 700;
}

.profile-stat-row span {
  color: #756b7d;
  font-size: 0.82rem;
  font-weight: 650;
}

@media (max-width: 860px) {
  .public-user-hero {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .public-user-hero .venue-profile-card {
    grid-column: 1 / -1;
  }
  .profile-stat-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .public-user-hero {
    align-items: flex-start;
    grid-template-columns: 1fr;
  }
  .public-user-avatar {
    height: 78px;
    width: 78px;
  }
}

/* ---------- Mekan detay: web gorunumu mobil uygulama ritmine yaklastirildi ---------- */
body.venue-page-body {
  background:
    radial-gradient(circle at 18% 12%, rgba(246, 194, 10, 0.16), transparent 32rem),
    linear-gradient(180deg, #f8f4eb 0, #fbfaf7 44rem, #f6f1e8 100%);
  color: #151018;
}

.venue-page-body .venue-page-shell {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 0 14px 58px;
}

.venue-page-body .page-header-v3 {
  margin: 0 auto 28px;
}

.venue-page-body .venue-profile-hero {
  display: grid;
  grid-template-columns: minmax(300px, 0.48fr) minmax(0, 0.72fr);
  gap: 18px;
  align-items: stretch;
  padding: 14px;
  border: 1px solid rgba(43, 25, 71, 0.08);
  border-radius: 23px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: none !important;
}

.venue-page-body .venue-profile-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  gap: 14px;
  padding: clamp(22px, 4vw, 42px);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 249, 230, 0.9), rgba(255, 255, 255, 0.74));
}

.venue-page-body .venue-profile-copy .story-pill {
  align-self: flex-start;
  max-width: 100%;
  padding: 8px 13px;
  border: 1px solid rgba(76, 29, 149, 0.14);
  border-radius: 999px;
  background: #f3eaff;
  color: #5b4199;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.venue-page-body .venue-profile-hero h1 {
  margin: 0;
  color: #18101f;
  font-size: clamp(2.6rem, 5.5vw, 5.2rem);
  line-height: 0.96;
  letter-spacing: 0;
}

.venue-page-body .venue-profile-hero p {
  max-width: 34rem;
  margin: 0;
  color: #62576b;
  font-size: 1.02rem;
  line-height: 1.5;
}

.venue-page-body .venue-gallery-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px;
  gap: 10px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none !important;
}

.venue-page-body .venue-gallery-section[hidden] {
  display: none;
}

.venue-page-body .venue-gallery-cover {
  min-height: clamp(390px, 41vw, 560px);
  border-radius: 20px;
  background-color: #24152f;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

.venue-page-body .venue-gallery-cover span {
  right: 16px;
  bottom: 16px;
  border-radius: 999px;
  background: rgba(20, 14, 27, 0.74);
  color: #fff;
}

.venue-page-body .venue-gallery-strip {
  display: grid;
  grid-auto-rows: 1fr;
  max-height: clamp(390px, 41vw, 560px);
  overflow-y: auto;
  scrollbar-width: none;
}

.venue-page-body .venue-gallery-strip::-webkit-scrollbar {
  display: none;
}

.venue-page-body .venue-gallery-strip button {
  width: 100%;
  min-height: 64px;
  border: 3px solid #fff;
  border-radius: 15px;
  background-size: cover;
  background-position: center;
  box-shadow: none !important;
}

.venue-page-body .venue-profile-card {
  width: min(100%, 360px);
  margin-top: 4px;
  padding: 15px 16px;
  border: 0;
  border-radius: 16px;
  background: #21152d;
  color: #fff;
  box-shadow: none !important;
}

.venue-page-body .venue-profile-card.is-closed {
  background: #746d80;
}

.venue-page-body .venue-profile-card strong {
  display: block;
  margin-bottom: 5px;
  color: #fff;
  font-size: clamp(1.25rem, 2.1vw, 1.7rem);
  line-height: 1;
}

.venue-page-body .venue-profile-card span,
.venue-page-body .venue-profile-card small {
  color: rgba(255, 255, 255, 0.82);
}

.venue-page-body .venue-profile-actions {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 10px;
}

.venue-page-body .venue-profile-actions a,
.venue-page-body .venue-profile-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  background: #f6c20a;
  color: #17120d;
  box-shadow: none !important;
  font-weight: 700;
  text-decoration: none;
}

.venue-page-body .venue-profile-actions button {
  background: #5b4199;
  color: #fff;
}

.venue-page-body .share-status {
  min-height: 22px;
  margin: 0 0 12px;
  color: #5b4199;
  font-weight: 650;
}

.venue-page-body .venue-quick-facts,
.venue-page-body .venue-info-grid {
  gap: 16px;
}

.venue-page-body .venue-quick-facts article,
.venue-page-body .venue-info-grid article,
.venue-page-body .venue-chip-section,
.venue-page-body .venue-about-section,
.venue-page-body .venue-menu-section,
.venue-page-body .venue-list-studio {
  border: 1px solid rgba(43, 25, 71, 0.08);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: none !important;
}

.venue-page-body .venue-chip {
  min-height: 45px;
  border-color: rgba(43, 25, 71, 0.1);
  border-radius: 999px;
  background: #f7f1ff;
  color: #27183a;
  font-weight: 700;
}

.venue-page-body .venue-menu-category {
  border-radius: 16px;
}

@media (max-width: 860px) {
  .venue-page-body .venue-page-shell {
    padding: 0 12px 38px;
  }

  .venue-page-body .venue-profile-hero {
    display: flex;
    flex-direction: column;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none !important;
  }

  .venue-page-body .venue-gallery-section {
    order: 1;
    grid-template-columns: 1fr;
  }

  .venue-page-body .venue-gallery-cover {
    min-height: 430px;
    border-radius: 23px;
  }

  .venue-page-body .venue-gallery-strip {
    display: flex;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 4px;
  }

  .venue-page-body .venue-gallery-strip button {
    flex: 0 0 92px;
    height: 74px;
    min-height: 57px;
  }

  .venue-page-body .venue-profile-copy {
    order: 2;
    padding: 18px 0 0;
    background: transparent;
  }

  .venue-page-body .venue-profile-hero h1 {
    font-size: clamp(2.8rem, 14vw, 4.6rem);
  }

  .venue-page-body .venue-profile-card {
    width: 100%;
  }

  .venue-page-body .venue-profile-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .venue-page-body .venue-profile-actions a,
  .venue-page-body .venue-profile-actions button {
    min-height: 49px;
    font-size: 1rem;
  }

  .venue-page-body .venue-info-grid,
  .venue-page-body .venue-quick-facts {
    grid-template-columns: 1fr;
  }
}

/* ---------- Liste detay: mekan detayla ayni kabuk, listeye uygun kompozisyon ---------- */
.list-detail-body .list-detail-hero {
  grid-template-columns: minmax(0, 0.72fr) minmax(280px, 0.48fr);
}

.list-detail-body .list-profile-copy {
  min-height: clamp(340px, 34vw, 500px);
}

.list-detail-body .list-profile-copy h1 {
  max-width: 760px;
}

.list-detail-body .list-profile-copy .venue-profile-actions {
  grid-template-columns: repeat(3, minmax(0, max-content));
  justify-content: start;
  margin: 6px 0 0;
}

.list-detail-body .list-profile-copy .venue-profile-actions button {
  min-width: 138px;
  background: #5b4199;
  color: #fff;
}

.list-detail-body .list-cover-card {
  position: relative;
  display: flex;
  min-height: clamp(340px, 34vw, 500px);
  width: 100%;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(33, 21, 45, 0.92), rgba(91, 65, 153, 0.72)),
    #21152d;
  color: #fff;
}

.list-detail-body .list-cover-card strong {
  font-size: clamp(3rem, 7vw, 6rem);
}

.list-detail-body .list-cover-card span {
  max-width: none;
  text-align: left;
  font-size: 1.2rem;
  font-weight: 700;
}

.list-detail-body .public-list-venues {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.list-detail-body .public-list-venue {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 84px;
  padding: 12px;
  border: 1px solid rgba(43, 25, 71, 0.08);
  border-radius: 18px;
  background: #fff;
  box-shadow: none !important;
}

.list-detail-body .public-list-venue-thumb,
.list-detail-body .public-list-venue > span {
  width: 112px;
  height: 92px;
  border-radius: 15px;
  object-fit: cover;
}

.list-detail-body .public-list-venue > span {
  display: grid;
  place-items: center;
  background: #f3eaff;
  color: #5b4199;
  font-weight: 700;
}

.list-detail-body .public-list-venue strong {
  display: block;
  color: #18101f;
  font-size: 1.05rem;
  line-height: 1.14;
}

.list-detail-body .public-list-venue a {
  align-self: center;
  white-space: nowrap;
}

.list-detail-body .public-list-venue.is-sortable {
  grid-template-columns: 44px 112px minmax(0, 1fr) auto;
  cursor: grab;
  transition: transform 160ms ease, box-shadow 160ms ease, opacity 160ms ease;
}

.list-detail-body .public-list-venue.is-sortable:active {
  cursor: grabbing;
}

.list-detail-body .public-list-venue.is-dragging {
  opacity: 0.72;
  transform: scale(0.985);
  box-shadow: none !important;
}

.public-list-drag-handle {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(91, 65, 153, 0.14);
  border-radius: 13px;
  color: #5b4199;
  background: #f5edff;
  box-shadow: none !important;
  font-size: 1.1rem;
  font-weight: 700;
  touch-action: none;
  cursor: grab;
}

.public-list-drag-handle:active {
  cursor: grabbing;
  transform: scale(0.96);
}

.list-detail-body .section-heading #listUpdated {
  color: #5b4199;
  font-weight: 700;
}

@media (max-width: 860px) {
  .list-detail-body .list-detail-hero {
    display: flex;
    flex-direction: column;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none !important;
  }

  .list-detail-body .list-profile-copy {
    min-height: 0;
    padding: 22px;
    border-radius: 21px;
    background: rgba(255, 249, 230, 0.9);
  }

  .list-detail-body .list-profile-copy .venue-profile-actions {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .list-detail-body .list-profile-copy .venue-profile-actions button {
    width: 100%;
  }

  .list-detail-body .list-cover-card {
    min-height: 260px;
    order: -1;
  }

  .list-detail-body .public-list-venues {
    grid-template-columns: 1fr;
  }

  .list-detail-body .public-list-venue {
    grid-template-columns: 92px minmax(0, 1fr);
  }

  .list-detail-body .public-list-venue.is-sortable {
    grid-template-columns: 44px 82px minmax(0, 1fr);
    gap: 10px;
  }

  .list-detail-body .public-list-venue-thumb,
  .list-detail-body .public-list-venue > span {
    width: 92px;
    height: 82px;
  }

  .list-detail-body .public-list-venue.is-sortable .public-list-venue-thumb,
  .list-detail-body .public-list-venue.is-sortable > span {
    width: 82px;
    height: 74px;
  }

  .list-detail-body .public-list-venue a {
    grid-column: 1 / -1;
    width: 100%;
  }

  .list-detail-body .public-list-venue.is-sortable a {
    grid-column: 2 / -1;
  }
}

/* ---------- Mekan detay final duzeni ---------- */
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) {
  display: grid;
  grid-template-columns: minmax(0, 430px) minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  max-width: 1440px;
  margin: 28px auto 18px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid rgba(43, 25, 71, 0.08);
  border-radius: 23px;
  background: #fff;
  box-shadow: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 520px;
  min-width: 0;
  padding: 34px;
  border: 1px solid rgba(246, 194, 10, 0.2);
  border-radius: 20px;
  background:
    linear-gradient(145deg, rgba(255, 236, 151, 0.34), rgba(255, 255, 255, 0.96) 58%),
    #fffdf8;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .story-pill {
  align-self: flex-start;
  max-width: 100%;
  margin: 0 0 22px;
  padding: 10px 16px;
  white-space: normal;
  border-radius: 999px;
  background: #f4e8ff;
  color: #5b4199;
  line-height: 1.15;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) h1 {
  max-width: 100%;
  margin: 0;
  color: #18101f;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) #venueLogoImg {
  display: none;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) #venueNote {
  max-width: 36rem;
  margin: 16px 0 20px;
  color: #6f6678;
  font-size: 1rem;
  line-height: 1.5;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 14px;
  width: 100%;
  max-width: none;
  min-height: 0;
  margin: 0 0 16px;
  padding: 18px 20px;
  border: 0;
  border-radius: 16px;
  background: #21152d;
  color: #fff;
  box-shadow: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-card.is-closed {
  background: #746b81;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-card strong {
  grid-column: 1 / -1;
  color: #fff;
  font-size: 1.55rem;
  line-height: 1.05;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-card span,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-card small {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.86rem;
  line-height: 1.35;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  max-width: none;
  margin: 0;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-actions a,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-actions button {
  min-width: 0;
  min-height: 46px;
  padding: 12px 14px;
  border: 2px solid #f6c20a;
  border-radius: 999px;
  background: #f6c20a;
  color: #17120d;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.1;
  box-shadow: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) #saveVenueFavorite {
  border-color: #5b4199;
  background: #5b4199;
  color: #fff;
  box-shadow: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) #markVenueVisited.is-active {
  transform: translateY(-1px);
  box-shadow: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .share-status {
  margin: 10px 0 0;
  color: #5f556b;
  font-size: 0.9rem;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 104px;
  gap: 12px;
  min-width: 0;
  height: 100%;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-section[hidden] {
  display: none;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-cover {
  min-height: 520px;
  height: 100%;
  border-radius: 20px;
  background-size: cover;
  background-position: center;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-strip {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 520px;
  overflow-y: auto;
  padding-right: 2px;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-strip button {
  width: 100%;
  min-height: 66px;
  border: 2px solid #fff;
  border-radius: 13px;
  background-size: cover;
  background-position: center;
  box-shadow: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-cover .venue-gallery-count {
  right: 16px;
  bottom: 16px;
  border-radius: 999px;
}

@media (max-width: 1120px) {
  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) {
    grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) h1 {
    font-size: 3.35rem;
  }
}

@media (max-width: 900px) {
  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) {
    display: flex;
    flex-direction: column;
    max-width: 680px;
    margin-top: 18px;
    padding: 12px;
    border-radius: 21px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-section {
    order: -1;
    grid-template-columns: 1fr;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-cover {
    min-height: 360px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-strip {
    flex-direction: row;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 0 4px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-strip button {
    flex: 0 0 94px;
    min-height: 57px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-copy {
    min-height: 0;
    padding: 24px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) h1 {
    font-size: 3rem;
  }
}

@media (max-width: 540px) {
  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) {
    margin-top: 12px;
    padding: 10px;
    border-radius: 20px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-cover {
    min-height: 310px;
    border-radius: 16px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-copy {
    padding: 22px 18px;
    border-radius: 16px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) h1 {
    font-size: 2.45rem;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-actions {
    grid-template-columns: 1fr;
  }
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-quick-facts,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-info-grid,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-detail-tags-grid,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-chip-section,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-about-section,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-list-studio,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-menu-section {
  max-width: 1440px;
  margin-right: auto;
  margin-left: auto;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-quick-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 0;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-quick-facts article,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-info-grid article {
  min-height: 66px;
  padding: 20px 22px;
  border: 1px solid rgba(43, 25, 71, 0.08);
  border-radius: 18px;
  background: #fff;
  box-shadow: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-quick-facts article small,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-info-grid article strong {
  display: block;
  margin-bottom: 8px;
  color: #776f80;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-quick-facts article strong,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-info-grid article span {
  color: #18101f;
  font-size: 1.32rem;
  font-weight: 700;
  line-height: 1.18;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-quick-facts .venue-daily-hours {
  grid-column: 1 / -1;
  min-height: 0;
}

body.venue-page-body:not(.list-detail-body) .venue-daily-hours #venueDailyHoursList {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.venue-page-body:not(.list-detail-body) .venue-daily-hours #venueDailyHoursList span,
body.venue-page-body:not(.list-detail-body) .venue-daily-hours #venueDailyHoursList em {
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff1f1;
  color: #b42318;
  font-size: 0.88rem;
  font-style: normal;
  font-weight: 700;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-chip-section,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-about-section,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-list-studio,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-menu-section {
  margin-top: 18px;
  padding: 24px 26px;
  border: 1px solid rgba(43, 25, 71, 0.08);
  border-radius: 21px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-detail-tags-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

body.venue-page-body:not(.list-detail-body) .venue-detail-tags-grid .venue-chip-section {
  min-height: 92px;
  margin: 0;
  padding: 22px;
  border: 1px solid rgba(43, 25, 71, 0.08);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: none !important;
}

body.venue-page-body:not(.list-detail-body) .section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

body.venue-page-body:not(.list-detail-body) .section-heading h2 {
  margin: 0;
  color: #18101f;
  font-size: 1.7rem;
  line-height: 1.12;
}

body.venue-page-body:not(.list-detail-body) .section-heading span {
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff1b8;
  color: #5b4199;
  font-weight: 700;
}

body.venue-page-body:not(.list-detail-body) .venue-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.venue-page-body:not(.list-detail-body) .venue-chip {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 16px;
  border: 1px solid rgba(91, 65, 153, 0.1);
  border-radius: 999px;
  background: #f6efff;
  color: #261632;
  font-weight: 700;
  line-height: 1.1;
}

body.venue-page-body:not(.list-detail-body) .venue-chip i {
  display: none;
}

body.venue-page-body:not(.list-detail-body) .venue-about-copy {
  color: #51485d;
  font-size: 1rem;
  line-height: 1.7;
}

body.venue-page-body:not(.list-detail-body) .venue-info-grid {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: 14px;
  margin-top: 18px;
}

body.venue-page-body:not(.list-detail-body) .venue-location-map {
  min-height: 360px;
  overflow: hidden;
  border-radius: 18px;
}

body.venue-page-body:not(.list-detail-body) .venue-list-studio {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 18px;
  align-items: start;
  background:
    linear-gradient(135deg, rgba(255, 241, 184, 0.75), rgba(255, 255, 255, 0.96) 52%),
    #fff;
}

body.venue-page-body:not(.list-detail-body) .venue-list-studio article {
  padding: 20px;
  border-radius: 16px;
  background: #21152d;
  color: #fff;
}

body.venue-page-body:not(.list-detail-body) .venue-list-studio article small,
body.venue-page-body:not(.list-detail-body) .venue-list-studio article span {
  display: block;
  color: rgba(255, 255, 255, 0.78);
}

body.venue-page-body:not(.list-detail-body) .venue-list-studio article strong {
  display: block;
  margin: 8px 0;
  color: #fff;
  font-size: 1.45rem;
  line-height: 1.12;
}

body.venue-page-body:not(.list-detail-body) .venue-list-fit-grid,
body.venue-page-body:not(.list-detail-body) .venue-list-fit-notes {
  grid-column: 2;
}

body.venue-page-body:not(.list-detail-body) .venue-list-fit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

body.venue-page-body:not(.list-detail-body) .venue-list-fit-grid button,
body.venue-page-body:not(.list-detail-body) .venue-list-studio form button {
  min-height: 45px;
  border: 0;
  border-radius: 999px;
  background: #5b4199;
  color: #fff;
  font-weight: 700;
}

body.venue-page-body:not(.list-detail-body) .venue-list-studio form {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid rgba(43, 25, 71, 0.08);
  border-radius: 16px;
  background: #fff;
}

body.venue-page-body:not(.list-detail-body) .venue-list-studio form label {
  display: grid;
  gap: 8px;
  color: #6f6678;
  font-weight: 700;
}

body.venue-page-body:not(.list-detail-body) .venue-list-studio select,
body.venue-page-body:not(.list-detail-body) .venue-list-studio input {
  min-height: 45px;
  width: 100%;
  border: 1px solid rgba(43, 25, 71, 0.12);
  border-radius: 11px;
  background: #fff;
  color: #18101f;
  font: inherit;
}

body.venue-page-body:not(.list-detail-body) .venue-menu-categories {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

body.venue-page-body:not(.list-detail-body) .venue-menu-category {
  margin: 0;
  padding: 20px;
  border: 1px solid rgba(43, 25, 71, 0.08);
  border-radius: 18px;
  background: #fff;
  box-shadow: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-menu-category h3 {
  margin: 0 0 12px;
  color: #18101f;
  font-size: 1.24rem;
}

body.venue-page-body:not(.list-detail-body) .venue-menu-item {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px 0;
  border-top: 1px solid rgba(43, 25, 71, 0.08);
}

body.venue-page-body:not(.list-detail-body) .venue-menu-item:first-of-type {
  border-top: 0;
}

body.venue-page-body:not(.list-detail-body) .venue-menu-item img {
  width: 82px;
  height: 72px;
  border-radius: 13px;
  object-fit: cover;
}

body.venue-page-body:not(.list-detail-body) .venue-menu-item strong {
  display: block;
  color: #18101f;
  font-size: 1rem;
  line-height: 1.16;
}

body.venue-page-body:not(.list-detail-body) .venue-menu-item span {
  display: block;
  margin-top: 6px;
  color: #6f6678;
  font-size: 0.92rem;
  line-height: 1.35;
}

body.venue-page-body:not(.list-detail-body) .venue-menu-item b {
  color: #5b4199;
  white-space: nowrap;
}

@media (max-width: 900px) {
  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-quick-facts,
  body.venue-page-body:not(.list-detail-body) .venue-info-grid,
  body.venue-page-body:not(.list-detail-body) .venue-detail-tags-grid,
  body.venue-page-body:not(.list-detail-body) .venue-list-studio,
  body.venue-page-body:not(.list-detail-body) .venue-menu-categories {
    grid-template-columns: 1fr;
  }

  body.venue-page-body:not(.list-detail-body) .venue-list-fit-grid,
  body.venue-page-body:not(.list-detail-body) .venue-list-fit-notes {
    grid-column: auto;
  }
}

@media (max-width: 540px) {
  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-chip-section,
  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-about-section,
  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-list-studio,
  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-menu-section {
    padding: 20px 16px;
    border-radius: 18px;
  }

  body.venue-page-body:not(.list-detail-body) .section-heading h2 {
    font-size: 1.45rem;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-quick-facts article strong,
  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-info-grid article span {
    font-size: 1.1rem;
  }

  body.venue-page-body:not(.list-detail-body) .venue-menu-item {
    grid-template-columns: 68px minmax(0, 1fr);
  }

  body.venue-page-body:not(.list-detail-body) .venue-menu-item img {
    width: 68px;
    height: 62px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-menu-item b {
    grid-column: 2;
    justify-self: start;
  }
}

/* ---------- Mekan detay: webde uygulama hissi ---------- */
@media (min-width: 901px) {
  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) {
    position: relative;
    display: block;
    max-width: 1440px;
    min-height: 660px;
    padding: 16px;
    border-radius: 25px;
    background: #fff;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-section {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 112px;
    gap: 12px;
    height: 628px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-section[hidden] {
    display: none;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-cover {
    min-height: 0;
    height: 628px;
    border-radius: 20px;
    box-shadow: none !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-strip {
    max-height: 628px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-strip button {
    min-height: 71px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-copy {
    position: absolute;
    z-index: 3;
    left: 44px;
    bottom: 44px;
    justify-content: flex-start;
    width: min(500px, calc(100% - 220px));
    min-height: 0;
    padding: 26px;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 23px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: none !important;
    backdrop-filter: blur(18px);
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .story-pill {
    margin-bottom: 14px;
    background: #fff1b8;
    color: #5b4199;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) h1 {
    font-size: 3.55rem;
    line-height: 0.96;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) #venueNote {
    margin: 12px 0 16px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-card {
    margin-bottom: 14px;
    padding: 15px 16px;
    border-radius: 15px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-card strong {
    font-size: 1.25rem;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-actions a,
  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-actions button {
    min-height: 44px;
    padding: 10px 12px;
    font-size: 0.88rem;
  }
}

@media (min-width: 901px) and (max-width: 1120px) {
  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-copy {
    width: min(460px, calc(100% - 188px));
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) h1 {
    font-size: 3rem;
  }
}

/* ---------- Mekan detay: mobil web uygulama duzeni ---------- */
@media (max-width: 900px) {
  body.venue-page-body:not(.list-detail-body) {
    background: #f7f1e8;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell {
    padding: 0 12px 34px;
  }

  body.venue-page-body:not(.list-detail-body) .guide-header {
    position: static;
    width: auto;
    margin: 0 -14px 18px;
    padding: 18px 18px 20px;
    border-radius: 0 0 23px 23px;
    background: #fff;
    box-shadow: none !important;
  }

  body.venue-page-body:not(.list-detail-body) .guide-header .page-header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    max-width: none;
    padding: 0;
  }

  body.venue-page-body:not(.list-detail-body) .guide-header .site-search,
  body.venue-page-body:not(.list-detail-body) .guide-header .page-subnav,
  body.venue-page-body:not(.list-detail-body) .guide-header .brand-subtitle {
    display: none;
  }

  body.venue-page-body:not(.list-detail-body) .guide-header .brand {
    min-width: 0;
    gap: 12px;
  }

  body.venue-page-body:not(.list-detail-body) .guide-header .brand-mark {
    width: 74px;
    height: 74px;
    border-radius: 18px;
  }

  body.venue-page-body:not(.list-detail-body) .guide-header .brand-title {
    font-size: 1.35rem;
    line-height: 1.05;
  }

  body.venue-page-body:not(.list-detail-body) .guide-header .login-action {
    width: 64px;
    height: 64px;
    min-width: 64px;
    padding: 0;
    border-radius: 999px;
  }

  body.venue-page-body:not(.list-detail-body) .guide-header .login-action span {
    display: none;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) {
    position: relative;
    display: block;
    max-width: 560px;
    margin: 0 auto 16px;
    padding: 10px;
    border-radius: 25px;
    background: #fff;
    box-shadow: none !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-section {
    display: block;
    grid-template-columns: 1fr;
    gap: 10px;
    height: auto;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-section[hidden] {
    display: none;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-cover {
    min-height: 520px;
    height: 520px;
    border-radius: 20px;
    background-size: cover;
    background-position: center;
    box-shadow: none !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-strip {
    display: none;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-strip button {
    flex: 0 0 96px;
    min-height: 59px;
    border-radius: 15px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-copy {
    position: absolute;
    z-index: 2;
    right: 22px;
    bottom: 24px;
    left: 22px;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .story-pill {
    margin-bottom: 12px;
    padding: 8px 12px;
    background: rgba(246, 194, 10, 0.95);
    color: #21152d;
    font-size: 0.72rem;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) h1 {
    color: #fff;
    text-shadow: 0 10px 26px rgba(0, 0, 0, 0.34);
    font-size: 3.05rem;
    line-height: 0.98;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) #venueNote {
    margin: 10px 0 14px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.98rem;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-card {
    margin-bottom: 12px;
    padding: 13px 14px;
    border-radius: 15px;
    background: rgba(33, 21, 45, 0.9);
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-actions a,
  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-actions button {
    min-height: 45px;
    padding: 10px 8px;
    font-size: 0.84rem;
  }
}

@media (max-width: 430px) {
  body.venue-page-body:not(.list-detail-body) .guide-header .brand-mark {
    width: 64px;
    height: 64px;
    border-radius: 16px;
  }

  body.venue-page-body:not(.list-detail-body) .guide-header .brand-title {
    font-size: 1.16rem;
  }

  body.venue-page-body:not(.list-detail-body) .guide-header .login-action {
    width: 58px;
    height: 58px;
    min-width: 58px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-cover {
    min-height: 520px;
    height: 520px;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) h1 {
    font-size: 2.35rem;
  }

  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* clean-v37: global mobile overflow guard */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

body {
  position: relative;
}

body > *,
main,
.page-shell,
.guide-main,
.web-app,
.venue-page-shell {
  max-width: 100%;
}

img,
video,
canvas,
svg {
  max-width: 100%;
}

.side-drawer {
  overflow: clip;
  contain: paint;
}

.side-drawer:not(.open) {
  display: none;
  visibility: hidden;
}

.side-drawer.open {
  display: block;
  visibility: visible;
}

.drawer-panel {
  max-width: min(390px, calc(100vw - 18px));
}

@media (max-width: 760px) {
  body.guide-body:not(.admin-body),
  body.web-shell,
  body.venue-page-body {
    overflow-x: clip;
  }

  body.guide-body:not(.admin-body) .page-shell,
  body.guide-body:not(.admin-body) .venue-page-shell,
  body.web-shell .page-shell,
  body.web-shell .venue-page-shell {
    width: 100%;
    max-width: 100%;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
    overflow-x: clip;
  }

  body.guide-body:not(.admin-body) .page-header-v3,
  body.guide-body:not(.admin-body) .guide-header,
  body.web-shell .page-header-v3,
  body.web-shell .site-header,
  body.venue-page-body .page-header-v3,
  body.venue-page-body .guide-header {
    left: auto;
    right: auto;
    width: 100%;
    max-width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden;
  }

  .page-header-v3 .page-header-top,
  .page-header-v3 .page-subnav,
  .guide-header .page-header-top,
  .guide-header .page-subnav {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    overflow: hidden;
  }

  .page-header-v3 .page-top-nav,
  .guide-header .page-top-nav {
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .page-header-v3 .page-top-nav::-webkit-scrollbar,
  .guide-header .page-top-nav::-webkit-scrollbar {
    display: none;
  }

  .page-header-v3 .page-top-nav a,
  .guide-header .page-top-nav a {
    flex: 0 0 auto;
  }

  .hero-carousel,
  .guide-section,
  .home-section,
  .venue-grid,
  .lists-grid,
  .cards-grid,
  .feature-row,
  .horizontal-list,
  .mobile-horizontal-row {
    max-width: 100%;
    overflow-x: clip;
  }

  .bottom-nav,
  .ai-fab,
  .floating-chat,
  .assistant-fab {
    max-width: 100vw;
  }
}

/* clean-v39: web mobil ana sayfa uygulama ritmi */
@media (max-width: 760px) {
  body.web-shell .guide-scroll {
    display: flex;
    flex-direction: column;
    gap: 15px;
    /* Uygulama girisi ust kismi biraz daha ferah: ust barla arama arasi nefes. */
    padding-top: 14px;
    padding-bottom: 96px;
  }

  /* Arama onu her seyin ustunde (order en kucuk). */
  body.web-shell .home-search-front {
    order: 0;
    width: 100%;
    padding: 2px 12px 0;
  }

  body.web-shell .story-hero {
    order: 1;
    width: 100%;
    margin-bottom: 0;
  }

  /* "Şu an açık" aramanin hemen altinda, kampanyalardan once. */
  body.web-shell #homeOpenNowSection {
    order: 2;
  }

  /* "Yakinindaki Mekanlari Kesfet" karti kullanici istegiyle Kampanyalarin
     ALTINA alindi: order kampanyadan (3) buyuk (4). Mobilde sira HTML degil
     bu order numaralariyla belirlenir. */
  body.web-shell .nearby-card {
    order: 4;
    width: calc(100% - 24px);
    margin: 0 auto;
  }

  /* Bugun olan etkinlikler KAMPANYALARIN hemen altinda (kullanici karari).
     Kampanya da order 2; DOM'da kampanyadan hemen sonra geldigi icin esitlik
     DOM sirasiyla cozulur ve bolum kampanyalarin altina oturur. Order verilmezse
     varsayilan 0 olup bolum en basa (arama onune) cikiyordu. */
  body.web-shell #homeTodayEventsSection {
    order: 2;
  }

  /* Duzce Gurmesi Listeleri: kullanici istegiyle "Yakinindaki Mekanlar"
     kartinin (4) hemen altinda. */
body.web-shell .guide-section:has(#myListsGrid) {
    order: 5;
  }

  /* Onerilen kullanicilar listelerin altinda. */
  body.web-shell #homeSuggestedUsersSection {
    order: 6;
  }

  body.web-shell .campaign-section {
    order: 3;
  }

  /* Bugun Sinemada. order verilmezse varsayilan 0 olup bolum en basa (arama
     onune) cikiyordu; mobilde sira HTML degil bu order ile belirlenir. */
  body.web-shell #homeCinemaSection {
    order: 7;
  }

  /* Duzce'deki Etkinlikler (bugun olmayanlar): kullanici istegiyle EN ALTTA,
     "Yakin Sehirlerde Etkinlikler"in (9) hemen ustunde. Bugunkuler yukarida ayri
     "Bugun Duzce'de" blogunda (order 2, kampanyalarin altinda). */
  body.web-shell #homeEventsSection {
    order: 8;
  }

  /* Yakin sehir etkinlikleri sayfanin altinda ayri bir bolum (mobil ile ayni;
     Duzce etkinlikleri yukari, kampanyalarin altina alindi). Order verilmezse
     varsayilan 0 olup bolum en basa cikiyordu; mobilde sira bu order ile belirlenir. */
  body.web-shell #homeNearbyEventsSection {
    order: 9;
  }

  body.web-shell #homeNewsSection {
    order: 10;
  }

  body.web-shell .user-home-section,
  body.web-shell .site-footer {
    display: none !important;
  }

  body.web-shell .guide-section {
    width: 100%;
    margin: 0;
  }

  body.web-shell .section-heading {
    padding: 0 12px;
    margin-bottom: 8px;
    align-items: center;
    flex-direction: row;
  }

  body.web-shell .section-heading h2 {
    font-size: clamp(1.16rem, 5.4vw, 1.44rem);
    line-height: 1.1;
    letter-spacing: 0;
  }

  /* Baslik yanindaki "Tum Listeler" linki mobilde gizlenmek yerine sade
     metin linke donusur (sondaki buyuk kart kaldirildi, tek giris noktasi bu).
     styles.css'teki display:none kurali (guide-scroll > guide-section zinciri)
     daha yuksek ozgulluge sahip oldugundan ayni zincirle yazilir. */
  body.web-shell .guide-scroll > .guide-section .section-heading .soft-button {
    display: inline-block !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    min-height: 0 !important;
    color: var(--tc-purple) !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
  }

  body.web-shell .my-lists-panel {
    width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: visible;
  }

  /* Serit tam genislige tasar (kenardan kenara kaydirilir) ama ilk kart
     diger bolumlerle ayni cizgiden (18px) baslar: hizasizlik burdan geliyordu. */
  body.web-shell .my-lists-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    margin-left: -18px;
    margin-right: -18px;
    padding: 2px 18px 6px;
    scroll-padding-left: 18px;
    scrollbar-width: none;
  }

  body.web-shell .my-lists-grid::-webkit-scrollbar {
    display: none;
  }

  body.web-shell .my-lists-grid .home-list-card,
  body.web-shell .my-lists-grid > article {
    flex: 0 0 min(72vw, 300px);
    width: min(72vw, 300px);
    scroll-snap-align: start;
  }

  /* Minimal kart: kayan seritte golge kirpilip kotu gorundugu icin golgesiz,
     ince cerceveli; her kartta tekrarlanan etiket ve "incele" satiri kaldirilir
     (kartin tamami zaten link, baslik + mekan sayisi yeterli). !important:
     satir ~1562'deki genel .home-list-card golge kurali da !important. */
  body.web-shell .my-lists-grid .home-list-card {
    box-shadow: none !important;
    border: 1px solid var(--tc-line) !important;
  }

  body.web-shell .my-lists-grid .home-list-body small,
  body.web-shell .my-lists-grid .home-list-body b {
    display: none;
  }

  body.web-shell .my-lists-grid .home-list-body {
    padding: 10px 12px 12px;
    gap: 2px;
  }

  body.web-shell .home-list-cover {
    aspect-ratio: 16 / 10;
  }

  body.web-shell .home-list-body h3 {
    display: -webkit-box;
    min-height: 2.42em;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  /* "home-list-more-card" (buyuk + kartli Tum listeler) kaldirildi;
     yerine bolum basligindaki sade "Tum Listeler" linki kullaniliyor. */

  body.web-shell .campaign-section {
    margin-top: 0;
  }

  body.web-shell .campaign-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    padding: 2px 12px 14px !important;
    scrollbar-width: none;
  }

  body.web-shell .campaign-grid::-webkit-scrollbar {
    display: none;
  }

  body.web-shell .campaign-card {
    flex: 0 0 min(78vw, 330px);
    width: min(78vw, 330px);
    min-height: 214px;
    scroll-snap-align: start;
  }

  body.web-shell .story-hero-slider {
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
  }

  body.web-shell .story-hero-slider .story-hero-slide {
    -webkit-user-drag: none;
  }

  body.web-shell .featured-carousel {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 14px;
    overflow-x: auto !important;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 12px;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    padding: 2px 12px 14px !important;
    scrollbar-width: none;
  }

  body.web-shell .featured-carousel::-webkit-scrollbar {
    display: none;
  }

  body.web-shell .featured-carousel .home-strip-card {
    flex: 0 0 min(76vw, 310px);
    width: min(76vw, 310px);
    scroll-snap-align: start;
  }

  body.web-shell .home-strip-cover {
    aspect-ratio: 16 / 10;
  }

  body.venues-web-body #venuesPageGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px;
  }

  body.venues-web-body .venues-web-shell {
    width: 100%;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  body.venues-web-body .dg-venue-card {
    border-radius: 11px;
  }

  body.venues-web-body .dg-venue-card .page-card-cover {
    aspect-ratio: 1 / 0.92 !important;
  }

  body.venues-web-body .dg-venue-card .page-open-badge {
    left: 8px;
    bottom: 8px;
    min-height: 30px;
    padding: 0 10px;
    font-size: 0.72rem;
  }

  body.venues-web-body .dg-venue-card-body {
    gap: 6px;
    padding: 8px 10px 12px;
  }

  body.venues-web-body .dg-venue-card h3 {
    min-height: 2.32em;
    font-size: 1rem;
    line-height: 1.16;
  }

  body.venues-web-body .dg-venue-card .page-service-meta b {
    font-size: 0.82rem;
  }

body.venues-web-body .dg-venue-card .page-service-badges span {
    min-height: 28px;
    padding: 0 10px;
    font-size: 0.75rem;
  }
}

/* Mobile web campaign cards: compact carousel, no overflow, app-like rhythm. */
body.web-shell .campaign-grid {
  align-items: stretch;
}

body.web-shell .campaign-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 210px;
  align-content: end;
  gap: 9px;
  border-radius: 16px;
  padding: 16px;
  background:
    radial-gradient(circle at 88% 8%, rgba(246, 194, 10, 0.36), transparent 32%),
    linear-gradient(135deg, #181020, #4b2484);
}

body.web-shell .campaign-card-cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.78;
}

body.web-shell .campaign-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(16, 10, 24, 0.04), rgba(16, 10, 24, 0.2) 38%, rgba(16, 10, 24, 0.92)),
    linear-gradient(90deg, rgba(16, 10, 24, 0.78), rgba(16, 10, 24, 0.16));
}

body.web-shell .campaign-card > * {
  position: relative;
  z-index: 1;
}

body.web-shell .campaign-card small {
  width: fit-content;
  border-radius: 999px;
  background: rgba(246, 194, 10, 0.94);
  color: #201713;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  padding: 6px 10px;
}

body.web-shell .campaign-card strong {
  display: -webkit-box;
  overflow: hidden;
  color: #fff;
  font-size: 1.08rem;
  line-height: 1.15;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.web-shell .campaign-card span {
  display: -webkit-box;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.88rem;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.web-shell .campaign-card a {
  width: fit-content;
  margin-top: 4px;
  border-radius: 999px;
  background: #f6c20a;
  color: #211713;
  box-shadow: none !important;
  font-size: 0.82rem;
  font-weight: 700;
  padding: 9px 13px;
}

/* Homepage campaign cards: image above, readable content below. */
body.web-shell .campaign-grid .campaign-card {
  display: flex;
  flex-direction: column;
  min-height: 0;
  gap: 0;
  padding: 0;
  border: 1px solid var(--tc-line);
  border-radius: 18px;
  background: #fff;
  color: var(--tc-ink);
  box-shadow: none !important;
}

body.web-shell .campaign-grid .campaign-card::after {
  display: none;
}

body.web-shell .campaign-grid .campaign-card-cover {
  position: static;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  height: auto;
  object-fit: cover;
  opacity: 1;
  border-radius: 18px 18px 0 0;
}

body.web-shell .campaign-grid .campaign-card small {
  margin: 14px 14px 0;
  background: #f6c20a;
  color: #211713;
}

body.web-shell .campaign-grid .campaign-card strong {
  margin: 10px 14px 0;
  color: var(--tc-ink);
  font-size: clamp(1.05rem, 2vw, 1.18rem);
  line-height: 1.14;
  -webkit-line-clamp: 2;
}

body.web-shell .campaign-grid .campaign-card span {
  margin: 8px 14px 0;
  color: var(--tc-gray);
  font-size: 0.9rem;
  line-height: 1.35;
  -webkit-line-clamp: 2;
}

body.web-shell .campaign-grid .campaign-card a {
  margin: 14px;
  background: var(--tc-purple);
  color: #fff;
  box-shadow: none !important;
}

@media (max-width: 760px) {
  body.web-shell .campaign-grid .campaign-card {
    flex-basis: min(80vw, 340px);
    width: min(80vw, 340px);
  }

  body.web-shell .campaign-grid .campaign-card strong {
    font-size: 1rem;
  }

  body.web-shell .campaign-grid .campaign-card a {
    width: calc(100% - 28px);
    text-align: center;
  }
}

/* Campaign listing page: clean cards, stable mobile widths. */
#campaignsPage {
  width: min(1440px, calc(100% - 32px));
  margin: 0 auto;
  padding: 28px 0 72px;
}

#campaignsPage .page-hero {
  display: grid;
  gap: 12px;
  min-height: 230px;
  align-content: end;
  /* Ustteki .page-hero kurali flex-column icin "justify-content: flex-end"
     diyor, yani "alta yasla". Burada display grid yapilinca ayni ozellik
     YATAY eksene gecti ve baslik sag kenara itildi (olculen: hero 18px'te
     basliyor, yazi 86px'te). Grid'de dikey hizayi align-content veriyor;
     yatayda tam genislik kalmali. */
  grid-template-columns: minmax(0, 1fr);
  justify-content: stretch;
  justify-items: stretch;
  padding: clamp(28px, 5vw, 56px);
  border-radius: 21px;
  background:
    radial-gradient(circle at 86% 18%, rgba(246, 194, 10, 0.2), transparent 34%),
    linear-gradient(135deg, #ffffff, #fff8e8 72%, #f3ecff);
}

#campaignsPage .page-hero h1 {
  margin: 0;
  max-width: 760px;
  font-size: clamp(2.4rem, 5.8vw, 4.9rem);
  line-height: 0.96;
  letter-spacing: 0;
}

#campaignsPage .page-hero p {
  max-width: 560px;
  margin: 0;
  color: var(--tc-gray);
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  line-height: 1.45;
}

#campaignsPage .page-section {
  margin-top: clamp(28px, 4vw, 48px);
}

#campaignsPage .page-section-title {
  align-items: center;
  margin-bottom: 18px;
}

#campaignsPage .page-section-title h2 {
  font-size: clamp(1.6rem, 3vw, 2.25rem);
  line-height: 1.05;
}

#campaignsPage .page-section-title span {
  border-radius: 999px;
  background: #fff3bf;
  color: var(--tc-purple);
  font-weight: 700;
  padding: 8px 12px;
}

#campaignsPage .page-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

#campaignsPage .campaign-page-card {
  display: grid;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--tc-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: none !important;
}

#campaignsPage .campaign-page-card-media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background:
    radial-gradient(circle at 80% 20%, rgba(246, 194, 10, 0.34), transparent 34%),
    linear-gradient(135deg, #211713, #5f24c8);
}

#campaignsPage .campaign-page-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#campaignsPage .campaign-page-card-media.is-empty::before {
  content: "DG";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(2.4rem, 7vw, 4rem);
  font-weight: 700;
}

#campaignsPage .campaign-page-card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(16, 10, 24, 0), rgba(16, 10, 24, 0.34));
  pointer-events: none;
}

#campaignsPage .campaign-page-badge {
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 1;
  width: auto;
  max-width: calc(100% - 28px);
  min-width: 0;
  height: auto;
  border-radius: 999px;
  background: #f6c20a;
  color: #211713;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1;
  padding: 8px 11px;
  white-space: nowrap;
}

#campaignsPage .campaign-page-card-body {
  display: grid;
  gap: 10px;
  padding: 16px;
}

#campaignsPage .campaign-page-card-body h3 {
  margin: 0;
  font-size: clamp(1.12rem, 1.8vw, 1.32rem);
  line-height: 1.13;
}

#campaignsPage .campaign-page-card-body h3 a {
  color: var(--tc-ink);
}

#campaignsPage .campaign-page-card-body p {
  display: -webkit-box;
  min-height: 3.8em;
  margin: 0;
  overflow: hidden;
  color: var(--tc-gray);
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

#campaignsPage .campaign-page-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 4px;
}

#campaignsPage .campaign-page-card-foot small {
  min-width: 0;
  overflow: hidden;
  color: #7a7288;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#campaignsPage .campaign-page-action {
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--tc-purple);
  color: #fff;
  font-weight: 700;
  box-shadow: none !important;
  padding: 9px 13px;
}

@media (max-width: 980px) {
  #campaignsPage .page-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  #campaignsPage {
    width: 100%;
    padding: 18px max(14px, env(safe-area-inset-left)) 92px max(14px, env(safe-area-inset-right));
    overflow: clip;
  }

  #campaignsPage .page-hero {
    min-height: 101px;
    border-radius: 18px;
    padding: 22px;
  }

  #campaignsPage .page-section-title {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  #campaignsPage .page-card-grid {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }

  #campaignsPage .campaign-page-card {
    border-radius: 16px;
  }

  #campaignsPage .campaign-page-card-media {
    aspect-ratio: 16 / 9;
  }

  #campaignsPage .campaign-page-card-body {
    padding: 14px;
  }

  #campaignsPage .campaign-page-card-body p {
    min-height: 0;
    -webkit-line-clamp: 2;
  }

  #campaignsPage .campaign-page-card-foot {
    align-items: flex-start;
    flex-direction: column;
  }

  #campaignsPage .campaign-page-action {
    width: 100%;
    text-align: center;
  }
}

/* Search page: app-like mobile rhythm, clean desktop fallback. */
#searchPage {
  width: min(1040px, calc(100% - 32px));
  margin: 0 auto;
  padding: 28px 0 78px;
}

#searchPage .guide-header + .search-app-head {
  margin-top: clamp(22px, 4vw, 42px);
}

.search-app-head {
  display: grid;
  gap: 20px;
}

.search-app-head h1 {
  margin: 0;
  color: #11100d;
  font-size: clamp(3rem, 7vw, 5.4rem);
  line-height: 0.95;
  letter-spacing: 0;
}

#searchPage .page-search-form {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 12px 12px 12px 20px;
  border: 1px solid rgba(91, 65, 153, 0.12);
  border-radius: 23px;
  background: #fff;
  box-shadow: none !important;
}

.search-input-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  color: #6f6b72;
}

.search-input-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.2;
}

#searchPage .page-search-form input {
  min-height: 48px;
  min-width: 0;
  border: 0;
  background: transparent;
  color: #11100d;
  font-size: clamp(1.05rem, 2vw, 1.28rem);
  font-weight: 650;
  outline: 0;
}

#searchPage .page-search-form input::placeholder {
  color: #8e8a8f;
}

#searchPage .page-search-form button {
  min-height: 46px;
  min-width: 84px;
  border: 0;
  border-radius: 15px;
  background: #181124;
  color: #fff;
  font-weight: 700;
}

.search-popular-section,
.search-recent-section {
  margin-top: clamp(28px, 5vw, 48px);
}

.search-popular-section h2,
.search-chip-title h2 {
  margin: 0 0 14px;
  color: #11100d;
  font-size: clamp(1.6rem, 3.2vw, 2.2rem);
  line-height: 1.05;
}

.search-chip-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.search-chip-title button {
  border: 0;
  border-radius: 999px;
  background: var(--tc-purple-soft);
  color: var(--tc-purple);
  font-weight: 700;
  padding: 9px 12px;
}

#searchPage .page-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
  overflow: visible;
  padding: 0;
}

#searchPage .page-filter-bar button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  border: 1px solid rgba(91, 65, 153, 0.14);
  border-radius: 999px;
  background: #fff;
  color: #11100d;
  box-shadow: none !important;
  font-size: 1rem;
  font-weight: 700;
  padding: 0 16px;
}

#searchPage .page-filter-bar button:hover,
#searchPage .page-filter-bar button:focus-visible {
  background: var(--tc-purple);
  color: #fff;
}

.search-ai-hint {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 28px;
  border: 1px solid #ded2f2;
  border-radius: 18px;
  background: #f4efff;
  color: var(--tc-purple-dark);
  padding: 18px 20px;
}

.search-ai-hint span {
  flex: 0 0 auto;
  color: var(--tc-purple);
  font-size: 1.5rem;
}

.search-ai-hint strong {
  font-size: clamp(1rem, 2vw, 1.28rem);
  line-height: 1.28;
}

#searchPage .search-results-section {
  margin-top: clamp(34px, 6vw, 56px);
}

#searchPage .search-results-section[hidden],
#searchPage .search-recent-section[hidden] {
  display: none !important;
}

#searchPage .panel-work-list {
  display: grid;
  gap: 14px;
}

#searchPage .page-search-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  border: 1px solid var(--tc-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: none !important;
  padding: 14px;
}

#searchPage .page-search-card small {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  background: #fff3bf;
  color: #5b4199;
  font-weight: 700;
  padding: 5px 9px;
}

#searchPage .page-search-card strong {
  display: block;
  margin-top: 6px;
  color: #11100d;
  font-size: 1.12rem;
  line-height: 1.15;
}

#searchPage .page-search-card span {
  display: -webkit-box;
  margin-top: 4px;
  overflow: hidden;
  color: var(--tc-gray);
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#searchPage .page-search-thumb {
  width: 68px;
  height: 68px;
  border-radius: 15px;
  object-fit: cover;
}

/* Bas harf rozeti: bu id'li kural seti rengi eziyordu, burada acikca verilir. */
#searchPage .page-search-thumb-fallback,
.page-search-card .page-search-thumb-fallback {
  background: hsl(var(--thumb-hue, 260) 52% 92%) !important;
  border: 1px solid hsl(var(--thumb-hue, 260) 44% 78%) !important;
  color: hsl(var(--thumb-hue, 260) 58% 28%) !important;
  font-size: 1.3rem !important;
  font-weight: 800 !important;
}

#searchPage .page-search-card a {
  border-radius: 999px;
  background: var(--tc-purple);
  color: #fff;
  font-weight: 700;
  padding: 10px 13px;
}

@media (max-width: 760px) {
  #searchPage {
    width: 100%;
    padding: 20px max(16px, env(safe-area-inset-left)) 104px max(16px, env(safe-area-inset-right));
    overflow: clip;
  }

  #searchPage .guide-header + .search-app-head {
    margin-top: 30px;
  }

  .search-app-head {
    gap: 22px;
  }

  .search-app-head h1 {
    font-size: clamp(3.1rem, 14vw, 4.1rem);
  }

  #searchPage .page-search-form {
    min-height: 59px;
    border-radius: 23px;
    padding: 8px 12px 8px 18px;
  }

  #searchPage .page-search-form input {
    min-height: 50px;
    font-size: clamp(1.18rem, 5.2vw, 1.48rem);
  }

  #searchPage .page-search-form button {
    display: none;
  }

  .search-popular-section,
  .search-recent-section {
    margin-top: 34px;
  }

  .search-popular-section h2,
  .search-chip-title h2 {
    font-size: clamp(1.6rem, 7vw, 2rem);
  }

  #searchPage .page-filter-bar {
    gap: 12px 10px;
  }

  #searchPage .page-filter-bar button {
    min-height: 48px;
    font-size: clamp(1rem, 4.6vw, 1.22rem);
    padding: 0 14px;
  }

  .search-ai-hint {
    align-items: flex-start;
    margin-top: 28px;
    border-radius: 18px;
    padding: 18px;
  }

  .search-ai-hint strong {
    font-size: clamp(1.05rem, 4.7vw, 1.3rem);
  }

  #searchPage .page-section-title {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  #searchPage .page-section-title h2 {
    font-size: clamp(2rem, 8vw, 2.7rem);
  }

  #searchPage .page-section-title span {
    border-radius: 999px;
    background: #fff3bf;
    color: var(--tc-purple);
    font-size: 1rem;
    font-weight: 700;
    padding: 8px 12px;
  }

  #searchPage .page-search-card {
    grid-template-columns: 76px minmax(0, 1fr);
    align-items: start;
  }

  #searchPage .page-search-card a {
    grid-column: 1 / -1;
    text-align: center;
  }

  #searchPage .page-search-thumb {
    width: 76px;
    height: 76px;
  }
}

/* ---------- 2026-07 soft design system: tek merkezden ince ayar ---------- */
:root {
  --tc-radius-sm: 12px;
  --tc-radius: 12px;
  --tc-radius-lg: 16px;
  --tc-radius-xl: 20px;
  --tc-weight-regular: 400;
  --tc-weight-medium: 500;
  --tc-weight-semibold: 600;
  --tc-weight-bold: 700;
  --tc-weight-heavy: 760;
  --tc-shadow: 0 4px 12px rgba(38, 28, 61, 0.04);
  --tc-shadow-hover: 0 7px 17px rgba(38, 28, 61, 0.068);
  --tc-shadow-float: 0 14px 34px rgba(38, 28, 61, 0.10);
  --tc-card-border: rgba(36, 27, 53, 0.075);
}

body.guide-body,
body.web-shell,
body.venue-page-body {
  font-weight: var(--tc-weight-medium);
  letter-spacing: 0;
  overflow-x: clip;
}

.page-hero h1,
.search-app-head h1,
.page-section-title h2,
.section-title h2,
.venues-web-title h1,
#campaignsPage .page-hero h1 {
  font-weight: var(--tc-weight-heavy);
  letter-spacing: 0;
}

.page-hero h1 {
  font-size: clamp(1.8rem, 4.6vw, 3.35rem);
}

.page-section-title h2,
.section-title h2 {
  font-size: clamp(1.35rem, 2.5vw, 2rem);
}

.page-list-card,
.campaign-page-card,
.campaign-card,
.panel-work-card {
  border-color: var(--tc-card-border);
  box-shadow: none !important;
}

.page-list-card h3,
.campaign-page-card h3,
.campaign-card strong {
  font-weight: var(--tc-weight-bold);
  letter-spacing: 0;
}

.page-list-card p,
.campaign-page-card p,
.campaign-card span,
.page-hero p {
  font-weight: var(--tc-weight-medium);
}

.page-card-head small,
.page-service-meta b,
.page-open-badge,
.page-list-badge,
.campaign-page-badge,
.page-filter-bar button {
  font-weight: var(--tc-weight-semibold);
  letter-spacing: 0;
}

.page-venue-card {
  cursor: pointer;
  overflow: hidden;
}

.page-venue-card .page-card-cover {
  aspect-ratio: 16 / 11;
}

.page-venue-card h3 {
  display: -webkit-box;
  overflow: hidden;
  min-height: 0;
  line-height: 1.15;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.page-venue-card p {
  display: -webkit-box;
  overflow: hidden;
  min-height: 0;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.page-venue-card .page-venue-stack {
  display: none;
}

.page-venue-card .page-service-meta,
.page-venue-card .page-service-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.page-venue-card .page-service-meta b,
.page-venue-card .page-service-badges span {
  min-height: 28px;
  padding: 8px 10px;
  font-size: 0.78rem;
  line-height: 1;
}

body.web-shell .campaign-grid .campaign-card,
#campaignsPage .campaign-page-card {
  border-radius: var(--tc-radius-lg);
}

body.web-shell .campaign-grid .campaign-card-cover,
#campaignsPage .campaign-page-card-media {
  border-radius: var(--tc-radius-lg) var(--tc-radius-lg) 0 0;
}

body.web-shell .campaign-grid .campaign-card small,
#campaignsPage .campaign-page-badge {
  padding: 6px 10px;
  font-size: 0.76rem;
}

body.web-shell .campaign-grid .campaign-card strong,
#campaignsPage .campaign-page-card-body h3 {
  font-size: clamp(1rem, 1.8vw, 1.18rem);
  line-height: 1.18;
}

body.web-shell .campaign-grid .campaign-card span,
#campaignsPage .campaign-page-card-body p {
  font-size: 0.9rem;
  line-height: 1.4;
}

@media (max-width: 760px) {
  body.guide-body,
  body.web-shell,
  body.venue-page-body {
    font-size: 15px;
  }

  .page-shell,
  .venues-web-shell {
    max-width: 100vw;
    overflow-x: clip;
  }

  .page-hero,
  .venues-page-hero,
  .lists-page-hero,
  .campaigns-page-hero,
  .events-page-hero,
  .routes-page-hero,
  .city-page-hero {
    border-radius: var(--tc-radius-lg);
    padding: 28px 22px;
  }

  .page-hero h1,
  .search-app-head h1,
  .venues-web-title h1,
  #campaignsPage .page-hero h1 {
    font-size: clamp(2rem, 10vw, 2.75rem) !important;
    line-height: 1.04;
  }

  .page-hero p,
  .venues-web-title p {
    font-size: 1rem;
    line-height: 1.42;
  }

  .page-section-title h2,
  .section-title h2,
  #searchPage .page-section-title h2,
  #campaignsPage .page-section-title h2 {
    font-size: clamp(1.55rem, 7vw, 2.1rem) !important;
    line-height: 1.08;
  }

  body.venues-web-body #venuesPageGrid {
    align-items: start;
    gap: 12px !important;
  }

  body.venues-web-body .page-venue-card,
  body.venues-web-body .dg-venue-card {
    min-height: 0;
    border-radius: var(--tc-radius);
  }

  body.venues-web-body .page-venue-card .page-card-cover,
  body.venues-web-body .dg-venue-card .page-card-cover {
    aspect-ratio: 1 / 0.82 !important;
  }

  body.venues-web-body .page-venue-card .page-card-head,
  body.venues-web-body .dg-venue-card .page-card-head {
    padding: 8px 10px 0;
  }

  body.venues-web-body .page-venue-card h3,
  body.venues-web-body .dg-venue-card h3 {
    margin: 8px 10px 0;
    font-size: 1rem;
    line-height: 1.16;
    min-height: 2.32em;
  }

  body.venues-web-body .page-venue-card p,
  body.venues-web-body .dg-venue-card p {
    display: none !important;
  }

  body.venues-web-body .page-venue-card .page-service-meta,
  body.venues-web-body .page-venue-card .page-service-badges,
  body.venues-web-body .dg-venue-card .page-service-meta,
  body.venues-web-body .dg-venue-card .page-service-badges {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    overflow: hidden;
    max-height: 30px;
    margin: 8px 10px 0 !important;
    padding: 0 !important;
  }

  body.venues-web-body .page-venue-card .page-service-meta b:nth-child(n+3),
  body.venues-web-body .dg-venue-card .page-service-meta b:nth-child(n+3),
  body.venues-web-body .page-venue-card .page-service-badges span:nth-child(n+2),
  body.venues-web-body .dg-venue-card .page-service-badges span:nth-child(n+2) {
    display: none;
  }

  body.venues-web-body .page-venue-card .page-service-meta b,
  body.venues-web-body .page-venue-card .page-service-badges span,
  body.venues-web-body .dg-venue-card .page-service-meta b,
  body.venues-web-body .dg-venue-card .page-service-badges span {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .page-open-badge {
    font-size: 0.72rem;
    padding: 7px 10px;
  }

  .page-filter-bar button {
    min-height: 42px;
    padding: 0 12px;
    font-size: 0.96rem;
  }

  #searchPage .page-search-form {
    min-height: 54px;
    border-radius: 20px;
  }

  #searchPage .page-search-form input {
    min-height: 46px;
    font-size: 1.12rem;
  }

  #searchPage .page-filter-bar button {
    min-height: 45px;
    font-size: 1rem;
  }
}

/* clean-v55: final-final guard. Bu blok dosyanin en sonunda kalmali. */
@media (max-width: 760px) {
  .site-header,
  .page-header-v3,
  .guide-header {
    width: 100% !important;
    max-width: 100vw !important;
    margin-inline: 0 !important;
    border-radius: 0 0 20px 20px !important;
    overflow: hidden !important;
  }

  .site-header-inner,
  .page-header-v3 .page-header-top {
    grid-template-columns: minmax(0, 1fr) 54px !important;
    gap: 10px !important;
    padding: 18px 16px 10px !important;
  }

  .brand-mark,
  .page-header-v3 .brand-mark {
    width: 56px !important;
    height: 56px !important;
    flex-basis: 56px !important;
    border-radius: 14px !important;
  }

  .brand-title,
  .page-header-v3 .brand-title {
    font-size: 1.16rem !important;
    line-height: 1.06 !important;
    font-weight: 600 !important;
  }

  .login-action,
  .page-account-link,
  .page-header-v3 .login-action {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
  }

  .site-search,
  .page-header-v3 .site-search {
    min-height: 49px !important;
    border-radius: 17px !important;
    padding: 0 10px 0 15px !important;
  }

  .site-search input,
  .page-header-v3 .site-search input {
    min-height: 48px !important;
    font-size: 0.96rem !important;
    font-weight: 500 !important;
  }

  .site-subnav,
  .page-header-v3 .page-subnav {
    padding: 8px 16px 16px !important;
  }

  .page-header-v3 .page-top-nav,
  .guide-header .page-top-nav,
  .site-nav {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 5px !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  .page-header-v3 .page-top-nav a,
  .guide-header .page-top-nav a,
  .site-nav a {
    min-height: 36px !important;
    padding: 0 3px !important;
    border-radius: 15px !important;
    font-size: 11px !important;
    font-weight: 550 !important;
    line-height: 1 !important;
  }

  .site-nav a:nth-child(n+5),
  .page-header-v3 .page-top-nav a:nth-child(n+5),
  .guide-header .page-top-nav a:nth-child(n+5) {
    display: none !important;
  }

  .search-app-head h1,
  #searchPage .search-app-head h1,
  .page-hero h1,
  .venues-web-hero h1,
  #campaignsPage .page-hero h1 {
    font-size: clamp(1.55rem, 6.8vw, 1.95rem) !important;
    font-weight: 600 !important;
    line-height: 1.04 !important;
  }

  .page-section-title h2,
  .section-heading h2,
  .section-title h2,
  #searchPage .page-section-title h2,
  #campaignsPage .page-section-title h2 {
    font-size: clamp(1.15rem, 5.1vw, 1.42rem) !important;
    font-weight: 600 !important;
    line-height: 1.12 !important;
  }
}

/* clean-v56: final EOF soft polish */
:root {
  --dg-font-weight-normal: 430;
  --dg-font-weight-medium: 560;
  --dg-font-weight-bold: 680;
  --dg-card-radius: 13px;
  --dg-card-shadow: 0 6px 17px rgba(31, 22, 42, 0.06);
  --dg-soft-border: rgba(40, 29, 55, 0.08);
}

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

body,
button,
input,
select,
textarea {
  font-weight: var(--dg-font-weight-normal);
  letter-spacing: 0;
  text-rendering: geometricPrecision;
}

.site-header,
.page-header-v3,
.guide-header {
  box-shadow: none !important;
}

.site-nav a,
.page-top-nav a,
.mobile-bottom-nav a {
  font-weight: 550 !important;
}

.venue-card,
.list-card,
.campaign-card,
.news-card,
.event-card,
.venue-detail-card,
.mobile-detail-card,
.profile-panel,
.auth-panel,
.search-result-card {
  border-radius: var(--dg-card-radius) !important;
  box-shadow: none !important;
  border-color: var(--dg-soft-border) !important;
}

.venue-card h3,
.venue-card-title,
.list-card h3,
.campaign-card h3,
.news-card h3,
.event-card h3 {
  font-weight: 600 !important;
  line-height: 1.12 !important;
}

.venue-card p,
.list-card p,
.campaign-card p,
.news-card p,
.event-card p,
.venue-meta,
.venue-card-meta,
.list-card-desc {
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

@media (max-width: 760px) {
  .site-header,
  .page-header-v3,
  .guide-header {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    border-radius: 0 0 20px 20px !important;
    overflow: hidden !important;
  }

  .site-header-inner,
  .page-header-v3-inner,
  .guide-header-inner,
  .home-page,
  .mobile-app-shell,
  .mobile-detail-shell,
  .page-shell,
  .venues-web-shell,
  .lists-page,
  .campaigns-page,
  .search-page,
  .assistant-page,
  .account-page {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  .home-page,
  .mobile-app-shell,
  .page-shell,
  .venues-web-shell,
  .lists-page,
  .campaigns-page,
  .search-page {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .hero-slider,
  .home-hero,
  .page-hero,
  .lists-page-hero,
  .venues-web-hero,
  .campaign-hero {
    border-radius: 18px !important;
    box-shadow: none !important;
  }

  .home-section-title,
  .page-section-title,
  .section-heading,
  .section-title {
    margin-top: 26px !important;
    margin-bottom: 14px !important;
  }

  .home-section-title h2,
  .page-section-title h2,
  .section-heading h2,
  .section-title h2,
  .lists-page h2,
  .venues-web-title h2,
  #campaignsPage h2 {
    font-size: clamp(1.28rem, 5.4vw, 1.62rem) !important;
    font-weight: 600 !important;
    line-height: 1.12 !important;
  }

  .page-hero h1,
  .lists-page-hero h1,
  .venues-web-hero h1,
  .venues-web-title h1,
  .search-app-head h1,
  #searchPage .search-app-head h1,
  #campaignsPage .page-hero h1,
  #eventsPage .page-hero h1,
  #cityPage .page-hero h1 {
    font-size: clamp(1.7rem, 7vw, 2.08rem) !important;
    font-weight: 600 !important;
    line-height: 1.04 !important;
  }

  .venue-detail-hero h1,
  .mobile-detail-title,
  .venue-detail-title {
    font-size: clamp(2rem, 8.2vw, 2.75rem) !important;
    font-weight: 600 !important;
    line-height: 1.02 !important;
  }

  .venue-card,
  .list-card,
  .campaign-card,
  .news-card,
  .event-card {
    border-radius: 11px !important;
  }

  .venue-card h3,
  .venue-card-title,
  .list-card h3,
  .campaign-card h3 {
    font-size: clamp(0.98rem, 4.1vw, 1.15rem) !important;
    font-weight: 600 !important;
  }

  .venue-card p,
  .list-card p,
  .campaign-card p,
  .venue-card-meta,
  .list-card-desc {
    font-size: 0.86rem !important;
  }

  .pill,
  .chip,
  .tag,
  .venue-chip,
  .service-pill,
  .status-pill {
    font-size: 0.78rem !important;
    font-weight: 550 !important;
    border-radius: 999px !important;
  }

  .floating-ai-chat,
  .ai-chat-fab {
    max-width: calc(100vw - 32px) !important;
  }
}

/* clean-v56: EOF override. Bu blok dosyanin en sonunda kalmali. */
:root {
  --tc-radius-sm: 11px;
  --tc-radius-md: 16px;
  --tc-radius-lg: 21px;
  --tc-radius-xl: 26px;
  --tc-shadow-soft: 0 14px 34px rgba(31, 19, 45, 0.08);
  --tc-shadow-card: 0 5px 11px rgba(31, 19, 45, 0.053);
  --tc-border-soft: rgba(45, 31, 63, 0.10);
}

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

body.web-shell,
body.guide-body {
  font-weight: 400;
  letter-spacing: 0;
}

body.web-shell h1,
body.web-shell h2,
body.web-shell h3,
body.guide-body h1,
body.guide-body h2,
body.guide-body h3 {
  letter-spacing: 0;
  font-weight: 600;
}

.site-header,
.page-header-v3,
.guide-header,
.page-hero,
.venues-web-hero,
.venues-page-hero,
.lists-page-hero,
.campaigns-page-hero,
.events-page-hero,
.routes-page-hero,
.city-page-hero,
.page-list-card,
.home-venue-card,
.home-list-card,
.campaign-card,
.campaign-page-card,
.venue-card,
.detail-card,
.detail-hero-card,
.search-ai-hint,
.page-empty-card {
  box-shadow: none !important;
  border-color: var(--tc-border-soft) !important;
}

.page-list-card,
.home-venue-card,
.home-list-card,
.campaign-card,
.campaign-page-card,
.venue-card {
  overflow: hidden;
}

.page-list-card h3,
.home-venue-card h3,
.home-list-body h3,
.campaign-card strong,
.campaign-page-card h3,
.venue-card h3 {
  font-weight: 600 !important;
}

.page-list-card p,
.home-venue-card p,
.campaign-card span,
.campaign-page-card p,
.venue-card p,
.page-hero p {
  font-weight: 400 !important;
}

.campaign-card img,
.campaign-page-card img,
.page-list-card img,
.home-venue-card img,
.venue-card img {
  display: block;
  max-width: 100%;
}

@media (max-width: 760px) {
  body.web-shell,
  body.guide-body {
    background: #fbf7ef !important;
  }

  .site-header,
  .page-header-v3,
  .guide-header {
    position: relative !important;
    inset-inline: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100vw !important;
    margin: 0 !important;
    border-radius: 0 0 20px 20px !important;
  }

  .site-header-inner,
  .page-header-v3 .page-header-top,
  .guide-header {
    max-width: 100% !important;
  }

  .page-hero,
  .venues-web-hero,
  .venues-page-hero,
  .lists-page-hero,
  .campaigns-page-hero,
  .events-page-hero,
  .routes-page-hero,
  .city-page-hero {
    margin-top: 18px !important;
    padding: 22px 18px !important;
    border-radius: 20px !important;
  }

  .page-hero h1,
  .lists-page-hero h1,
  .venues-web-hero h1,
  .venues-web-title h1,
  .search-app-head h1,
  #searchPage .search-app-head h1,
  #campaignsPage .page-hero h1,
  #eventsPage .page-hero h1,
  #cityPage .page-hero h1 {
    font-size: clamp(1.55rem, 6.8vw, 2rem) !important;
    line-height: 1.04 !important;
    font-weight: 600 !important;
  }

  .lists-page-hero p,
  .page-hero p,
  .venues-web-hero p,
  .venues-web-title p {
    font-size: 0.94rem !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
  }

  .section-heading h2,
  .section-title h2,
  .page-section-title h2,
  #searchPage .page-section-title h2,
  #campaignsPage .page-section-title h2 {
    font-size: clamp(1.18rem, 5vw, 1.48rem) !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;
  }

  .page-section-title {
    align-items: flex-start !important;
    gap: 8px !important;
  }

  .page-section-title > span,
  .section-meta,
  .pill-count {
    max-width: 100% !important;
    white-space: normal !important;
    line-height: 1.2 !important;
  }

  .site-nav,
  .page-header-v3 .page-top-nav,
  .guide-header .page-top-nav {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .site-nav a,
  .page-header-v3 .page-top-nav a,
  .guide-header .page-top-nav a {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .page-list-card,
  .home-list-card,
  .campaign-card,
  .campaign-page-card,
  .venue-card,
  .home-venue-card {
    border-radius: 15px !important;
    box-shadow: none !important;
  }

  .page-list-card h3,
  .home-list-body h3,
  .campaign-card strong,
  .campaign-page-card h3,
  .venue-card h3,
  .home-venue-card h3 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
  }

  .page-list-card p,
  .campaign-card span,
  .campaign-page-card p,
  .venue-card p,
  .home-venue-card p {
    font-size: 0.86rem !important;
    line-height: 1.36 !important;
  }

  .page-list-badge,
  .campaign-page-badge,
  .venue-status-pill,
  .home-status-pill,
  .page-chip {
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
  }

  .search-popular-section h2,
  .search-chip-title h2 {
    font-size: clamp(1.2rem, 5.2vw, 1.45rem) !important;
  }

  #searchPage .page-filter-bar button,
  .search-ai-hint strong {
    font-size: 0.92rem !important;
    font-weight: 550 !important;
  }

  .detail-hero h1,
  .venue-detail-hero h1,
  .mobile-detail-hero h1,
  body:has(.detail-hero) h1 {
    font-size: clamp(2rem, 9.2vw, 2.7rem) !important;
    line-height: 0.98 !important;
    font-weight: 600 !important;
  }

  .detail-actions,
  .venue-detail-actions {
    gap: 10px !important;
  }

  .detail-actions a,
  .detail-actions button,
  .venue-detail-actions a,
  .venue-detail-actions button {
    min-width: 0 !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
  }
}

/* clean-v55: final-final guard. Bu blok dosyanin en sonunda kalmali. */
@media (max-width: 760px) {
  .site-header,
  .page-header-v3,
  .guide-header {
    width: 100% !important;
    max-width: 100vw !important;
    margin-inline: 0 !important;
    border-radius: 0 0 20px 20px !important;
    overflow: hidden !important;
  }

  .site-header-inner,
  .page-header-v3 .page-header-top {
    grid-template-columns: minmax(0, 1fr) 54px !important;
    gap: 10px !important;
    padding: 18px 16px 10px !important;
  }

  .brand-mark,
  .page-header-v3 .brand-mark {
    width: 56px !important;
    height: 56px !important;
    flex-basis: 56px !important;
    border-radius: 14px !important;
  }

  .brand-title,
  .page-header-v3 .brand-title {
    font-size: 1.16rem !important;
    line-height: 1.06 !important;
    font-weight: 600 !important;
  }

  .login-action,
  .page-account-link,
  .page-header-v3 .login-action {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
  }

  .site-search,
  .page-header-v3 .site-search {
    min-height: 49px !important;
    border-radius: 17px !important;
    padding: 0 10px 0 15px !important;
  }

  .site-search input,
  .page-header-v3 .site-search input {
    min-height: 48px !important;
    font-size: 0.96rem !important;
    font-weight: 500 !important;
  }

  .site-subnav,
  .page-header-v3 .page-subnav {
    padding: 8px 16px 16px !important;
  }

  .site-nav,
  .page-header-v3 .page-top-nav,
  .guide-header .page-top-nav {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 5px !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  .site-nav a,
  .page-header-v3 .page-top-nav a,
  .guide-header .page-top-nav a {
    min-height: 36px !important;
    padding: 0 3px !important;
    border-radius: 15px !important;
    font-size: 11px !important;
    font-weight: 550 !important;
    line-height: 1 !important;
  }

  .site-nav a:nth-child(n+5),
  .page-header-v3 .page-top-nav a:nth-child(n+5),
  .guide-header .page-top-nav a:nth-child(n+5) {
    display: none !important;
  }

  .page-hero h1,
  .venues-web-hero h1,
  .search-app-head h1,
  #searchPage .search-app-head h1,
  #campaignsPage .page-hero h1 {
    font-size: clamp(1.55rem, 6.8vw, 1.95rem) !important;
    font-weight: 600 !important;
    line-height: 1.04 !important;
  }

  .page-section-title h2,
  .section-heading h2,
  .section-title h2,
  #searchPage .page-section-title h2,
  #campaignsPage .page-section-title h2 {
    font-size: clamp(1.15rem, 5.1vw, 1.42rem) !important;
    font-weight: 600 !important;
    line-height: 1.12 !important;
  }
}

/* clean-v54: ortak soft UI kilidi. Yeni web sayfalarinda kaba tipografi/kart tasmasini buradan yonet. */
:root {
  --tc-weight-heavy: 680;
  --tc-weight-title: 650;
  --tc-weight-body: 500;
  --tc-radius-lg: 18px;
  --tc-radius-xl: 23px;
  --tc-shadow-card: 0 5px 11px rgba(30, 22, 45, 0.053);
  --tc-shadow-float: 0 14px 34px rgba(79, 36, 145, 0.12);
}

body.guide-body,
body.web-shell,
body.venue-page-body {
  font-weight: var(--tc-weight-body);
}

.page-hero h1,
.venues-web-hero h1,
.search-app-head h1,
.page-section-title h2,
.section-heading h2,
.section-title h2,
.page-list-card h3,
.venue-card h3,
.campaign-card strong,
.campaign-page-card-body h3,
.home-list-body h3 {
  font-weight: var(--tc-weight-title) !important;
  letter-spacing: 0 !important;
}

.page-list-card,
.venue-card,
.campaign-card,
.campaign-page-card,
.home-list-card,
.home-place-card,
.search-result-card {
  border: 1px solid rgba(36, 27, 53, 0.07) !important;
  box-shadow: none !important;
}

@media (max-width: 760px) {
  body.guide-body,
  body.web-shell,
  body.venue-page-body {
    max-width: 100vw !important;
    overflow-x: clip !important;
  }

  .site-header,
  .page-header-v3,
  .guide-header {
    width: 100% !important;
    max-width: 100vw !important;
    margin: 0 !important;
    border-radius: 0 0 20px 20px !important;
    box-shadow: none !important;
  }

  .site-header-inner,
  .page-header-v3 .page-header-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 56px !important;
    gap: 12px !important;
    padding: 18px 16px 10px !important;
    align-items: center !important;
  }

  .guide-brand,
  .page-header-v3 .guide-brand {
    min-width: 0 !important;
    gap: 12px !important;
  }

  .brand-mark,
  .page-header-v3 .brand-mark {
    width: 58px !important;
    height: 58px !important;
    border-radius: 15px !important;
    flex: 0 0 58px !important;
  }

  .brand-title,
  .page-header-v3 .brand-title {
    font-size: 1.22rem !important;
    font-weight: 600 !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .brand-subtitle,
  .page-header-v3 .brand-subtitle {
    display: none !important;
  }

  .guide-actions {
    display: contents !important;
  }

  .round-action,
  .menu-action,
  .site-biz-cta,
  .page-header-v3 .round-action,
  .page-header-v3 .site-biz-cta {
    display: none !important;
  }

  .login-action,
  .page-account-link,
  .page-header-v3 .login-action {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    justify-content: center !important;
    box-shadow: none !important;
  }

  .login-action span,
  .page-account-link span,
  .page-header-v3 .login-action span {
    display: none !important;
  }

  .site-search,
  .page-header-v3 .site-search {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    min-height: 50px !important;
    border-radius: 18px !important;
    padding: 0 10px 0 16px !important;
    box-shadow: none !important;
  }

  .site-search input,
  .page-header-v3 .site-search input {
    min-height: 49px !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
  }

  .site-search button,
  .page-header-v3 .site-search button {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
  }

  .site-subnav,
  .page-header-v3 .page-subnav {
    padding: 8px 16px 16px !important;
    overflow: hidden !important;
  }

  .site-nav,
  .page-header-v3 .page-top-nav,
  .guide-header .page-top-nav {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    overflow: hidden !important;
  }

  .site-nav a,
  .page-header-v3 .page-top-nav a,
  .guide-header .page-top-nav a {
    min-width: 0 !important;
    min-height: 36px !important;
    padding: 0 4px !important;
    border-radius: 15px !important;
    font-size: 11.5px !important;
    font-weight: 550 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .site-nav a:nth-child(n+5),
  .page-header-v3 .page-top-nav a:nth-child(n+5),
  .guide-header .page-top-nav a:nth-child(n+5) {
    display: none !important;
  }

  .story-hero,
  .page-hero,
  .venues-web-hero {
    border-radius: 18px !important;
  }

  .page-hero h1,
  .venues-web-hero h1,
  .search-app-head h1 {
    font-size: clamp(1.62rem, 7.2vw, 2rem) !important;
    line-height: 1.03 !important;
  }

  .page-hero p,
  .venues-web-hero p,
  .search-app-head p {
    font-size: 0.94rem !important;
    line-height: 1.42 !important;
    font-weight: 500 !important;
  }

  .page-section-title h2,
  .section-heading h2,
  .section-title h2,
  #campaignsPage .page-section-title h2,
  #searchPage .page-section-title h2 {
    font-size: clamp(1.22rem, 5.4vw, 1.5rem) !important;
    line-height: 1.12 !important;
  }

  .nearby-card strong,
  .campaign-card strong,
  .campaign-page-card-body h3,
  .page-list-card h3,
  .venue-card h3,
  .home-place-card h3 {
    font-size: 1rem !important;
    line-height: 1.16 !important;
    font-weight: 600 !important;
  }

  .nearby-card small,
  .campaign-card span,
  .campaign-page-card-body p,
  .page-list-card p,
  .venue-card p,
  .home-place-card p {
    font-size: 0.86rem !important;
    line-height: 1.36 !important;
    font-weight: 500 !important;
  }

  .page-filter-bar button,
  .search-popular-section button,
  .search-recent-section button {
    min-height: 40px !important;
    padding: 0 13px !important;
    border-radius: 16px !important;
    font-size: 0.92rem !important;
    font-weight: 550 !important;
  }
}

/* clean-v52: mobile header tab proportions, no clipped labels */
@media (max-width: 760px) {
  .page-header-v3 .page-top-nav,
  .guide-header .page-top-nav,
  .site-nav {
    grid-template-columns: 0.78fr 1fr 0.9fr 1.42fr !important;
    gap: 5px !important;
  }

  .page-header-v3 .page-top-nav a,
  .guide-header .page-top-nav a,
  .site-nav a {
    min-height: 38px !important;
    padding: 0 4px !important;
    font-size: clamp(0.76rem, 3.45vw, 0.88rem) !important;
    font-weight: var(--tc-weight-semibold) !important;
  }

  .search-app-head h1,
  #searchPage .search-app-head h1 {
    font-size: clamp(2.15rem, 10vw, 2.75rem) !important;
  }

  .search-popular-section h2,
  .search-chip-title h2,
  #searchPage .page-section-title h2 {
    font-size: clamp(1.22rem, 5.6vw, 1.48rem) !important;
  }

  #searchPage .page-search-form input {
    font-size: 0.96rem !important;
    font-weight: var(--tc-weight-medium) !important;
  }

  #searchPage .page-filter-bar button,
  .search-ai-hint strong {
    font-weight: var(--tc-weight-semibold) !important;
  }
}

/* ---------- 2026-07 soft system pass: web ve mobil-web ortak son katman ---------- */
:root {
  --tc-radius-sm: 10px;
  --tc-radius: 10px;
  --tc-radius-lg: 15px;
  --tc-radius-xl: 18px;
  --tc-weight-regular: 400;
  --tc-weight-medium: 500;
  --tc-weight-semibold: 600;
  --tc-weight-bold: 680;
  --tc-weight-heavy: 720;
  --tc-shadow: 0 4px 11px rgba(38, 28, 61, 0.036);
  --tc-shadow-hover: 0 7px 15px rgba(38, 28, 61, 0.06);
  --tc-shadow-float: 0 14px 32px rgba(38, 28, 61, 0.09);
  --tc-card-border: rgba(36, 27, 53, 0.075);
}

body.guide-body,
body.web-shell,
body.venue-page-body {
  font-weight: var(--tc-weight-medium);
  letter-spacing: 0;
}

.page-header-v3,
.guide-header,
.site-header {
  box-shadow: none !important;
}

.page-header-v3 .page-top-nav a,
.guide-header .page-top-nav a,
.site-nav a,
.login-action,
.site-biz-cta,
.page-account-link {
  font-weight: var(--tc-weight-semibold);
  letter-spacing: 0;
}

.page-hero h1,
.venues-web-hero h1,
.search-app-head h1,
.page-section-title h2,
.section-heading h2,
#campaignsPage .page-hero h1 {
  font-weight: var(--tc-weight-heavy) !important;
  letter-spacing: 0 !important;
}

.page-list-card,
.page-venue-card,
.dg-venue-card,
.campaign-card,
.campaign-page-card,
.page-search-card,
.home-list-card,
.home-strip-card,
.home-venue-card,
.panel-work-card {
  border-color: var(--tc-card-border) !important;
  border-radius: var(--tc-radius-lg) !important;
  box-shadow: none !important;
}

.page-list-card h3,
.page-venue-card h3,
.dg-venue-card h3,
.campaign-card strong,
.campaign-page-card h3,
.home-list-body h3,
.home-strip-body strong,
.home-venue-card .hv-body strong,
#searchPage .page-search-card strong {
  font-weight: var(--tc-weight-bold) !important;
  letter-spacing: 0 !important;
}

.campaign-page-badge,
body.web-shell .campaign-card small,
body.web-shell .campaign-grid .campaign-card small {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  max-width: calc(100% - 24px) !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 999px !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip !important;
  }

  body.guide-body:not(.admin-body),
  body.web-shell,
  body.venue-page-body {
    font-size: 14px;
  }

  .page-header-v3,
  .guide-header,
  .site-header {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    border-radius: 0 0 18px 18px !important;
  }

  .page-header-v3 .page-header-top,
  .guide-header .page-header-top,
  .site-header-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 14px max(14px, env(safe-area-inset-right)) 10px max(14px, env(safe-area-inset-left)) !important;
  }

  .page-header-v3 .guide-brand,
  .guide-header .guide-brand,
  .site-header .guide-brand {
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .page-header-v3 .brand-title,
  .guide-header .brand-title,
  .site-header .brand-title {
    display: block;
    overflow: hidden;
    font-size: clamp(1.15rem, 5vw, 1.42rem) !important;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .page-header-v3 .brand-subtitle,
  .guide-header .brand-subtitle,
  .site-header .brand-subtitle {
    display: none !important;
  }

  .page-header-v3 .site-search,
  .guide-header .site-search,
  .site-header .site-search {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    border-radius: 999px !important;
  }

  .page-header-v3 .site-search input,
  .guide-header .site-search input,
  .site-header .site-search input {
    min-width: 0 !important;
    font-size: clamp(0.95rem, 4.2vw, 1.08rem) !important;
    font-weight: var(--tc-weight-medium) !important;
  }

  .page-header-v3 .login-action,
  .guide-header .login-action,
  .site-header .login-action {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    border-radius: 50% !important;
    padding: 0 !important;
  }

  .page-header-v3 .login-action span,
  .guide-header .login-action span,
  .site-header .login-action span,
  .page-header-v3 .round-action,
  .guide-header .round-action,
  .site-header .round-action,
  .page-header-v3 .site-biz-cta,
  .guide-header .site-biz-cta,
  .site-header .site-biz-cta {
    display: none !important;
  }

  .page-header-v3 .page-subnav,
  .guide-header .page-subnav,
  .site-subnav {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 max(12px, env(safe-area-inset-right)) 12px max(12px, env(safe-area-inset-left)) !important;
    overflow: hidden !important;
  }

  .page-header-v3 .page-top-nav,
  .guide-header .page-top-nav,
  .site-nav {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .page-header-v3 .page-top-nav a,
  .guide-header .page-top-nav a,
  .site-nav a {
    min-width: 0 !important;
    min-height: 42px !important;
    justify-content: center !important;
    border-radius: 999px !important;
    padding: 0 6px !important;
    overflow: hidden !important;
    font-size: clamp(0.82rem, 3.7vw, 0.96rem) !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .page-header-v3 .page-top-nav a:nth-child(n+5),
  .guide-header .page-top-nav a:nth-child(n+5),
  .site-nav a:nth-child(n+5) {
    display: none !important;
  }

  .site-nav a:nth-child(4) {
    display: none !important;
  }

  .page-hero,
  .venues-web-hero,
  .venues-page-hero,
  .lists-page-hero,
  .campaigns-page-hero,
  .events-page-hero,
  .routes-page-hero,
  .city-page-hero {
    border-radius: var(--tc-radius-lg) !important;
    padding: 22px 18px !important;
    min-height: 0 !important;
  }

  .page-hero h1,
  .venues-web-hero h1,
  .search-app-head h1,
  .venues-web-title h1,
  #campaignsPage .page-hero h1 {
    font-size: clamp(1.72rem, 8.5vw, 2.28rem) !important;
    line-height: 1.06 !important;
  }

  .page-hero p,
  .venues-web-hero p,
  .venues-web-title p,
  #campaignsPage .page-hero p {
    font-size: 0.94rem !important;
    line-height: 1.42 !important;
  }

  .page-section-title h2,
  .section-heading h2,
  .section-title h2,
  #searchPage .page-section-title h2,
  #campaignsPage .page-section-title h2 {
    font-size: clamp(1.28rem, 6vw, 1.65rem) !important;
    line-height: 1.1 !important;
  }

  body.web-shell .campaign-grid .campaign-card,
  #campaignsPage .campaign-page-card {
    border-radius: var(--tc-radius-lg) !important;
  }

  body.web-shell .campaign-grid .campaign-card-cover,
  #campaignsPage .campaign-page-card-media {
    aspect-ratio: 16 / 9.4 !important;
    border-radius: var(--tc-radius-lg) var(--tc-radius-lg) 0 0 !important;
  }

  body.web-shell .campaign-grid .campaign-card small,
  #campaignsPage .campaign-page-badge {
    margin: 12px 12px 0 !important;
    padding: 6px 10px !important;
    font-size: 0.72rem !important;
  }

  body.web-shell .campaign-grid .campaign-card strong,
  #campaignsPage .campaign-page-card-body h3 {
    font-size: 1.05rem !important;
    line-height: 1.16 !important;
  }

  body.web-shell .campaign-grid .campaign-card span,
  #campaignsPage .campaign-page-card-body p {
    font-size: 0.86rem !important;
    line-height: 1.36 !important;
  }

  #campaignsPage .page-hero {
    min-height: 84px !important;
    padding: 20px !important;
  }

  #searchPage {
    padding: 18px max(16px, env(safe-area-inset-left)) 100px max(16px, env(safe-area-inset-right)) !important;
  }

  #searchPage .guide-header + .search-app-head {
    margin-top: 24px !important;
  }

  .search-app-head {
    gap: 16px !important;
  }

  #searchPage .page-search-form {
    min-height: 50px !important;
    border-radius: 18px !important;
    padding: 6px 10px 6px 16px !important;
  }

  #searchPage .page-search-form input {
    min-height: 44px !important;
    font-size: 1rem !important;
  }

  .search-popular-section,
  .search-recent-section {
    margin-top: 24px !important;
  }

  .search-popular-section h2,
  .search-chip-title h2 {
    font-size: clamp(1.28rem, 6vw, 1.58rem) !important;
  }

  #searchPage .page-filter-bar {
    gap: 10px 8px !important;
  }

  #searchPage .page-filter-bar button {
    min-height: 42px !important;
    padding: 0 12px !important;
    font-size: 0.94rem !important;
  }

  .search-ai-hint {
    margin-top: 22px !important;
    border-radius: 15px !important;
    padding: 15px !important;
  }

  .search-ai-hint strong {
    font-size: 0.98rem !important;
    line-height: 1.35 !important;
  }

  .page-list-card h3,
  .home-list-body h3,
  .home-strip-body strong {
    font-size: 1rem !important;
    line-height: 1.18 !important;
  }
}

/* clean-v55: final-final guard. Bu blok dosyanin en sonunda kalmali. */
@media (max-width: 760px) {
  .site-header,
  .page-header-v3,
  .guide-header {
    width: 100% !important;
    max-width: 100vw !important;
    margin-inline: 0 !important;
    border-radius: 0 0 20px 20px !important;
    overflow: hidden !important;
  }

  .site-header-inner,
  .page-header-v3 .page-header-top {
    grid-template-columns: minmax(0, 1fr) 54px !important;
    gap: 10px !important;
    padding: 18px 16px 10px !important;
  }

  .brand-mark,
  .page-header-v3 .brand-mark {
    width: 56px !important;
    height: 56px !important;
    flex-basis: 56px !important;
    border-radius: 14px !important;
  }

  .brand-title,
  .page-header-v3 .brand-title {
    font-size: 1.16rem !important;
    line-height: 1.06 !important;
    font-weight: 600 !important;
  }

  .login-action,
  .page-account-link,
  .page-header-v3 .login-action {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
  }

  .site-search,
  .page-header-v3 .site-search {
    min-height: 49px !important;
    border-radius: 17px !important;
    padding: 0 10px 0 15px !important;
  }

  .site-search input,
  .page-header-v3 .site-search input {
    min-height: 48px !important;
    font-size: 0.96rem !important;
    font-weight: 500 !important;
  }

  .site-subnav,
  .page-header-v3 .page-subnav {
    padding: 8px 16px 16px !important;
  }

  .page-header-v3 .page-top-nav,
  .guide-header .page-top-nav,
  .site-nav {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 5px !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  .page-header-v3 .page-top-nav a,
  .guide-header .page-top-nav a,
  .site-nav a {
    min-height: 36px !important;
    padding: 0 3px !important;
    border-radius: 15px !important;
    font-size: 11px !important;
    font-weight: 550 !important;
    line-height: 1 !important;
  }

  .site-nav a:nth-child(n+5),
  .page-header-v3 .page-top-nav a:nth-child(n+5),
  .guide-header .page-top-nav a:nth-child(n+5) {
    display: none !important;
  }

  .page-hero h1,
  .venues-web-hero h1,
  .search-app-head h1,
  #searchPage .search-app-head h1,
  #campaignsPage .page-hero h1 {
    font-size: clamp(1.55rem, 6.8vw, 1.95rem) !important;
    font-weight: 600 !important;
    line-height: 1.04 !important;
  }

  .page-section-title h2,
  .section-heading h2,
  .section-title h2,
  #searchPage .page-section-title h2,
  #campaignsPage .page-section-title h2 {
    font-size: clamp(1.15rem, 5.1vw, 1.42rem) !important;
    font-weight: 600 !important;
    line-height: 1.12 !important;
  }
}

/* clean-v56: true EOF soft polish guard */
:root {
  --dg-font-weight-normal: 430;
  --dg-font-weight-medium: 560;
  --dg-font-weight-bold: 680;
  --dg-card-radius: 13px;
  --dg-card-shadow: 0 6px 17px rgba(31, 22, 42, 0.06);
  --dg-soft-border: rgba(40, 29, 55, 0.08);
}

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

body,
button,
input,
select,
textarea {
  font-weight: var(--dg-font-weight-normal);
  letter-spacing: 0;
  text-rendering: geometricPrecision;
}

.site-header,
.page-header-v3,
.guide-header {
  box-shadow: none !important;
}

.site-nav a,
.page-top-nav a,
.mobile-bottom-nav a {
  font-weight: 550 !important;
}

.venue-card,
.list-card,
.campaign-card,
.news-card,
.event-card,
.venue-detail-card,
.mobile-detail-card,
.profile-panel,
.auth-panel,
.search-result-card {
  border-radius: var(--dg-card-radius) !important;
  box-shadow: none !important;
  border-color: var(--dg-soft-border) !important;
}

.venue-card h3,
.venue-card-title,
.list-card h3,
.campaign-card h3,
.news-card h3,
.event-card h3 {
  font-weight: 600 !important;
  line-height: 1.12 !important;
}

.venue-card p,
.list-card p,
.campaign-card p,
.news-card p,
.event-card p,
.venue-meta,
.venue-card-meta,
.list-card-desc {
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

@media (max-width: 760px) {
  .site-header,
  .page-header-v3,
  .guide-header {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    border-radius: 0 0 20px 20px !important;
    overflow: hidden !important;
  }

  .site-header-inner,
  .page-header-v3-inner,
  .guide-header-inner,
  .home-page,
  .mobile-app-shell,
  .mobile-detail-shell,
  .page-shell,
  .venues-web-shell,
  .lists-page,
  .campaigns-page,
  .search-page,
  .assistant-page,
  .account-page {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  .home-page,
  .mobile-app-shell,
  .page-shell,
  .venues-web-shell,
  .lists-page,
  .campaigns-page,
  .search-page {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .hero-slider,
  .home-hero,
  .page-hero,
  .lists-page-hero,
  .venues-web-hero,
  .campaign-hero {
    border-radius: 18px !important;
    box-shadow: none !important;
  }

  .home-section-title h2,
  .page-section-title h2,
  .section-heading h2,
  .section-title h2,
  .lists-page h2,
  .venues-web-title h2,
  #campaignsPage h2 {
    font-size: clamp(1.28rem, 5.4vw, 1.62rem) !important;
    font-weight: 600 !important;
    line-height: 1.12 !important;
  }

  .page-hero h1,
  .lists-page-hero h1,
  .venues-web-hero h1,
  .venues-web-title h1,
  .search-app-head h1,
  #searchPage .search-app-head h1,
  #campaignsPage .page-hero h1,
  #eventsPage .page-hero h1,
  #cityPage .page-hero h1 {
    font-size: clamp(1.7rem, 7vw, 2.08rem) !important;
    font-weight: 600 !important;
    line-height: 1.04 !important;
  }

  .venue-detail-hero h1,
  .mobile-detail-title,
  .venue-detail-title {
    font-size: clamp(2rem, 8.2vw, 2.75rem) !important;
    font-weight: 600 !important;
    line-height: 1.02 !important;
  }

  .venue-card,
  .list-card,
  .campaign-card,
  .news-card,
  .event-card {
    border-radius: 11px !important;
  }

  .venue-card h3,
  .venue-card-title,
  .list-card h3,
  .campaign-card h3 {
    font-size: clamp(0.98rem, 4.1vw, 1.15rem) !important;
    font-weight: 600 !important;
  }

  .venue-card p,
  .list-card p,
  .campaign-card p,
  .venue-card-meta,
  .list-card-desc {
    font-size: 0.86rem !important;
  }

  .pill,
  .chip,
  .tag,
  .venue-chip,
  .service-pill,
  .status-pill {
    font-size: 0.78rem !important;
    font-weight: 550 !important;
    border-radius: 999px !important;
  }

  .floating-ai-chat,
  .ai-chat-fab {
    max-width: calc(100vw - 32px) !important;
  }
}

/* clean-v56: lists web hero exact mobile clamp */
@media (max-width: 760px) {
  .lists-web-hero h1,
  #listsPage .lists-web-hero h1 {
    font-size: clamp(1.7rem, 7vw, 2.08rem) !important;
    font-weight: 600 !important;
    line-height: 1.04 !important;
  }

  .lists-web-hero p,
  #listsPage .lists-web-hero p {
    font-size: 0.98rem !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
  }

  .lists-web-hero {
    border-radius: 18px !important;
    box-shadow: none !important;
    padding: 28px 24px !important;
  }
}

/* clean-v56: desktop typography refinement */
@media (min-width: 761px) {
  .page-hero h1,
  .lists-web-hero h1,
  .venues-web-hero h1,
  .venues-web-title h1,
  .search-app-head h1,
  #searchPage .search-app-head h1,
  #campaignsPage .page-hero h1,
  #eventsPage .page-hero h1,
  #cityPage .page-hero h1 {
    font-size: clamp(2.55rem, 5.2vw, 4.35rem) !important;
    font-weight: 600 !important;
    line-height: 1.02 !important;
  }

  .home-hero h1,
  .hero-slider h1 {
    font-size: clamp(2.45rem, 4.6vw, 3.85rem) !important;
    font-weight: 600 !important;
    line-height: 1.05 !important;
  }

  .page-section-title h2,
  .section-heading h2,
  .section-title h2,
  .venues-web-title h2,
  .lists-web-sections h2,
  #campaignsPage h2,
  #searchPage h2 {
    font-size: clamp(1.55rem, 2.45vw, 2.2rem) !important;
    font-weight: 600 !important;
    line-height: 1.12 !important;
  }

  .page-hero p,
  .lists-web-hero p,
  .venues-web-hero p,
  .search-app-head p,
  .campaign-hero p {
    font-size: clamp(1rem, 1.15vw, 1.18rem) !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
  }
}

/* clean-v56: final desktop slim type */
@media (min-width: 761px) {
  .page-hero h1,
  .lists-web-hero h1,
  .venues-web-hero h1,
  .venues-web-title h1,
  .search-app-head h1,
  #searchPage .search-app-head h1,
  #campaignsPage .page-hero h1,
  #eventsPage .page-hero h1,
  #cityPage .page-hero h1 {
    font-size: clamp(2.35rem, 4.3vw, 3.75rem) !important;
    font-weight: 600 !important;
  }

  .home-hero h1,
  .hero-slider h1 {
    font-size: clamp(2.25rem, 4vw, 3.45rem) !important;
    font-weight: 600 !important;
  }

  .page-section-title h2,
  .section-heading h2,
  .section-title h2,
  .venues-web-title h2,
  .lists-web-sections h2,
  #campaignsPage h2,
  #searchPage h2 {
    font-size: clamp(1.45rem, 2.15vw, 1.95rem) !important;
    font-weight: 600 !important;
  }
}

/* clean-v57: mobile header and campaign readability polish */
@media (max-width: 760px) {
  .site-header,
  .page-header-v3,
  .guide-header {
    padding: 18px 16px 16px !important;
    border-radius: 0 0 18px 18px !important;
  }

  .site-brand img,
  .brand-logo,
  .site-logo,
  .page-header-logo,
  .guide-logo {
    width: 72px !important;
    height: 72px !important;
    border-radius: 15px !important;
  }

  .site-brand-title,
  .brand-title,
  .site-brand strong,
  .page-header-brand strong,
  .guide-brand strong {
    font-size: 1.35rem !important;
    line-height: 1.05 !important;
    font-weight: 600 !important;
  }

  .header-user-button,
  .profile-circle,
  .site-profile-button,
  .page-header-action.profile,
  .profile-avatar-button {
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    border-radius: 50% !important;
    font-size: 1.7rem !important;
  }

  .site-search,
  .header-search,
  .page-header-search,
  .guide-search {
    min-height: 50px !important;
    border-radius: 24px !important;
    margin-top: 14px !important;
  }

  .site-search input,
  .header-search input,
  .page-header-search input,
  .guide-search input {
    font-size: 1rem !important;
    font-weight: 500 !important;
  }

  .site-nav,
  .page-top-nav,
  .guide-nav {
    gap: 14px !important;
    padding-top: 14px !important;
    padding-bottom: 2px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }

  .site-subnav,
  .page-subnav,
  .guide-subnav {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 22px !important;
  }

  .site-biz-cta,
  .page-subnav .site-biz-cta,
  .guide-subnav .site-biz-cta {
    display: none !important;
  }

  .site-nav::-webkit-scrollbar,
  .page-top-nav::-webkit-scrollbar,
  .guide-nav::-webkit-scrollbar {
    display: none !important;
  }

  .site-nav a,
  .page-top-nav a,
  .guide-nav a {
    flex: 0 0 auto !important;
    font-size: 0.95rem !important;
    padding: 12px 16px !important;
    line-height: 1 !important;
  }

  #campaignsPage .page-hero,
  .campaign-hero {
    background: linear-gradient(135deg, #fff8da 0%, #fbf7ef 48%, #f3ecff 100%) !important;
  }

  #campaignsPage .page-hero h1,
  .campaign-hero h1,
  #campaignsPage .page-hero p,
  .campaign-hero p {
    color: #201430 !important;
    text-shadow: none !important;
  }

  #campaignsPage .page-hero::after,
  .campaign-hero::after {
    opacity: 0.18 !important;
  }

  .campaign-card img,
  .campaign-card-image,
  .campaign-card-media img {
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
  }

  .campaign-card h3 {
    font-size: 1.16rem !important;
    line-height: 1.14 !important;
  }

  .campaign-card p {
    font-size: 0.92rem !important;
    line-height: 1.38 !important;
  }
}

/* clean-v57: mobile top nav no clipped labels */
@media (max-width: 760px) {
  .site-nav,
  .page-top-nav,
  .guide-nav {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .site-nav a,
  .page-top-nav a,
  .guide-nav a {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 11px 6px !important;
    font-size: 0.86rem !important;
    line-height: 1.05 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  .site-nav a.is-active,
  .site-nav a.active,
  .page-top-nav a.is-active,
  .page-top-nav a.active,
  .guide-nav a.is-active,
  .guide-nav a.active,
  .site-nav [aria-current="page"],
  .page-top-nav [aria-current="page"],
  .guide-nav [aria-current="page"] {
    border-radius: 999px !important;
    box-shadow: none !important;
  }
}

/* clean-v57: adaptive mobile nav columns */
@media (max-width: 760px) {
  .site-nav:not(:has(a:nth-of-type(4))),
  .page-top-nav:not(:has(a:nth-of-type(4))),
  .guide-nav:not(:has(a:nth-of-type(4))) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .site-nav:has(a:nth-of-type(4)),
  .page-top-nav:has(a:nth-of-type(4)),
  .guide-nav:has(a:nth-of-type(4)) {
    grid-template-columns: 0.72fr 0.88fr 0.78fr 1.25fr !important;
  }

  .site-nav a,
  .page-top-nav a,
  .guide-nav a {
    font-size: clamp(0.74rem, 3vw, 0.86rem) !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    overflow: visible !important;
  }

  .site-nav a:last-child,
  .page-top-nav a:last-child,
  .guide-nav a:last-child {
    font-size: clamp(0.72rem, 2.85vw, 0.84rem) !important;
  }
}

/* clean-v58: softer shared visual system */
:root {
  --dg-ink: #231f20;
  --dg-muted: #736b7e;
  --dg-card-radius: 13px;
  --dg-soft-shadow: 0 16px 38px rgba(31, 22, 45, 0.08);
  --dg-card-border: rgba(39, 27, 56, 0.08);
}

body {
  color: var(--dg-ink) !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
.brand-title,
.site-nav a,
.page-top-nav a,
.guide-nav a,
button,
.dga-btn-primary,
.page-action-primary {
  letter-spacing: 0 !important;
}

h1,
.page-hero h1,
.venue-hero h1,
.lists-web-hero h1 {
  font-weight: 600 !important;
}

h2,
.page-section-title h2 {
  font-weight: 550 !important;
}

h3,
.venue-card h3,
.home-list-card h3,
.campaign-card h3,
.page-list-card h3 {
  font-weight: 550 !important;
}

p,
span,
small,
label,
input,
textarea,
select {
  letter-spacing: 0 !important;
}

.site-header,
.guide-header,
.page-hero,
.home-hero,
.venue-card,
.home-list-card,
.campaign-card,
.page-list-card,
.page-service-card,
.account-profile-card,
.account-social-card,
.account-control-card,
.search-shell,
.search-hero,
.page-section,
.mobile-venue-card,
.venue-detail-hero,
.venue-detail-card {
  border-color: var(--dg-card-border) !important;
  box-shadow: none !important;
}

.venue-card,
.home-list-card,
.campaign-card,
.page-list-card,
.mobile-venue-card {
  border-radius: var(--dg-card-radius) !important;
  overflow: hidden !important;
}

.venue-card img,
.home-list-card img,
.campaign-card img,
.page-list-card img,
.mobile-venue-card img {
  filter: saturate(0.96) contrast(0.98) !important;
}

.venue-card p,
.home-list-card p,
.campaign-card p,
.page-list-card p,
.page-section-title span,
.page-hero p {
  color: var(--dg-muted) !important;
  font-weight: 500 !important;
}

@media (min-width: 761px) {
  .page-hero h1,
  .lists-web-hero h1,
  .search-hero h1,
  #venuesPage .page-hero h1,
  #campaignsPage .page-hero h1,
  #eventsPage .page-hero h1,
  #cityPage .page-hero h1,
  #routesPage .page-hero h1 {
    font-size: clamp(46px, 4vw, 56px) !important;
    line-height: 0.98 !important;
  }

  .home-hero h1,
  #homeHero h1 {
    font-size: clamp(48px, 4.4vw, 62px) !important;
    line-height: 0.98 !important;
  }

  .venue-detail-hero h1,
  .venue-hero h1 {
    font-size: clamp(42px, 4vw, 54px) !important;
    line-height: 1 !important;
  }

  .page-section-title h2,
  .home-section-title h2 {
    font-size: clamp(24px, 2.15vw, 29px) !important;
  }
}

@media (max-width: 760px) {
  :root {
    --dg-card-radius: 13px;
    --dg-soft-shadow: 0 12px 28px rgba(31, 22, 45, 0.07);
  }

  .page-hero h1,
  .lists-web-hero h1,
  .search-hero h1,
  #venuesPage .page-hero h1,
  #campaignsPage .page-hero h1,
  #eventsPage .page-hero h1,
  #cityPage .page-hero h1,
  #routesPage .page-hero h1 {
    font-size: clamp(25px, 8vw, 30px) !important;
    line-height: 1.03 !important;
  }

  .home-hero h1,
  #homeHero h1 {
    font-size: clamp(30px, 9.2vw, 38px) !important;
    line-height: 1.03 !important;
  }

  .page-section-title h2,
  .home-section-title h2,
  .search-page h2 {
    font-size: clamp(20px, 6.2vw, 24px) !important;
    line-height: 1.08 !important;
  }

  .venue-card h3,
  .home-list-card h3,
  .campaign-card h3,
  .page-list-card h3 {
    font-size: clamp(1rem, 4.2vw, 1.2rem) !important;
    line-height: 1.16 !important;
  }
}

/* clean-v59: merkezi soft tema ayari. Web ve mobil web hissini daha ince yapar. */
:root {
  --tc-purple: #5b4199;
  --tc-purple-dark: #452081;
  --tc-purple-soft: #f3eefb;
  --tc-ink: #21182e;
  --tc-gray: #706a7a;
  --tc-line: #eee8f5;
  --tc-bg: #f6f1e6;
  --tc-card: #fffdf8;
  --tc-radius: 11px;
  --tc-radius-sm: 12px;
  --tc-radius-md: 15px;
  --tc-radius-lg: 20px;
  --tc-radius-xl: 23px;
  --tc-shadow: 0 3px 10px rgba(34, 24, 49, 0.036);
  --tc-shadow-hover: 0 7px 15px rgba(34, 24, 49, 0.072);
  --tc-shadow-soft: 0 12px 28px rgba(31, 19, 45, 0.055);
  --tc-shadow-card: 0 5px 11px rgba(31, 19, 45, 0.04);
  --tc-border-soft: rgba(45, 31, 63, 0.085);
  --dg-ink: #21182e;
  --dg-muted: #706a7a;
  --dg-line: #eee8f5;
  --dg-bg: #f6f1e6;
  --dg-card-radius: 13px;
  --dg-soft-shadow: 0 10px 24px rgba(31, 22, 45, 0.052);
}

body.web-shell,
body.guide-body,
body.venue-page-body {
  font-weight: 400;
  color: var(--tc-ink);
  text-rendering: geometricPrecision;
}

body.web-shell h1,
body.web-shell h2,
body.web-shell h3,
body.guide-body h1,
body.guide-body h2,
body.guide-body h3,
.venue-detail-title,
.detail-hero h1,
.venue-detail-hero h1 {
  font-weight: 550 !important;
}

.site-nav a,
.page-header-v3 .page-top-nav a,
.login-action,
.page-account-link,
.site-biz-cta,
.page-card-actions a,
.page-card-actions button,
.page-incele-btn,
#venueFilterApply,
.soft-button,
.send-button,
.web-shell .primary-button {
  font-weight: 550 !important;
}

.page-list-card h3,
.home-venue-card h3,
.home-list-body h3,
.campaign-card strong,
.campaign-page-card h3,
.venue-card h3,
.platform-mode-card strong {
  font-weight: 550 !important;
}

.page-list-card p,
.home-venue-card p,
.campaign-card span,
.campaign-page-card p,
.venue-card p,
.page-hero p,
.platform-mode-card span,
.site-footer,
.site-footer p {
  font-weight: 400 !important;
}

.site-header,
.page-header-v3,
.guide-header,
.page-hero,
.venues-web-hero,
.venues-page-hero,
.lists-page-hero,
.campaigns-page-hero,
.events-page-hero,
.routes-page-hero,
.city-page-hero,
.page-list-card,
.home-venue-card,
.home-list-card,
.campaign-card,
.campaign-page-card,
.venue-card,
.detail-card,
.detail-hero-card,
.search-ai-hint,
.page-empty-card,
.venue-profile-hero,
.venue-info-grid article,
.venue-menu-section,
.venue-campaign-card,
.venue-list-studio {
  box-shadow: none !important;
  border-color: var(--tc-border-soft) !important;
}

.page-list-card,
.home-list-card,
.campaign-card,
.campaign-page-card,
.venue-card,
.home-venue-card,
.venue-profile-hero,
.detail-card {
  border-radius: var(--tc-radius-lg) !important;
}

.page-hero h1,
.lists-page-hero h1,
.venues-web-hero h1,
.venues-web-title h1 {
  letter-spacing: 0 !important;
}

.campaign-card,
.campaign-page-card {
  background: #fff !important;
}

.campaign-card img,
.campaign-page-card img {
  object-fit: cover;
}

.web-shell .floating-ai {
  box-shadow: none !important;
}

@media (max-width: 760px) {
  body.web-shell,
  body.guide-body {
    background: #f6f1e6 !important;
  }

  .page-hero,
  .venues-web-hero,
  .venues-page-hero,
  .lists-page-hero,
  .campaigns-page-hero,
  .events-page-hero,
  .routes-page-hero,
  .city-page-hero {
    border-radius: 18px !important;
  }

  .page-hero h1,
  .lists-page-hero h1,
  .venues-web-hero h1,
  .venues-web-title h1,
  .search-app-head h1,
  #searchPage .search-app-head h1,
  #campaignsPage .page-hero h1,
  #eventsPage .page-hero h1,
  #cityPage .page-hero h1 {
    font-size: clamp(1.45rem, 6.2vw, 1.9rem) !important;
    line-height: 1.06 !important;
    font-weight: 550 !important;
  }

  .section-heading h2,
  .section-title h2,
  .page-section-title h2,
  #searchPage .page-section-title h2,
  #campaignsPage .page-section-title h2 {
    font-size: clamp(1.08rem, 4.7vw, 1.38rem) !important;
    line-height: 1.14 !important;
    font-weight: 550 !important;
  }

  .page-list-card,
  .home-list-card,
  .campaign-card,
  .campaign-page-card,
  .venue-card,
  .home-venue-card {
    border-radius: 13px !important;
    box-shadow: none !important;
  }

  .page-list-card h3,
  .home-list-body h3,
  .campaign-card strong,
  .campaign-page-card h3,
  .venue-card h3,
  .home-venue-card h3 {
    font-size: 0.98rem !important;
    line-height: 1.2 !important;
    font-weight: 550 !important;
  }

  .page-list-card p,
  .campaign-card span,
  .campaign-page-card p,
  .venue-card p,
  .home-venue-card p {
    font-size: 0.84rem !important;
    line-height: 1.38 !important;
  }

  .detail-hero h1,
  .venue-detail-hero h1,
  .mobile-detail-hero h1,
  body:has(.detail-hero) h1 {
    font-size: clamp(1.85rem, 8.4vw, 2.45rem) !important;
    line-height: 1.02 !important;
    font-weight: 600 !important;
  }
}

/* clean-v61: tek merkezden daha ince mobil/web ritim ve detay/kart polish */
:root {
  --tc-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --tc-radius: 12px;
  --tc-radius-lg: 18px;
  --tc-shadow-card: 0 4px 10px rgba(31, 19, 45, 0.04);
  --tc-shadow-soft: 0 14px 34px rgba(31, 19, 45, 0.06);
}

html,
body {
  max-width: 100%;
  overflow-x: clip !important;
}

body.web-shell,
body.guide-body,
body.venue-page-body,
button,
input,
textarea,
select {
  font-family: var(--tc-font);
}

.site-nav,
.page-top-nav,
.guide-nav {
  scroll-behavior: smooth;
  scroll-padding-inline: 24px;
}

.site-nav a,
.page-top-nav a,
.guide-nav a {
  letter-spacing: 0 !important;
}

.page-hero::after,
.venues-web-hero::after,
.campaign-hero::after,
.events-page-hero::after,
.campaigns-page-hero::after {
  background: linear-gradient(90deg, rgba(255,255,255,0.72), rgba(255,255,255,0.16)) !important;
}

.page-hero h1,
.venues-web-hero h1,
.campaign-hero h1,
.events-page-hero h1,
.campaigns-page-hero h1 {
  position: relative;
  z-index: 1;
  color: #21182e !important;
  text-shadow: none !important;
}

.page-hero p,
.venues-web-hero p,
.campaign-hero p,
.events-page-hero p,
.campaigns-page-hero p {
  position: relative;
  z-index: 1;
  color: #706a7a !important;
  text-shadow: none !important;
}

.campaign-card,
.campaign-page-card {
  overflow: hidden !important;
}

.campaign-card img,
.campaign-card-cover,
.campaign-page-card-media,
.campaign-page-card-media img {
  aspect-ratio: 16 / 10;
  height: auto !important;
  min-height: 0 !important;
  max-height: 230px;
}

.campaign-card small,
.campaign-page-badge {
  border-radius: 999px !important;
  padding: 8px 12px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 24px) !important;
  white-space: nowrap;
}

.campaign-card strong,
.campaign-page-card h3 {
  color: #21182e !important;
}

.venue-detail-hero,
.mobile-detail-hero,
.detail-hero,
.detail-hero-card,
.venue-profile-hero {
  overflow: hidden !important;
}

.venue-detail-hero::before,
.mobile-detail-hero::before,
.detail-hero::before,
.venue-profile-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.14), rgba(0,0,0,0.50)),
    linear-gradient(90deg, rgba(0,0,0,0.54), rgba(0,0,0,0.10));
  z-index: 0;
}

.venue-detail-hero > *,
.mobile-detail-hero > *,
.detail-hero > *,
.venue-profile-hero > * {
  position: relative;
  z-index: 1;
}

.venue-detail-title,
.detail-hero h1,
.venue-detail-hero h1,
.mobile-detail-hero h1,
.venue-profile-hero h1 {
  color: #fff !important;
  text-shadow: 0 2px 16px rgba(0,0,0,0.32) !important;
}

.venue-detail-actions a,
.venue-detail-actions button,
.mobile-detail-actions a,
.mobile-detail-actions button,
.detail-action-grid a,
.detail-action-grid button {
  min-height: 46px !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
}

@media (max-width: 760px) {
  body.web-shell,
  body.guide-body,
  body.venue-page-body {
    width: 100%;
    max-width: 100vw;
  }

  .site-header,
  .page-header-v3,
  .guide-header {
    width: min(100vw, 390px) !important;
    max-width: 100vw !important;
    margin-inline: auto !important;
    border-radius: 0 0 20px 20px !important;
  }

  .site-header-inner,
  .page-header-top,
  .guide-header-top {
    gap: 12px !important;
  }

  .brand-mark,
  .guide-brand .brand-mark {
    width: 56px !important;
    height: 56px !important;
    border-radius: 13px !important;
  }

  .brand-title {
    font-size: 1.16rem !important;
    font-weight: 600 !important;
  }

  .round-action,
  .page-account-link,
  .login-action {
    min-height: 46px !important;
    height: 48px !important;
    border-radius: 999px !important;
  }

  .site-search,
  .page-header-v3 .site-search {
    height: 54px !important;
    border-radius: 20px !important;
  }

  .site-search input {
    font-size: 1rem !important;
    font-weight: 500 !important;
  }

  .site-nav,
  .page-top-nav,
  .guide-nav {
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 8px 22px 12px !important;
    margin-inline: -22px !important;
    -webkit-overflow-scrolling: touch;
  }

  .site-nav::before,
  .page-top-nav::before,
  .guide-nav::before,
  .site-nav::after,
  .page-top-nav::after,
  .guide-nav::after {
    content: "";
    flex: 0 0 10px;
  }

  .site-nav a,
  .page-top-nav a,
  .guide-nav a {
    flex: 0 0 auto;
    font-size: 0.95rem !important;
    line-height: 1 !important;
    padding: 12px 16px !important;
    min-width: max-content;
  }

  .site-nav a:nth-child(n+5),
  .page-top-nav a:nth-child(n+5),
  .guide-nav a:nth-child(n+5) {
    display: none !important;
  }

  .story-hero,
  .home-hero {
    width: calc(100vw - 24px) !important;
    margin-inline: auto !important;
    border-radius: 15px !important;
  }

  .nearby-card {
    width: calc(100vw - 28px) !important;
    margin-inline: auto !important;
    border-radius: 16px !important;
    min-height: 67px !important;
  }

  .nearby-card strong {
    font-size: 1.08rem !important;
    line-height: 1.16 !important;
  }

  .nearby-card small {
    font-size: 0.86rem !important;
    line-height: 1.35 !important;
  }

  .page-hero,
  .venues-web-hero,
  .venues-page-hero,
  .lists-page-hero,
  .campaigns-page-hero,
  .events-page-hero,
  .routes-page-hero,
  .city-page-hero {
    width: calc(100vw - 32px) !important;
    margin-inline: auto !important;
    padding: 28px 24px !important;
    min-height: 0 !important;
  }

  .page-hero h1,
  .lists-page-hero h1,
  .venues-web-hero h1,
  .venues-web-title h1,
  .search-app-head h1,
  #searchPage .search-app-head h1,
  #campaignsPage .page-hero h1,
  #eventsPage .page-hero h1,
  #cityPage .page-hero h1 {
    font-size: clamp(1.35rem, 5.8vw, 1.75rem) !important;
    line-height: 1.08 !important;
  }

  .page-hero p,
  .venues-web-hero p,
  .venues-web-title p,
  .campaign-hero p,
  #campaignsPage .page-hero p,
  #eventsPage .page-hero p {
    font-size: 0.98rem !important;
    line-height: 1.42 !important;
  }

  .page-section-title h2,
  .home-section-title h2,
  .section-title h2,
  .section-heading h2,
  .search-page h2,
  #campaignsPage .page-section-title h2 {
    font-size: 1.28rem !important;
    line-height: 1.12 !important;
  }

  body.web-shell .campaign-grid,
  #campaignsPageGrid,
  #eventsPageGrid,
  .home-section-row,
  .home-list-row {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(252px, 82vw) !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    gap: 14px !important;
    padding: 4px 16px 18px !important;
    margin-inline: -16px !important;
    scroll-snap-type: x proximity;
  }

  body.web-shell .campaign-grid .campaign-card,
  #campaignsPage .campaign-page-card,
  #eventsPage .page-list-card {
    min-width: 0 !important;
    width: auto !important;
    scroll-snap-align: start;
  }

  body.web-shell .campaign-grid .campaign-card-cover,
  #campaignsPage .campaign-page-card-media,
  #campaignsPage .campaign-page-card-media img {
    height: auto !important;
    aspect-ratio: 16 / 11 !important;
    max-height: none !important;
  }

  body.web-shell .campaign-grid .campaign-card small {
    position: static !important;
    display: inline-flex !important;
    margin: 12px 14px 4px !important;
    background: #ffd22f !important;
    color: #21182e !important;
    transform: none !important;
  }

  body.web-shell .campaign-grid .campaign-card strong,
  body.web-shell .campaign-grid .campaign-card span,
  body.web-shell .campaign-grid .campaign-card a {
    margin-inline: 14px !important;
  }

  body.web-shell .campaign-grid .campaign-card strong {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    color: #21182e !important;
  }

  body.web-shell .campaign-grid .campaign-card span {
    color: #706a7a !important;
    font-size: 0.86rem !important;
  }

  .venue-detail-hero,
  .mobile-detail-hero,
  .detail-hero {
    border-radius: 18px !important;
    padding: 28px 22px !important;
  }

  .venue-detail-title,
  .detail-hero h1,
  .venue-detail-hero h1,
  .mobile-detail-hero h1 {
    font-size: clamp(1.8rem, 8vw, 2.35rem) !important;
  }

  .venue-detail-actions,
  .mobile-detail-actions,
  .detail-action-grid {
    gap: 10px !important;
  }

  .floating-ai,
  .floating-ai-chat {
    right: 14px !important;
    bottom: calc(86px + env(safe-area-inset-bottom)) !important;
    min-width: 112px !important;
    height: 54px !important;
    border-radius: 999px !important;
    font-size: 0.98rem !important;
  }
}

/* clean-v62: eski grid nav kalintilarini kesin ez, mobilde 4 ana sekme tek satir kalsin */
@media (max-width: 760px) {
  .site-nav,
  .page-top-nav,
  .guide-nav {
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 8px 22px 12px !important;
    margin-inline: -22px !important;
    scrollbar-width: none !important;
  }

  .site-nav::-webkit-scrollbar,
  .page-top-nav::-webkit-scrollbar,
  .guide-nav::-webkit-scrollbar {
    display: none !important;
  }

  .site-nav a,
  .page-top-nav a,
  .guide-nav a {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: max-content !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 15px !important;
    font-size: 0.92rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  .site-nav a:nth-child(n+5),
  .page-top-nav a:nth-child(n+5),
  .guide-nav a:nth-child(n+5) {
    display: none !important;
  }

  .site-nav a:nth-child(4),
  .page-top-nav a:nth-child(4),
  .guide-nav a:nth-child(4) {
    display: inline-flex !important;
  }
}

/* clean-v64: mobil web ana navigasyon sabit 4 kolon, sifir kayma */
@media (max-width: 760px) {
  .site-subnav,
  .page-subnav,
  .guide-subnav {
    display: block !important;
    width: 100% !important;
    padding: 8px 22px 14px !important;
    margin: 0 !important;
  }

  .site-nav,
  .page-top-nav,
  .guide-nav {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .site-nav::before,
  .site-nav::after,
  .page-top-nav::before,
  .page-top-nav::after,
  .guide-nav::before,
  .guide-nav::after {
    display: none !important;
    content: none !important;
  }

  .site-nav a,
  .page-top-nav a,
  .guide-nav a,
  .site-nav a:nth-child(4),
  .page-top-nav a:nth-child(4),
  .guide-nav a:nth-child(4) {
    display: inline-flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: initial !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 11px 2px !important;
    border-radius: 999px !important;
    font-size: clamp(0.76rem, 3.05vw, 0.84rem) !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  .site-nav a:nth-child(n+5),
  .page-top-nav a:nth-child(n+5),
  .guide-nav a:nth-child(n+5) {
    display: none !important;
  }
}

/* clean-v65: final public polish - softer cards, balanced desktop pages, stable mobile */
:root {
  --dg-ink: #171021;
  --dg-muted: #6d6675;
  --dg-soft: #fbf8ef;
  --dg-card: #ffffff;
  --dg-line: rgba(42, 31, 58, 0.11);
  --dg-purple: #6020bf;
  --dg-yellow: #fac817;
  --dg-shadow-soft: 0 18px 48px rgba(38, 27, 56, 0.09);
  --dg-shadow-card: 0 10px 28px rgba(38, 27, 56, 0.08);
}

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

body {
  color: var(--dg-ink);
  background: var(--dg-soft);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.page-shell,
body.web-shell .guide-app,
.venues-web-shell,
.guide-body .page-shell {
  width: min(1440px, calc(100vw - 48px));
  max-width: 100%;
  margin-inline: auto;
}

.site-header,
.guide-header,
.web-shell .site-header {
  box-shadow: none !important;
  border: 1px solid var(--dg-line);
}

.site-nav a,
.page-top-nav a,
.guide-nav a {
  font-weight: 600;
  letter-spacing: 0;
}

.page-hero,
.venues-web-hero,
.lists-page-hero,
.campaigns-page-hero,
.events-page-hero,
.city-page-hero,
.routes-page-hero,
.search-hero,
#campaignsPage .page-hero {
  border: 1px solid var(--dg-line);
  box-shadow: none !important;
  background:
    radial-gradient(circle at 86% 24%, rgba(250, 200, 23, 0.27), transparent 26%),
    linear-gradient(135deg, #fffef9 0%, #fff 52%, #fff7df 100%) !important;
}

.page-hero h1,
.venues-web-hero h1,
.lists-page-hero h1,
.campaigns-page-hero h1,
#campaignsPage .page-hero h1 {
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

.page-hero p,
.venues-web-hero p,
.lists-page-hero p,
.campaigns-page-hero p,
#campaignsPage .page-hero p {
  color: var(--dg-muted) !important;
  font-weight: 500 !important;
}

@media (min-width: 761px) {
  #campaignsPage .page-hero,
  .campaigns-page-hero {
    min-height: 110px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    text-align: left !important;
    padding: 44px 52px !important;
    overflow: hidden;
    position: relative;
  }

  #campaignsPage .page-hero::after,
  .campaigns-page-hero::after {
    content: "DG";
    position: absolute;
    right: 56px;
    top: 50%;
    transform: translateY(-50%);
    font-size: clamp(5rem, 11vw, 9rem);
    line-height: 1;
    font-weight: 700;
    color: rgba(250, 200, 23, 0.23);
    letter-spacing: 0;
    pointer-events: none;
  }

  #campaignsPage .page-hero h1,
  .campaigns-page-hero h1 {
    position: relative;
    z-index: 1;
    font-size: clamp(2.45rem, 4vw, 4.2rem) !important;
    max-width: 620px;
  }

  #campaignsPage .page-hero p,
  .campaigns-page-hero p {
    position: relative;
    z-index: 1;
    max-width: 520px;
    font-size: 1.04rem !important;
  }

  #campaignsPage .page-section {
    margin-top: 38px !important;
  }

  #campaignsPage .page-section-title {
    align-items: center !important;
    gap: 18px;
  }

  #campaignsPage .page-card-grid,
  #campaignsPageGrid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(320px, 380px)) !important;
    justify-content: start !important;
    align-items: stretch !important;
    gap: 18px !important;
    max-width: 100% !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #campaignsPage .campaign-page-card {
    min-height: 0 !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid var(--dg-line) !important;
    box-shadow: none !important;
  }

  #campaignsPage .campaign-page-card-media {
    display: block !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    overflow: hidden !important;
    background: #f2efe8 !important;
    border-radius: 0 !important;
  }

  #campaignsPage .campaign-page-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  #campaignsPage .campaign-page-badge {
    left: 14px !important;
    bottom: 14px !important;
    top: auto !important;
    transform: none !important;
    border-radius: 999px !important;
    background: var(--dg-yellow) !important;
    color: var(--dg-ink) !important;
    box-shadow: none !important;
  }

  #campaignsPage .campaign-page-card-body {
    padding: 18px 18px 16px !important;
    gap: 10px !important;
  }

  #campaignsPage .campaign-page-card-body h3 {
    font-size: 1.18rem !important;
    line-height: 1.18 !important;
    font-weight: 650 !important;
  }

  #campaignsPage .campaign-page-card-body p {
    font-size: 0.93rem !important;
    line-height: 1.45 !important;
    color: var(--dg-muted) !important;
  }

  #campaignsPage .campaign-page-card-foot {
    margin-top: 6px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
  }

  #campaignsPage .campaign-page-action {
    min-width: max-content !important;
    padding: 10px 14px !important;
    border-radius: 999px !important;
    box-shadow: none !important;
  }

  .page-list-card,
  .venue-card,
  .campaign-card,
  .campaign-page-card {
    border: 1px solid var(--dg-line) !important;
    box-shadow: none !important;
  }
}

@media (max-width: 760px) {
  html,
  body {
    width: 100%;
    overflow-x: clip !important;
  }

  body {
    font-size: 15px;
  }

  .page-shell,
  body.web-shell .guide-app,
  .venues-web-shell,
  .guide-body .page-shell {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 14px !important;
    overflow-x: clip !important;
  }

  .site-header,
  .guide-header,
  .web-shell .site-header {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    margin-inline: auto !important;
    border-radius: 0 0 20px 20px !important;
    overflow: hidden !important;
  }

  .brand-title,
  .guide-brand .brand-title {
    font-size: 1rem !important;
    line-height: 1.1 !important;
  }

  .brand-subtitle,
  .guide-brand .brand-subtitle {
    font-size: 0.72rem !important;
  }

  .page-hero,
  .venues-web-hero,
  .lists-page-hero,
  .campaigns-page-hero,
  .events-page-hero,
  .city-page-hero,
  .routes-page-hero,
  #campaignsPage .page-hero {
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px 0 22px !important;
    padding: 22px 18px !important;
    border-radius: 18px !important;
  }

  .page-hero h1,
  .venues-web-hero h1,
  .lists-page-hero h1,
  .campaigns-page-hero h1,
  #campaignsPage .page-hero h1 {
    font-size: clamp(1.55rem, 8vw, 2.25rem) !important;
    line-height: 1.05 !important;
  }

  .page-section,
  .venues-main,
  .campaign-section,
  #campaignsPage .page-section {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  .page-section-title,
  #campaignsPage .page-section-title {
    gap: 10px !important;
    align-items: flex-start !important;
  }

  .page-section-title h2,
  #campaignsPage .page-section-title h2 {
    font-size: clamp(1.24rem, 6.4vw, 1.75rem) !important;
    line-height: 1.08 !important;
    font-weight: 650 !important;
  }

  .campaign-card,
  .campaign-page-card,
  #campaignsPage .campaign-page-card {
    border-radius: 18px !important;
    box-shadow: none !important;
  }

  .floating-ai,
  .floating-ai-chat {
    z-index: 80 !important;
  }
}

/* clean-v66: campaign card footer must never clip text */
@media (min-width: 761px) {
  #campaignsPage .campaign-page-card {
    display: flex !important;
    flex-direction: column !important;
  }

  #campaignsPage .campaign-page-card-body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  #campaignsPage .campaign-page-card-foot {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 12px !important;
    margin-top: auto !important;
    min-width: 0 !important;
  }

  #campaignsPage .campaign-page-card-foot small {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.3 !important;
  }

  #campaignsPage .campaign-page-action {
    justify-self: start !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}

/* clean-v67: calmer shared visual system, lighter typography and hard overflow guards */
:root {
  --dg-ink: #20182c;
  --dg-muted: #77717f;
  --dg-purple: #55249c;
  --dg-yellow: #f6c20a;
  --dg-bg: #f6f1e6;
  --dg-line: rgba(45, 31, 63, 0.075);
  --dg-card-radius: 13px;
  --dg-soft-radius: 18px;
  --dg-shadow-card: 0 10px 26px rgba(31, 22, 42, 0.055);
  --dg-shadow-soft: 0 14px 34px rgba(31, 22, 42, 0.06);
  --tc-ink: #20182c;
  --tc-gray: #77717f;
  --tc-purple: #55249c;
  --tc-bg: #f6f1e6;
  --tc-line: rgba(45, 31, 63, 0.075);
  --tc-shadow: 0 6px 14px rgba(31, 22, 42, 0.044);
  --tc-shadow-card: 0 5px 12px rgba(31, 22, 42, 0.041);
  --tc-shadow-hover: 0 8px 19px rgba(31, 22, 42, 0.06);
  --tc-weight-body: 430;
  --tc-weight-medium: 540;
  --tc-weight-semibold: 610;
  --tc-weight-bold: 660;
  --tc-weight-heavy: 690;
}

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

body {
  background: var(--dg-bg) !important;
  color: var(--dg-ink) !important;
  font-weight: var(--tc-weight-body) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
.page-hero h1,
.page-section-title h2,
.venue-detail-title,
.mobile-detail-title,
.site-nav a,
.guide-nav a {
  font-weight: var(--tc-weight-heavy) !important;
  letter-spacing: 0 !important;
}

p,
small,
.brand-subtitle,
.page-hero p,
.venue-card p,
.campaign-page-card-body p,
.list-card p {
  font-weight: var(--tc-weight-body) !important;
}

.site-header,
.guide-header,
.page-hero,
.venues-web-hero,
.lists-page-hero,
.campaigns-page-hero,
.events-page-hero,
.city-page-hero,
.routes-page-hero,
.venue-card,
.page-list-card,
.campaign-card,
.campaign-page-card,
.home-list-card,
.home-strip-card,
.detail-section,
.mobile-detail-card,
.mobile-list-detail-card,
.search-result-card {
  border-color: var(--dg-line) !important;
  box-shadow: none !important;
}

.site-nav a,
.guide-nav a,
.tab-button,
.chip,
.filter-chip,
.venue-card-tag,
.campaign-page-badge,
.mobile-bottom-nav a,
.floating-ai,
.floating-ai-chat {
  font-weight: var(--tc-weight-semibold) !important;
}

.venue-card h3,
.page-list-card h3,
.campaign-card h3,
.campaign-page-card-body h3 {
  font-weight: var(--tc-weight-bold) !important;
}

.venue-card,
.page-list-card,
.campaign-card,
.campaign-page-card {
  transform: translateZ(0);
}

@media (min-width: 761px) {
  .page-shell,
  body.web-shell .guide-app,
  .venues-web-shell,
  .guide-body .page-shell {
    max-width: 1440px !important;
  }

  .page-hero h1,
  .venues-web-hero h1,
  .lists-page-hero h1,
  .campaigns-page-hero h1 {
    font-size: clamp(2.25rem, 4.4vw, 4.35rem) !important;
    line-height: 0.98 !important;
  }

  .page-section-title h2 {
    font-size: clamp(1.65rem, 2.4vw, 2.35rem) !important;
  }
}

@media (max-width: 760px) {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  body {
    font-size: 14px !important;
  }

  img,
  video,
  canvas,
  iframe {
    max-width: 100% !important;
  }

  .page-shell,
  body.web-shell .guide-app,
  .venues-web-shell,
  .guide-body .page-shell,
  main,
  section {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .site-header,
  .guide-header,
  .web-shell .site-header {
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .top-search,
  .site-search,
  .guide-search,
  .search-input-wrap {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .site-nav,
  .guide-nav,
  .mobile-nav-strip {
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .site-nav::-webkit-scrollbar,
  .guide-nav::-webkit-scrollbar,
  .mobile-nav-strip::-webkit-scrollbar {
    display: none;
  }

  .page-hero h1,
  .venues-web-hero h1,
  .lists-page-hero h1,
  .campaigns-page-hero h1,
  .events-page-hero h1,
  .city-page-hero h1,
  .routes-page-hero h1 {
    font-size: clamp(1.45rem, 7.2vw, 2.05rem) !important;
    line-height: 1.04 !important;
  }

  .page-section-title h2,
  .mobile-section-title,
  .home-section-title {
    font-size: clamp(1.2rem, 5.8vw, 1.62rem) !important;
    line-height: 1.08 !important;
  }

  .venue-card h3,
  .page-list-card h3,
  .campaign-card h3,
  .campaign-page-card-body h3 {
    font-size: clamp(0.98rem, 4.6vw, 1.2rem) !important;
    line-height: 1.12 !important;
  }

  .campaign-page-card-body p,
  .venue-card p,
  .page-list-card p {
    font-size: 0.9rem !important;
    line-height: 1.38 !important;
  }

  .floating-ai,
  .floating-ai-chat {
    right: 14px !important;
    bottom: calc(86px + env(safe-area-inset-bottom, 0px)) !important;
    max-width: calc(100vw - 28px) !important;
  }
}

/* clean-v68: mobile browser should feel app-like; no footer, no layout drift */
@media (max-width: 760px) {
  footer,
  .site-footer,
  .page-footer,
  .guide-footer {
    display: none !important;
  }

  .home-list-rail,
  .home-strip-rail,
  .page-card-scroll,
  .page-horizontal-scroll,
  .events-scroll,
  .news-scroll,
  .campaign-scroll,
  .mobile-nav-strip {
    contain: layout paint !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }

  .leaflet-container {
    max-width: 100% !important;
    overflow: hidden !important;
    contain: paint !important;
  }

  .leaflet-proxy {
    pointer-events: none !important;
  }

  .page-card-grid,
  .venues-grid,
  .venue-card-grid,
  .campaign-grid,
  .list-card-grid,
  #campaignsPageGrid {
    max-width: 100% !important;
  }
}

/* clean-v73: stable public campaign cards and shared card rhythm */
#campaignsPage .campaign-page-card,
.campaign-page-card {
  background: #fff !important;
  border: 1px solid rgba(36, 24, 52, 0.1) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

#campaignsPage .campaign-page-card-media,
.campaign-page-card-media {
  aspect-ratio: 16 / 10 !important;
  background: #f6f1e7 !important;
  display: block !important;
  flex: 0 0 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  text-decoration: none !important;
}

#campaignsPage .campaign-page-card-media img,
.campaign-page-card-media img {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  width: 100% !important;
}

#campaignsPage .campaign-page-badge,
.campaign-page-badge {
  align-items: center !important;
  background: #f6c20a !important;
  border-radius: 999px !important;
  color: #171018 !important;
  display: inline-flex !important;
  font-size: 0.72rem !important;
  font-weight: 650 !important;
  height: auto !important;
  left: 12px !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  max-width: calc(100% - 24px) !important;
  min-height: 0 !important;
  padding: 8px 12px !important;
  position: absolute !important;
  top: 12px !important;
  width: auto !important;
  z-index: 2 !important;
}

#campaignsPage .campaign-page-card-body,
.campaign-page-card-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-height: 0 !important;
  padding: 18px !important;
}

#campaignsPage .campaign-page-card-body h3,
.campaign-page-card-body h3 {
  color: #171018 !important;
  font-size: clamp(1rem, 2vw, 1.28rem) !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  line-height: 1.16 !important;
  margin: 0 !important;
}

#campaignsPage .campaign-page-card-body h3 a,
.campaign-page-card-body h3 a {
  color: inherit !important;
  text-decoration: none !important;
}

#campaignsPage .campaign-page-card-body p,
.campaign-page-card-body p {
  color: #6b6470 !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  line-height: 1.42 !important;
  margin: 0 !important;
}

#campaignsPage .campaign-page-card-foot,
.campaign-page-card-foot {
  align-items: center !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: space-between !important;
  margin-top: auto !important;
  min-width: 0 !important;
}

#campaignsPage .campaign-page-card-foot small,
.campaign-page-card-foot small {
  color: #746b78 !important;
  flex: 1 1 auto !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  min-width: 0 !important;
}

#campaignsPage .campaign-page-action,
.campaign-page-action {
  align-items: center !important;
  background: #5b4199 !important;
  border-radius: 999px !important;
  color: #fff !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  font-size: 0.82rem !important;
  font-weight: 650 !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 0 12px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

@media (min-width: 761px) and (max-width: 979.98px) {
  #campaignsPage #campaignsPageGrid {
    display: grid !important;
    gap: 20px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 980px) and (max-width: 1199.98px) {
  #campaignsPage #campaignsPageGrid {
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1200px) {
  #campaignsPage #campaignsPageGrid {
    display: grid !important;
    gap: 24px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  #campaignsPage {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  #campaignsPage .page-hero,
  #campaignsPage .campaigns-page-hero {
    min-height: 84px !important;
    padding: 26px 22px !important;
  }

  #campaignsPage #campaignsPageGrid {
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: visible !important;
  }

  #campaignsPage .campaign-page-card,
  .campaign-page-card {
    border-radius: 20px !important;
    width: 100% !important;
  }

  #campaignsPage .campaign-page-card-media,
  .campaign-page-card-media {
    aspect-ratio: 4 / 3 !important;
  }

  #campaignsPage .campaign-page-card-body,
  .campaign-page-card-body {
    padding: 16px !important;
  }
}

/* clean-v74-final: keep app-like lists page after older overrides.
   Genislik digerleriyle (.page-shell: 1440px) ayni tutulur. */
.lists-web-body #listsPage {
  max-width: 1440px !important;
  overflow-x: clip !important;
}

.lists-web-body .lists-web-sections {
  display: grid !important;
  gap: 22px !important;
  margin-top: 24px !important;
  min-width: 0 !important;
}

.lists-web-body .lists-app-hero {
  align-items: flex-start !important;
  display: flex !important;
  gap: 14px !important;
  justify-content: space-between !important;
}

.lists-web-body .lists-app-hero h1 {
  font-size: clamp(2.2rem, 6vw, 4.1rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 0.98 !important;
  margin: 0 0 12px !important;
}

.lists-web-body .lists-app-hero p {
  color: #6e6675 !important;
  font-size: clamp(1rem, 2vw, 1.22rem) !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

.lists-web-body .lists-app-new {
  align-items: center !important;
  background: #5f24bf !important;
  border-radius: 999px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-weight: 650 !important;
  gap: 6px !important;
  min-height: 48px !important;
  padding: 0 16px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

/* Masaustunde "Benim listelerim / Keşfet" artik tam-genislik dev bar degil;
   kompakt, sola hizali segment (pill) kontrolu — daha derli toplu. */
.lists-web-body .lists-app-mode {
  background: #f2ecfa !important;
  border: 1px solid rgba(91, 65, 153, 0.12) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  display: inline-flex !important;
  width: auto !important;
  /* Flex/grid ebeveyn stretch ettigi icin arka plan tam-genislik uzuyordu;
     sola hizala ve icerik kadar kal (kompakt segment gorunumu). */
  align-self: flex-start !important;
  justify-self: start !important;
  margin-right: auto !important;
  gap: 5px !important;
  padding: 5px !important;
}

.lists-web-body .lists-app-mode a,
.lists-web-body .lists-app-mode button {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #5f24bf !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font: inherit !important;
  font-weight: 650 !important;
  gap: 8px !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 24px !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s !important;
}

.lists-web-body .lists-app-mode .is-active {
  background: #5f24bf !important;
  color: #fff !important;
}

.lists-web-body .lists-app-tabs {
  display: flex !important;
  gap: 10px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 6px 0 6px !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}

.lists-web-body .lists-app-tabs::-webkit-scrollbar {
  display: none !important;
}

.lists-web-body .lists-app-tabs[hidden] {
  display: none !important;
}

.lists-web-body .lists-app-tabs button {
  background: #fff !important;
  border: 1px solid rgba(36, 24, 52, 0.1) !important;
  border-radius: 999px !important;
  color: #5f24bf !important;
  cursor: pointer !important;
  flex: 0 0 auto !important;
  font: inherit !important;
  font-weight: 650 !important;
  min-height: 42px !important;
  padding: 0 18px !important;
  white-space: nowrap !important;
}

.lists-web-body .lists-app-tabs button.is-active {
  background: #171018 !important;
  border-color: #171018 !important;
  color: #fff !important;
}

.lists-web-body .lists-app-intro {
  background: #fff !important;
  border: 1px solid rgba(36, 24, 52, 0.1) !important;
  border-radius: 15px !important;
  box-shadow: none !important;
  padding: 18px !important;
}

.lists-web-body .lists-app-intro h2 {
  font-size: clamp(1.35rem, 2.8vw, 2rem) !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  margin: 0 0 8px !important;
}

.lists-web-body .lists-app-intro p {
  color: #706874 !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  margin: 0 !important;
}

.lists-web-body .lists-app-intro.is-mine {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 !important;
}

.lists-web-body .lists-app-intro.is-mine p {
  display: none !important;
}

.lists-web-body .lists-app-grid {
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.lists-web-body .lists-app-card {
  background: #fff !important;
  border: 1px solid rgba(36, 24, 52, 0.1) !important;
  border-radius: 15px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.lists-web-body .lists-app-card-link {
  color: inherit !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  text-decoration: none !important;
}

.lists-web-body .lists-app-cover {
  aspect-ratio: 16 / 10 !important;
  background: #efe7d7 !important;
  overflow: hidden !important;
  position: relative !important;
}

.lists-web-body .lists-app-cover img {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  width: 100% !important;
}

.lists-web-body .lists-app-cover-fallback {
  align-items: center !important;
  color: #fff !important;
  display: none !important;
  font-size: 4rem !important;
  font-weight: 650 !important;
  inset: 0 !important;
  justify-content: center !important;
  position: absolute !important;
}

.lists-web-body .lists-app-cover.is-empty {
  background: linear-gradient(135deg, #2a173a, #6b2ed0) !important;
}

.lists-web-body .lists-app-cover.is-empty .lists-app-cover-fallback {
  display: flex !important;
}

.lists-web-body .lists-app-save {
  align-items: center !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #171018 !important;
  display: inline-flex !important;
  height: 46px !important;
  justify-content: center !important;
  position: absolute !important;
  right: 14px !important;
  top: 14px !important;
  width: 46px !important;
}

.lists-web-body .lists-app-save svg {
  height: 22px !important;
  width: 22px !important;
}

.lists-web-body .lists-app-card-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 16px !important;
}

.lists-web-body .lists-app-card-body small {
  color: #5f24bf !important;
  font-size: 0.83rem !important;
  font-weight: 650 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

.lists-web-body .lists-app-card-body h3 {
  color: #171018 !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  /* Baslik cok buyuktu; kucultup uzun adlari 2 satirla sinirla (kart dengeli). */
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.lists-web-body .lists-app-card-body p {
  color: #716a73 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  margin: 0 !important;
}

.lists-web-body .lists-app-card-body strong {
  color: #5f24bf !important;
  font-size: 1rem !important;
  font-weight: 650 !important;
  margin-top: auto !important;
}

@media (max-width: 1240px) {
  .lists-web-body .lists-app-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .lists-web-body .lists-app-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .lists-web-body,
  .lists-web-body #listsPage {
    overflow-x: clip !important;
  }

  .lists-web-body #listsPage {
    padding-left: 18px !important;
    padding-right: 18px !important;
    padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .lists-web-body .lists-web-sections {
    gap: 18px !important;
    /* Kabukta (.lists-web-shell) zaten 18px yatay padding var; buradaki ek 18px
       yatay margin + width:100% hem sol boslugu 36px yapiyordu hem de sagdan
       tasirip "+ Yeni liste" / sekmeleri kirpiyordu. Yatay margin kaldirildi. */
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 20px !important;
    width: auto !important;
  }

  .lists-web-body .lists-app-hero {
    align-items: flex-end !important;
    gap: 12px !important;
  }

  .lists-web-body .lists-app-hero h1 {
    font-size: clamp(2.25rem, 14vw, 3.45rem) !important;
  }

  .lists-web-body .lists-app-hero p {
    font-size: 1.02rem !important;
  }

  .lists-web-body .lists-app-new {
    min-height: 46px !important;
    padding: 0 12px !important;
  }

  .lists-web-body .lists-app-mode {
    border-radius: 13px !important;
    padding: 8px !important;
  }

  .lists-web-body .lists-app-mode a,
  .lists-web-body .lists-app-mode button {
    font-size: 0.95rem !important;
    min-height: 48px !important;
    padding: 0 10px !important;
  }

  .lists-web-body .lists-app-tabs {
    margin-left: -18px !important;
    margin-right: -18px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .lists-web-body .lists-app-tabs button {
    font-size: 0.94rem !important;
    min-height: 45px !important;
    padding: 0 12px !important;
  }

  .lists-web-body .lists-app-intro {
    border-radius: 13px !important;
    padding: 16px 20px !important;
  }

  .lists-web-body .lists-app-grid {
    gap: 16px !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .lists-web-body .lists-app-cover {
    aspect-ratio: 16 / 10.5 !important;
  }

  .lists-web-body .lists-app-card-body {
    gap: 8px !important;
    padding: 16px 20px 24px !important;
  }

  .lists-web-body .lists-app-card-body h3 {
    font-size: clamp(1.45rem, 8vw, 2.05rem) !important;
    line-height: 1.08 !important;
  }
}

/* clean-v75: user list mode and campaign badge guardrails */
.lists-web-body .lists-app-mine-summary {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid rgba(36, 24, 52, 0.1) !important;
  border-radius: 15px !important;
  box-shadow: none !important;
  display: flex !important;
  gap: 16px !important;
  padding: 16px !important;
}

.lists-web-body .lists-app-mine-summary[hidden] {
  display: none !important;
}

.lists-web-body .lists-app-mine-icon {
  align-items: center !important;
  background: #f4edf9 !important;
  border-radius: 12px !important;
  color: #5f24bf !important;
  display: inline-flex !important;
  flex: 0 0 70px !important;
  height: 70px !important;
  justify-content: center !important;
  width: 70px !important;
}

.lists-web-body .lists-app-mine-icon svg {
  height: 32px !important;
  width: 32px !important;
}

.lists-web-body .lists-app-mine-summary strong {
  color: #171018 !important;
  display: block !important;
  font-size: clamp(1.2rem, 3vw, 1.55rem) !important;
  font-weight: 650 !important;
  line-height: 1.1 !important;
  margin: 0 0 6px !important;
}

.lists-web-body .lists-app-mine-summary p {
  color: #706874 !important;
  font-size: 1rem !important;
  font-weight: 550 !important;
  margin: 0 !important;
}

.lists-web-body .lists-app-empty-card {
  background: #fff !important;
  border: 1px solid rgba(36, 24, 52, 0.1) !important;
  border-radius: 15px !important;
  box-shadow: none !important;
  color: #171018 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 18px !important;
}

.lists-web-body .lists-app-empty-card strong {
  font-size: 1.2rem !important;
  font-weight: 650 !important;
}

.lists-web-body .lists-app-empty-card span {
  color: #706874 !important;
  font-weight: 550 !important;
}

.lists-web-body .lists-app-empty-card a {
  align-items: center !important;
  background: #5f24bf !important;
  border-radius: 999px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-weight: 650 !important;
  justify-content: center !important;
  margin-top: 8px !important;
  min-height: 44px !important;
  padding: 0 12px !important;
  text-decoration: none !important;
  width: max-content !important;
}

#campaignsPage .campaign-page-card-media {
  position: relative !important;
}

#campaignsPage .campaign-page-badge,
.campaign-page-badge {
  align-items: center !important;
  background: #f6c20a !important;
  border-radius: 999px !important;
  bottom: auto !important;
  color: #171018 !important;
  display: inline-flex !important;
  font-size: 0.72rem !important;
  font-weight: 650 !important;
  height: auto !important;
  justify-content: center !important;
  left: 12px !important;
  line-height: 1 !important;
  max-width: calc(100% - 24px) !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 8px 12px !important;
  position: absolute !important;
  right: auto !important;
  text-transform: uppercase !important;
  top: 12px !important;
  transform: none !important;
  white-space: nowrap !important;
  width: auto !important;
  writing-mode: horizontal-tb !important;
  z-index: 3 !important;
}

@media (max-width: 760px) {
  .lists-web-body .lists-app-mine-summary {
    border-radius: 13px !important;
    gap: 12px !important;
    padding: 14px !important;
  }

  .lists-web-body .lists-app-mine-icon {
    flex-basis: 60px !important;
    height: 60px !important;
    width: 60px !important;
  }

  #campaignsPage .campaign-page-badge,
  .campaign-page-badge {
    font-size: 0.68rem !important;
    left: 10px !important;
    padding: 7px 10px !important;
    top: 10px !important;
  }
}

/* clean-v79-final: mekan detay sayfasinda eski web hero kurallarini en sonda bastir */
body.venue-page-body:not(.list-detail-body),
body.venue-page-body:not(.list-detail-body) .venue-page-shell {
  overflow-x: clip !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell {
  max-width: 980px !important;
  padding-bottom: 120px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  grid-template-columns: none !important;
  margin: 24px auto 0 !important;
  max-width: 920px !important;
  overflow: visible !important;
  padding: 0 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-copy {
  background: transparent !important;
  bottom: auto !important;
  border: 0 !important;
  box-shadow: none !important;
  left: auto !important;
  min-height: 0 !important;
  order: 2 !important;
  padding: 0 !important;
  position: static !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  width: 100% !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .story-pill,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) #venueName,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) #venueNote,
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) #venueStatusCard {
  display: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-section {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: block !important;
  order: 1 !important;
  overflow: visible !important;
  width: 100% !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-cover {
  align-items: flex-start !important;
  aspect-ratio: auto !important;
  background-position: center !important;
  background-size: cover !important;
  border-radius: 28px !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  min-height: clamp(430px, 58vw, 620px) !important;
  overflow: hidden !important;
  padding: 30px !important;
  position: relative !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-cover::before {
  background: linear-gradient(180deg, rgba(13, 8, 20, 0.12), rgba(13, 8, 20, 0.22) 38%, rgba(13, 8, 20, 0.75)) !important;
  content: "" !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 0 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-cover > * {
  position: relative !important;
  z-index: 1 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-top {
  align-items: flex-start !important;
  display: flex !important;
  justify-content: space-between !important;
  left: 24px !important;
  position: absolute !important;
  right: 24px !important;
  top: 24px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-gallery-cover .venue-mobile-gallery-top {
  left: 24px !important;
  position: absolute !important;
  right: 24px !important;
  top: 24px !important;
  width: auto !important;
}

body.venue-page-body:not(.list-detail-body) .venue-gallery-index,
body.venue-page-body:not(.list-detail-body) .venue-open-pill {
  align-items: center !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  font-weight: 650 !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

body.venue-page-body:not(.list-detail-body) .venue-gallery-index {
  background: rgba(16, 12, 21, 0.72) !important;
  color: #fff !important;
  min-height: 38px !important;
  padding: 0 12px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-open-pill {
  background: #dcfce7 !important;
  color: #15803d !important;
  bottom: auto !important;
  left: auto !important;
  min-height: 44px !important;
  padding: 0 16px !important;
  position: static !important;
  right: auto !important;
  top: auto !important;
  text-transform: uppercase !important;
  transform: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-open-pill.is-closed {
  background: #ffe2e2 !important;
  color: #b91c1c !important;
}

body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-dots {
  display: flex !important;
  gap: 9px !important;
  left: 50% !important;
  position: absolute !important;
  top: 30px !important;
  transform: translateX(-50%) !important;
}

body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-dots i {
  background: rgba(255, 255, 255, 0.42) !important;
  border-radius: 999px !important;
  display: block !important;
  height: 15px !important;
  width: 15px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-dots i.is-active {
  background: #fff !important;
  width: 38px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-meta {
  color: #f6c20a !important;
  font-size: clamp(1rem, 2.5vw, 1.35rem) !important;
  font-weight: 650 !important;
  line-height: 1.14 !important;
  margin-bottom: 18px !important;
  text-transform: uppercase !important;
}

body.venue-page-body:not(.list-detail-body) .venue-mobile-logo {
  background: #fff !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  color: #5f24bf !important;
  display: inline-flex !important;
  font-size: 1.35rem !important;
  font-weight: 650 !important;
  height: 96px !important;
  justify-content: center !important;
  margin-bottom: 18px !important;
  object-fit: contain !important;
  padding: 8px !important;
  width: 96px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-mobile-title {
  color: #fff !important;
  display: block !important;
  font-size: clamp(2.6rem, 7vw, 5rem) !important;
  font-weight: 650 !important;
  line-height: 0.98 !important;
  max-width: 760px !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.28) !important;
}

body.venue-page-body:not(.list-detail-body) .venue-gallery-strip {
  display: none !important;
}
/* #venueQrMenu artik JS'teki hidden attribute'una gore kosullu gosteriliyor
   (bkz. clean-v101, dosya sonu) — burada koşulsuz gizlenmiyor. */

body.venue-page-body:not(.list-detail-body) .venue-profile-actions {
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  margin: 0 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-profile-actions a,
body.venue-page-body:not(.list-detail-body) .venue-profile-actions button {
  align-items: center !important;
  background: #f6c20a !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #171018 !important;
  display: inline-flex !important;
  font-size: clamp(1rem, 2.2vw, 1.18rem) !important;
  font-weight: 650 !important;
  grid-column: span 2 !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 0 14px !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

/* eski 6-sutunlu grid span-3 kurali silindi (clean-v107 2-sutunlu grid ile celisiyordu) */

body.venue-page-body:not(.list-detail-body) .venue-quick-facts,
body.venue-page-body:not(.list-detail-body) .venue-info-grid,
body.venue-page-body:not(.list-detail-body) .venue-service-options-section,
body.venue-page-body:not(.list-detail-body) .venue-about-section,
body.venue-page-body:not(.list-detail-body) .venue-chip-section,
body.venue-page-body:not(.list-detail-body) .venue-menu-section {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 920px !important;
  width: 100% !important;
}

body.venue-page-body:not(.list-detail-body) .venue-quick-facts {
  display: grid !important;
  gap: 16px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin-top: 20px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-quick-facts article,
body.venue-page-body:not(.list-detail-body) .venue-info-grid article,
body.venue-page-body:not(.list-detail-body) .venue-service-options-section {
  background: #fff !important;
  border: 1px solid rgba(36, 24, 52, 0.1) !important;
  border-radius: 21px !important;
  box-shadow: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-quick-facts article {
  padding: 24px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-quick-facts small,
body.venue-page-body:not(.list-detail-body) .venue-info-grid strong {
  color: #777179 !important;
  font-size: 1rem !important;
  font-weight: 650 !important;
  margin-bottom: 10px !important;
  text-transform: uppercase !important;
}

body.venue-page-body:not(.list-detail-body) .venue-quick-facts strong,
body.venue-page-body:not(.list-detail-body) .venue-info-grid span {
  color: #171018 !important;
  font-weight: 650 !important;
  line-height: 1.12 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-quick-facts strong {
  font-size: clamp(1.35rem, 3.4vw, 2rem) !important;
}

body.venue-page-body:not(.list-detail-body) .venue-info-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  margin-top: 24px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-info-grid article:first-child {
  display: none !important;
}

body.venue-page-body:not(.list-detail-body) .venue-info-grid article:nth-child(2) {
  align-items: center !important;
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: 34px minmax(0, 1fr) 22px !important;
  padding: 24px 28px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-info-grid article:nth-child(2)::before {
  color: #5f24bf !important;
  content: "⌖" !important;
  font-size: 2rem !important;
  grid-row: 1 / span 2 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-info-grid article:nth-child(2)::after {
  color: #777179 !important;
  content: "›" !important;
  font-size: 2.6rem !important;
  grid-column: 3 !important;
  grid-row: 1 / span 2 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-info-grid article:nth-child(2) strong,
body.venue-page-body:not(.list-detail-body) .venue-info-grid article:nth-child(2) span {
  grid-column: 2 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-info-grid span {
  font-size: clamp(1.2rem, 3vw, 1.7rem) !important;
}

body.venue-page-body:not(.list-detail-body) .venue-service-options-section {
  margin-top: 24px !important;
  padding: 30px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-service-options-section .section-heading h2 {
  color: #171018 !important;
  font-size: clamp(1.8rem, 4vw, 2.6rem) !important;
  font-weight: 650 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-chip-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 20px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-chip {
  align-items: center !important;
  background: #fbfaf7 !important;
  border: 1px solid rgba(36, 24, 52, 0.1) !important;
  border-radius: 15px !important;
  color: #171018 !important;
  display: inline-flex !important;
  font-size: 1rem !important;
  font-weight: 650 !important;
  gap: 8px !important;
  min-height: 47px !important;
  padding: 0 14px !important;
}

@media (max-width: 760px) {
  body.venue-page-body:not(.list-detail-body) .venue-page-shell {
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-gallery-cover {
    border-radius: 23px !important;
    min-height: min(560px, 66vh) !important;
    padding: 24px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-top {
    left: 18px !important;
    right: 18px !important;
    top: 18px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-gallery-index {
    font-size: 0.96rem !important;
    min-height: 34px !important;
    padding: 0 13px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-open-pill {
    font-size: 0.95rem !important;
    min-height: 38px !important;
    padding: 0 12px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-dots {
    top: 24px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-dots i {
    height: 11px !important;
    width: 11px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-dots i.is-active {
    width: 28px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-mobile-logo {
    border-radius: 15px !important;
    height: 76px !important;
    margin-bottom: 14px !important;
    width: 76px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-mobile-title {
    font-size: clamp(2.45rem, 12vw, 3.6rem) !important;
    max-width: 96% !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-profile-actions {
    gap: 10px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-profile-actions a,
  body.venue-page-body:not(.list-detail-body) .venue-profile-actions button {
    font-size: 0.98rem !important;
    min-height: 49px !important;
    padding: 0 10px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-quick-facts {
    gap: 12px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-quick-facts article,
  body.venue-page-body:not(.list-detail-body) .venue-service-options-section,
  body.venue-page-body:not(.list-detail-body) .venue-info-grid article:nth-child(2) {
    border-radius: 20px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-quick-facts article {
    padding: 20px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-quick-facts small,
  body.venue-page-body:not(.list-detail-body) .venue-info-grid strong {
    font-size: 0.92rem !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-quick-facts strong {
    font-size: 1.35rem !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-info-grid article:nth-child(2) {
    grid-template-columns: 28px minmax(0, 1fr) 20px !important;
    padding: 22px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-info-grid span {
    font-size: 1.24rem !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-service-options-section {
    padding: 26px 22px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-service-options-section .section-heading h2 {
    font-size: 1.85rem !important;
  }
}

/* clean-v81: venue detail action area must stay on the page background, never attached to the dark gallery */
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-copy {
  background: #fbfaf7 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.venue-page-body:not(.list-detail-body) .venue-profile-actions {
  background: #fbfaf7 !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

@media (max-width: 760px) {
  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) {
    gap: 16px !important;
  }

  body.venue-page-body:not(.list-detail-body) .venue-profile-actions {
    margin-top: 0 !important;
  }
}

/* ============================================================
   clean-v82 — Minimalist / soft tasarim dili (lokal referansi)
   1) Tek giris ekrani: kullanici + isletme ayni sayfada
   2) Site genel: daha kibar fontlar, yumusak golgeler, ince cizgiler
   ============================================================ */

/* ---- 1. Tek giris ekrani (account.html) ---- */
.account-auth-single {
  grid-template-columns: minmax(0, 1fr) !important;
  width: min(460px, calc(100% - 32px)) !important;
  margin: clamp(20px, 4vw, 48px) auto !important;
  gap: 16px !important;
}

.account-auth-single .account-auth-card {
  border: 1px solid rgba(17, 24, 39, 0.07);
  border-radius: 20px;
  box-shadow: none !important;
  background: #fff;
  padding: clamp(24px, 5vw, 36px);
  gap: 14px;
  text-align: center;
}

.account-auth-brand {
  display: inline-flex;
  justify-content: center;
  margin: 0 auto 2px;
}

.account-auth-brand img {
  width: 64px;
  height: 64px;
  border-radius: 15px;
  object-fit: cover;
}

.account-auth-brand-fallback {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 15px;
  background: #f6c20a;
  color: #17111f;
  font-weight: 650;
  font-size: 1.2rem;
}

.account-auth-title {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 600;
  color: #1c1524;
  line-height: 1.25;
}

.account-auth-sub {
  margin: 0 0 6px;
  color: #6f6a78;
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.5;
}

.account-auth-single .account-auth-tabs {
  background: #f5f3f7;
}

.account-auth-single .account-auth-tabs button {
  font-weight: 600;
}

.account-auth-single .account-page-form {
  text-align: left;
}

.account-auth-single .account-page-form label {
  font-weight: 550;
  color: #55505e;
}

.account-auth-single .account-page-form input {
  font-weight: 500;
  border-radius: 11px;
  border-color: rgba(17, 24, 39, 0.12);
}

.account-auth-single .account-page-form button {
  font-weight: 600;
}

.account-auth-single .account-page-form small {
  font-weight: 500;
}

/* Isletme karti: uygulamadaki "Mekan sahibi misin?" blogu */
.account-business-card {
  display: grid;
  gap: 12px;
  border: 1px solid rgba(17, 24, 39, 0.07);
  border-radius: 15px;
  background: #fff;
  box-shadow: none !important;
  padding: clamp(20px, 4vw, 28px);
}

.account-app-profile .account-business-card {
  width: min(680px, calc(100% - 32px));
  margin: 4px auto 28px;
}

.account-business-head {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.account-business-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 11px;
  background: #fdf3d0;
  color: #8a6d0b;
}

.account-business-head h2 {
  margin: 0 0 4px;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c1524;
}

.account-business-head p {
  margin: 0;
  color: #6f6a78;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.5;
}

.account-business-toggle {
  min-height: 46px;
  border: 0;
  border-radius: 999px;
  background: #5b4199;
  color: #fff;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease;
}

.account-business-toggle:hover {
  background: #4c1d95;
}

.account-business-form label {
  font-weight: 550;
  color: #55505e;
}

.account-business-form input {
  font-weight: 500;
  border-radius: 11px;
}

.account-business-form button[type="submit"] {
  font-weight: 600;
}

/* Mekanlarim listesi: business.html kaldirildi, sahip olunan mekanlar buradan yonetilir. */
#accountVenuesList {
  display: grid;
  gap: 8px;
}

.account-venue-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 11px;
  background: #fbfaf7;
}

.account-venue-row strong {
  display: block;
  font-size: 0.95rem;
  font-weight: 600;
  color: #1c1524;
}

.account-venue-row span {
  font-size: 0.82rem;
  color: #6f6a78;
  font-weight: 500;
}

.account-venue-row a {
  flex: 0 0 auto;
  padding: 8px 16px;
  border-radius: 999px;
  background: #5b4199;
  color: #fff;
  font-weight: 600;
  font-size: 0.88rem;
  text-decoration: none;
  white-space: nowrap;
}

/* ---- 2. Genel yumusatma: kaba/agir gorunumden kibar-minimal gorunume ---- */

/* Basliklar: daha kucuk, daha sakin */
.page-shell h1,
.guide-body main h1 {
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}

.page-shell h2,
.guide-body main h2 {
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
}

.page-shell h3,
.guide-body main h3 {
  font-weight: 550 !important;
}

.page-hero h1,
.page-section-title h1,
.lists-hero h1 {
  font-size: clamp(1.5rem, 3.4vw, 2.1rem) !important;
}

.page-section-title h2,
.section-heading h2 {
  font-size: clamp(1rem, 2.2vw, 1.22rem) !important;
}

/* Metinler: 800-950 agirliklar yerine normal-orta agirlik */
.page-shell p,
.page-shell span:not(.brand-title):not(.brand-mark),
.page-shell small,
.page-shell li {
  font-weight: 500;
}

.page-shell strong,
.page-shell b {
  font-weight: 600;
}

/* Butonlar ve sekmeler */
.page-shell button,
.page-shell .page-incele-btn,
.site-header button {
  font-weight: 550;
}

/* Kartlar: ince cizgi + cok hafif golge */
.page-list-card,
.page-empty-card,
.panel-metric-card,
.page-card,
.venue-card,
.account-app-card,
.account-app-settings-panel article,
.account-app-edit-panel article {
  border: 1px solid rgba(17, 24, 39, 0.07) !important;
  box-shadow: none !important;
}

/* Chipler: hafif, pill, sakin */
.page-shell .chip,
.page-shell [class*="-chip"],
.search-popular-chips a,
.search-popular-chips button {
  font-weight: 500;
  border-radius: 999px;
}

@media (max-width: 760px) {
  .page-hero h1,
  .lists-hero h1 {
    font-size: 1.45rem !important;
  }

  .page-shell {
    font-size: 0.95rem;
  }
}

/* clean-v82: topluluk profil sayfasi — dev baslik yerine sakin olcek */
.public-user-hero h1 {
  font-size: clamp(1.5rem, 4vw, 2.2rem) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  word-break: break-word;
}

/* clean-v82b: sayfa basliklari — tum listeleme sayfalarinda ayni sakin olcek */
.lists-web-hero h1,
.venues-web-hero h1,
.page-hero h1,
.search-app-head h1,
.guide-hero h1 {
  font-size: clamp(1.45rem, 3.2vw, 2rem) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.2 !important;
}

.lists-web-hero p,
.page-hero p {
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: #6f6a78 !important;
}

.lists-web-hero small {
  font-weight: 550 !important;
}

/* clean-v82c: kalan iri basliklar — lists app hero, kampanyalar, mekan detay */
.lists-web-body .lists-app-hero h1,
.lists-app-hero h1 {
  font-size: clamp(1.5rem, 4.5vw, 2.1rem) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
}

.lists-web-body .lists-app-hero p,
.lists-app-hero p {
  font-size: 0.95rem !important;
  font-weight: 500 !important;
}

#campaignsPage .page-hero h1,
.campaigns-page-hero h1,
body .page-hero.campaigns-page-hero h1 {
  font-size: clamp(1.45rem, 3.2vw, 2rem) !important;
  font-weight: 600 !important;
}

body.venue-page-body .venue-profile-copy h1,
body.venue-page-body:not(.list-detail-body) .venue-profile-copy h1 {
  font-size: clamp(1.55rem, 5.4vw, 2.35rem) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
}

body.venue-page-body .venue-profile-copy .story-pill {
  font-weight: 550 !important;
  letter-spacing: 0.04em !important;
}

/* clean-v82d: mekan detay hero — kibar olcek, yumusak golge (lokal referansi) */
body.venue-page-body:not(.list-detail-body) .venue-mobile-title {
  font-size: clamp(1.7rem, 5vw, 2.5rem) !important;
  font-weight: 650 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.12 !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45) !important;
}

body.venue-page-body:not(.list-detail-body) .venue-mobile-gallery-meta {
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
}

@media (max-width: 760px) {
  body.venue-page-body:not(.list-detail-body) .venue-mobile-title {
    font-size: clamp(1.55rem, 7vw, 2.1rem) !important;
  }
}

/* clean-v82e: liste detay basligi da ayni sakin olcekte */
.list-detail-hero h1,
.list-profile-copy h1 {
  font-size: clamp(1.5rem, 4.5vw, 2.2rem) !important;
  font-weight: 600 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.01em !important;
}

/* clean-v82f: liste detay basligi — .list-detail-body kuralini da gecen nihai olcek */
body.list-detail-body .list-profile-copy h1,
.list-detail-body .list-profile-copy h1,
.list-detail-hero h1 {
  font-size: clamp(1.5rem, 4.5vw, 2.2rem) !important;
  font-weight: 600 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.01em !important;
}

/* clean-v82g: liste bulunamadi durumunda baslik acik zeminde koyu olsun */
.list-hero-notfound h1 {
  color: #1c1524 !important;
  text-shadow: none !important;
}

/* clean-v83: Benim listelerim — kart alti kapak yukle / sil aksiyonlari */
.lists-app-own-actions {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px;
  padding: 8px 14px 14px;
}

.lists-app-own-actions button {
  min-height: 38px;
  border: 1px solid rgba(17, 24, 39, 0.1);
  border-radius: 999px;
  background: #fff;
  color: #3f3949;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 550;
  cursor: pointer;
  padding: 0 12px;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.lists-app-own-actions button:hover {
  background: #f6f4f9;
}

.lists-app-own-actions .lists-app-own-delete {
  color: #b3261e;
  border-color: rgba(179, 38, 30, 0.25);
}

.lists-app-own-actions .lists-app-own-delete:hover {
  background: #fdf1f0;
}

.lists-app-own-actions button:disabled {
  opacity: 0.6;
  cursor: wait;
}

/* clean-v83b: ana sayfa mekan karti — fotografsizsa bas-harf plakasi */
.home-venue-card .hv-media {
  position: relative;
}

.home-venue-card .hv-initials {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-style: normal;
  font-weight: 600;
  font-size: 1.5rem;
  color: #7a5ca8;
  background: linear-gradient(135deg, #f3eefb, #ece4f7);
  border-radius: inherit;
  z-index: 0;
}

.home-venue-card .hv-media .hv-status {
  z-index: 1;
}

/* clean-v83c: ust menu linkleri her sayfada ayni agirlikta */
.page-top-nav a,
.site-nav a {
  font-weight: 550 !important;
}

.page-top-nav a.active,
.site-nav a.active,
.site-nav a[aria-current="page"] {
  font-weight: 600 !important;
}

/* ============================================================
   clean-v85 — Liste detayi: mobil uygulamadaki ekranla birebir
   Kapak + overlay baslik, aciklama karti, uygulama tarzi mekan satirlari
   ============================================================ */
.list-app-card {
  overflow: hidden;
  border: 1px solid rgba(17, 24, 39, 0.07);
  border-radius: 21px;
  background: #fff;
  box-shadow: none !important;
  margin-bottom: 22px;
}

.list-app-cover {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 8px;
  min-height: clamp(170px, 28vw, 280px);
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(15, 10, 20, 0.45), rgba(15, 10, 20, 0.05)),
    linear-gradient(135deg, #2a1c3f, #4b2a75);
  color: #fff;
}

.list-app-cover-notfound {
  min-height: 105px;
}

.list-app-pill {
  width: fit-content;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(6px);
  color: #fff;
  padding: 6px 13px;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.01em;
}

/* Baslik ARTIK resmin uzerinde degil; resmin altinda, aciklamanin ustunde (koyu metin). */
.list-app-head {
  display: grid;
  gap: 4px;
}

.list-app-body h1 {
  margin: 0;
  color: #231f20 !important;
  font-size: clamp(1.32rem, 4.4vw, 1.85rem) !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}

.list-app-stats {
  margin: 0;
  color: #6f675f;
  font-size: 0.9rem;
  font-weight: 600;
}

.list-app-body {
  display: grid;
  gap: 16px;
  padding: clamp(18px, 3.5vw, 26px);
}

.list-app-body > p {
  margin: 0;
  color: #4d4757;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.62;
}

.list-app-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.list-app-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 47px;
  border-radius: 999px;
  font: inherit;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0 18px;
  transition: transform 0.12s ease, background 0.15s ease;
}

.list-app-actions button:active {
  transform: scale(0.98);
}

.list-app-primary {
  flex: 1 1 auto;
  border: 0;
  background: #5b4199;
  color: #fff;
}

.list-app-primary:hover { background: #4c1d95; }

.list-app-outline {
  border: 1.6px solid #5b4199;
  background: #fff;
  color: #5b4199;
}

.list-app-outline:hover { background: #f6f2fc; }

.list-app-ghost {
  border: 0;
  background: transparent;
  color: #6f6a78;
  min-height: 42px !important;
  font-size: 0.9rem !important;
  text-decoration: underline;
  text-underline-offset: 4px;
  padding: 0 8px !important;
}

.list-app-actions button:disabled { opacity: 0.65; cursor: wait; }

/* Liste sahibinin "Sil" butonu: yikici islem oldugu icin kirmizi ayrilir. */
.list-app-ghost.list-app-danger {
  color: #b91c1c;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.list-app-ghost.list-app-danger:hover { color: #7f1d1d; }

.list-app-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 4px 2px 14px;
}

.list-app-section-head h2 {
  margin: 0;
  color: #1c1524;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
}

.list-app-section-head span { color: #8a8494; font-size: 0.86rem; font-weight: 500; }

.list-app-venues-section { margin-bottom: 26px; }

/* Mekan satiri: uygulamadaki kartla ayni — thumb, sira no, isim/ilce, ok */
.list-app-venue-stack { display: grid; gap: 12px; }

.list-app-venue {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  border: 1px solid rgba(17, 24, 39, 0.06) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: none !important;
  padding: 12px 14px !important;
}

.list-app-venue-thumb {
  flex: none;
  width: 62px;
  height: 62px;
  border-radius: 13px;
  object-fit: cover;
  background: #f3eefb;
}

.list-app-venue-thumb-empty {
  display: grid;
  place-items: center;
  background: #5b4199;
  color: #fff;
  font-size: 1.15rem;
  font-weight: 650;
}

.list-app-venue-order {
  flex: none;
  width: 22px;
  color: #8a8494;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
}

.list-app-venue-texts {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 3px;
}

.list-app-venue-texts strong {
  color: #1c1524;
  font-size: 1.04rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.list-app-venue-texts small {
  color: #7c7686;
  font-size: 0.86rem;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.list-app-venue-go {
  flex: none;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  color: #8a8494;
  background: transparent;
  transition: background 0.15s ease;
}

.list-app-venue-go:hover { background: #f4f1f8; color: #5b4199; }

/* ===== clean-v220 — Liste detayi MASAUSTU: iki sutun (bilgi sol sabit | mekanlar sag grid).
   Onceden tek sutun tam-genislik satirlar cok yayik goruntyordu; genis ekranda
   kompakt, iki sutunlu magazin duzeni. Mobilde (<1000px) eski tek sutun akis. ===== */
.list-detail-columns { display: block; }
.venue-detail-columns, .venue-detail-main { display: block; }

/* ===== Mekan detayi (venue-v2) MASAUSTU: kapak+logo ustte TAM GENISLIK; altinda
   iki sutun (istatistik+aksiyonlar sol sabit | saatler/bilgi/hakkinda/konum/menu
   sag). Mobilde (<1000px) eski tek sutun akis aynen kalir. ===== */
@media (min-width: 1000px) {
  body.venue-v2.venue-page-body .venue-page-shell {
    max-width: 1200px !important;
  }
  body.venue-v2 .venue-detail-columns {
    display: grid !important;
    grid-template-columns: 320px minmax(0, 1fr) !important;
    grid-template-areas: "cover cover" "info main" !important;
    gap: 22px 30px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 1180px !important;
    min-width: 0 !important;
    margin: 22px auto 0 !important;
  }
  /* Kapak: tam genislik ust satir, makul yukseklik. Section flex satirdi
     (kapak + kucuk-resim seridi yan yana) -> kapak tam dolmuyordu; block yap. */
  body.venue-v2 .venue-detail-columns > .venue-gallery-section {
    grid-area: cover !important;
    display: block !important;
    margin: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  body.venue-v2 .venue-detail-columns > .venue-gallery-section .venue-gallery-strip {
    display: none !important;
  }
  body.venue-v2 .venue-detail-columns > .venue-gallery-section .venue-gallery-cover {
    width: 100% !important;
    aspect-ratio: auto !important;
    min-height: 320px !important;
    max-height: 380px !important;
  }
  /* Tam genislik kapakta mekan adi tek satir (yer bol; sarmasin). */
  body.venue-v2 .venue-detail-columns .venue-gallery-cover .venue-hero-info-text {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }
  body.venue-v2 .venue-detail-columns .venue-gallery-cover .venue-hero-name {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  /* Istatistik + aksiyonlar: sol sabit sutun */
  body.venue-v2 .venue-detail-columns > .venue-profile-hero {
    grid-area: info !important;
    margin: 0 !important;
    max-width: none !important;
    align-self: start !important;
    position: sticky !important;
    top: 20px !important;
    width: 100% !important;
  }
  /* Icerik: sag sutun */
  body.venue-v2 .venue-detail-main {
    grid-area: main !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-rows: min-content !important;
    gap: 16px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: clip !important;
    margin: 0 !important;
  }
  body.venue-v2 .venue-detail-main > section {
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  /* Ic 2'li bolumler (Hafta ici|sonu, Durum|Adres) min-width:0 olmadigindan sag
     sutundan tasiyordu; kucuk track'e sigacak sekilde minmax(0,1fr). */
  body.venue-v2 .venue-detail-main .venue-quick-facts,
  body.venue-v2 .venue-detail-main .venue-info-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
  body.venue-v2 .venue-detail-main .venue-quick-facts > *,
  body.venue-v2 .venue-detail-main .venue-info-grid > * {
    min-width: 0 !important;
  }
}

/* Etkinlik kart aciklamalari cok uzun olabiliyor (ozellikle bir kart digerlerinden
   cok daha uzun); kart yukseklikleri esitsiz duruyordu. Aciklamayi 3 satira sinirla. */
.page-event-card > p {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
@media (min-width: 1000px) {
  body.list-detail-body .list-detail-columns {
    display: grid !important;
    grid-template-columns: 360px minmax(0, 1fr) !important;
    grid-template-areas: "info venues" "info report" !important;
    align-items: start !important;
    gap: 34px !important;
    max-width: 1200px !important;
    margin-inline: auto !important;
  }
  body.list-detail-body .list-app-card {
    grid-area: info !important;
    position: sticky !important;
    top: 22px !important;
    margin-bottom: 0 !important;
  }
  body.list-detail-body .list-app-venues-section {
    grid-area: venues !important;
    margin-bottom: 0 !important;
  }
  body.list-detail-body .list-report-row {
    grid-area: report !important;
    margin-top: 18px !important;
  }
  /* Sol sutunda kapak daha kompakt, aksiyonlar alt alta tam genislik */
  body.list-detail-body .list-app-cover {
    min-height: 200px !important;
  }
  /* Baslik dar sol-sutun kartina gore cok buyuktu; daha oranli ve okunur. */
  body.list-detail-body .list-app-body h1 {
    font-size: clamp(1.1rem, 1.25vw, 1.42rem) !important;
    line-height: 1.25 !important;
  }
  body.list-detail-body .list-app-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  body.list-detail-body .list-app-primary,
  body.list-detail-body .list-app-outline {
    flex: none !important;
    width: 100% !important;
  }
  /* Sag sutunda mekanlar 2'li grid (3'lu sikisik ve isimleri kirpiyordu) */
  body.list-detail-body .list-app-venue-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
  body.list-detail-body .list-app-venue { align-items: center !important; }
  /* Mekan adi tek satirda "..." ile kirpilmasin; 2 satira sarsin (tam ad gorunur). */
  body.list-detail-body .list-app-venue-texts strong {
    white-space: normal !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    line-height: 1.22 !important;
  }
}

/* ============================================================
   clean-v86 — Mobil web = mobil uygulama kabugu
   <=760px: web header/footer gizlenir; uygulamadaki ust bar ve
   5 sekmeli alt tab bar tum tuketici sayfalarinda gorunur.
   ============================================================ */
.app-mobile-topbar,
.app-mobile-tabbar {
  display: none;
}

@media (max-width: 760px) {
  html.has-app-shell header.guide-header,
  html.has-app-shell .site-footer,
  html.has-app-shell .account-app-topbar {
    display: none !important;
  }

  html.has-app-shell body {
    padding-bottom: 86px !important;
  }

  html.has-app-shell .app-mobile-topbar {
    display: flex;
    align-items: center;
    gap: 10px;
    position: sticky;
    top: 0;
    z-index: 60;
    padding: 10px 14px;
    background: #f8f5f0;
  }

  .app-top-circle {
    display: grid;
    place-items: center;
    flex: none;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    color: #262130;
    box-shadow: none !important;
    cursor: pointer;
    text-decoration: none;
  }

  .app-top-logo {
    display: grid;
    place-items: center;
    flex: none;
    width: 52px;
    height: 52px;
    border-radius: 13px;
    overflow: hidden;
    background: #f6c20a;
    font-weight: 650;
    color: #17111f;
    text-decoration: none;
  }

  .app-top-logo img { width: 100%; height: 100%; object-fit: cover; }

  .app-top-spacer { flex: 1; }

  .app-top-login {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: none;
    min-height: 46px;
    border-radius: 999px;
    background: #45278f;
    color: #fff;
    padding: 0 14px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: none !important;
  }

  .app-top-avatar {
    display: grid;
    place-items: center;
    flex: none;
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: #45278f;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 650;
    text-decoration: none;
    /* Fotograf varken bas harflerin ustunu kaplar; yoksa bas harf gorunur. */
    position: relative;
    overflow: hidden;
  }

  .app-top-avatar img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  html.has-app-shell .app-mobile-tabbar {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 70;
    padding: 8px 6px calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgba(252, 251, 248, 0.96);
    backdrop-filter: blur(10px);
    border-top: 1px solid rgba(17, 24, 39, 0.07);
  }

  .app-mobile-tabbar a {
    display: grid;
    justify-items: center;
    gap: 3px;
    color: #8d8798;
    font-size: 0.72rem;
    font-weight: 550;
    text-decoration: none;
    padding: 4px 0;
  }

  .app-mobile-tabbar a.is-active { color: #45278f; font-weight: 650; }
}

/* clean-v87 — Ana sayfa da mobil uygulama kabugunu kullanir.
   index.html kendi ozel ust barina/alt menusune sahipti (arama header'i,
   Kesfet/Mekanlar/Listeler/Kampanyalar sekmeleri); artik diger sayfalarla
   ayni app-mobile-topbar + app-mobile-tabbar kullaniliyor. Eski elemanlar
   DOM'dan silinmedi (JS event'leri kopmasin diye), sadece mobilde gizlendi. */
@media (max-width: 760px) {
  html.has-app-shell body.web-shell .site-header,
  html.has-app-shell body.web-shell .bottom-nav,
  html.has-app-shell body.web-shell .floating-ai {
    display: none !important;
  }
}

/* ============================================================
   clean-v89 — Sayfa basliklari (Kampanyalar/Etkinlikler/Rotalar/
   Kent/Lezzetler/Planlayici) uygulamadaki gibi sade: kutu, gradyan,
   golge, kenarlik ve "DG" filigrani kaldirilir; duz sayfa ustunde
   baslik + aciklama kalir. Onceki dagilmis kart-hero kurallarinin
   tumunu ezmek icin dosyanin EN SONUNA eklenir.
   ============================================================ */
.page-hero,
.venues-page-hero,
.city-page-hero,
.feed-page-hero,
.lists-page-hero,
.events-page-hero,
.routes-page-hero,
.campaigns-page-hero,
.tastes-page-hero,
.plans-page-hero,
.search-page-hero,
.account-page-hero,
.campaign-hero,
#campaignsPage .page-hero,
#eventsPage .page-hero,
#cityPage .page-hero,
#tastesPage .page-hero,
#plansPage .page-hero,
#routesPage .page-hero {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 6px 2px 18px !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.page-hero::after,
.venues-page-hero::after,
.city-page-hero::after,
.events-page-hero::after,
.routes-page-hero::after,
.campaigns-page-hero::after,
.tastes-page-hero::after,
.plans-page-hero::after,
.campaign-hero::after,
#campaignsPage .page-hero::after {
  content: none !important;
  display: none !important;
}

.page-hero h1,
.venues-page-hero h1,
.city-page-hero h1,
.events-page-hero h1,
.routes-page-hero h1,
.campaigns-page-hero h1,
.tastes-page-hero h1,
.plans-page-hero h1,
.campaign-hero h1,
#venuesPage .page-hero h1,
#campaignsPage .page-hero h1,
#eventsPage .page-hero h1,
#cityPage .page-hero h1,
#tastesPage .page-hero h1,
#plansPage .page-hero h1,
#routesPage .page-hero h1 {
  position: static !important;
  font-size: clamp(1.5rem, 4.2vw, 2.1rem) !important;
  font-weight: 600 !important;
  color: #201430 !important;
  text-shadow: none !important;
  letter-spacing: -0.01em !important;
  line-height: 1.2 !important;
}

.page-hero p,
.venues-page-hero p,
.city-page-hero p,
.events-page-hero p,
.routes-page-hero p,
.campaigns-page-hero p,
.tastes-page-hero p,
.plans-page-hero p,
.campaign-hero p,
#venuesPage .page-hero p,
#campaignsPage .page-hero p,
#eventsPage .page-hero p,
#cityPage .page-hero p,
#tastesPage .page-hero p,
#plansPage .page-hero p,
#routesPage .page-hero p {
  color: #6f6a7a !important;
  font-weight: 500 !important;
  font-size: 0.98rem !important;
  max-width: 640px !important;
}

/* clean-v90 — Mekanlar sayfasinin kendi hero yapisi (.venues-web-hero,
   yukaridaki genel .page-hero listesinde degildi) ayni sade dile getirilir:
   kutu/gradyan/golge yok, duz sayfa ustunde baslik + aciklama. */
.venues-web-hero {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 6px 2px 18px !important;
}

.venues-web-hero::after {
  content: none !important;
  display: none !important;
}

.venues-web-hero small {
  color: #8b6f1f !important;
  background: none !important;
  padding: 0 !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
}

.venues-web-hero h1 {
  font-size: clamp(1.5rem, 4.2vw, 2.1rem) !important;
  font-weight: 600 !important;
  color: #201430 !important;
  text-shadow: none !important;
}

.venues-web-hero p {
  color: #6f6a7a !important;
  font-weight: 500 !important;
  font-size: 0.98rem !important;
}

/* ============================================================
   clean-v91 — Genislik guvencesi: tuketici sayfalarinda govde
   genisligi (.page-shell) her zaman ayni olsun. Dosyada onceden
   dagilmis bazi ozel-ID kurallar (#listsPage, .lists-web-shell vb.)
   farkli max-width degerleri veriyordu (1120 vs 1180) — bu blok
   dosyanin EN SONUNDA oldugu icin hepsini tek degere sabitler.
   Yeni bir sayfa/ID eklerken buraya da ekle; boylece genislik
   sapmasi ayni hatanin tekrarini onler.
   ============================================================ */
.page-shell,
#accountPage,
#campaignsPage,
#cityPage,
#eventsPage,
#listsPage,
#plansPage,
#routesPage,
#searchPage,
#tastesPage,
#venuesPage,
.lists-web-shell,
.lists-web-body #listsPage,
.venues-web-shell {
  max-width: 1440px !important;
}

/* clean-v93 — Ust bar (guide-header) govde (.page-shell) ile ayni genislik
   ve ayni sol/sag kenardan hizali olsun. Header kendi max-width'ine sahipti
   (1404px) ve icerikten (1440px) 18px farkli/kaymis duruyordu. */
.guide-header,
.page-header-v3 {
  width: min(1440px, 100%) !important;
  max-width: 1440px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* clean-v94 — Header'in KENDI ICINDE iki satiri (logo+arama satiri ile
   menu satiri) farkli padding kullaniyordu (97px vs 1px) — ust satir cok
   icerideyken alt satir kenara yapisik duruyordu. Ikisi de ayni kenar
   bosluguna sabitlenir. */
.page-header-v3 .page-header-top,
.page-header-v3 .page-subnav {
  padding-left: 28px !important;
  padding-right: 28px !important;
}

/* clean-v94b — asil kaynak: ".page-header-top { max-width:1210px }" onu
   auto-margin ile ortaliyordu (96px bosluk), page-subnav tam genislik
   kullaniyordu. max-width kisitlamasi kaldirilir, ikisi ayni hizada olur. */
.page-header-v3 .page-header-top {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* clean-v96 — Sayfadan sayfaya .page-shell yatay padding'i farkliydi
   (campaigns 0px, venues 18px vb.) — ayni govde genisliginde (1440px)
   icerik farkli kenar bosluguyla basliyordu. Tumu tek degere sabitlenir;
   header de (page-shell'in child'i) boylece her sayfada ayni kenardan
   baslar. */
.page-shell,
#accountPage,
#campaignsPage,
#cityPage,
#eventsPage,
#listsPage,
#plansPage,
#routesPage,
#searchPage,
#tastesPage,
#venuesPage,
#feedPage,
.lists-web-shell,
.lists-web-body #listsPage,
.venues-web-shell,
.guide-app {
  padding-left: 18px !important;
  padding-right: 18px !important;
}

/* clean-v98 — Ana sayfada header, .guide-app'in DISINDA (kardesi) durur,
   bu yuzden guide-app'in padding'inden (18px) etkilenmiyor ve icerikten
   18px daha sola tasiyordu. Header genisligi guide-app'in ic genisligine
   (govde - 2*18px padding) esitlenir, boylece ayni ekranda ayni kenardan
   baslar. */
body.web-shell .guide-header {
  width: min(1404px, calc(100% - 36px)) !important;
  max-width: 1404px !important;
}

/* clean-v99 — Mekan detay aksiyon butonlari (Favori/Gittim/Ara/Yol Tarifi/
   Instagram/QR menu) uygulamadaki AnimatedActionButton/quickActionButton
   ile birebir: ikon+yazi yan yana, pasifte sari, aktifte (favoride/gittin)
   mor. Renkler/olculer mobile/src/theme.ts'ten alindi (colors.brand,
   colors.purple, colors.ink, spacing.md/sm, radii.pill). */
body.venue-page-body .venue-profile-actions a,
body.venue-page-body .venue-profile-actions button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-width: 0;
  min-height: 44px;
  padding: 10px 16px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f6c20a !important;
  color: #20182c !important;
  font-size: 0.95rem;
  font-weight: 600 !important;
  line-height: 1.1;
  box-shadow: none !important;
}

body.venue-page-body .venue-profile-actions a svg,
body.venue-page-body .venue-profile-actions button svg {
  flex: none;
  color: inherit;
}
/* is-active renk gecisi (#55249c) yukarida satir ~554'teki kuralda tanimli. */

/* clean-v101 — KESIN COZUM: dosyada .venue-profile-actions icin 16 farkli
   catisan tanim vardi (bazilari @media max-width:760px icinde grid-based
   ve !important, benim class-tabanli kurallarimi mobilde eziyordu). ID
   selector class'lardan HER ZAMAN ustun oldugu icin, konteynere ve her
   butona ID ile kesin kazanan bir kural yazilir — bundan sonra hicbir
   class-based override bunu bozamaz. */
/* clean-v112 — Kaynak koddan dogrulandi: mobile/app/m/[venueId].tsx
   quickActions = { flexDirection:"row", flexWrap:"wrap", gap: spacing.sm }.
   Sabit 2 sutunlu grid DEGIL; butonlar kendi icerik genisligine gore
   dogal olarak satira siginca kayar (Favori/Gittim/Ara bir satir,
   Yol Tarifi/Instagram ikinci satir, QR menu tek basina ucuncu satir). */
#venueActionsRow {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
}

#saveVenueFavorite,
#markVenueVisited,
#venuePhone,
#venueDirections,
#venueInstagram,
#venueQrMenu {
  display: flex !important;
  flex: none !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 10px 16px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f6c20a !important;
  color: #20182c !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

#saveVenueFavorite.is-active,
#markVenueVisited.is-active {
  background: #55249c !important;
  color: #fff !important;
  box-shadow: none !important;
}

#venueQrMenu[hidden] {
  display: none !important;
}

/* clean-v103 — Hero/kapak gorseli uygulamada SABIT 220px yukseklikte
   (mobile/app/m/[venueId].tsx styles.heroImage: {height:220}). Web'de
   clamp(430px,58vw,620px) gibi responsive degerlerle 520px'e kadar
   cikiyordu (2.4 kat buyuk). ID ile kesin kazanan sabit deger verilir —
   ekran genisligine gore OLCEKLENMEZ, tipki uygulamadaki gibi. */
/* clean-v113 — Kaynak kod (mobile/app/m/[venueId].tsx heroImage) SABIT
   height:220 kullanir (aspect-ratio DEGIL). RN "dp" ile CSS "px" ayni
   cihazda ayni fiziksel boyuta karsilik gelir; ekran genisligine gore
   olceklenmez. Onceki v106'daki aspect-ratio:1.3 tahmini yanlisti —
   dogrudan kaynaktaki sabit degere donuldu. */
#venueGalleryCover {
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
  aspect-ratio: unset !important;
  border-radius: 17px !important;
}

#venueGallerySection {
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
  aspect-ratio: unset !important;
}

/* clean-v104 — Hero ICI elemanlar (1/4 sayaci, ACIK/KAPALI rozeti, logo,
   baslik) 220px'lik kompakt yukseklige gore uygulamadaki (heroCounter,
   heroStatusBadge, heroLogo, heroTitle) piksel degerleriyle kucultulur;
   eskiden 15px+ font boyutlariyla 220px'e sigmiyor, ust uste biniyordu. */
#venueGalleryCover {
  padding: 14px !important;
}

#venueGalleryCover .venue-gallery-index {
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
}

#venueGalleryCover .venue-open-pill {
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  letter-spacing: 0.5px !important;
}

#venueGalleryCover .venue-mobile-gallery-dots {
  position: absolute !important;
  left: 50% !important;
  top: 14px !important;
  transform: translateX(-50%) !important;
}

#venueGalleryCover .venue-mobile-gallery-meta {
  font-size: 12px !important;
  font-weight: 600 !important;
  margin-bottom: 2px !important;
}

#venueGalleryCover .venue-mobile-logo {
  width: 44px !important;
  height: 44px !important;
  padding: 4px !important;
  border-radius: 11px !important;
  margin-bottom: 4px !important;
}

#venueGalleryCover .venue-mobile-title {
  font-size: 20px !important;
  line-height: 1.15 !important;
}

/* clean-v109 - Favori dolu kalp (uygulamada isFavorite ? heart : heart-outline).
   Hero'daki gereksiz golge (uygulamada heroImage'da golge tanimi yok) kaldirilir. */
#saveVenueFavorite.is-active svg {
  fill: currentColor !important;
}

#venueGalleryCover {
  box-shadow: none !important;
}

/* clean-v110 - Galeri kaydirma (swipe): birden fazla mekan fotografi
   arasinda yatay scroll-snap ile gecis, uygulamadaki (heroImage icindeki
   ScrollView horizontal) davranisin web karsiligi. */
.venue-mobile-gallery-slides {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
  cursor: grab !important;
}

.venue-mobile-gallery-slides.is-dragging {
  cursor: grabbing !important;
  scroll-snap-type: none !important;
  user-select: none !important;
}

.venue-mobile-gallery-slides::-webkit-scrollbar {
  display: none;
}

.venue-mobile-gallery-slide {
  flex: 0 0 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
  scroll-snap-align: start !important;
  scroll-snap-stop: always !important;
}

#venueGalleryCover {
  position: relative !important;
}

.venue-mobile-gallery-slides {
  z-index: 0 !important;
}

#venueGalleryCover > .venue-mobile-gallery-meta,
#venueGalleryCover > .venue-mobile-logo,
#venueGalleryCover > .venue-mobile-title {
  position: relative !important;
  z-index: 1 !important;
}

/* clean-v120 - Yukaridaki kural ".venue-mobile-gallery-dots"i de kapsiyordu ve
   onu position:relative'e zorluyordu; dots ustteki 14px overlay konumunu kaybedip
   normal akista status bar'in ALTINA duserek ~118px asagida, baslik metninin
   ustune biniyordu (masaustu ekran goruntusunde gorulen). Absolute + z-index
   burada ayrica ve KESIN olarak geri verilir. */
/* clean-v122 - Ayni sorun ".venue-mobile-gallery-top" (1/4 sayaci + AÇIK rozeti)
   icin de gecerliydi: kendi ozel kurali (satir ~411) position:absolute istiyordu
   ama yukaridaki genel liste onu relative'e zorluyordu, akista kalip metnin
   (venue-mobile-gallery-meta) ustune biniyordu (masaustu ekran goruntusunde
   gorulen "AÇIK" rozeti/kategori metni cakismasi). Ikisi de dots gibi ayri
   absolute kurala alindi. */
#venueGalleryCover > .venue-mobile-gallery-dots,
#venueGalleryCover > .venue-mobile-gallery-top {
  position: absolute !important;
  z-index: 1 !important;
}

/* clean-v111 - ".venue-gallery-cover > *" evrensel kurali TUM cocuklara
   position:relative veriyordu, slides'i da eziyordu. ID ile kesin kazandirilir. */
#venueGallerySlides {
  position: absolute !important;
  z-index: 0 !important;
}

/* clean-v119 - Mekan detay: eski "webde uygulama hissi" buyuk-hero tasarimindan
   (satir ~4425 ve ~10399, min-height:660px) kalma bosluk kaldirildi. O tasarim
   buyuk baslik/aciklama metni icin ayrilmisti; bugun o metinler zaten display:none.
   Konteyner artik icerigine (kompakt foto karti + buton satiri) gore boyutlanir,
   mobil ile ayni davranis TUM ekran genisliklerinde. Sayfa govde genisligi de
   (980px -> 1440px) sitenin geri kalaniyla (lists/venues .page-shell) eslesir. */
body.venue-page-body:not(.list-detail-body) .venue-page-shell {
  max-width: 1440px !important;
}

body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) {
  min-height: 0 !important;
  max-width: 920px !important;
}

/* clean-v121 - Bilgi bolumleri (saat/adres kartlari, hizmet secenekleri,
   hakkinda, konum, menu) 920px'e sabitlenmisti; diger sayfalarin
   (venues.html/lists.html .page-shell icerigi) doldurdugu genislikle
   uyusmuyordu. Kapak ise 220px sabit yukseklikte oldugundan tam genislige
   cekilirse ince bir serit gibi bozuk gorunur; o yuzden SADECE bilgi
   bolumleri genisletildi, foto karti kompakt kaldi. */
body.venue-page-body:not(.list-detail-body) .venue-quick-facts,
body.venue-page-body:not(.list-detail-body) .venue-info-grid,
body.venue-page-body:not(.list-detail-body) .venue-service-options-section,
body.venue-page-body:not(.list-detail-body) .venue-about-section,
body.venue-page-body:not(.list-detail-body) .venue-location-map,
body.venue-page-body:not(.list-detail-body) .venue-menu-section,
body.venue-page-body:not(.list-detail-body) .venue-chip-section {
  max-width: 100% !important;
}

/* clean-v123 - ".venue-profile-hero::before" (satir ~8649) eski tek-parca
   buyuk arka plan fotografini karartmak icin tasarlanmis koyu gradyandi;
   inset:0 ile TUM hero kutusunu (foto karti + 18px bosluk + buton satiri)
   kapliyor. Foto kart + buton satiri arasindaki bosluk artik hicbir cocuk
   tarafindan ortulmedigi icin bu gradyan orada "siyahlik/gri serit" olarak
   goruluyordu (kullanicinin ekran goruntusunde tespit edildi). Yeni
   tasarimda her slaytin kendi gradyani zaten var, bu genel karartma
   gereksiz — kaldirildi. */
body.venue-page-body:not(.list-detail-body) .venue-profile-hero::before {
  display: none !important;
}

/* clean-v124 - Kullanici foto kartinin masaustunde de dar kaldigini
   belirtti (bilgi bolumleri genisletildikten sonra bile 920px'de sabit
   kalmisti). 901px ustunde diger bolumlerle (100%) ayni genislige
   cekildi; mobildeki sabit 220px yukseklik burada COK ince bir serit
   yaratacagi icin (1372/220 = 6.2:1) yerine masaustune uygun bir
   en-boy orani (3.3:1) kullanilir — mobil sabit 220px'e dokunulmadi. */
@media (min-width: 901px) {
  body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) {
    max-width: 100% !important;
  }

  body.venue-page-body:not(.list-detail-body) #venueGalleryCover,
  body.venue-page-body:not(.list-detail-body) #venueGallerySection {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 3.3 !important;
  }
}

/* clean-v126 - Ust bar yenileme: "Isletme Girisi" butonu kaldirildi (isletmeler
   artik normal girisle giriyor; footer'daki link kesif noktasi olarak kaldi).
   Marka blogu buyutuldu: logo 50 -> 58px, baslik daha okunur, alt baslik
   yalnizca genis ekranda gorunur. Nav satiri butonsuz kalinca ortalanmadan
   dogal sola hizali akar. */
.page-header-v3 .brand-mark {
  width: 58px !important;
  height: 58px !important;
  border-radius: 13px !important;
}

.page-header-v3 .brand-title {
  font-size: 1.22rem !important;
  font-weight: 650 !important;
  letter-spacing: -0.01em !important;
}

.page-header-v3 .brand-subtitle {
  font-size: 0.82rem !important;
}

.page-header-v3 .page-header-top {
  min-height: 74px !important;
}

@media (max-width: 680px) {
  .page-header-v3 .brand-mark {
    width: 48px !important;
    height: 48px !important;
  }

  .page-header-v3 .brand-title {
    font-size: 1.05rem !important;
  }

  .page-header-v3 .brand-subtitle {
    display: none !important;
  }
}

/* clean-v127 - Mobil ana sayfa: ic ice 4 kap (dis bosluk 14 + guide-app 18 +
   guide-section 16 + kart grid 12 = 60px) icerigi ekranin ortasina sikistiriyordu;
   diger sayfalarda ayni bosluk ~18px. Mobilde katmanlar sadelestirilir:
   kartlar ve basliklar diger sayfalarla ayni kenardan (~14-18px) baslar. */
@media (max-width: 760px) {
  body.web-shell .guide-app {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.web-shell .guide-scroll > .guide-section,
  body.web-shell .guide-scroll > .platform-launchpad {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  body.web-shell #homeVenuesGrid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Kayan seritler (listeler, kampanyalar, etkinlik/haber): kenardan kenara
     kayar ama icerik diger bolumlerle ayni 18px cizgisinden baslar.
     #campaignGrid ID ile: class-tabanli eski padding kurallari ID'yi asamaz. */
  body.web-shell #myListsGrid,
  body.web-shell #campaignGrid,
  body.web-shell .campaign-grid,
  body.web-shell .featured-carousel {
    width: auto !important;
    margin-left: -18px !important;
    margin-right: -18px !important;
    padding: 2px 18px 6px !important;
    scroll-padding-left: 18px !important;
  }

  /* Minimal kart dili: kayan seritlerde ve ana sayfa mekan kartlarinda
     golge yok, ince tek cerceve (liste seridiyle ayni gorunum). */
  body.web-shell .campaign-grid .campaign-card,
  body.web-shell .featured-carousel .home-strip-card,
  body.web-shell #homeVenuesGrid .home-venue-card {
    box-shadow: none !important;
    border: 1px solid var(--tc-line) !important;
  }

  body.web-shell .section-heading {
    padding-left: 2px !important;
    padding-right: 2px !important;
  }
}

/* clean-v129 - Minimal kart dili SITE GENELINE yayildi (kullanici istegi:
   "komple kartlari fontlari minimallestirelim"). Ana sayfadaki begenilen
   desen — golgesiz, 1px ince cerceveli kart — tum tuketici kart ailelerine
   uygulanir. Etkilesim geri bildirimi golge yerine cerceve koyulasmasiyla
   verilir (hover). */
.page-list-card,
.page-empty-card,
.page-service-card,
.lists-app-card,
.campaign-page-card,
.home-list-card,
.home-venue-card,
.home-strip-card,
.campaign-card,
.venue-quick-facts > article,
.venue-info-grid > article,
.venue-daily-hours,
.venue-menu-category,
.venue-chip-section,
.venue-about-section {
  box-shadow: none !important;
  border: 1px solid var(--tc-line) !important;
}

a.page-list-card:hover,
.page-list-card a:hover,
a.lists-app-card:hover,
a.home-list-card:hover,
a.home-venue-card:hover,
a.home-strip-card:hover {
  box-shadow: none !important;
  border-color: rgba(91, 65, 153, 0.35) !important;
}

/* clean-v129b - Yukaridaki minimal kart kurali, daha yuksek ozgulluklu eski
   kurallara (ID'li #campaignsPage, .lists-web-body zinciri, venue-page-body
   :not() zinciri) yenildigi uc aile icin ayni zincirlerle tekrarlanir. */
#campaignsPage .campaign-page-card,
.lists-web-body .lists-app-card,
body.venue-page-body:not(.list-detail-body) .venue-quick-facts article,
body.venue-page-body:not(.list-detail-body) .venue-daily-hours,
body.venue-page-body:not(.list-detail-body) .venue-info-grid article,
body.venue-page-body:not(.list-detail-body) .venue-menu-category {
  box-shadow: none !important;
  border: 1px solid var(--tc-line) !important;
}

/* clean-v130 - Bolum basliklari: golgesiz minimal duzende basliklar govde
   metninden yeterince ayrismiyordu ("baslik oldugu belli olmuyor"). Marka
   renklerinden (sari -> mor) kucuk dikey vurgu cubugu eklendi; hem ana sayfa
   (.section-heading) hem alt sayfa (.page-section-title) basliklarinda ayni
   dil. Admin etkilenmez (theme-clean.css yalniz tuketici sayfalarinda). */
.section-heading h2,
.page-section-title h2 {
  position: relative !important;
  padding-left: 14px !important;
}

.section-heading h2::before,
.page-section-title h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 1.05em;
  border-radius: 999px;
  background: linear-gradient(180deg, #f6c20a 0%, #6d28d9 100%);
}

/* clean-v131 - Bolum basliklari daha buyuk ve kalin (kullanici istegi).
   Govde metni ince kalirken basliklar hiyerarsiyi tasir. */
.section-heading h2,
.page-section-title h2 {
  font-size: clamp(1.35rem, 3.2vw, 1.7rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}

/* clean-v132 - Alt sayfa ust ritmi sikilastirildi: header alti + hero +
   ilk bolum marjlari ust uste binip basligin ustunde genis bos alan
   birakiyordu (kullanici bildirimi, kampanyalar sayfasi). Tum tuketici
   alt sayfalarinda gecerli. */
body.guide-body:not(.web-shell):not(.admin-body) .guide-header.page-header-v3 {
  margin-bottom: 10px !important;
}

body.guide-body:not(.web-shell):not(.admin-body) .page-hero {
  padding-top: 0 !important;
  padding-bottom: 8px !important;
}

body.guide-body:not(.web-shell):not(.admin-body) .page-hero + .page-section,
body.guide-body:not(.web-shell):not(.admin-body) .page-hero + section {
  margin-top: 18px !important;
}

/* clean-v132b - Hero/bolum marjlari sayfa-ID'li eski kurallara (ornegin
   #campaignsPage .page-hero) yenildigi icin ayni ID'lerle tekrarlanir. */
#campaignsPage .page-hero,
#eventsPage .page-hero,
#feedPage .page-hero,
#cityPage .page-hero,
#routesPage .page-hero,
#tastesPage .page-hero,
#plansPage .page-hero,
#searchPage .page-hero,
#venuesPage .page-hero,
#listsPage .page-hero {
  padding-top: 0 !important;
  padding-bottom: 8px !important;
}

#campaignsPage .page-section,
#eventsPage .page-section,
#feedPage .page-section,
#cityPage .page-section,
#routesPage .page-section,
#tastesPage .page-section,
#plansPage .page-section,
#searchPage .page-section {
  margin-top: 18px !important;
}

/* clean-v133 - Ana sayfa "Mekan sahibi misin?" basvuru bandi + footer
   magaza rozetleri (App Store / Google Play, Genel Ayarlar'dan yonetilir). */
.owner-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  border: 1px solid var(--tc-line);
  border-radius: 13px;
  background:
    radial-gradient(circle at 92% 10%, rgba(246, 194, 10, 0.18), transparent 40%),
    #fff;
  text-decoration: none;
  color: var(--tc-ink);
}

.owner-cta h2 {
  margin: 0 0 6px;
  font-size: clamp(1.2rem, 2.6vw, 1.5rem);
  font-weight: 700;
}

.owner-cta p {
  margin: 0;
  color: var(--tc-gray);
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.45;
  max-width: 560px;
}

.owner-cta-button {
  flex: 0 0 auto;
  padding: 12px 22px;
  border-radius: 999px;
  background: #f6c20a;
  color: #20182c;
  font-weight: 700;
  font-size: 0.95rem;
  white-space: nowrap;
}

.owner-cta:hover .owner-cta-button {
  background: #ecb90f;
}

@media (max-width: 640px) {
  .owner-cta {
    flex-direction: column;
    align-items: flex-start;
    padding: 18px;
  }
}

@media (max-width: 760px) {
  body.web-shell .owner-cta-section {
    order: 8;
  }
}

.site-footer-stores {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.store-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px 7px 11px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  color: #fff !important;
  text-decoration: none;
  line-height: 1.1;
}

.store-badge span {
  display: grid;
}

.store-badge small {
  font-size: 0.62rem;
  font-weight: 500;
  opacity: 0.75;
}

.store-badge span {
  font-size: 0.85rem;
  font-weight: 650;
}

.store-badge:hover {
  background: rgba(255, 255, 255, 0.14);
}

/* clean-v134 - Kampanyalar ve Arama kabuklarindaki 28px ust dolgu kaldirildi:
   diger tum alt sayfalarda (mekanlar/etkinlikler/listeler/akis) kabuk ust
   dolgusu 0, header sayfanin en ustunden basliyor. Iki sayfa ayni ritme
   esitlendi (kullanici bildirimi: kampanyalar sayfasinin ustunde bosluk). */
#campaignsPage,
#searchPage {
  padding-top: 0 !important;
}

/* clean-v135 - Hesap sayfasi form elemanlari modernlestirildi (kullanici:
   "selectler kotu gorunuyor"). Native select ozel ok ikonlu, tum girisler
   ayni yuvarlak/ince cerceveli dil; mekan secimi Tom Select (admin ile ayni
   bilesen) modern aramali dropdown olarak calisir. */
.account-business-form input,
.account-business-form textarea,
.account-business-form select {
  width: 100%;
  border: 1px solid var(--tc-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  padding: 12px 14px !important;
  font: inherit !important;
  font-size: 0.95rem !important;
  color: var(--tc-ink) !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.account-business-form input:focus,
.account-business-form textarea:focus,
.account-business-form select:focus {
  outline: none !important;
  border-color: #7c3aed !important;
  box-shadow: none !important;
}

.account-business-form select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b6478' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 40px !important;
  cursor: pointer;
}

/* Tom Select kabugu ayni dile uyar */
.account-business-form .ts-control {
  border: 1px solid var(--tc-line) !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  background: #fff !important;
  font-size: 0.95rem !important;
  box-shadow: none !important;
}

.account-business-form .ts-wrapper.focus .ts-control {
  border-color: #7c3aed !important;
  box-shadow: none !important;
}

.account-business-form .ts-dropdown {
  border: 1px solid var(--tc-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  overflow: hidden;
  font-size: 0.95rem;
}

.account-business-form .ts-dropdown .option {
  padding: 10px 14px;
}

.account-business-form .ts-dropdown .active {
  background: #f5f1fb;
  color: var(--tc-ink);
}

.claim-venue-option {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.claim-venue-option small {
  color: var(--tc-gray);
  font-size: 0.78rem;
  flex: 0 0 auto;
}

/* clean-v136 - Basvuru formu iletisim ipucu satiri */
.account-claim-hint {
  display: block;
  margin: -6px 0 4px;
  color: var(--tc-gray);
  font-size: 0.8rem;
  font-weight: 500;
}

/* clean-v137 - Mekan karti: gorselsiz mekanlar icin sik yer tutucu (marka
   gradyani + bas-harf rozeti; onceki ham "DG" metni cirkindi), kart ici
   dikey ritim toparlandi, yan filtre paneli artik kaydirmayi takip ediyor
   (kok neden: html/body'deki overflow-x:hidden sticky'yi kiriyordu, tum
   kabuk kurallari clip'e cevrildi). */
.page-card-cover {
  aspect-ratio: 16 / 10;
  border-radius: 12px;
  overflow: hidden;
}

.page-card-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.page-card-cover-empty {
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 80% 12%, rgba(246, 194, 10, 0.25), transparent 45%),
    linear-gradient(135deg, #f5f1fb, #e7dcf8);
}

.page-card-cover-empty span {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.85);
  color: #5b4199;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* Kart ici ritim: tutarli dikey bosluklar, tasan metinlere satir siniri */
.page-venue-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.page-venue-card .page-card-head {
  margin: 0;
}

.page-venue-card h3 {
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.page-venue-card p {
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.page-venue-card .page-service-meta {
  margin-top: auto;
}

/* clean-v138 - Kart ici nefes payi (kullanici: "Su an acik cok yapisik"):
   dikey bosluklar gevsetildi, rozet kendi satirinda kompakt durur, aciklama
   satir araligi rahatladi. Yapisan filtre paneli header'in hemen altina
   yapismasin diye ~1 tik asagida durur. */
body.venues-web-body .venues-web-sidebar {
  top: 176px !important;
}

.page-venue-card {
  gap: 10px !important;
  padding: 14px 16px 18px !important;
}

.page-venue-card .page-card-head {
  margin-bottom: 0 !important;
}

.page-venue-card h3 {
  line-height: 1.25 !important;
}

.page-venue-card .page-open-badge {
  width: fit-content;
  margin: 0;
  padding: 5px 12px;
  line-height: 1.2;
}

.page-venue-card p {
  line-height: 1.55 !important;
  color: var(--tc-gray) !important;
}

.page-venue-card .page-service-meta {
  padding-top: 4px;
}

/* clean-v139 - Mekanlar filtre paneli modernlestirildi (kullanici: "filtre
   alanindaki fontlar cok kotu, selectler kotu"). Kalin BUYUK-HARF etiketler
   yerine ince normal yazi; selectler hesap formundaki ozel ok ikonlu modern
   dile gecti; panel golgesiz 1px cerceveli minimal kart. */
body.venues-web-body .venues-web-sidebar {
  border: 1px solid var(--tc-line) !important;
  border-radius: 13px !important;
  background: #fff !important;
  box-shadow: none !important;
  padding: 20px !important;
  gap: 16px !important;
}

body.venues-web-body .venues-web-sidebar h3 {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  color: var(--tc-ink) !important;
}

body.venues-web-body .venues-web-sidebar label,
body.venues-web-body .venues-web-sidebar .venues-sidebar-grouplabel {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: #5d5668 !important;
  gap: 7px !important;
}

body.venues-web-body .venues-web-sidebar select {
  min-height: 44px !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 12px !important;
  background-color: #fff !important;
  padding: 0 40px 0 14px !important;
  font: inherit !important;
  font-size: 0.93rem !important;
  font-weight: 500 !important;
  color: var(--tc-ink) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b6478' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.venues-web-body .venues-web-sidebar select:focus {
  outline: none !important;
  border-color: #7c3aed !important;
  box-shadow: none !important;
}

body.venues-web-body .venues-web-sidebar .venues-sidebar-check {
  min-height: 0 !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  color: var(--tc-ink) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

body.venues-web-body .venues-web-sidebar .venues-sidebar-check input {
  width: 18px;
  height: 18px;
  border-radius: 6px;
  accent-color: #5b4199;
}

body.venues-web-body .venues-web-sidebar button {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  font-size: 0.95rem !important;
}

/* clean-v140 - Fotografsiz mekanda galeri gizlenir (kullanici: "gorsel yuklu
   degilse galeri gelmesin"). Galeri kaplamasinda yasayan baslik/ilce bilgisi
   bu durumda ust kopya blogundan sade bicimde gosterilir. */
body.venue-page-body.venue-no-gallery .venue-profile-copy > .story-pill {
  display: inline-flex !important;
  width: fit-content;
  margin: 0 0 10px;
  padding: 5px 12px;
  border-radius: 999px;
  background: #f5f1fb;
  color: #5b4199;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

body.venue-page-body.venue-no-gallery .venue-profile-copy > h1 {
  display: flex !important;
  align-items: center;
  gap: 4px;
  margin: 0 0 8px;
  color: var(--tc-ink);
  font-size: clamp(1.5rem, 3vw, 1.9rem);
  font-weight: 700;
  line-height: 1.2;
}

body.venue-page-body.venue-no-gallery .venue-profile-copy > #venueNote {
  display: block !important;
  margin: 0 0 14px;
  color: var(--tc-gray);
  font-size: 0.95rem;
  line-height: 1.55;
}

/* clean-v140b - Gizleme kurali ID seciciyle (#venueName) yazildigi icin
   ayni zincir + .venue-no-gallery ile ezilir. */
body.venue-page-body.venue-no-gallery:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-copy > .story-pill {
  display: inline-flex !important;
}

body.venue-page-body.venue-no-gallery:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) #venueName {
  display: flex !important;
}

body.venue-page-body.venue-no-gallery:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) #venueNote {
  display: block !important;
}

/* clean-v141 - Gizli galeri gercekten gizlenir: uzun zincirli display:block
   kurali [hidden] halini de eziyordu; ayni zincir + [hidden] ile kapatilir.
   Fotografsiz baslik rengi de koyu murekkebe sabitlenir (beyaz kaliyordu). */
body.venue-page-body:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-gallery-section[hidden] {
  display: none !important;
}

body.venue-page-body.venue-no-gallery:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) #venueName {
  color: var(--tc-ink) !important;
  text-shadow: none !important;
}

body.venue-page-body.venue-no-gallery:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) #venueNote {
  color: var(--tc-gray) !important;
}

body.venue-page-body.venue-no-gallery:not(.list-detail-body) .venue-page-shell > .venue-profile-hero:not(.public-user-hero) .venue-profile-copy > .story-pill {
  background: #f5f1fb !important;
  color: #5b4199 !important;
}

/* clean-v142 - Listeler sayfasi kartlari mekan kartlariyla ayni dile gecti
   (kullanici: "bu sayfayi da duzeltmemiz lazim ayni kart gorsellerini falan").
   Kapaksiz listede dev mor blok + kocaman harfler yerine marka gradyani ve
   beyaz daire icinde bas-harf rozeti; kartlar golgesiz 1px cerceveli. */
.lists-app-card {
  border: 1px solid var(--tc-line) !important;
  box-shadow: none !important;
  transition: border-color 0.15s ease;
}

.lists-app-card:hover {
  border-color: rgba(124, 58, 237, 0.45) !important;
}

.lists-app-cover.is-empty {
  background:
    radial-gradient(circle at 80% 12%, rgba(246, 194, 10, 0.25), transparent 45%),
    linear-gradient(135deg, #f5f1fb, #e7dcf8) !important;
}

.lists-app-cover.is-empty .lists-app-cover-fallback {
  align-items: center !important;
  background: rgba(255, 255, 255, 0.85);
  border-radius: 50%;
  color: #5b4199 !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  height: 64px;
  inset: auto !important;
  justify-content: center !important;
  left: 50% !important;
  position: absolute !important;
  top: 50% !important;
  transform: translate(-50%, -50%);
  width: 64px;
}

.lists-app-save {
  border: 1px solid var(--tc-line) !important;
  box-shadow: none !important;
  height: 38px !important;
  right: 12px !important;
  top: 12px !important;
  width: 38px !important;
}

.lists-app-save svg {
  height: 18px !important;
  width: 18px !important;
}

.lists-app-card-body p {
  font-weight: 500 !important;
  font-size: 0.95rem !important;
}

.lists-app-card-body small {
  font-size: 0.72rem !important;
  letter-spacing: 0.05em !important;
}

.lists-app-card-body h3 {
  font-size: clamp(1.1rem, 2.2vw, 1.35rem) !important;
  line-height: 1.25 !important;
}

.lists-app-card-body strong {
  font-size: 0.95rem !important;
}

/* clean-v142b - .lists-web-body onekli eski kurallar daha guclu kaliyordu;
   ayni onekle ezilir. */
.lists-web-body .lists-app-cover.is-empty {
  background:
    radial-gradient(circle at 80% 12%, rgba(246, 194, 10, 0.25), transparent 45%),
    linear-gradient(135deg, #f5f1fb, #e7dcf8) !important;
}

.lists-web-body .lists-app-cover.is-empty .lists-app-cover-fallback {
  background: rgba(255, 255, 255, 0.85);
  border-radius: 50%;
  color: #5b4199 !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  height: 64px;
  inset: auto !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%);
  width: 64px;
}

.lists-web-body .lists-app-card {
  border: 1px solid var(--tc-line) !important;
  box-shadow: none !important;
}

.lists-web-body .lists-app-card:hover {
  border-color: rgba(124, 58, 237, 0.45) !important;
}

.lists-web-body .lists-app-save {
  border: 1px solid var(--tc-line) !important;
  box-shadow: none !important;
  height: 38px !important;
  width: 38px !important;
}

/* clean-v143 - Footer komple elden gecti (kullanici: "footerin fontlari falan
   iyi degil"). Agressif gradyan/golgeli yuzen kart yerine sakin duz koyu
   zemin; 850-950 kalinliktaki yazilar normale indi; sari bagirtkan basliklar
   yerine soluk kucuk etiketler; linkler ince, hover'da sari. */
body.guide-body:not(.admin-body) .site-footer,
body.web-shell .site-footer,
body.venues-web-body .site-footer,
body.lists-web-body .site-footer {
  width: 100%;
  margin: clamp(48px, 7vw, 82px) 0 0;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0;
  background: #1c1426;
  box-shadow: none !important;
  color: rgba(255, 255, 255, 0.78);
}

body.guide-body:not(.admin-body) .site-footer-inner,
body.web-shell .site-footer-inner,
body.venues-web-body .site-footer-inner,
body.lists-web-body .site-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(36px, 5vw, 56px) clamp(18px, 4vw, 32px) clamp(28px, 4vw, 44px);
}

body.guide-body:not(.admin-body) .site-footer .brand-mark,
body.web-shell .site-footer .brand-mark,
body.venues-web-body .site-footer .brand-mark,
body.lists-web-body .site-footer .brand-mark {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  box-shadow: none !important;
}

body.guide-body:not(.admin-body) .site-footer-brand strong,
body.web-shell .site-footer-brand strong,
body.venues-web-body .site-footer-brand strong,
body.lists-web-body .site-footer-brand strong {
  margin: 2px 0 6px;
  font-size: 1.08rem;
  font-weight: 700;
}

body.guide-body:not(.admin-body) .site-footer-brand p,
body.web-shell .site-footer-brand p,
body.venues-web-body .site-footer-brand p,
body.lists-web-body .site-footer-brand p {
  max-width: 320px;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.6;
}

body.guide-body:not(.admin-body) .site-footer-col,
body.web-shell .site-footer-col,
body.venues-web-body .site-footer-col,
body.lists-web-body .site-footer-col {
  gap: 11px;
}

body.guide-body:not(.admin-body) .site-footer-col strong,
body.web-shell .site-footer-col strong,
body.venues-web-body .site-footer-col strong,
body.lists-web-body .site-footer-col strong {
  margin-bottom: 6px;
  color: rgba(255, 255, 255, 0.45);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.guide-body:not(.admin-body) .site-footer-col a,
body.web-shell .site-footer-col a,
body.venues-web-body .site-footer-col a,
body.lists-web-body .site-footer-col a {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.92rem;
  font-weight: 400;
  transition: color 140ms ease;
}

body.guide-body:not(.admin-body) .site-footer-col a:hover,
body.web-shell .site-footer-col a:hover,
body.venues-web-body .site-footer-col a:hover,
body.lists-web-body .site-footer-col a:hover {
  color: #f6c20a;
  transform: none;
}

body.guide-body:not(.admin-body) .site-footer-base,
body.web-shell .site-footer-base,
body.venues-web-body .site-footer-base,
body.lists-web-body .site-footer-base {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 16px;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-align: center;
}

.site-footer .store-badge {
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: transparent;
  border-radius: 10px;
  transition: border-color 140ms ease;
}

.site-footer .store-badge:hover {
  border-color: rgba(246, 194, 10, 0.6);
}

.site-footer .store-badge strong {
  font-weight: 600;
}

/* clean-v143b - Marka blogu altinda sade Instagram linki */
.site-footer .site-footer-social {
  display: inline-block;
  margin-top: 12px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.88rem;
  font-weight: 400;
  text-decoration: none;
  transition: color 140ms ease;
}

.site-footer .site-footer-social:hover {
  color: #f6c20a;
}

/* clean-v144/145 - Footer kenara kadar uzanir (kullanici: "niye boyle kesik
   kaldi... ayri ayri olmasina gerek yok"). Kok neden: index.html'de footer
   gomulu kopya olarak overflow-x:clip'li 1440px kabugun ICINDE yasiyordu;
   100vw tasirmasi da bu kirpmaya takiliyordu. Footer artik her sayfada
   </main> disinda partial include - duz %100 genislik yeterli. */
body.guide-body:not(.admin-body) .site-footer,
body.web-shell .site-footer,
body.venues-web-body .site-footer,
body.lists-web-body .site-footer {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* clean-v146 - Kullanici profil sayfasi (/u/) minimal dile gecti (kullanici:
   "giris yaptiktan sonra hala cok kaba"). Beyaz-ustu-beyaz baslik, dev sari
   butonlar ve koyu kapakli kart kaldirildi; sade beyaz kartlar, ince fontlar. */
body.profile-public-body .public-user-hero {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 20px !important;
  background: #fff !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 13px !important;
  box-shadow: none !important;
  margin-top: 24px !important;
  padding: 24px !important;
  min-height: 0 !important;
}

body.profile-public-body .public-user-avatar {
  flex: 0 0 auto;
  width: 72px !important;
  height: 72px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #5b4199 !important;
  color: #fff !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

body.profile-public-body .public-user-hero > div:not(.venue-profile-card) {
  flex: 1 1 320px;
  min-width: 0;
}

body.profile-public-body .public-user-hero .story-pill {
  display: inline-flex !important;
  width: fit-content;
  margin: 0 0 8px !important;
  padding: 4px 11px !important;
  border-radius: 999px !important;
  background: #f5f1fb !important;
  color: #5b4199 !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

body.profile-public-body .public-user-hero h1 {
  margin: 0 0 4px !important;
  color: var(--tc-ink) !important;
  font-size: clamp(1.4rem, 2.6vw, 1.7rem) !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}

body.profile-public-body .public-user-hero p {
  margin: 0 0 14px !important;
  color: var(--tc-gray) !important;
  font-size: 0.95rem !important;
}

body.profile-public-body .venue-profile-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

body.profile-public-body .venue-profile-actions a,
body.profile-public-body .venue-profile-actions button {
  min-height: 0 !important;
  width: auto !important;
  padding: 9px 16px !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--tc-ink) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transition: border-color 0.15s ease, background 0.15s ease;
}

body.profile-public-body .venue-profile-actions a:hover,
body.profile-public-body .venue-profile-actions button:hover {
  border-color: rgba(124, 58, 237, 0.5) !important;
}

body.profile-public-body .venue-profile-actions #followProfile {
  background: #5b4199 !important;
  border-color: #5b4199 !important;
  color: #fff !important;
}

body.profile-public-body #profileHeroCard {
  margin-left: auto;
  flex: 0 0 auto;
  display: grid !important;
  gap: 2px !important;
  background: #faf8fd !important;
  background-image: none !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 11px !important;
  box-shadow: none !important;
  padding: 16px 22px !important;
  color: var(--tc-ink) !important;
  min-width: 150px;
}

body.profile-public-body #profileHeroCard strong {
  color: var(--tc-ink) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
}

body.profile-public-body #profileHeroCard span {
  color: var(--tc-gray) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
}

body.profile-public-body #profileHeroCard small {
  color: #5b4199 !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
}

body.profile-public-body .profile-stat-row {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 12px !important;
  margin-top: 16px !important;
}

body.profile-public-body .profile-stat-row article {
  display: grid !important;
  gap: 2px !important;
  background: #fff !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 11px !important;
  box-shadow: none !important;
  padding: 14px 18px !important;
}

body.profile-public-body .profile-stat-row article strong {
  color: var(--tc-ink) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
}

body.profile-public-body .profile-stat-row article span {
  color: var(--tc-gray) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
}

body.profile-public-body .venue-info-grid article {
  background: #fff !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 11px !important;
  box-shadow: none !important;
  padding: 16px 20px !important;
}

body.profile-public-body .venue-info-grid article strong {
  display: block;
  margin-bottom: 4px;
  color: #8a8394 !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

body.profile-public-body .venue-info-grid article span {
  color: var(--tc-ink) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

/* clean-v146b - Giris sonrasi ana sayfa "Benim Duzce'm" paneli toparlandi
   (kullanici: "giris yaptiktan sonra ana ekranda karisiyor"): dev bosluklu
   kutular yerine esit yukseklikte sade kartlar, kompakt satirlar. */
.user-home-panel .user-home-stats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 14px !important;
}

.user-home-panel .user-home-stats span {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 5px !important;
  padding: 7px 13px !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--tc-gray) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
}

.user-home-panel .user-home-stats strong {
  color: var(--tc-ink) !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
}

.user-home-panel .user-home-next-actions {
  display: grid !important;
  gap: 8px !important;
  margin-bottom: 16px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.user-home-panel .user-home-next-actions small {
  color: #8a8394 !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

.user-home-panel .user-home-next-actions a {
  display: grid !important;
  gap: 3px !important;
  padding: 13px 16px !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: inherit !important;
  text-decoration: none !important;
  transition: border-color 0.15s ease;
}

.user-home-panel .user-home-next-actions a:hover {
  border-color: rgba(124, 58, 237, 0.45) !important;
}

.user-home-panel .user-home-next-actions a strong {
  color: var(--tc-ink) !important;
  font-size: 0.96rem !important;
  font-weight: 600 !important;
}

.user-home-panel .user-home-next-actions a span {
  color: var(--tc-gray) !important;
  font-size: 0.88rem !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

.user-home-panel .user-home-columns {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 12px !important;
  align-items: start !important;
}

.user-home-panel .user-home-columns article {
  display: grid !important;
  gap: 8px !important;
  align-content: start !important;
  background: #fff !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 11px !important;
  box-shadow: none !important;
  padding: 16px !important;
  min-height: 0 !important;
}

.user-home-panel .user-home-columns article small {
  color: #8a8394 !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

.user-home-panel .user-home-columns article a,
.user-home-panel .user-home-columns article button {
  display: grid !important;
  gap: 2px !important;
  width: 100% !important;
  text-align: left !important;
  padding: 10px 12px !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  background: #faf8fd !important;
  box-shadow: none !important;
  color: inherit !important;
  font: inherit !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: border-color 0.15s ease;
}

.user-home-panel .user-home-columns article a:hover,
.user-home-panel .user-home-columns article button:hover {
  border-color: rgba(124, 58, 237, 0.4) !important;
}

.user-home-panel .user-home-columns article strong {
  color: var(--tc-ink) !important;
  font-size: 0.94rem !important;
  font-weight: 600 !important;
}

.user-home-panel .user-home-columns article strong em {
  font-style: normal !important;
  color: #5b4199 !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
}

.user-home-panel .user-home-columns article span {
  color: var(--tc-gray) !important;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
}

.user-home-panel .user-home-columns article p {
  margin: 0 !important;
  color: var(--tc-gray) !important;
  font-size: 0.88rem !important;
  font-weight: 400 !important;
}

/* clean-v146c - Ayni kurallar, eski 4-5 sinifli venue zincirlerini ezecek guclendirilmis seciciyle. */
html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .public-user-hero {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 20px !important;
  background: #fff !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 13px !important;
  box-shadow: none !important;
  margin-top: 24px !important;
  padding: 24px !important;
  min-height: 0 !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .public-user-avatar {
  flex: 0 0 auto;
  width: 72px !important;
  height: 72px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #5b4199 !important;
  color: #fff !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .public-user-hero > div:not(.venue-profile-card) {
  flex: 1 1 320px;
  min-width: 0;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .public-user-hero .story-pill {
  display: inline-flex !important;
  width: fit-content;
  margin: 0 0 8px !important;
  padding: 4px 11px !important;
  border-radius: 999px !important;
  background: #f5f1fb !important;
  color: #5b4199 !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .public-user-hero h1 {
  margin: 0 0 4px !important;
  color: var(--tc-ink) !important;
  font-size: clamp(1.4rem, 2.6vw, 1.7rem) !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .public-user-hero p {
  margin: 0 0 14px !important;
  color: var(--tc-gray) !important;
  font-size: 0.95rem !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .venue-profile-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .venue-profile-actions a,
html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .venue-profile-actions button {
  min-height: 0 !important;
  width: auto !important;
  padding: 9px 16px !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--tc-ink) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transition: border-color 0.15s ease, background 0.15s ease;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .venue-profile-actions a:hover,
html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .venue-profile-actions button:hover {
  border-color: rgba(124, 58, 237, 0.5) !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .venue-profile-actions #followProfile {
  background: #5b4199 !important;
  border-color: #5b4199 !important;
  color: #fff !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell #profileHeroCard {
  margin-left: auto;
  flex: 0 0 auto;
  display: grid !important;
  gap: 2px !important;
  background: #faf8fd !important;
  background-image: none !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 11px !important;
  box-shadow: none !important;
  padding: 16px 22px !important;
  color: var(--tc-ink) !important;
  min-width: 150px;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell #profileHeroCard strong {
  color: var(--tc-ink) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell #profileHeroCard span {
  color: var(--tc-gray) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell #profileHeroCard small {
  color: #5b4199 !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .profile-stat-row {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 12px !important;
  margin-top: 16px !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .profile-stat-row article {
  display: grid !important;
  gap: 2px !important;
  background: #fff !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 11px !important;
  box-shadow: none !important;
  padding: 14px 18px !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .profile-stat-row article strong {
  color: var(--tc-ink) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .profile-stat-row article span {
  color: var(--tc-gray) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .venue-info-grid article {
  background: #fff !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 11px !important;
  box-shadow: none !important;
  padding: 16px 20px !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .venue-info-grid article strong {
  display: block;
  margin-bottom: 4px;
  color: #8a8394 !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .venue-info-grid article span {
  color: var(--tc-ink) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}


/* clean-v146d - Avatar duzeltmesi: yukaridaki div:not() secicisi avatari da
   yakalayip flex:1 ile esnetiyordu (elips gorunum). Avatar sabit 72px daire;
   aksiyon satirinin arkasindaki eski gri serit de kaldirildi. */
html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .public-user-hero > .public-user-avatar {
  flex: 0 0 72px !important;
  width: 72px !important;
  max-width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
}

html body.venue-page-body.profile-public-body:not(.list-detail-body) .venue-page-shell .venue-profile-actions {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
}

/* clean-v147 - AI Chat mobil gorunumu yenilendi (kullanici: "chatbot mobil
   gorunumu eski kalmis"). Koyu ust serit acik minimal bara dondu, sari Yeni
   sohbet butonu mor pill oldu, intro karti sadelesti; kompozer alt sekme
   cubugunun ustunde yapisir durur (eskiden navin altinda kalip erisilemiyordu). */
@media (max-width: 760px) {
  body.chat-body .assistant-sidebar {
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid var(--tc-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--tc-ink) !important;
    padding: 10px 16px !important;
  }

  body.chat-body .assistant-sidebar .brand-title {
    color: var(--tc-ink) !important;
  }

  body.chat-body .assistant-sidebar .brand-subtitle {
    color: var(--tc-gray) !important;
  }

  body.chat-body .assistant-new-chat {
    background: #5b4199 !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: #fff !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    padding: 9px 15px !important;
  }

  body.chat-body .assistant-page-intro {
    background: #fff !important;
    background-image: none !important;
    border: 1px solid var(--tc-line) !important;
    border-radius: 11px !important;
    box-shadow: none !important;
    display: grid !important;
    gap: 5px !important;
    padding: 14px 16px !important;
  }

  body.chat-body .assistant-page-intro small {
    color: #5b4199 !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
  }

  body.chat-body .assistant-page-intro h1 {
    color: var(--tc-ink) !important;
    font-size: 1.02rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    margin: 0 !important;
  }

  body.chat-body .assistant-page-intro p {
    color: var(--tc-gray) !important;
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }

  body.chat-body .chat-composer-wrap {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 25 !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid var(--tc-line) !important;
    border-radius: 13px !important;
    box-shadow: none !important;
    padding: 10px 12px !important;
  }

  /* Sabit kompozer + alt nav, sohbet icerigini ortmesin */
  body.chat-body .chat-scroll {
    padding-bottom: calc(300px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* clean-v148 - Hesap sayfasi site kabuguna baglandi: masaustunde standart
   header gorunur, sayfa icindeki uygulama-tarzi ust bar (arama/zil/avatar
   daireleri) yalnizca mobilde kalir. Benim Duzcem bolumu hesapta yasar. */
@media (min-width: 761px) {
  .account-app-profile .account-app-topbar {
    display: none !important;
  }
}

.account-my-duzce .section-heading {
  margin: 10px 0 4px;
}

/* clean-v149 - Herkese acik profil (/u/) X.com profil duzenine gecti
   (kullanici referans olarak x.com profil ekranini gonderdi). Banner + ustune
   binen yuvarlak avatar + isim/@ + bio + takip sayilari + sekme cizgisi. */
body.profile-x-body { background: var(--tc-bg); }

.profile-x-body .xprofile {
  max-width: 600px;
  margin: 18px auto 0;
  background: #fff;
  border: 1px solid var(--tc-line);
  border-radius: 15px;
  overflow: hidden;
}

.xprofile-banner {
  aspect-ratio: 3 / 1;
  background:
    radial-gradient(circle at 82% 18%, rgba(246, 194, 10, 0.35), transparent 42%),
    linear-gradient(130deg, #5b4199 0%, #7c3aed 48%, #14b8c4 100%);
}

.xprofile-topline {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0 16px 2px;
}

.xprofile-avatar {
  width: 118px;
  height: 118px;
  margin-top: -60px;
  flex: none;
  border-radius: 50%;
  border: 4px solid #fff;
  background: conic-gradient(from 210deg, #7c3aed, #5b4199, #14b8c4, #7c3aed);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 2rem;
  letter-spacing: 0.02em;
  overflow: hidden;
}
.xprofile-avatar img { width: 100%; height: 100%; object-fit: cover; }

.xprofile-cta {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
.xprofile-cta a,
.xprofile-cta button {
  border: 1px solid var(--tc-line);
  background: #fff;
  color: var(--tc-ink);
  font: 600 0.9rem/1 inherit;
  padding: 9px 16px;
  border-radius: 999px;
  cursor: pointer;
  text-decoration: none;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.xprofile-cta a:hover,
.xprofile-cta button:hover { border-color: rgba(124, 58, 237, 0.5); }
.xprofile-cta .xp-primary {
  background: #5b4199 !important;
  border-color: #5b4199 !important;
  color: #fff !important;
}

.xprofile-identity { padding: 6px 16px 0; }
.xprofile-identity h1 {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--tc-ink);
}
.xprofile-handle {
  color: var(--tc-gray);
  font-size: 0.95rem;
}

.xprofile-bio {
  margin: 12px 0 0;
  padding: 0 16px;
  font-size: 0.98rem;
  line-height: 1.5;
  color: var(--tc-ink);
}

.xprofile-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  padding: 12px 16px 0;
  color: var(--tc-gray);
  font-size: 0.9rem;
}
.xprofile-meta span { display: inline-flex; align-items: center; gap: 5px; }
.xprofile-meta svg { width: 16px; height: 16px; }
.xprofile-meta a { color: #5b4199; text-decoration: none; }
.xprofile-badge {
  color: #5b4199 !important;
  font-weight: 600;
}
.xprofile-badge.is-verified::before {
  content: "";
  width: 15px; height: 15px; margin-right: 3px;
  border-radius: 50%;
  background: #5b4199;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 2l2 2 3-.5 1 3 3 1-.5 3 2 2-2 2 .5 3-3 1-1 3-3-.5-2 2-2-2-3 .5-1-3-3-1 .5-3-2-2 2-2-.5-3 3-1 1-3 3 .5 2-2zm-1.2 12.7l5-5-1.3-1.3-3.7 3.7-1.6-1.6-1.3 1.3z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.xprofile-counts {
  display: flex;
  gap: 20px;
  padding: 14px 16px 0;
  font-size: 0.92rem;
  color: var(--tc-gray);
  font-variant-numeric: tabular-nums;
}
.xprofile-counts b { color: var(--tc-ink); font-weight: 700; }

.xprofile-tabs {
  display: flex;
  gap: 4px;
  margin-top: 14px;
  padding: 0 8px;
  border-bottom: 1px solid var(--tc-line);
}
/* Sekmeler artik <button> (Listeler / Favoriler gecisi icin); eski <span>
   secicisi korunuyor ki baska yerde kullanildiysa bozulmasin. */
.xprofile-tabs span,
.xprofile-tabs button {
  padding: 14px;
  font-weight: 600;
  font-size: 0.94rem;
  color: var(--tc-gray);
  position: relative;
  border: 0;
  background: none;
  font-family: inherit;
  cursor: pointer;
}
.xprofile-tabs span.on,
.xprofile-tabs button.on { color: var(--tc-ink); }
.xprofile-tabs span.on::after,
.xprofile-tabs button.on::after {
  content: "";
  position: absolute;
  left: 14px; right: 14px; bottom: -1px;
  height: 3px;
  border-radius: 3px;
  background: #5b4199;
}

.xprofile-lists.page-card-grid {
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  padding: 16px !important;
}
.xprofile-empty {
  margin: 0;
  padding: 30px 16px;
  text-align: center;
  color: var(--tc-gray);
  font-size: 0.95rem;
}

@media (max-width: 600px) {
  .profile-x-body .xprofile { margin-top: 0; border-radius: 0; border-left: 0; border-right: 0; }
  .xprofile-avatar { width: 88px; height: 88px; margin-top: -46px; font-size: 1.55rem; }
}

/* clean-v150 - Hesap yan menusu (cekmece): header/mobil avatardan sagdan
   acilir. Giris sonrasi hesap ekrani ayri sayfa yerine tek panel; profil
   linki her zaman herkese acik profili acar (kullanici istegi). */
.acct-drawer-root { position: fixed; inset: 0; z-index: 200; pointer-events: none; }
.acct-drawer-root.is-open { pointer-events: auto; }
.acct-drawer-scrim {
  position: absolute; inset: 0;
  background: rgba(18, 12, 28, 0.46);
  opacity: 0; transition: opacity 0.22s ease;
}
.acct-drawer-root.is-open .acct-drawer-scrim { opacity: 1; }
.acct-drawer {
  position: absolute; top: 0; right: 0; height: 100%;
  width: min(340px, 86vw);
  display: flex; flex-direction: column;
  background: #fff;
  border-left: 1px solid var(--tc-line);
  box-shadow: none !important;
  padding: 14px 12px calc(20px + env(safe-area-inset-bottom, 0px));
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.26s cubic-bezier(0.16, 1, 0.3, 1);
}
.acct-drawer-root.is-open .acct-drawer { transform: none; }

.acct-drawer-head {
  display: flex; align-items: center; gap: 10px;
  padding: 6px 6px 12px;
  border-bottom: 1px solid var(--tc-line);
  margin-bottom: 10px;
}
.acct-drawer-id {
  display: flex; align-items: center; gap: 10px;
  text-decoration: none; color: inherit; flex: 1; min-width: 0;
}
.acct-drawer-avatar {
  width: 44px; height: 44px; flex: none;
  border-radius: 50%; background: #5b4199; color: #fff;
  display: grid; place-items: center; font-weight: 800; font-size: 1rem;
  position: relative; overflow: hidden;
}
.acct-drawer-avatar img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
}
.acct-drawer-idtext { display: grid; min-width: 0; }
.acct-drawer-idtext strong {
  font-size: 0.98rem; color: var(--tc-ink);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.acct-drawer-idtext small { color: var(--tc-gray); font-size: 0.84rem; }
.acct-drawer-close {
  flex: none; width: 36px; height: 36px;
  border: 0; background: transparent; color: var(--tc-gray);
  border-radius: 50%; cursor: pointer;
  display: grid; place-items: center;
}
.acct-drawer-close svg { width: 20px; height: 20px; }
.acct-drawer-close:hover { background: var(--tc-bg); }

.acct-drawer-nav { display: grid; gap: 2px; }
.acct-drawer-nav a,
.acct-drawer-logout {
  display: flex; align-items: center; gap: 12px;
  width: 100%; text-align: left;
  padding: 12px; border: 0; border-radius: 12px;
  background: transparent; color: var(--tc-ink);
  font: 600 0.96rem/1.25 inherit; text-decoration: none; cursor: pointer;
}
.acct-drawer-nav a:hover,
.acct-drawer-logout:hover { background: var(--tc-bg); }
.acct-drawer-nav svg { width: 20px; height: 20px; flex: none; color: var(--tc-gray); }
.acct-drawer-nav a span { display: grid; }
.acct-drawer-nav a em {
  font-style: normal; font-size: 0.74rem; font-weight: 500; color: var(--tc-gray);
}
.acct-drawer-sep { height: 1px; background: var(--tc-line); margin: 10px 8px; }
.acct-drawer-grouptitle {
  padding: 2px 12px 6px;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--tc-gray);
}
.acct-drawer-logout { color: #b4232a; }
.acct-drawer-logout svg { color: #b4232a; }

/* clean-v150b - Cekmeceden gelen panele kisa vurgu (hangi bolume geldigin belli olsun) */
.account-panel-flash {
  animation: acctPanelFlash 1.6s ease;
  border-radius: 13px;
}
@keyframes acctPanelFlash {
  0%, 100% { box-shadow: none !important; }
  25% { box-shadow: none !important; }
}

/* clean-v152b - Hesap sayfasi odakli ayar ekrani oldu: tekrar eden gezinme
   butonlari kaldirildi (yan menude), yerine "Herkese acik profilimi gor"
   linki + Cikis kaldi. */
#accountPage.account-app-profile .account-app-view-public {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 56px;
  margin-top: 6px;
  padding: 14px 16px;
  border: 1px solid rgba(43, 25, 71, 0.12);
  border-radius: 18px;
  background: #fff;
  color: #5b4199;
  font-weight: 650;
  text-decoration: none;
  transition: border-color 0.15s ease;
}
#accountPage.account-app-profile .account-app-view-public:hover {
  border-color: rgba(124, 58, 237, 0.5);
}
#accountPage.account-app-profile .account-app-view-public svg {
  width: 22px; height: 22px; flex: none;
}
#accountPage.account-app-profile .account-app-view-public span {
  font-size: clamp(1rem, 3.2vw, 1.35rem);
}

/* clean-v153 - Hesap sayfasi minimal dile getirildi (kullanici: "bu ne boyle").
   Devasa fontlar/avatar/kartlar site geneliyle ayni ince/kompakt olculere
   cekildi; icerik dar sutuna oturtuldu; tekrar eden ust ozet karti gizlendi. */
#accountPage.account-app-profile {
  max-width: 640px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-bottom: 80px !important;
}

/* Ust ozet karti (@kullanici + disli) profil kartiyla tekrar ediyor -> gizle */
#accountPage.account-app-profile .account-app-summary-card { display: none !important; }

#accountPage.account-app-profile .account-app-summary-card,
#accountPage.account-app-profile .account-app-card,
#accountPage.account-app-profile .account-app-edit-panel article,
#accountPage.account-app-profile .account-app-settings-panel article {
  border: 1px solid var(--tc-line);
  border-radius: 13px;
  box-shadow: none !important;
}

#accountPage.account-app-profile .account-app-card { padding: 20px; }

#accountPage.account-app-profile .account-app-identity {
  gap: 16px;
  margin-bottom: 18px;
}
#accountPage.account-app-profile .account-app-avatar {
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  box-shadow: none !important;
}
#accountPage.account-app-profile .account-app-avatar span { font-size: 1.5rem; }
#accountPage.account-app-profile .account-app-avatar i {
  width: 28px; height: 28px; border-width: 3px;
}
#accountPage.account-app-profile .account-app-avatar i svg { width: 15px; height: 15px; }
#accountPage.account-app-profile .account-app-identity h1 {
  font-size: 1.5rem;
  letter-spacing: -0.01em;
  margin: 0 0 3px;
}
#accountPage.account-app-profile .account-app-identity p {
  font-size: 0.95rem;
  font-weight: 600;
}

#accountPage.account-app-profile .account-app-stats { gap: 10px; margin-bottom: 16px; }
#accountPage.account-app-profile .account-app-stats a {
  min-height: 0;
  border: 1px solid var(--tc-line);
  border-radius: 11px;
  background: #faf8fd;
  padding: 13px 10px;
}
#accountPage.account-app-profile .account-app-stats strong { font-size: 1.35rem; }
#accountPage.account-app-profile .account-app-stats span {
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--tc-gray);
  margin-top: 3px;
}

#accountPage.account-app-profile .account-app-view-public,
#accountPage.account-app-profile .account-app-signout {
  min-height: 0;
  border-radius: 12px;
  padding: 13px 16px;
  gap: 10px;
}
#accountPage.account-app-profile .account-app-view-public span,
#accountPage.account-app-profile .account-app-signout span {
  font-size: 0.96rem;
  font-weight: 600;
}
#accountPage.account-app-profile .account-app-view-public svg,
#accountPage.account-app-profile .account-app-signout svg { width: 20px; height: 20px; }

/* clean-v167 - "Herkese acik profilimi gor" + "Cikis yap" yan yana
   (kullanici: alt alta cok kayik duruyordu). */
#accountPage.account-app-profile .account-app-actions-row {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 10px;
  margin-top: 6px;
}
#accountPage.account-app-profile .account-app-actions-row .account-app-view-public,
#accountPage.account-app-profile .account-app-actions-row .account-app-signout {
  width: 100%;
  margin-top: 0;
  justify-content: center;
  text-align: center;
}
#accountPage.account-app-profile .account-app-actions-row .account-app-view-public span,
#accountPage.account-app-profile .account-app-actions-row .account-app-signout span {
  font-size: 0.92rem;
  white-space: nowrap;
}
/* Telefonda da yan yana kalsinlar: 430px altinda tek sutuna dusuruluyordu,
   iki buton alt alta devasa gorunuyordu. Sigmasi icin yazi ve ic bosluk
   kuculuyor, tek sutuna donmuyor. */
@media (max-width: 430px) {
  #accountPage.account-app-profile .account-app-actions-row {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    gap: 8px;
  }
  #accountPage.account-app-profile .account-app-actions-row .account-app-view-public,
  #accountPage.account-app-profile .account-app-actions-row .account-app-signout {
    padding: 11px 10px;
    gap: 6px;
  }
  #accountPage.account-app-profile .account-app-actions-row .account-app-view-public span,
  #accountPage.account-app-profile .account-app-actions-row .account-app-signout span {
    font-size: 0.82rem;
  }
  #accountPage.account-app-profile .account-app-actions-row svg {
    width: 16px;
    height: 16px;
    flex: none;
  }
}

#accountPage.account-app-profile .account-app-edit-panel,
#accountPage.account-app-profile .account-app-settings-panel { margin-top: 14px; }
#accountPage.account-app-profile .account-app-edit-panel article,
#accountPage.account-app-profile .account-app-settings-panel article { padding: 20px; }
#accountPage.account-app-profile .account-app-edit-panel h2,
#accountPage.account-app-profile .account-app-settings-panel h2 {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 6px;
}
#accountPage.account-app-profile .account-app-edit-panel p,
#accountPage.account-app-profile .account-app-settings-panel p {
  font-size: 0.92rem;
  color: var(--tc-gray);
}

/* Benim Duzcem basligi hesap icinde de ayni olcude dursun */
#accountPage .account-my-duzce { max-width: 640px; margin-left: auto; margin-right: auto; }

/* clean-v154 - Profil "Takip ediliyor" hali (takip sonrasi outline) */
.xprofile-cta .xp-primary.is-following {
  background: #fff !important;
  border-color: var(--tc-line) !important;
  color: var(--tc-ink) !important;
}

/* clean-v155 - Takip butonu toggle + hover "Takibi bırak" (kirmizi).
   Takip ediliyorken normalde "Takip ediliyor" (outline); uzerine gelince
   kirmizi "Takibi birak" gorunur -> kullanici birakabilecegini anlar. */
.xprofile-cta .xp-primary.is-following {
  background: #fff !important;
  border-color: var(--tc-line) !important;
  color: var(--tc-ink) !important;
}
.xprofile-cta .xp-primary.is-following .lbl-unfollow { display: none; }
.xprofile-cta .xp-primary.is-following:hover {
  background: #fff5f5 !important;
  border-color: #dc2626 !important;
  color: #dc2626 !important;
}
.xprofile-cta .xp-primary.is-following:hover .lbl-following { display: none; }
.xprofile-cta .xp-primary.is-following:hover .lbl-unfollow { display: inline; }



/* clean-v156 - Takipci/takip sayilari tiklanabilir + baglanti listesi modali
   (kullanici: tiklayinca takipcilerin listesini gormek lazim). */
.xprofile-counts .xprofile-count-btn {
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  color: var(--tc-gray);
  cursor: pointer;
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}
.xprofile-counts .xprofile-count-btn:hover { text-decoration: underline; }
.xprofile-counts .xprofile-count-btn b { color: var(--tc-ink); font-weight: 700; }

.conn-modal-root { position: fixed; inset: 0; z-index: 210; display: grid; place-items: center; }
.conn-modal-root[hidden] { display: none; }
.conn-modal-scrim { position: absolute; inset: 0; background: rgba(18, 12, 28, 0.46); }
.conn-modal {
  position: relative;
  width: min(420px, 92vw);
  max-height: min(560px, 82vh);
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--tc-line);
  border-radius: 15px;
  box-shadow: none !important;
  overflow: hidden;
}
.conn-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 8px 8px 6px;
  border-bottom: 1px solid var(--tc-line);
}
.conn-tabs { display: flex; gap: 2px; }
.conn-tabs button {
  border: 0;
  background: transparent;
  padding: 10px 14px;
  border-radius: 10px;
  font: 600 0.95rem/1 inherit;
  color: var(--tc-gray);
  cursor: pointer;
}
.conn-tabs button.is-active { color: var(--tc-ink); background: var(--tc-bg); }
.conn-close {
  border: 0; background: transparent; color: var(--tc-gray);
  width: 34px; height: 34px; border-radius: 50%; cursor: pointer;
  display: grid; place-items: center; flex: none;
}
.conn-close svg { width: 18px; height: 18px; }
.conn-close:hover { background: var(--tc-bg); }
.conn-list { overflow-y: auto; padding: 6px; }
.conn-row {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 12px; border-radius: 12px;
  text-decoration: none; color: inherit;
}
.conn-row:hover { background: var(--tc-bg); }
.conn-avatar {
  width: 42px; height: 42px; flex: none;
  border-radius: 50%; background: #5b4199; color: #fff;
  display: grid; place-items: center; font-weight: 700; font-size: 0.95rem;
}
.conn-id { display: grid; min-width: 0; }
.conn-id strong {
  font-size: 0.96rem; color: var(--tc-ink); font-weight: 600;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.conn-id small { color: var(--tc-gray); font-size: 0.85rem; }
.conn-verified { font-style: normal; color: #5b4199; font-size: 0.8rem; }
.conn-empty { margin: 0; padding: 30px 16px; text-align: center; color: var(--tc-gray); font-size: 0.93rem; }

/* clean-v157 - Profil kapak fotografi (kullanici yukleyebilir).
   Yuklu kapak banner'a doldurma olarak yerlesir; yoksa marka gradyani. */
.xprofile-banner.has-cover {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* Hesap duzenleme: kapak alani */
#accountPage.account-app-profile .account-cover-field {
  display: grid;
  gap: 8px;
  margin: 4px 0 2px;
}
#accountPage.account-app-profile .account-cover-label {
  font-size: 0.82rem;
  font-weight: 600;
  color: #5d5668;
}
#accountPage.account-app-profile .account-cover-preview {
  aspect-ratio: 3 / 1;
  border-radius: 12px;
  border: 1px solid var(--tc-line);
  background-color: #f4f0fb;
  background-image:
    radial-gradient(circle at 82% 18%, rgba(246, 194, 10, 0.3), transparent 42%),
    linear-gradient(130deg, #5b4199, #7c3aed 48%, #14b8c4);
  background-size: cover;
  background-position: center;
}
#accountPage.account-app-profile .account-cover-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
#accountPage.account-app-profile .account-cover-actions .account-app-secondary-button {
  flex: 1 1 auto;
}

/* clean-v158 - Hesap sayfasi sekmeli (kullanici: profil duzenle ekrani cok
   karisik, her sey alt alta acik). Kimlik karti ustte kalir; Icerigim /
   Profili duzenle / Ayarlar sekmeleri arasinda gecis yapilir. */
#accountPage.account-app-profile .account-tabnav {
  display: flex;
  gap: 4px;
  margin: 4px 0 14px;
  padding: 4px;
  background: #f4f0fb;
  border: 1px solid var(--tc-line);
  border-radius: 11px;
}
#accountPage.account-app-profile .account-tabbtn {
  flex: 1 1 0;
  border: 0;
  background: transparent;
  border-radius: 10px;
  padding: 11px 10px;
  font: 600 0.92rem/1 inherit;
  color: var(--tc-gray);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
#accountPage.account-app-profile .account-tabbtn[hidden] { display: none; }
#accountPage.account-app-profile .account-tabbtn.is-active {
  background: #fff;
  color: #5b4199;
  box-shadow: none !important;
}
#accountPage.account-app-profile .account-tabpane.tab-hidden { display: none !important; }
#accountPage.account-app-profile .account-tabpane { margin-top: 0 !important; }

/* clean-v159 - Arama sonucunda kullanici avatari yuvarlak gorunur */
.page-search-thumb.page-search-thumb-round { border-radius: 50%; object-fit: cover; }

/* clean-v160 - Ust arama canli oneri kutusu */
.header-search-dropdown {
  position: fixed;
  z-index: 220;
  max-height: 60vh;
  overflow-y: auto;
  background: #fff;
  border: 1px solid var(--tc-line);
  border-radius: 11px;
  box-shadow: none !important;
  padding: 6px;
}
.header-search-dropdown[hidden] { display: none; }
.header-search-dropdown .hsd-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 10px;
  border-radius: 10px;
  text-decoration: none;
  color: var(--tc-ink);
}
.header-search-dropdown .hsd-row:hover { background: var(--tc-bg); }
.header-search-dropdown .hsd-thumb {
  width: 40px; height: 40px; flex: none;
  border-radius: 10px;
  background: #f4f0fb center/cover no-repeat;
}
.header-search-dropdown .hsd-thumb.is-round { border-radius: 50%; }
.header-search-dropdown .hsd-copy { display: grid; min-width: 0; }
.header-search-dropdown .hsd-copy strong {
  font-size: 0.94rem; font-weight: 600; color: var(--tc-ink);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.header-search-dropdown .hsd-copy small {
  font-size: 0.82rem; color: var(--tc-gray);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.header-search-dropdown .hsd-all {
  display: block; text-align: center;
  padding: 11px; margin-top: 2px;
  border-top: 1px solid var(--tc-line);
  color: #5b4199; font-weight: 600; font-size: 0.9rem; text-decoration: none;
}
.header-search-dropdown .hsd-all:hover { background: var(--tc-bg); border-radius: 10px; }
.header-search-dropdown .hsd-empty { padding: 18px 14px; text-align: center; color: var(--tc-gray); font-size: 0.9rem; }

/* clean-v161 - Hesap sayfasi Bildirimler sekmesi (web'de eksikti) */
#accountPage.account-app-profile .account-notifs-list { display: grid; gap: 8px; }
#accountPage.account-app-profile .account-notif {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--tc-line);
  border-radius: 11px;
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease;
}
#accountPage.account-app-profile .account-notif:hover { border-color: rgba(124, 58, 237, 0.45); }
#accountPage.account-app-profile .account-notif-dot {
  width: 9px; height: 9px; flex: none; margin-top: 6px;
  border-radius: 50%; background: transparent;
}
#accountPage.account-app-profile .account-notif.is-unread { background: #faf6ff; border-color: rgba(124, 58, 237, 0.28); }
#accountPage.account-app-profile .account-notif.is-unread .account-notif-dot { background: #7c3aed; }
#accountPage.account-app-profile .account-notif-copy { display: grid; gap: 2px; min-width: 0; }
#accountPage.account-app-profile .account-notif-copy strong { color: var(--tc-ink); font-size: 0.98rem; font-weight: 600; }
#accountPage.account-app-profile .account-notif-copy span { color: var(--tc-gray); font-size: 0.9rem; }
#accountPage.account-app-profile .account-notif-copy small { color: #8a8394; font-size: 0.78rem; margin-top: 3px; }
#accountPage.account-app-profile .account-notifs-empty {
  margin: 0; padding: 26px 16px; text-align: center;
  color: var(--tc-gray); font-size: 0.93rem;
  border: 1px solid var(--tc-line); border-radius: 11px; background: #fff;
}

/* clean-v162 - Profil "Seni takip ediyor" rozeti */
.xprofile-idline { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.xprofile-follows-you {
  font-size: 0.72rem; font-weight: 600;
  color: var(--tc-gray);
  background: var(--tc-bg);
  border: 1px solid var(--tc-line);
  border-radius: 6px;
  padding: 2px 7px;
  white-space: nowrap;
}

/* clean-v163 - Hesap "Yeni liste olustur" formu (web'de liste olusturma geri kazandirildi) */
#accountPage.account-app-profile .account-quick-list-form {
  display: grid; gap: 12px;
  background: #fff; border: 1px solid var(--tc-line); border-radius: 13px; padding: 18px;
}
#accountPage.account-app-profile .account-quick-list-form label { display: grid; gap: 6px; }
#accountPage.account-app-profile .account-quick-list-form label span { font-size: 0.85rem; font-weight: 600; color: #5d5668; }
#accountPage.account-app-profile .account-quick-list-form input {
  width: 100%; border: 1px solid var(--tc-line); border-radius: 12px;
  padding: 12px 14px; font: inherit; font-size: 0.95rem; color: var(--tc-ink);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
#accountPage.account-app-profile .account-quick-list-form input:focus {
  outline: none; border-color: #7c3aed; box-shadow: none !important;
}
#accountPage.account-app-profile .account-quick-list-form button[type="submit"] {
  border: 0; border-radius: 999px; background: #5b4199; color: #fff;
  font: 600 0.95rem/1 inherit; padding: 12px 20px; cursor: pointer; justify-self: start;
}
#accountPage.account-app-profile .account-quick-list-form #accountQuickListStatus {
  font-size: 0.85rem; color: var(--tc-gray);
}
#accountPage.account-app-profile .account-quick-list-form #accountQuickListStatus a { color: #5b4199; }

/* clean-v165 - AI Chat sekmeden cikti; sag altta (tabbar ustunde) balon buton. */
.app-mobile-ai { display: none; }
@media (max-width: 760px) {
  html.has-app-shell .app-mobile-ai {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    position: fixed;
    right: 16px;
    bottom: calc(80px + env(safe-area-inset-bottom, 0px));
    z-index: 71;
    height: 48px;
    padding: 0 18px 0 15px;
    border-radius: 999px;
    background: #5b4199;
    color: #fff;
    font-weight: 800;
    font-size: 0.92rem;
    box-shadow: none !important;
    text-decoration: none;
    white-space: nowrap;
  }
  html.has-app-shell .app-mobile-ai span { color: #fff; }
  html.has-app-shell .app-mobile-ai:active { transform: scale(0.96); }
}

/* clean-v168 - Sticky ust menu TAM OPAK olmali. Header yari-saydam (rgba .92/.94)
   + backdrop-filter oldugu icin kaydirinca altindan gecen icerik (profil karti,
   bildirimler) hayalet gibi siziyordu; ozellikle Safari'de belirgin. Opak beyaz
   yapip blur'u kaldiriyoruz -> icerik asla sizmaz. */
body:not(.admin-body) .page-header-v3,
body:not(.admin-body) .guide-header,
body:not(.admin-body) .site-header {
  background: #ffffff !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Ana sayfa kampanya karti: resim/baslik/kart tiklanabilir (imlec el). */
.campaign-card[data-href] { cursor: pointer; }

/* clean-v169 - Menu AKORDEON: kategoriler tek sutun, tiklaninca acilir/kapanir.
   Uzun menu sayfayi asagi cekmez; dengesiz 2-sutun boslugu da biter. */
body.venue-page-body:not(.list-detail-body) .venue-menu-categories {
  grid-template-columns: 1fr !important;   /* tek sutun (akordeon full-width) */
  gap: 12px !important;
}
body.venue-page-body:not(.list-detail-body) details.venue-menu-category {
  padding: 0 !important;                    /* ic dolgular summary/urunlerde */
  overflow: hidden;
}
body.venue-page-body:not(.list-detail-body) details.venue-menu-category > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 20px;
  font-weight: 700;
  color: #18101f;
  user-select: none;
}
body.venue-page-body:not(.list-detail-body) details.venue-menu-category > summary::-webkit-details-marker { display: none; }
body.venue-page-body:not(.list-detail-body) details.venue-menu-category > summary:hover { background: rgba(124, 58, 237, 0.04); }
.venue-menu-category > summary .vmc-title { flex: 1 1 auto; font-size: 1.16rem; }
.venue-menu-category > summary .vmc-count {
  flex: none;
  background: rgba(124, 58, 237, 0.1);
  color: #5b4199;
  border-radius: 999px;
  padding: 3px 11px;
  font-size: 0.85rem;
  font-weight: 700;
}
.venue-menu-category > summary .vmc-chevron { flex: none; color: #8b8494; transition: transform 0.2s ease; }
.venue-menu-category[open] > summary .vmc-chevron { transform: rotate(180deg); }
.venue-menu-category[open] > summary { border-bottom: 1px solid rgba(43, 25, 71, 0.08); }
/* Acik kategoride urunler: masaustunde 2 sutun (genisligi kullan), mobilde 1. */
body.venue-page-body:not(.list-detail-body) .venue-menu-cat-items {
  padding: 6px 20px 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 26px;
}
@media (max-width: 720px) {
  body.venue-page-body:not(.list-detail-body) .venue-menu-cat-items { grid-template-columns: 1fr; padding: 4px 16px 12px; }
}
/* Ilk satirdaki (her sutunun ilki) ust cizgiyi kaldir */
body.venue-page-body:not(.list-detail-body) .venue-menu-cat-items .venue-menu-item:nth-child(-n+2) { border-top: 0; }
@media (max-width: 720px) {
  body.venue-page-body:not(.list-detail-body) .venue-menu-cat-items .venue-menu-item:nth-child(2) { border-top: 1px solid rgba(43, 25, 71, 0.08); }
  body.venue-page-body:not(.list-detail-body) .venue-menu-cat-items .venue-menu-item:first-child { border-top: 0; }
}

/* clean-v170 - Mekan aksiyon butonlari: 'sari duvar' yerine sade + hiyerarsi.
   Notr beyaz pill + mor ikon; birincil eylem (Yol Tarifi) mor dolu one cikar. */
body.venue-page-body:not(.list-detail-body) .venue-profile-actions a,
body.venue-page-body:not(.list-detail-body) .venue-profile-actions button {
  background: #fff !important;
  color: #2b1947 !important;
  border: 1px solid rgba(43, 25, 71, 0.14) !important;
  box-shadow: none !important;
  gap: 8px !important;
  font-weight: 600 !important;
  font-size: clamp(0.94rem, 1.9vw, 1.05rem) !important;
}
body.venue-page-body:not(.list-detail-body) .venue-profile-actions a svg,
body.venue-page-body:not(.list-detail-body) .venue-profile-actions button svg {
  color: #7c3aed !important;
}
body.venue-page-body:not(.list-detail-body) .venue-profile-actions a:hover,
body.venue-page-body:not(.list-detail-body) .venue-profile-actions button:hover {
  border-color: rgba(124, 58, 237, 0.42) !important;
  background: rgba(124, 58, 237, 0.05) !important;
}
/* Birincil eylem: Yol Tarifi (mor dolu, ikon beyaz) */
body.venue-page-body:not(.list-detail-body) .venue-profile-actions #venueDirections {
  background: #55249c !important;
  border-color: #55249c !important;
  color: #fff !important;
  box-shadow: none !important;
}
body.venue-page-body:not(.list-detail-body) .venue-profile-actions #venueDirections svg { color: #fff !important; }
/* Favori/Gittim AKTIF durumu (kaydedildi/gidildi): mor dolu — mevcut kural korunur,
   burada ikon rengini de beyaza cekiyoruz. */
body.venue-page-body:not(.list-detail-body) #saveVenueFavorite.is-active svg,
body.venue-page-body:not(.list-detail-body) #markVenueVisited.is-active svg { color: #fff !important; }

/* ============================================================================
   clean-v171 - MEKAN HERO yeniden tasarim (tasarimci gozuyle).
   Temiz banner + net hiyerarsi: ust satirda durum/sayac, alt-solda
   logo + isim + kategori grubu. Eski venue-mobile-* overlay siniflari
   render'da yeni siniflarla degistirildi; burasi sifir cakismali temiz stil.
   ============================================================================ */
body.venue-page-body:not(.list-detail-body) .venue-gallery-cover {
  min-height: clamp(300px, 33vw, 420px) !important;
  border-radius: 20px !important;
  padding: 0 !important;
  background-color: #1b1322 !important;
}

/* Ust satir */
body.venue-page-body:not(.list-detail-body) .venue-gallery-cover > .venue-hero-top {
  position: absolute !important;
  top: 18px !important; left: 18px !important; right: 18px !important;
  z-index: 3 !important;
  display: flex !important; align-items: center !important; gap: 10px !important;
}
body.venue-page-body:not(.list-detail-body) .venue-gallery-cover > .venue-hero-top > * { position: static !important; margin: 0 !important; }
body.venue-page-body:not(.list-detail-body) .venue-gallery-cover > .venue-hero-top .venue-open-pill { margin-left: auto !important; }
body.venue-page-body:not(.list-detail-body) .venue-gallery-cover > .venue-hero-top > [hidden] { display: none !important; }
body.venue-page-body:not(.list-detail-body) .venue-hero-top .venue-gallery-index {
  background: rgba(16, 12, 21, 0.6) !important;
  color: #fff !important; font-size: 0.82rem !important; font-weight: 700 !important;
  padding: 6px 12px !important; border-radius: 999px !important;
  backdrop-filter: blur(4px) !important;
}

/* Alt bilgi blogu: logo + (isim / kategori) */
body.venue-page-body:not(.list-detail-body) .venue-gallery-cover > .venue-hero-info {
  position: absolute !important;
  left: 26px !important; right: 26px !important; bottom: 24px !important;
  z-index: 3 !important;
  display: flex !important; align-items: center !important; gap: 15px !important;
}
body.venue-page-body:not(.list-detail-body) .venue-hero-info > * { position: static !important; }
body.venue-page-body:not(.list-detail-body) .venue-hero-info .venue-hero-logo {
  flex: none !important; width: 58px !important; height: 58px !important;
  border-radius: 13px !important;
  /* Logolar kare degil (genis/yatay olabilir); "cover" ortadan kirpip cogu logoyu
     beyaz gosteriyordu. "contain" + kucuk ic bosluk ile logo TAMAMI gorunur. */
  object-fit: contain !important; padding: 5px !important; box-sizing: border-box !important;
  background: #fff !important; border: 2px solid rgba(255,255,255,0.9) !important;
  box-shadow: none !important;
  display: grid !important; place-items: center !important; overflow: hidden !important;
}
body.venue-page-body:not(.list-detail-body) .venue-hero-info .venue-hero-logo-fallback {
  color: #55249c !important; font-weight: 800 !important; font-size: 1.25rem !important;
}
body.venue-page-body:not(.list-detail-body) .venue-hero-info .venue-hero-info-text {
  min-width: 0 !important; display: flex !important; flex-direction: column !important; gap: 4px !important;
}
body.venue-page-body:not(.list-detail-body) .venue-hero-info .venue-hero-name {
  color: #fff !important;
  font-size: clamp(1.45rem, 3.1vw, 2.05rem) !important;
  font-weight: 800 !important; line-height: 1.08 !important; letter-spacing: -0.01em !important;
  text-shadow: 0 2px 14px rgba(0,0,0,0.5) !important;
}
body.venue-page-body:not(.list-detail-body) .venue-hero-info .venue-hero-meta {
  color: rgba(255,255,255,0.92) !important;
  font-size: 0.82rem !important; font-weight: 700 !important;
  letter-spacing: 0.05em !important; text-transform: uppercase !important;
  text-shadow: 0 1px 8px rgba(0,0,0,0.55) !important;
}
body.venue-page-body:not(.list-detail-body) .venue-hero-info .venue-mobile-gallery-dots {
  margin-left: auto !important; align-self: flex-end !important;
}
body.venue-page-body:not(.list-detail-body) .venue-hero-info .venue-mobile-gallery-dots[hidden] { display: none !important; }
@media (max-width: 620px) {
  body.venue-page-body:not(.list-detail-body) .venue-gallery-cover > .venue-hero-info { left: 18px !important; right: 18px !important; bottom: 18px !important; gap: 12px !important; }
  body.venue-page-body:not(.list-detail-body) .venue-hero-info .venue-hero-logo { width: 48px !important; height: 48px !important; }
}

/* ---------- Hesap silme (Ayarlar > tehlikeli islem) ---------- */
.account-danger-card { border-top: 1px solid #f0dede; margin-top: 6px; padding-top: 18px; }
.account-danger-card h2 { color: #b3261e; }
.account-danger-button {
  background: #fff;
  border: 1px solid #e6b4b0;
  border-radius: 999px;
  color: #b3261e;
  cursor: pointer;
  font: inherit;
  font-weight: 650;
  padding: 11px 18px;
}
.account-danger-button:hover { background: #fdf3f2; }
#accountDeleteStatus { display: block; margin-top: 10px; font-size: 0.9rem; color: #6b6280; }
#accountDeleteStatus[data-tone="ok"] { color: #1b7a3d; font-weight: 600; }

.account-delete-modal { position: fixed; inset: 0; z-index: 240; display: grid; place-items: center; padding: 18px; }
.account-delete-scrim { position: absolute; inset: 0; background: rgba(20, 14, 28, 0.55); }
.account-delete-panel {
  position: relative;
  background: #fff;
  border-radius: 16px;
  box-shadow: none !important;
  max-width: 420px;
  padding: 22px;
  width: 100%;
}
.account-delete-panel h3 { margin: 0 0 8px; font-size: 1.15rem; color: #b3261e; }
.account-delete-panel p { margin: 0 0 12px; font-size: 0.94rem; line-height: 1.45; color: #4a4358; }
.account-delete-panel input {
  border: 1px solid #d8d0e6;
  border-radius: 12px;
  font: inherit;
  padding: 12px 14px;
  width: 100%;
}
.account-delete-note { font-size: 0.86rem !important; color: #6b6280 !important; margin-top: 10px !important; }
.account-delete-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 16px; }
.account-delete-cancel, .account-delete-confirm {
  border-radius: 999px; cursor: pointer; font: inherit; font-weight: 650; padding: 11px 18px;
}
.account-delete-cancel { background: #fff; border: 1px solid #ddd6e8; color: #4a4358; }
.account-delete-confirm { background: #b3261e; border: 1px solid #b3261e; color: #fff; }
.account-delete-confirm:disabled { opacity: 0.6; cursor: progress; }
.account-delete-error { display: block; margin-top: 10px; color: #b3261e; font-size: 0.86rem; }

/* ---------- Sifre kural gostergesi (yeni sifre alanlarinin altinda) ---------- */
.password-hint {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.password-hint-rule {
  background: #f4f1f8;
  border: 1px solid #e2dced;
  border-radius: 999px;
  color: #6b6280;
  font-size: 0.76rem;
  font-weight: 600;
  padding: 4px 10px;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.password-hint-rule::before { content: "○ "; }
.password-hint-rule.is-ok {
  background: #e6f7ec;
  border-color: #b7e4c7;
  color: #1b7a3d;
}
.password-hint-rule.is-ok::before { content: "✓ "; }

/* ---------- Uye profili: kart hizalari ------------------------------------
   Kartlar birbirini tutmuyordu (olculen): liste karti 18px'ten basliyor ve
   354px genisliginde, mekan kartlari 34px'ten basliyor ve 322px. Ic bosluk
   18/20, kose yaricapi 16/18 farkliydi. Birincil buton bir kartta 145px dar
   pill, digerinde 280px tam genislikti.
   Hepsi tek olcuye cekildi; kartlar ayni sol/sag kenardan hizalanir. */
#accountPage.account-app-profile .account-business-card {
  width: 100%;
  max-width: 680px;
  margin: 0 auto 16px;
  padding: 18px;
  border-radius: 13px;
}

#accountPage.account-app-profile .account-quick-list-form {
  width: 100%;
  max-width: 680px;
  margin: 0 auto 16px;
}

/* Kart icindeki birincil aksiyon her kartta ayni: tam genislik. */
#accountPage.account-app-profile .account-quick-list-form button[type="submit"],
#accountPage.account-app-profile .account-business-toggle {
  width: 100%;
  justify-self: stretch;
  min-height: 46px;
  padding: 12px 20px;
}

/* ---------- Liste kartlari: mobilde sakin, derli toplu tipografi -----------
   Baslik 8vw ile olcekleniyordu; 390px'te ~31px'e cikip dort satira yayiliyor
   ve kart neredeyse tamamen baslik oluyordu. Punto kucultuldu, baslik iki
   satirda kirpiliyor, kapak ve ic bosluklar dengeye gore yeniden ayarlandi.

   Secicilerin ".lists-web-body" onekli olmasi ZORUNLU: ayni ozellikler yukarida
   hem onekli hem oneksiz tanimli ve onekli olan daha ozgul (bkz. clean-v142b
   notu). !important de ayni sebeple gerekli. */
@media (max-width: 640px) {
  .lists-web-body .lists-app-card,
  .lists-app-card {
    border-radius: 13px !important;
  }

  .lists-web-body .lists-app-cover,
  .lists-app-cover {
    aspect-ratio: 16 / 9 !important;
  }

  .lists-web-body .lists-app-save,
  .lists-app-save {
    height: 36px !important;
    width: 36px !important;
    right: 12px !important;
    top: 12px !important;
  }

  .lists-web-body .lists-app-save svg,
  .lists-app-save svg {
    height: 17px !important;
    width: 17px !important;
  }

  .lists-web-body .lists-app-card-body,
  .lists-app-card-body {
    gap: 6px !important;
    padding: 14px 16px 16px !important;
  }

  .lists-web-body .lists-app-card-body small,
  .lists-app-card-body small {
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
  }

  .lists-web-body .lists-app-card-body h3,
  .lists-app-card-body h3 {
    font-size: 1.05rem !important;
    font-weight: 650 !important;
    line-height: 1.32 !important;
    /* Uzun liste adlari karti ele gecirmesin: iki satirda kirpilir. */
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .lists-web-body .lists-app-card-body p,
  .lists-app-card-body p {
    font-size: 0.85rem !important;
    font-weight: 500 !important;
  }

  .lists-web-body .lists-app-card-body strong,
  .lists-app-card-body strong {
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    margin-top: 2px !important;
  }
}

/* ---------- Arama sonuclari: kartin tamami tiklanabilir ------------------
   Onceden sagda ayri bir "Aç" dugmesi vardi; kaldirildi, yerine yon oku.
   Kart artik <a> oldugu icin baglanti stillerini sifirlamak gerekiyor. */
.page-search-card-link {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.page-search-card-link:hover {
  background: #faf8ff;
  border-color: rgba(124, 70, 207, 0.35);
}

.page-search-card-link:focus-visible {
  outline: 2px solid #7c46cf;
  outline-offset: 2px;
}

.page-search-chevron {
  flex: none;
  color: #9a93a6;
  align-self: center;
}

/* Gorseli olmayan sonucun rozeti soluk kaliyordu (aciklik %92) ve karta
   yapistirilmis gibi duruyordu. Dolgun ton + beyaz harf: kasitli gorunur
   ve gorselli sonuclarla ayni agirlikta durur. */
#searchPage .page-search-thumb-fallback,
.page-search-card .page-search-thumb-fallback {
  /* Aciklik %30: sari tonlarda bile beyaz yazi kontrasti 5.28 (esik 4.5). */
  background: hsl(var(--thumb-hue, 260) 45% 30%) !important;
  border: 0 !important;
  color: #fff !important;
  font-weight: 700 !important;
}

/* Paylas butonu mekan detayina sonradan eklendi ve yukaridaki
   "#saveVenueFavorite, #markVenueVisited, ..." kimlik listesine girmedi.
   O liste flex'i sabitliyor; Paylas ise 760px altindaki
   "flex: 1 1 calc(50% - 8px)" kuralina kaliyor ve kendi satirinda tek
   basina kaldigi icin tum genisligi (362px) dolduruyordu. Digerleriyle
   ayni sekilde icerigi kadar yer kaplasin. */
#venueShare {
  flex: 0 0 auto !important;
}

/* ---------- Kampanyalar: mobilde alt alta liste ---------------------------
   Iki kural birbiriyle carpisiyordu: once grid yatay karusele ceviriliyor
   (grid-auto-flow: column + overflow-x: auto), sonraki bir kural ise
   "overflow: visible !important" ile kaydirmayi oldurup grid-auto-flow'u
   oldugu gibi birakiyordu. Sonuc: yan yana dizilmis ama kaydirilamayan,
   kirpilan kartlar (olculen: 4 sutun, 472px tasma, ilk kart 2px).

   Kampanyalara alt alta bakmak zaten daha kolay; dikey listeye alindi. */
@media (max-width: 760px) {
  #campaignsPage .page-card-grid,
  #campaignsPageGrid {
    display: grid !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    overflow: visible !important;
    /* Karusel icin verilen tasma paylari geri alinir. */
    padding: 0 !important;
    margin-inline: 0 !important;
    scroll-snap-type: none !important;
  }

  #campaignsPage .campaign-page-card {
    width: auto !important;
    min-width: 0 !important;
    scroll-snap-align: none !important;
  }
}

/* ---------- Etkinlikler: mobilde alt alta liste ---------------------------
   Kampanyalarla ayni duzen. Burada yatay kaydirma calisiyordu ama kart
   basina uzun aciklama oldugu icin yan yana bakmak zordu; alt alta liste
   daha kolay taraniyor. Karusel kurallari (auto-flow, negatif margin,
   snap) geri alinir. */
@media (max-width: 760px) {
  #eventsPage .page-card-grid,
  #eventsPageGrid {
    display: grid !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    overflow: visible !important;
    padding: 0 !important;
    margin-inline: 0 !important;
    scroll-snap-type: none !important;
  }

  #eventsPage .page-list-card {
    width: auto !important;
    min-width: 0 !important;
    scroll-snap-align: none !important;
  }
}

/* ---------- Mekan listesi: tek satirlik sade kartlar ----------------------
   Onceden iki sutunlu, uzun fotografli kartlardi; ekrana iki mekan sigiyor
   ve baslik uc satira boluniyordu. Satir duzeninde bir bakista alti-yedi
   mekan goruluyor. */
#venuesPageGrid,
body.venues-web-body #venuesPageGrid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
}

/* Masaustunde tek sutun sikici goruntyordu: genis ekranda satir kartlarini
   2-3 sutunlu grid'e ac (mobilde tek sutun kalir, bir bakista tarama korunur). */
@media (min-width: 900px) {
  #venuesPageGrid,
  body.venues-web-body #venuesPageGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: start !important;
  }
}
@media (min-width: 1240px) {
  #venuesPageGrid,
  body.venues-web-body #venuesPageGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
/* Grid hucrelerinde aciklama satirlari kart yuksekligini esitlemesin: nota 2 satir. */
@media (min-width: 900px) {
  .page-venue-row .venue-row-note {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* "Daha fazla yükle" butonu (mekan listesi grid'inin altinda ortali). */
.venues-load-more {
  display: flex;
  justify-content: center;
  margin-top: 22px;
}
.venues-load-more-btn {
  border: 1px solid rgba(91, 65, 153, 0.25);
  background: #fff;
  color: #5b4199;
  font: inherit;
  font-weight: 700;
  font-size: 0.92rem;
  padding: 12px 28px;
  border-radius: 999px;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(91, 65, 153, 0.1);
  transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.1s;
}
.venues-load-more-btn:hover {
  background: #5b4199;
  color: #fff;
  border-color: #5b4199;
}
.venues-load-more-btn:active {
  transform: translateY(1px);
}

.page-venue-row {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px !important;
  border-radius: 13px !important;
  background: #fff !important;
  border: 1px solid rgba(36, 24, 52, 0.08) !important;
  box-shadow: none !important;
  cursor: pointer;
  min-height: 0 !important;
}
.page-venue-row:hover { border-color: rgba(124, 70, 207, 0.35) !important; }

/* Filtreler karti hidden yapiyor; yukaridaki "display: grid !important"
   [hidden] kuralini eziyordu ve filtre GORSEL olarak hic calismiyordu
   (olculen: 158 kart hidden ama 0 tanesi gizli). Ayni onemle geri kapat. */
.page-venue-row[hidden] {
  display: none !important;
}

.page-venue-row .venue-row-thumb {
  display: block;
  width: 72px;
  height: 72px;
  border-radius: 11px;
  overflow: hidden;
  flex: none;
}
.page-venue-row .venue-row-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* Logo (seffaf/kare) kirpilmasin: beyaz zemine sigdir. Kapak foto -> cover. */
.page-venue-row .venue-row-thumb img.is-logo {
  object-fit: contain;
  background: #fff;
  padding: 6px;
  box-sizing: border-box;
}
.page-venue-row .venue-row-monogram {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  /* Aciklik %30: her tonda beyaz yazi kontrasti >= 4.5 (arama sayfasiyla ayni). */
  background: hsl(var(--thumb-hue, 260) 45% 30%);
  color: #fff;
  font-size: 1.15rem;
  font-weight: 700;
}

.page-venue-row .venue-row-body {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.page-venue-row .venue-row-title {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.page-venue-row .venue-row-title h3 {
  margin: 0 !important;
  font-size: 1rem !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
  color: #171018 !important;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.page-venue-row .venue-row-meta {
  font-size: 0.82rem;
  color: #716a73;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.page-venue-row .venue-row-note {
  font-size: 0.82rem;
  color: #8b8494;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Acik/kapali rozeti satirin sagina, basligi ezmeden. */
.page-venue-row .page-open-badge {
  flex: none;
  margin: 0 0 0 auto !important;
  padding: 3px 9px !important;
  font-size: 0.72rem !important;
  border-radius: 999px !important;
}

/* ---------- Arama sonuclari: mekan listesiyle ayni satir tasarimi ----------
   Kart artik .page-venue-row; burada yalnizca arama kabinin tek sutun
   olmasi ve tur rozeti tanimlanir. */
#searchPageResults {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
}

/* Karisik turleri ayirt eden kucuk rozet (mekan listesinde acik/kapali
   rozetinin yerinde). */
.page-venue-row .search-row-type {
  flex: none;
  margin-left: auto;
  padding: 3px 9px;
  border-radius: 999px;
  background: #f1edfb;
  color: #5b4199;
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
}

/* Ilce sayfasi: diger ilcelere gecis seridi (ic link = yerel SEO). */
.district-links { margin: 0 0 14px; flex-wrap: wrap; gap: 8px; }
.district-links a,
.district-links span {
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid rgba(91, 65, 153, 0.18);
  background: #fff;
  color: #5b4199;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
}
.district-links a:hover { background: #faf7ff; border-color: #7c3aed; }
.district-links span.active { background: #5b4199; color: #fff; border-color: #5b4199; }

/* ---- Lezzetler sayfasi: urun gorseli + "daha fazla" ---- */
.page-taste-card.has-media { padding-top: 0 !important; overflow: hidden; }
.taste-card-media {
  display: block;
  margin: 0 -16px 12px;
  aspect-ratio: 16 / 10;
  background: #efeaf6;
  overflow: hidden;
}
.taste-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Urunun kendi etiketleri: mekan etiketleri artik kartta yok, kalanlar sade dursun */
.page-taste-card .page-service-meta b {
  background: #f4f0fb;
  color: #5b4199;
  font-weight: 600;
}
.tastes-more { display: flex; justify-content: center; padding: 4px 16px 24px; }
.tastes-more-btn {
  border: 1px solid rgba(91, 65, 153, 0.25);
  background: #fff;
  color: #5b4199;
  font-weight: 600;
  font-size: 0.92rem;
  padding: 11px 22px;
  border-radius: 999px;
  cursor: pointer;
}
.tastes-more-btn:hover { background: #faf7ff; border-color: #7c3aed; }

/* @@DGA-CESUR-START@@ */
/* =========================================================================
   CESUR YENILEME — upgrade-v2  (Duzce Gurmesi marka tasarim katmani)
   Bu blok DOSYANIN EN SONUNDA kalmali. Tek kanonik token seti + kilit
   bilesenlerin (kart / baslik / filtre / arama) cesur gorsel dili.
   Scope = body.guide-body (TUM public sayfalarin ortak taban class'i;
   web-shell yalniz ana ekranda, venues-web-body/sinema vb. ayri).
   Onceki tum :root bloklarini (celisen mor #5b4199 / radius / golge)
   cascade ile ezer. Kaldirilirsa site eski haline doner (tersinir).
   ========================================================================= */
:root {
  /* --- Kanonik marka: tek mor (#5b4199) + marka sarisi vurgu --- */
  --tc-purple: #5b4199;
  --tc-purple-dark: #47169e;
  --tc-purple-deep: #37127e;
  --tc-purple-soft: #f2ecfc;
  --tc-purple-line: #e2d6f6;
  --tc-yellow: #f6c20a;
  --tc-yellow-deep: #dca800;
  --tc-yellow-soft: #fff4cc;
  --tc-ink: #231f20;
  --tc-gray: #6b6478;
  --tc-line: #e9e4f2;
  --tc-bg: #f7f5fb;
  --tc-card: #fffdf8;

  /* --- Cesur radius olcegi: daha yumusak, tutarli --- */
  --tc-radius-sm: 12px;
  --tc-radius: 13px;
  --tc-radius-md: 15px;
  --tc-radius-lg: 18px;
  --tc-radius-xl: 23px;

  /* --- Cesur golge olcegi: hissedilir, katmanli "yuzen" derinlik --- */
  --tc-shadow: 0 3px 10px rgba(40, 25, 80, 0.06);
  --tc-shadow-hover: 0 16px 34px rgba(46, 24, 92, 0.18);
  --tc-shadow-card: 0 10px 26px rgba(46, 24, 92, 0.13);
  --tc-shadow-soft: 0 16px 36px rgba(40, 25, 80, 0.12);
  --tc-shadow-float: 0 18px 40px rgba(79, 36, 145, 0.24);
  --tc-border-soft: rgba(45, 31, 63, 0.08);
  --tc-card-border: rgba(46, 24, 92, 0.07);
}

/* --- KARTLAR: cesur derinlik + yumusak radius + hover lift --- */
body.guide-body .venue-card,
body.guide-body .opennow-card,
body.guide-body .campaign-card,
body.guide-body .home-list-card,
body.guide-body .cinema-card,
body.guide-body .home-venue-card,
body.guide-body .page-list-card {
  border-radius: var(--tc-radius-lg) !important;
  box-shadow: none !important;
  border: 1px solid var(--tc-card-border) !important;
  transition: transform .22s cubic-bezier(.2, .7, .3, 1), box-shadow .22s ease, border-color .22s ease !important;
}
@media (hover: hover) {
  body.guide-body .venue-card:hover,
  body.guide-body .opennow-card:hover,
  body.guide-body .campaign-card:hover,
  body.guide-body .home-list-card:hover,
  body.guide-body .cinema-card:hover,
  body.guide-body .page-list-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: none !important;
    border-color: var(--tc-purple-line) !important;
  }
}

/* Kart gorseli hover'da hafif yakinlasir (cerceve icinde kalir) */
body.guide-body .opennow-card .on-media,
body.guide-body .cinema-card .cc-poster,
body.guide-body .campaign-card .campaign-card-cover,
body.guide-body .home-list-card .home-list-cover {
  overflow: hidden !important;
}
body.guide-body .opennow-card .on-photo,
body.guide-body .cinema-card .cc-poster img,
body.guide-body .campaign-card .campaign-card-cover img {
  transition: transform .55s cubic-bezier(.2, .7, .3, 1) !important;
}
@media (hover: hover) {
  body.guide-body .opennow-card:hover .on-photo,
  body.guide-body .cinema-card:hover .cc-poster img,
  body.guide-body .campaign-card:hover .campaign-card-cover img {
    transform: scale(1.055) !important;
  }
}

/* --- SECTION BASLIK: "Tumu" linki belirgin pill (marka moru) --- */
body.guide-body .section-heading .soft-button,
body.guide-body .soft-button {
  color: var(--tc-purple) !important;
  background: var(--tc-purple-soft) !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 7px 15px !important;
  font-weight: 650 !important;
  transition: background .16s ease, color .16s ease !important;
}
@media (hover: hover) {
  body.guide-body .section-heading .soft-button:hover,
  body.guide-body .soft-button:hover {
    background: var(--tc-purple) !important;
    color: #fff !important;
  }
}

/* --- FILTRE CIPLERI: aktif = dolu mor (tutarli aksiyon dili) --- */
body.guide-body .page-filter-bar button,
body.guide-body .venues-web-chips button {
  border-radius: 999px !important;
  font-weight: 600 !important;
  transition: background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
body.guide-body .page-filter-bar button.active,
body.guide-body .venues-web-chips button.active,
body.venues-web-body .venues-web-chips button.active {
  background: var(--tc-purple) !important;
  color: #fff !important;
  border-color: var(--tc-purple) !important;
  box-shadow: none !important;
}
@media (hover: hover) {
  body.guide-body .page-filter-bar button:not(.active):hover,
  body.guide-body .venues-web-chips button:not(.active):hover {
    border-color: var(--tc-purple-line) !important;
    color: var(--tc-purple) !important;
  }
}

/* --- ANA ARAMA KUTUSU: yumusak pill + odak halkasi --- */
body.guide-body .hsf-box {
  border-radius: 999px !important;
  box-shadow: none !important;
  border: 1.5px solid var(--tc-purple-line) !important;
  transition: border-color .16s ease, box-shadow .16s ease !important;
}
body.guide-body .hsf-box:focus-within {
  border-color: var(--tc-purple) !important;
  box-shadow: none !important;
}
body.guide-body .hsf-chips a {
  border-radius: 999px !important;
  transition: background .16s ease, color .16s ease, border-color .16s ease !important;
}
@media (hover: hover) {
  body.guide-body .hsf-chips a:hover {
    background: var(--tc-purple) !important;
    color: #fff !important;
    border-color: var(--tc-purple) !important;
  }
}

/* --- "Yakinindaki mekanlar" + "Mekan sahibi misin" kartlari: derinlik --- */
body.guide-body .nearby-card,
body.guide-body .owner-cta {
  box-shadow: none !important;
  border-radius: var(--tc-radius-lg) !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
@media (hover: hover) {
  body.guide-body .nearby-card:hover,
  body.guide-body .owner-cta:hover {
    transform: translateY(-3px) !important;
    box-shadow: none !important;
  }
}
/* @@DGA-CESUR-END@@ */

/* @@DGA-FAV-SHEET@@ Ust bar kalp -> favori mekanlar alt-sayfasi (mobil) */
button.app-top-circle { border: 0; font: inherit; cursor: pointer; -webkit-appearance: none; appearance: none; }

.app-fav-sheet { position: fixed; inset: 0; z-index: 1200; display: none; }
.app-fav-sheet.is-open { display: block; }
.app-fav-scrim { position: absolute; inset: 0; background: rgba(20, 12, 40, 0.42); backdrop-filter: blur(2px); }
.app-fav-panel {
  position: absolute; left: 0; right: 0; bottom: 0;
  max-height: 82vh; display: flex; flex-direction: column;
  background: var(--tc-card, #fff);
  border-radius: 18px 18px 0 0;
  box-shadow: none !important;
  padding: 8px 16px calc(18px + env(safe-area-inset-bottom));
  animation: appFavUp 0.28s cubic-bezier(0.2, 0.8, 0.3, 1);
}
@keyframes appFavUp { from { transform: translateY(100%); } to { transform: translateY(0); } }
.app-fav-panel::before { content: ""; width: 42px; height: 4px; border-radius: 999px; background: #e2dced; margin: 6px auto 12px; flex: none; }
.app-fav-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 0 2px 12px; }
.app-fav-head strong { font-size: 1.14rem; color: var(--tc-ink, #231f20); font-weight: 700; }
.app-fav-head small { display: block; color: var(--tc-gray, #6b6478); font-size: 0.82rem; margin-top: 2px; }
.app-fav-close { border: 0; background: #f2eef8; width: 34px; height: 34px; border-radius: 50%; font-size: 1.35rem; line-height: 1; color: var(--tc-gray, #6b6478); cursor: pointer; flex: none; }
.app-fav-body { overflow-y: auto; -webkit-overflow-scrolling: touch; display: flex; flex-direction: column; gap: 8px; padding: 2px 0 4px; }
.app-fav-loading { color: var(--tc-gray, #6b6478); text-align: center; padding: 24px; margin: 0; }
.app-fav-item {
  display: flex; align-items: center; gap: 12px;
  padding: 10px; border-radius: 13px; text-decoration: none;
  border: 1px solid var(--tc-line, #e9e4f2); background: #fff;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.app-fav-item:active { background: #faf7ff; border-color: var(--tc-purple-line, #e2d6f6); transform: scale(0.99); }
.app-fav-thumb {
  width: 54px; height: 54px; border-radius: 12px; overflow: hidden; flex: none;
  background: linear-gradient(135deg, #5b4199, #7c3aed);
}
.app-fav-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Logo (seffaf/genis olabilir): kirpma yerine tamami sigsin; beyaz zeminde okunur. */
.app-fav-thumb img.is-logo { object-fit: contain; padding: 5px; box-sizing: border-box; background: #fff; }
.app-fav-info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.app-fav-info strong { font-size: 0.98rem; color: var(--tc-ink, #231f20); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.app-fav-info small { font-size: 0.82rem; color: var(--tc-gray, #6b6478); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.app-fav-chevron { color: #b9b1c9; flex: none; }
.app-fav-empty { text-align: center; padding: 26px 16px 34px; color: var(--tc-gray, #6b6478); }
.app-fav-empty p { margin: 0 0 14px; line-height: 1.5; }
.app-fav-cta {
  display: inline-block; padding: 10px 22px; border-radius: 999px;
  background: var(--tc-purple, #5b4199); color: #fff; font-weight: 600; text-decoration: none;
}
body.app-fav-open { overflow: hidden; }

/* Genis ekranda mobil ust bar gizli (kalp gorunmez); yine de acilirsa panel ortalanir. */
@media (min-width: 761px) {
  .app-fav-panel { left: 50%; right: auto; bottom: 50%; transform: translate(-50%, 50%); width: min(460px, 92vw); max-height: 78vh; border-radius: 16px; animation: none; }
  .app-fav-panel::before { display: none; }
}

/* @@DGA-VENUE-ACTIONS@@ Mekan detay aksiyon butonlari: duzenli esit 2 sutun.
   Eskiden flex-grow ile dengesizdi ("Listeye Ekle" genisleyip yanindaki "Ara"
   daraliyordu). Butonlara ESIT flex verildi -> her satirda 2 esit buton; tek
   kalan (orn. Paylas) tam satir. Container flex/grid hangisi olursa olsun calisir
   (menu.html body "venue-v2"; eski detay "venue-page-body"). */
body.venue-v2 .venue-profile-actions,
body.venue-page-body .venue-profile-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
body.venue-v2 .venue-profile-actions > a,
body.venue-v2 .venue-profile-actions > button,
body.venue-page-body .venue-profile-actions > a,
body.venue-page-body .venue-profile-actions > button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  flex: 1 1 calc(50% - 5px) !important;
  width: auto !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
/* Tek sayida buton varsa sonuncu tam genislik -> bosluk kalmaz (grid + flex). */
body.venue-v2 .venue-profile-actions > *:last-child:nth-child(odd),
body.venue-page-body .venue-profile-actions > *:last-child:nth-child(odd) {
  grid-column: 1 / -1 !important;
  flex-basis: 100% !important;
}


/* ============================================================
   Kullanici istegi: web sitesi genelinde golge yok — kartlar,
   butonlar, bolumler, kayan seritler, ust bar... Admin paneli bu
   dosyayi yuklemedigi icin etkilenmez (ayrica :not(.admin-body)).
   ============================================================ */
body.guide-body:not(.admin-body),
body.guide-body:not(.admin-body) *,
body.guide-body:not(.admin-body) *::before,
body.guide-body:not(.admin-body) *::after {
  box-shadow: none !important;
}

/* ============================================================
   Bilgi sayfalari (Yardim / Sartlar / Hakkinda) — kart tabanli,
   sicak ve duzenli tasarim. Govde sunucuda renderInfoPageHtml ile
   uretilir: ortalanmis hero + ikon rozeti, her bolum ayri .info-sec
   karti, SSS akordeonlari, iletisim CTA butonu. Site geneli duz
   (golgesiz) estetigine sadik: derinlik kenarlik + zeminle verilir.
   ============================================================ */
.info-page .info-hero {
  text-align: center;
  max-width: 720px;
  margin: 6px auto 26px !important;
  padding: 6px 0 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.info-hero-badge {
  display: inline-grid; place-items: center;
  width: 62px; height: 62px; border-radius: 16px;
  font-size: 1.75rem; line-height: 1; margin-bottom: 14px;
  background: linear-gradient(135deg, #7c3aed, #5b4199);
}
.info-hero-badge-sartlar { background: linear-gradient(135deg, #6366f1, #4338ca); }
.info-hero-badge-hakkinda { background: linear-gradient(135deg, #f59e0b, #d97706); }
.info-page .info-hero h1 { font-size: clamp(1.9rem, 3vw, 2.4rem) !important; margin: 0 0 8px !important; }
.info-page .info-hero p {
  color: var(--tc-gray, #6b6577) !important;
  font-size: 1.04rem; line-height: 1.55; margin: 0 auto !important; max-width: 52ch;
}

.info-cards { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 18px; }
.info-sec {
  background: #fff;
  border: 1px solid rgba(45, 31, 63, 0.09);
  border-radius: 15px;
  padding: clamp(20px, 3vw, 28px);
}
.info-sec > h2 {
  font-size: 1.16rem !important; font-weight: 800; color: #23172f !important;
  margin: 0 0 14px !important; display: flex; align-items: center; gap: 11px;
}
.info-sec > h2::before {
  content: ""; flex: 0 0 auto; width: 4px; height: 19px; border-radius: 999px;
  background: linear-gradient(#7c3aed, #5b4199);
}
.info-sec-body > p { line-height: 1.65; color: #4a4356; margin: 0 0 12px; }
.info-sec-body > p:last-child { margin-bottom: 0; }
.info-sec-body a { color: #6d28d9; font-weight: 600; }
.info-sec-body > ul { margin: 6px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 11px; }
.info-sec-body > ul li { position: relative; padding-left: 26px; line-height: 1.55; color: #4a4356; }
.info-sec-body > ul li::before {
  content: ""; position: absolute; left: 4px; top: 8px; width: 8px; height: 8px;
  border-radius: 50%; background: #7c3aed;
}
.info-sec-body > ul li strong { color: #23172f; }

/* SSS akordeonu (Yardim) */
.info-sec-body .info-faq {
  border: 1px solid rgba(45, 31, 63, 0.09) !important;
  border-radius: 13px; padding: 0; margin: 0 0 10px;
  overflow: hidden; transition: border-color .16s ease, background .16s ease;
}
.info-sec-body .info-faq:last-child { margin-bottom: 0; }
.info-sec-body .info-faq summary {
  cursor: pointer; font-weight: 700; color: #23172f; list-style: none;
  padding: 14px 16px; display: flex; align-items: center; gap: 12px;
}
.info-sec-body .info-faq summary::-webkit-details-marker { display: none; }
.info-sec-body .info-faq summary::before { content: none; }
.info-sec-body .info-faq summary::after {
  content: "+"; margin-left: auto; flex: 0 0 auto;
  width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center;
  background: #f1e9fd; color: #6d28d9; font-weight: 800; font-size: 1.05rem;
}
.info-sec-body .info-faq[open] { border-color: rgba(124, 58, 237, 0.30) !important; background: #faf8fe; }
.info-sec-body .info-faq[open] summary::after { content: "−"; }
.info-sec-body .info-faq p { margin: 0 16px 14px 16px !important; color: #4a4356; line-height: 1.6; }

/* Iletisim / Bize ulas karti */
.info-sec--contact { background: linear-gradient(135deg, #f4eefc, #fbf8ff); border-color: rgba(124, 58, 237, 0.20); text-align: center; }
.info-sec--contact > h2 { justify-content: center; }
.info-sec--contact > h2::before { display: none; }
.info-cta-btn {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 12px;
  background: #5b4199; color: #fff !important; text-decoration: none;
  padding: 11px 20px; border-radius: 999px; font-weight: 700; font-size: 0.95rem;
  transition: transform .16s ease, background .16s ease;
}
.info-cta-btn:hover { transform: translateY(-2px); background: #4c1d95; }

@media (max-width: 560px) {
  .info-sec { padding: 18px 16px; }
}

/* clean-v248 - Duzenle/Ayarlar sekmesindeki kartlar (Profili duzenle, Yeni liste
   olustur, isletme kartlari) dikeyde birbirine yapisiyordu. Article'lara alt
   isletme/liste kartlariyla ayni 16px alt bosluk -> her kartin ustunde ve
   altinda esit nefes. */
#accountPage.account-app-profile .account-app-edit-panel article,
#accountPage.account-app-profile .account-app-settings-panel article {
  margin-bottom: 16px;
}

/* clean-v249 - Profili duzenle: Instagram/TikTok tarzi satir-tabanli MINIMAL form.
   Kutulu label+input yigini kaldirildi -> ortali avatar + ince ayracli satirlar.
   Yatay tasma (eski grid 1fr icindeki date input iOS'ta tasiyordu) tek-sutun
   satir + min-width:0 ile kokten cozuldu. */
#accountPage.account-app-profile .acc-edit-title {
  font-size: 1.15rem; font-weight: 800; text-align: center; margin: 0 0 2px; color: #211331;
}
#accountPage.account-app-profile form.acc-edit { display: block; margin: 0; }

/* Ortali avatar + kamera rozeti */
#accountPage.account-app-profile .acc-edit-photo {
  display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 10px 0 16px;
}
#accountPage.account-app-profile .acc-edit-avatar {
  position: relative; width: 96px; height: 96px; border-radius: 50%;
  border: 0 !important; padding: 0 !important; margin: 0; background: transparent !important;
  min-height: 0 !important; cursor: pointer;
}
#accountPage.account-app-profile .acc-edit-avatar-preview {
  display: grid; place-items: center; width: 96px; height: 96px; border-radius: 50%;
  overflow: hidden; background: #ece7f5; color: #5b4199; font-weight: 800; font-size: 1.7rem;
}
#accountPage.account-app-profile .acc-edit-avatar-preview img { width: 100%; height: 100%; object-fit: cover; }
#accountPage.account-app-profile .acc-edit-avatar-cam {
  position: absolute; right: -2px; bottom: -2px; width: 30px; height: 30px; border-radius: 50%;
  background: #5b4199; border: 3px solid #fff; display: grid; place-items: center;
}
#accountPage.account-app-profile .acc-edit-avatar-cam svg { width: 15px; height: 15px; }
#accountPage.account-app-profile .acc-edit-photo-links { display: flex; gap: 20px; align-items: center; }
#accountPage.account-app-profile .acc-edit-linkbtn {
  background: none !important; border: 0 !important; padding: 0 !important; margin: 0;
  min-height: 0 !important; width: auto !important; color: #5b4199 !important;
  font-weight: 700; font-size: 0.95rem; cursor: pointer;
}
#accountPage.account-app-profile .acc-edit-linkbtn-danger { color: #c0392b !important; }

/* Kapak: ince serit, dokununca degistir */
#accountPage.account-app-profile .acc-edit-cover {
  position: relative; display: block; width: 100%; max-width: 100%; border: 0 !important;
  padding: 0 !important; margin: 0 0 6px; min-height: 0 !important; background: none !important;
  cursor: pointer; border-radius: 14px; overflow: hidden;
}
#accountPage.account-app-profile .acc-edit-cover-preview {
  display: block; width: 100%; aspect-ratio: 4 / 1; border-radius: 14px; border: 0;
}
#accountPage.account-app-profile .acc-edit-cover-hint {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 7px 12px;
  background: linear-gradient(transparent, rgba(0,0,0,0.42)); color: #fff;
  font-size: 0.8rem; font-weight: 600; text-align: left;
}
#accountPage.account-app-profile .acc-edit-cover-remove { text-align: right; margin: 0 0 8px; }

/* Satir listesi: ince ayracli, kutusuz */
#accountPage.account-app-profile .acc-rows { display: block; border-top: 1px solid var(--tc-line); margin: 6px 0; }
#accountPage.account-app-profile .acc-rows .acc-row {
  display: flex; align-items: center; gap: 12px; min-height: 52px;
  padding: 6px 0; margin: 0; border-bottom: 1px solid var(--tc-line);
}
#accountPage.account-app-profile .acc-rows .acc-row-top { align-items: flex-start; }
#accountPage.account-app-profile .acc-rows .acc-row-label {
  flex: 0 0 98px; min-width: 0; color: #211331; font-size: 0.95rem; font-weight: 600;
}
#accountPage.account-app-profile .acc-rows .acc-row-top .acc-row-label { padding-top: 10px; }

/* Borderless alanlar (deger sagda, Instagram tarzi) */
#accountPage.account-app-profile .acc-rows .acc-row-field {
  flex: 1 1 auto; min-width: 0; width: 100%;
  border: 0 !important; background: transparent !important; box-shadow: none !important;
  padding: 8px 0 !important; margin: 0; font: inherit; font-size: 0.98rem; color: var(--tc-ink);
  text-align: right; border-radius: 0 !important; min-height: 0 !important;
}
#accountPage.account-app-profile .acc-rows .acc-row-field::placeholder { color: #b3adbd; }
#accountPage.account-app-profile .acc-rows .acc-row-field:focus { outline: none; }
#accountPage.account-app-profile .acc-rows textarea.acc-row-area {
  text-align: left; resize: none; line-height: 1.4; min-height: 46px; padding-top: 10px !important;
}
#accountPage.account-app-profile .acc-rows .acc-row-select {
  text-align: right; text-align-last: right; -webkit-appearance: none; appearance: none; cursor: pointer;
  padding-right: 16px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238a8398' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right center;
  background-size: 10px 6px;
}
#accountPage.account-app-profile .acc-rows .acc-row-date { text-align: right; }

/* Instagram @ on-eki */
#accountPage.account-app-profile .acc-rows .acc-row-insta {
  flex: 1 1 auto; min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 2px;
}
#accountPage.account-app-profile .acc-rows .acc-row-at { flex: none; color: #c13584; font-weight: 800; }
#accountPage.account-app-profile .acc-rows .acc-row-insta .acc-row-field { text-align: left; }

/* iOS tarzi anahtar (Profilde goster) */
#accountPage.account-app-profile .acc-switch { position: relative; display: inline-flex; flex: none; width: 46px; height: 28px; }
#accountPage.account-app-profile .acc-switch input {
  position: absolute !important; inset: 0; width: 100% !important; height: 100%; margin: 0 !important;
  opacity: 0; cursor: pointer; z-index: 2; padding: 0 !important; border: 0 !important; min-height: 0 !important;
}
#accountPage.account-app-profile .acc-switch-track {
  position: absolute; inset: 0; border-radius: 999px; background: #d5cfe0; transition: background .18s ease;
}
#accountPage.account-app-profile .acc-switch-track::after {
  content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%;
  background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,0.25); transition: transform .18s ease;
}
#accountPage.account-app-profile .acc-switch input:checked + .acc-switch-track { background: #5b4199; }
#accountPage.account-app-profile .acc-switch input:checked + .acc-switch-track::after { transform: translateX(18px); }
#accountPage.account-app-profile .acc-row-switch { min-height: 58px; }

/* Bolum basligi + gizlilik notu */
#accountPage.account-app-profile .acc-section-label {
  font-size: 0.75rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
  color: #8a8398; margin: 18px 0 0;
}
#accountPage.account-app-profile .acc-section-label span { font-weight: 600; text-transform: none; letter-spacing: 0; color: #b3adbd; }
#accountPage.account-app-profile .acc-edit-note {
  font-size: 0.82rem !important; line-height: 1.45; color: #746a78 !important; font-weight: 500 !important; margin: 12px 0 16px;
}
#accountPage.account-app-profile .acc-edit-note strong { color: #5b4199; }

/* Kaydet: tam genislik pill */
#accountPage.account-app-profile form.acc-edit .acc-edit-save {
  width: 100%; border: 0; border-radius: 999px; background: #5b4199; color: #fff;
  font-weight: 700; font-size: 1rem; padding: 14px; min-height: 50px; cursor: pointer;
  transition: background .16s ease, transform .12s ease;
}
#accountPage.account-app-profile form.acc-edit .acc-edit-save:hover { background: #4c1d95; }
#accountPage.account-app-profile form.acc-edit .acc-edit-save:active { transform: scale(0.99); }

