/* Ürün kartları: mağazanın mevcut temasını koruyan, görsel odaklı katalog düzeni. */
:root {
  --store-product-ink: #141414;
  --store-product-muted: #727272;
  --store-product-line: #e9e9e9;
  --store-product-surface: #f4f4f2;
  --store-product-sale: #c43b3b;
}

.store-product-grid,
.catalog-product-grid,
.likes-product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 16px;
  width: 100%;
}

.store-product-card {
  min-width: 0;
  color: var(--store-product-ink);
  position: relative;
}

.store-product-card__media {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 4.35;
  background: var(--store-product-surface);
  color: inherit;
  text-decoration: none;
}

.store-product-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .38s cubic-bezier(.2,.65,.3,1);
}

.store-product-card:hover .store-product-card__media img {
  transform: scale(1.025);
}

.store-product-card__wish,
.store-product-card .like-btn {
  position: absolute;
  z-index: 3;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  color: #171717;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(7px);
  font-size: .95rem;
  line-height: 1;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.store-product-card__wish:hover,
.store-product-card .like-btn:hover {
  transform: scale(1.05);
  color: #171717;
  background: #fff;
}

.store-product-card__wish.is-active,
.store-product-card .like-btn.liked {
  color: #b6253d;
  background: #fff;
}

.store-product-card__label,
.store-product-card .product-badge {
  position: absolute;
  z-index: 2;
  top: 10px;
  left: 10px;
  padding: 5px 7px;
  color: #161616;
  background: rgba(255,255,255,.9);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .06em;
  line-height: 1;
  text-transform: uppercase;
}

.store-product-card__body {
  padding: 11px 0 0;
  text-align: left;
}

.store-product-card__title {
  display: block;
  max-width: 100%;
  overflow: hidden;
  color: var(--store-product-ink);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.store-product-card__title:hover { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

.store-product-card__price-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 5px;
  min-height: 20px;
}

.store-product-card__price {
  color: var(--store-product-ink);
  font-size: 15px;
  font-weight: 750;
  letter-spacing: -.015em;
}

.store-product-card__old-price {
  color: #969696;
  font-size: 12px;
  font-weight: 450;
  text-decoration: line-through;
}

.store-product-card__colors {
  display: flex;
  align-items: center;
  gap: 5px;
  min-height: 11px;
  margin-top: 8px;
}

.store-product-card__swatch {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 50%;
  background: var(--product-swatch, #d4d4d4);
}

.store-product-card__more-colors {
  color: var(--store-product-muted);
  font-size: 10px;
  line-height: 1;
}

/* Ana sayfadaki eski ürün kartları da aynı katalog diliyle görünür. */
.nvessa-home-ui .store-product-grid { margin: 0; }
.nvessa-home-ui .store-product-card .card,
.catalog-product-grid .cardtasarim .card,
.likes-product-grid .cardtasarim .card {
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}

/* Ürün detayındaki benzer ürünler katalog kartlarıyla aynı hizada kalır. */
.related-grid {
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 16px !important;
}
.related-card {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.related-card:hover { transform: none !important; box-shadow: none !important; }
.related-card img {
  aspect-ratio: 3 / 4.35 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
  background: var(--store-product-surface) !important;
}
.related-card strong {
  min-height: 0 !important;
  margin-top: 10px !important;
  color: var(--store-product-ink) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}
.related-card span {
  margin-top: 5px !important;
  color: var(--store-product-ink) !important;
  font-size: 15px !important;
  font-weight: 750 !important;
}

/* Sadece katalog sayfasının sakin çerçevesi. */
.catalog-page-shell { padding: 28px 0 56px; }
.catalog-page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:24px; }
.catalog-page-head h1 { margin:0; color:var(--store-product-ink); font-size:clamp(1.45rem,2.4vw,2.15rem); font-weight:650; letter-spacing:-.045em; }
.catalog-page-head p { margin:7px 0 0; color:var(--store-product-muted); font-size:.9rem; }
.catalog-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:30px; align-items:start; }
.catalog-filter-panel { position:sticky; top:18px; border-top:1px solid var(--store-product-ink); border-bottom:1px solid var(--store-product-line); }
.catalog-filter-block { padding:15px 0; border-bottom:1px solid var(--store-product-line); }
.catalog-filter-block:last-child { border-bottom:0; }
.catalog-filter-title { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 10px; color:var(--store-product-ink); font-size:12px; font-weight:750; letter-spacing:.02em; text-transform:uppercase; }
.catalog-filter-list { display:grid; gap:5px; }
.catalog-filter-list a { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#555; font-size:13px; text-decoration:none; }
.catalog-filter-list a:hover,.catalog-filter-list a.active { color:#111; font-weight:650; }
.catalog-filter-list a small { color:#929292; }
.catalog-filter-inputs { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.catalog-filter-inputs input,.catalog-sort { min-width:0; height:36px; padding:0 10px; border:1px solid #dedede; border-radius:0; background:#fff; color:#202020; box-shadow:none; font-size:12px; outline:0; }
.catalog-filter-inputs input:focus,.catalog-sort:focus { border-color:#555; }
.catalog-filter-swatch-list { display:flex; flex-wrap:wrap; gap:8px; }
.catalog-filter-swatch { width:22px; height:22px; border:1px solid rgba(0,0,0,.16); border-radius:50%; background:var(--product-swatch, #ddd); }
.catalog-filter-swatch.active { outline:1px solid #171717; outline-offset:3px; }
.catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 18px; padding-bottom:12px; border-bottom:1px solid var(--store-product-line); }
.catalog-toolbar-count { color:#707070; font-size:13px; }
.catalog-toolbar-count strong { color:#161616; font-weight:650; }
.catalog-clear-filter { padding:0; border:0; color:#555; background:transparent; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.catalog-empty { padding:44px 16px; border:1px dashed #d5d5d5; color:#6c6c6c; text-align:center; }

.likes-page-shell { padding:30px 0 56px; }
.likes-page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:24px; padding-bottom:12px; border-bottom:1px solid var(--store-product-line); }
.likes-page-head h1 { margin:0; font-size:clamp(1.4rem,2.2vw,2rem); font-weight:650; letter-spacing:-.045em; }
.likes-page-head p { margin:6px 0 0; color:var(--store-product-muted); font-size:.88rem; }

@media (max-width: 1199px) {
  .store-product-grid,.catalog-product-grid,.likes-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 991px) {
  .catalog-layout { grid-template-columns:1fr; gap:22px; }
  .catalog-filter-panel { position:static; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; border-top:1px solid var(--store-product-ink); }
  .catalog-filter-block { border-bottom:0; }
  .related-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width: 767px) {
  .store-product-grid,.catalog-product-grid,.likes-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 10px; }
  .store-product-card__body { padding-top:9px; }
  .store-product-card__title { font-size:13px; }
  .store-product-card__price { font-size:14px; }
  .catalog-page-shell,.likes-page-shell { padding-top:18px; }
  .catalog-page-head,.likes-page-head { align-items:flex-start; flex-direction:column; }
  .catalog-filter-panel { display:block; }
  .catalog-filter-block { border-bottom:1px solid var(--store-product-line); }
  .catalog-filter-block:last-child { border-bottom:0; }
  .catalog-toolbar { align-items:flex-start; flex-direction:column; }
  .catalog-sort { width:100%; }
  .related-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
}

/* Ana sayfa ürün başlıkları, ürün kartlarının sade oranına göre küçültülür. */
.nvessa-home-ui .fw-section .fw-section-head .baslik.enhanced-title {
  color: var(--store-product-ink) !important;
  font-size: 24px !important;
  font-weight: 650 !important;
  letter-spacing: -.045em !important;
  line-height: 1.1 !important;
  text-transform: none !important;
}

.nvessa-home-ui .fw-section .fw-section-head .fw-link {
  color: var(--store-product-ink) !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  letter-spacing: .03em !important;
  text-transform: none !important;
}

.fw-spotlight-products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-content: start;
}

@media (max-width: 1199px) {
  .fw-spotlight-products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  .fw-spotlight-products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .nvessa-home-ui .fw-section .fw-section-head .baslik.enhanced-title { font-size: 20px !important; }
}
