/**
 * Tema motoru — responsive / 4K, CSS değişkenleri, yerleşim modları
 */

.tt-container {
  max-width: var(--tt-container-max) !important;
}

.tt-preset-active .container:not(.container-fluid) {
  max-width: var(--tt-container-max) !important;
}

@media (min-width: 1920px) {
  .tt-preset-active .tt-container {
    max-width: var(--tt-container-4k, min(94vw, 2200px)) !important;
  }
}

@media (min-width: 2560px) {
  .tt-preset-active .tt-container {
    max-width: min(95vw, 2480px) !important;
  }
}

@media (min-width: 3840px) {
  .tt-preset-active .tt-container {
    max-width: min(96vw, 3000px) !important;
  }
}

.tt-preset-active {
  background-color: var(--tt-background);
  color: var(--tt-text);
}

.tt-preset-active .min-vh-100 {
  padding-bottom: var(--tt-section-y);
}

.tt-preset-active .card {
  border-radius: var(--tt-radius);
  border-color: var(--tt-border);
}

.tt-preset-active .tt-card-flat .card,
.tt-card-flat .product-card {
  box-shadow: none !important;
  border: 1px solid var(--tt-border) !important;
}

.tt-preset-active .tt-card-bordered .card,
.tt-card-bordered .product-card {
  box-shadow: none !important;
  border: 1px solid var(--tt-border) !important;
}

.tt-preset-active .tt-card-shadow .card,
.tt-card-shadow .product-card {
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.08) !important;
}

.tt-preset-active .card-header {
  background: var(--tt-heading-bg) !important;
  color: var(--tt-text);
  border-color: var(--tt-border) !important;
}

.tt-preset-active h1, .tt-preset-active h2, .tt-preset-active h3,
.tt-preset-active h4, .tt-preset-active h5, .tt-preset-active h6 {
  color: var(--tt-text);
}

.tt-preset-active .text-muted {
  color: var(--tt-text-muted) !important;
}

.tt-preset-active a:not(.btn):not(.nav-link) {
  color: var(--tt-link);
}

.tt-preset-active .main-header.tt-main-header {
  top: var(--tt-header-offset, 40px);
  z-index: 1000;
  background: var(--tt-surface) !important;
}

.tt-header-mega .header-top {
  border-bottom: 3px solid var(--tt-primary);
}

.tt-header-minimal .navbar-brand {
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.tt-header-market .header-block-search .form-control {
  border-radius: var(--tt-radius);
}

.tt-header-market .header-block-search .input-group .btn-primary {
  min-width: 48px;
}

.tt-preset-active .tt-search-prominent .header-block-search .form-control {
  min-height: 46px;
  font-size: 1.05em;
}

.tt-preset-active .product-card.tt-product-card .tt-product-card-media {
  aspect-ratio: var(--tt-product-ratio);
  height: auto !important;
  max-height: 320px;
}

.tt-grid-dense .product-card.tt-product-card .tt-product-card-media {
  max-height: 220px;
}

@media (min-width: 1920px) {
  .tt-grid-dense .product-card.tt-product-card .tt-product-card-media {
    max-height: 260px;
  }
}

.tt-product-card .tt-product-card-media {
  width: 100% !important;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.tt-product-card .tt-product-card-img {
  object-fit: contain;
  object-position: center center;
  display: block !important;
  align-self: center;
  margin-left: auto !important;
  margin-right: auto !important;
  width: auto !important;
  min-width: 0;
  height: auto !important;
  max-width: calc(100% - 1.5rem);
  max-height: calc(100% - 1.5rem);
}

.tt-grid-dense .product-card .card-title {
  font-size: 0.95rem;
}

.tt-grid-listish .col-6 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

@media (min-width: 768px) {
  .tt-grid-listish .col-md-4,
  .tt-grid-listish .col-md-3,
  .tt-grid-listish .col-lg-3 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

.tt-grid-listish .product-card {
  display: flex;
  flex-direction: row;
}

.tt-grid-listish .product-card > a {
  width: min(200px, 35%);
  flex-shrink: 0;
}

.tt-grid-listish .product-card > a .tt-product-card-media {
  max-height: 160px !important;
  aspect-ratio: 1 !important;
}

.tt-grid-listish .product-card .card-body {
  flex: 1;
}

@media (min-width: 1920px) {
  .tt-preset-active footer .container {
    max-width: var(--tt-container-4k);
  }
}

.tt-preset-active .btn-primary {
  background-color: var(--tt-primary) !important;
  border-color: var(--tt-primary) !important;
}

.tt-preset-active .btn-primary:hover {
  background-color: var(--tt-primary-dark) !important;
  border-color: var(--tt-primary-dark) !important;
}

.tt-preset-active .text-primary {
  color: var(--tt-primary) !important;
}

.tt-preset-active .bg-primary {
  background-color: var(--tt-primary) !important;
}

/* Üst şerit + header + kayar bant: daha az dikey alan */
.tt-dense-top-strip .top-message-bar {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
  font-size: 0.85rem;
}

.tt-dense-top-strip .header-top {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.tt-dense-top-strip .sliding-banner {
  padding-top: 0.35rem !important;
  padding-bottom: 0.35rem !important;
}

.tt-dense-top-strip .sliding-banner .brand-item {
  padding: 0.35rem !important;
}

.tt-dense-top-strip .sliding-banner .brand-item .fs-1 {
  font-size: 1.35rem !important;
}

.tt-dense-top-strip .sliding-banner .brand-item img {
  max-height: 44px !important;
}

/* Footer yoğunluğu */
.tt-footer-compact footer.bg-dark > .container,
.tt-footer-compact footer.bg-dark > .tt-container {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.tt-footer-compact footer h5 {
  font-size: 1rem;
  margin-bottom: 0.75rem !important;
}

.tt-footer-compact footer .footer-block {
  margin-bottom: 1.25rem !important;
}

.tt-footer-spacious footer.bg-dark > .container,
.tt-footer-spacious footer.bg-dark > .tt-container {
  padding-top: clamp(3rem, 5vw, 5rem) !important;
  padding-bottom: clamp(3rem, 5vw, 5rem) !important;
}

@media (min-width: 3840px) {
  .tt-footer-spacious footer.bg-dark > .container,
  .tt-footer-spacious footer.bg-dark > .tt-container {
    padding-top: 5.5rem !important;
    padding-bottom: 5.5rem !important;
  }
}

/* Ürün ızgarası: tema grid moduna bağlı boşluk ve büyük ekran ölçeklemesi */
.tt-preset-active .product-grid-zone {
  --tt-product-grid-gap: 1.5rem;
}

.tt-grid-dense .product-grid-zone {
  --tt-product-grid-gap: 1rem;
}

.tt-preset-active .product-grid-zone.row {
  row-gap: var(--tt-product-grid-gap);
}

@media (min-width: 1920px) {
  .tt-preset-active .product-grid-zone {
    --tt-product-grid-gap: 1.75rem;
  }

  .tt-grid-dense .product-grid-zone {
    --tt-product-grid-gap: 1.25rem;
  }
}

@media (min-width: 3840px) {
  .tt-preset-active .product-grid-zone {
    --tt-product-grid-gap: 2rem;
  }

  .tt-grid-dense .product-grid-zone {
    --tt-product-grid-gap: 1.5rem;
  }
}
