/*
 * Necla Demirezen Storefront 2026
 * Modapedia'nin urun odakli e-ticaret hiyerarsisini, ND'nin monokrom logosu
 * ve sicak sac tonlarindan turetilen premium bir paletle yeniden yorumlar.
 * Eski style.css davranis/fallback katmani olarak korunur; bu dosya yalnizca
 * ziyaretcinin gordugu magazayi gorsel olarak modernlestirir.
 */

/* Global kutu modeli reset. BU DOSYADA HIC YOKTU -> width:100% verilen her
   ogeye yatay dolgu eklendiginde kapsayicidan tasiyordu (sepet odeme butonu,
   kategori hero'su mobilde 403px vb.). Tum tasma sorunlarinin kok nedeni.
   Tek noktada cozulur; ayri ayri box-sizing yamalarina gerek kalmaz. */
*, *::before, *::after { box-sizing: border-box; }


:root {
  --nd-ink: #1d1a18;
  --nd-ink-soft: #38312d;
  --nd-cocoa: #5a352a;
  --nd-cocoa-dark: #40251e;
  --nd-copper: #a96755;
  --nd-rose: #c98578;
  --nd-blush: #edd5ce;
  --nd-sand: #f3ebe4;
  --nd-cream: #faf7f3;
  --nd-paper: #ffffff;
  --nd-muted: #756d68;
  --nd-line: #e8dfd8;
  --nd-success: #2c7455;
  --nd-danger: #a64036;
  --nd-gold: #b88a48;
  --nd-shadow-sm: 0 8px 24px rgba(40, 29, 24, .07);
  --nd-shadow-md: 0 18px 55px rgba(40, 29, 24, .12);
  --nd-shadow-lg: 0 28px 80px rgba(31, 22, 18, .18);
  --nd-radius-sm: 10px;
  --nd-radius: 18px;
  --nd-radius-lg: 28px;
  --nd-container: 1440px;
  --nd-transition: 220ms cubic-bezier(.2, .7, .3, 1);
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--nd-ink);
  background: var(--nd-cream);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

body.menu-open {
  overflow: hidden;
}

body::selection {
  color: #fff;
  background: var(--nd-copper);
}

img {
  max-width: 100%;
}

a,
button,
input,
select,
textarea {
  transition: color var(--nd-transition), background-color var(--nd-transition), border-color var(--nd-transition), box-shadow var(--nd-transition), transform var(--nd-transition), opacity var(--nd-transition);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(169, 103, 85, .3);
  outline-offset: 3px;
}

.container,
.storefront-container {
  width: min(calc(100% - 48px), var(--nd-container));
  max-width: var(--nd-container);
  margin-inline: auto;
}

/* Announcement + main header */
.announcement-bar {
  position: relative;
  z-index: 102;
  min-height: 34px;
  padding: 0;
  color: #fff;
  background: var(--nd-ink);
  border: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
}

.announcement-inner {
  width: min(calc(100% - 48px), var(--nd-container));
  min-height: 34px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.announcement-inner span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.announcement-inner i {
  color: var(--nd-rose);
}

.announcement-support {
  color: rgba(255, 255, 255, .72);
  font-weight: 500;
  letter-spacing: .04em;
}

body > header {
  position: relative;
  z-index: 100;
  padding: 0;
  background: rgba(255, 255, 255, .98);
  border: 0;
  box-shadow: none;
}

.header-top {
  width: min(calc(100% - 48px), var(--nd-container));
  max-width: var(--nd-container);
  min-height: 104px;
  margin-inline: auto;
  padding: 14px 0;
  display: grid;
  grid-template-columns: 178px minmax(300px, 1fr) auto auto;
  align-items: center;
  gap: clamp(18px, 2vw, 34px);
}

.logo {
  width: 132px;
  height: 76px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background: transparent;
  filter: none;
}

.logo img {
  position: static;
  top: auto;
  left: auto;
  width: 108px;
  height: 108px;
  max-width: 100%;
  object-fit: contain;
  filter: drop-shadow(0 8px 12px rgba(36, 27, 23, .08));
}

.search-form {
  position: relative;
  width: 100%;
  max-width: 680px;
  height: 50px;
  margin: 0 auto;
  display: flex;
  align-items: stretch;
  border: 1px solid var(--nd-line);
  border-radius: 999px;
  background: var(--nd-cream);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .65);
  overflow: hidden;
}

.search-form:focus-within {
  border-color: var(--nd-copper);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(169, 103, 85, .09);
}

.search-form input {
  min-width: 0;
  height: 100%;
  padding: 0 14px 0 24px;
  flex: 1;
  color: var(--nd-ink);
  background: transparent;
  border: 0;
  font-size: 14px;
}

.search-form input:focus {
  outline: 0;
}

.search-form input::placeholder {
  color: #988f89;
}

.search-form button {
  min-width: 88px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #fff;
  background: var(--nd-ink);
  border: 0;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .04em;
}

.search-form button:hover {
  background: var(--nd-copper);
}

.header-socials {
  display: flex;
  align-items: center;
  gap: 6px;
}

.header-socials a {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--nd-muted);
  border: 1px solid transparent;
  border-radius: 50%;
  font-size: 13px;
}

.header-socials a:hover {
  color: var(--nd-cocoa);
  border-color: var(--nd-line);
  background: var(--nd-cream);
  transform: translateY(-2px);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.header-action-btn {
  position: relative;
  min-width: auto;
  min-height: 46px;
  padding: 6px 10px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--nd-ink);
  background: transparent;
  border: 0;
  border-radius: 12px;
  text-decoration: none;
  transition: background-color var(--nd-transition), color var(--nd-transition);
}

.header-action-btn > i {
  width: 24px;
  flex-shrink: 0;
  font-size: 19px;
  text-align: center;
  color: var(--nd-cocoa);
  transition: color var(--nd-transition);
}

.header-action-btn:hover {
  background: var(--nd-cream);
}
.header-action-btn:hover > i,
.header-action-btn:hover .header-action-copy b {
  color: var(--nd-copper);
}

/* flex-shrink:0 + overflow:visible sart: dar alanda "Begendiklerim" gibi
   uzun metinler kirpiliyordu ("Begendikl..."). Yazilar da okunur boyuta cikti. */
.header-action-copy {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  overflow: visible;
  line-height: 1.25;
  white-space: nowrap;
}

.header-action-copy small {
  color: var(--nd-muted);
  font-size: 11px;
  font-weight: 500;
}

.header-action-copy b {
  font-size: 13.5px;
  font-weight: 750;
}

.header-action-btn .badge {
  position: absolute;
  top: 0;
  left: 26px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--nd-rose);
  border: 2px solid #fff;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
}

.mobile-menu-btn {
  display: none;
}

/* Modapedia-style category/navigation band */
.nav-bar {
  position: relative;
  width: 100%;
  padding: 0;
  background: var(--nd-ink);
  border: 0;
  box-shadow: none;
}

.nav-menu {
  width: min(calc(100% - 48px), var(--nd-container));
  min-height: 50px;
  margin: 0 auto;
  padding: 0;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 0;
  list-style: none;
}

.nav-item {
  position: relative;
  display: flex;
  align-items: stretch;
}

.nav-link {
  min-height: 50px;
  padding: 0 clamp(12px, 1.45vw, 24px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: rgba(255, 255, 255, .82);
  border-right: 1px solid rgba(255, 255, 255, .09);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .055em;
  text-decoration: none;
  white-space: nowrap;
}

.nav-item:first-child .nav-link {
  min-width: 205px;
  color: #fff;
  background: var(--nd-copper);
  border-color: var(--nd-copper);
  font-size: 11px;
}

.nav-link:hover,
.nav-item:hover > .nav-link {
  color: #fff;
  background: rgba(255, 255, 255, .07);
}

.nav-item:first-child .nav-link:hover,
.nav-item:first-child:hover > .nav-link {
  background: var(--nd-rose);
}

.nav-chevron {
  margin-left: auto;
  font-size: 9px;
  text-transform: uppercase;
}

.dropdown {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  width: 310px;
  padding: 12px;
  display: grid;
  gap: 2px;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 0 0 var(--nd-radius) var(--nd-radius);
  box-shadow: var(--nd-shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
}

.dropdown::before {
  content: "";
  position: absolute;
  top: -11px;
  left: 0;
  width: 100%;
  height: 12px;
}

.nav-item:hover .dropdown,
.nav-item:focus-within .dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.dropdown li {
  border: 0;
}

.dropdown-link {
  position: relative;
  padding: 11px 14px 11px 18px;
  display: flex;
  align-items: center;
  color: var(--nd-ink-soft);
  border-radius: 9px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.dropdown-link::before {
  content: "";
  width: 5px;
  height: 5px;
  margin-right: 10px;
  background: var(--nd-blush);
  border-radius: 50%;
}

.dropdown-link:hover {
  color: var(--nd-cocoa);
  background: var(--nd-sand);
  padding-left: 22px;
}

.header-benefits {
  width: min(calc(100% - 48px), var(--nd-container));
  min-height: 62px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--nd-line);
  background: #fff;
}

.header-benefits a {
  padding: 12px clamp(10px, 2vw, 32px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--nd-ink);
  border-right: 1px solid var(--nd-line);
  text-decoration: none;
}

.header-benefits a:last-child {
  border-right: 0;
}

.header-benefits a:hover {
  color: var(--nd-copper);
  background: var(--nd-cream);
}

.header-benefits i {
  color: var(--nd-copper);
  font-size: 18px;
}

.header-benefits span {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.header-benefits b {
  font-size: 11px;
  font-weight: 750;
}

.header-benefits small {
  margin-top: 3px;
  color: var(--nd-muted);
  font-size: 9px;
}

/* Hero */
.hero-slider {
  position: relative;
  width: min(calc(100% - 48px), 1600px);
  height: clamp(480px, 39vw, 650px);
  margin: 22px auto 0;
  overflow: hidden;
  background: var(--nd-ink);
  border-radius: var(--nd-radius-lg);
  box-shadow: var(--nd-shadow-md);
}

.hero-slider video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .88;
  filter: saturate(.84) contrast(1.03);
}

.hero-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  background: linear-gradient(90deg, rgba(23, 18, 16, .83) 0%, rgba(23, 18, 16, .48) 42%, rgba(23, 18, 16, .05) 75%);
}

.hero-content {
  width: min(640px, 53%);
  margin-left: clamp(34px, 7vw, 112px);
  color: #fff;
  text-align: left;
  transform: none;
}

.hero-content .subtitle {
  margin: 0 0 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--nd-blush);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.hero-content .subtitle span {
  width: 38px;
  height: 1px;
  background: var(--nd-rose);
}

.hero-content h1 {
  max-width: 640px;
  margin: 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(46px, 5vw, 78px);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: .98;
  text-wrap: balance;
}

.hero-description {
  max-width: 510px;
  margin: 24px 0 28px;
  color: rgba(255, 255, 255, .78);
  font-size: 15px;
  line-height: 1.75;
}

.btn-primary,
.btn-secondary {
  min-height: 48px;
  padding: 0 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
}

.btn-primary {
  color: #fff;
  background: var(--nd-cocoa);
  box-shadow: 0 10px 24px rgba(64, 37, 30, .18);
}

.btn-primary:hover {
  color: #fff;
  background: var(--nd-copper);
  box-shadow: 0 14px 30px rgba(105, 61, 49, .24);
  transform: translateY(-2px);
}

.hero-content .btn-primary {
  min-width: 190px;
  color: var(--nd-ink);
  background: #fff;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .2);
}

.hero-content .btn-primary:hover {
  color: #fff;
  background: var(--nd-copper);
}

.hero-proof {
  margin-top: 25px;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  color: rgba(255, 255, 255, .7);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .03em;
}

.hero-proof span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.hero-proof i {
  color: var(--nd-rose);
}

.hero-scroll {
  position: absolute;
  right: 28px;
  bottom: 26px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255, 255, 255, .75);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .14em;
  text-decoration: none;
  text-transform: uppercase;
}

.hero-scroll i {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 50%;
}

/* Home sections */
.bg-cream,
.bg-peach {
  padding: clamp(70px, 8vw, 118px) 0;
  background: var(--nd-cream);
}

.bg-peach {
  background: var(--nd-sand);
}

.section-heading {
  margin-bottom: 36px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.section-heading-centered {
  justify-content: center;
  text-align: center;
}

.section-kicker,
.cta-kicker {
  display: block;
  margin-bottom: 9px;
  color: var(--nd-copper);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.section-title {
  position: relative;
  margin: 0;
  padding: 0;
  color: var(--nd-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(32px, 3.4vw, 52px);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.1;
  text-align: inherit;
}

.section-title::after {
  display: none;
}

.section-intro {
  max-width: 580px;
  margin: 16px auto 0;
  color: var(--nd-muted);
  font-size: 14px;
}

.section-all-link {
  padding-bottom: 5px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--nd-ink);
  border-bottom: 1px solid var(--nd-ink);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.section-all-link:hover {
  color: var(--nd-copper);
  border-color: var(--nd-copper);
}

.carousel-container {
  position: relative;
  width: 100%;
  max-width: none;
  padding: 0;
  overflow: hidden;
}

.carousel-track {
  display: flex;
  gap: 22px;
  transition: transform 520ms cubic-bezier(.2, .72, .25, 1);
}

.carousel-track > .product-card {
  flex: 0 0 calc((100% - 66px) / 4);
}

.carousel-nav-btn {
  position: absolute;
  top: 38%;
  z-index: 8;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  color: var(--nd-ink);
  background: rgba(255, 255, 255, .94);
  border: 1px solid var(--nd-line);
  border-radius: 50%;
  box-shadow: var(--nd-shadow-sm);
}

.carousel-nav-btn.prev {
  left: 14px;
}

.carousel-nav-btn.next {
  right: 14px;
}

.carousel-nav-btn:hover:not(:disabled) {
  color: #fff;
  background: var(--nd-ink);
  border-color: var(--nd-ink);
  transform: scale(1.06);
}

.carousel-nav-btn:disabled {
  opacity: .35;
  cursor: default;
}

/* Product cards */
.product-card {
  position: relative;
  min-width: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

.product-card:hover {
  box-shadow: none;
  transform: translateY(-4px);
}

.product-img-wrapper {
  position: relative;
  aspect-ratio: 4 / 5;
  padding: 0;
  overflow: hidden;
  background: #eee8e2;
  border-radius: var(--nd-radius);
}

.product-image-link {
  position: absolute;
  inset: 0;
  display: block;
}

.product-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.001);
}

.product-card:hover .product-img-wrapper img {
  transform: scale(1.045);
}

/* Tukendi: kart soluk, gorsel uzerinde rozet, sepete-ekle yerine pasif buton. */
.product-card.is-tukendi .product-img-wrapper img { opacity: .5; filter: grayscale(.35); }
.product-tukendi-rozet {
  position: absolute; top: 14px; right: 14px; z-index: 5;
  padding: 5px 12px; border-radius: 999px;
  background: rgba(40,30,26,.86); color: #fff;
  font-size: 12px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase;
}
.product-action-btn.is-tukendi {
  background: #e9e2dd; color: #b3a79f; cursor: not-allowed; box-shadow: none;
}
.product-action-btn.is-tukendi:hover { background: #e9e2dd; color: #b3a79f; transform: none; }

.product-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 4;
  min-height: 25px;
  padding: 0 11px;
  display: inline-flex;
  align-items: center;
  color: #fff;
  background: var(--nd-ink);
  border-radius: 999px;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
}

.product-badge.new {
  color: var(--nd-ink);
  background: var(--nd-blush);
}

.product-actions {
  position: absolute;
  right: 12px;
  bottom: 12px;
  left: 12px;
  z-index: 3;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 999px;
  box-shadow: 0 14px 35px rgba(32, 23, 20, .16);
  opacity: 0;
  transform: translateY(12px);
  backdrop-filter: blur(10px);
}

.product-card:hover .product-actions,
.product-card:focus-within .product-actions {
  opacity: 1;
  transform: translateY(0);
}

.product-cart-form,
.product-fav-form {
  margin: 0;
  display: flex;
}

.product-action-btn {
  width: 38px;
  height: 38px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  color: var(--nd-ink);
  background: transparent;
  border: 0;
  border-radius: 50%;
  font-size: 14px;
  text-decoration: none;
}

.product-action-btn:hover,
.product-action-btn.is-fav {
  color: #fff;
  background: var(--nd-cocoa);
}

.product-info {
  padding: 17px 5px 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.product-info > a {
  color: inherit;
  text-decoration: none;
}

.product-code {
  margin-bottom: 5px;
  color: #9a918b;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .1em;
}

.product-title {
  min-height: 46px;
  margin: 0 0 8px;
  color: var(--nd-ink);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.55;
  text-align: left;
}

.product-card:hover .product-title {
  color: var(--nd-copper);
}

.product-price-wrap {
  display: flex;
  align-items: baseline;
  gap: 9px;
}

.product-old-price {
  color: #9c938e;
  font-size: 11px;
  text-decoration: line-through;
}

.product-price {
  margin: 0;
  color: var(--nd-cocoa);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.product-detail-link {
  margin-top: 13px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--nd-muted) !important;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.product-detail-link:hover {
  color: var(--nd-copper) !important;
  gap: 11px;
}

/* Editorial category grid */
.categories-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 330px;
  gap: 18px;
}

.category-card {
  position: relative;
  min-height: 0;
  aspect-ratio: auto;
  padding: 0;
  display: block;
  overflow: hidden;
  background: var(--nd-ink);
  border: 0;
  border-radius: var(--nd-radius);
  box-shadow: none;
}

.category-card::before {
  display: none;
}

.category-card:nth-child(1),
.category-card:nth-child(6) {
  grid-column: span 2;
}

.category-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.8) contrast(1.04);
}

.category-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20, 16, 14, .02) 30%, rgba(20, 16, 14, .84) 100%);
}

.category-card:hover img {
  transform: scale(1.055);
  filter: saturate(1) contrast(1.03);
}

.category-content {
  position: absolute;
  right: 24px;
  bottom: 23px;
  left: 24px;
  z-index: 2;
  padding: 0;
  color: #fff;
  background: transparent;
  text-align: left;
}

.category-index {
  position: absolute;
  right: 0;
  bottom: 2px;
  color: rgba(255, 255, 255, .42);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
}

.category-title {
  margin: 0 0 7px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 23px;
  font-weight: 500;
  letter-spacing: -.02em;
}

.category-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, .75);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.category-card:hover .category-link {
  color: #fff;
  gap: 12px;
}

/* Campaign banner */
.cta-section {
  position: relative;
  min-height: 470px;
  padding: 80px 48px;
  display: flex;
  align-items: center;
  background-color: var(--nd-cocoa-dark);
  background-image: linear-gradient(90deg, rgba(27, 20, 17, .86), rgba(27, 20, 17, .26)), url("images/banner.jpg");
  background-position: center;
  background-size: cover;
  overflow: hidden;
}

.cta-container {
  width: min(100%, var(--nd-container));
  margin: 0 auto;
  padding: 0;
  color: #fff;
  text-align: left;
}

.cta-kicker {
  color: var(--nd-blush);
}

.cta-container h2 {
  max-width: 650px;
  margin: 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(39px, 4vw, 64px);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: 1.05;
}

.cta-container p {
  max-width: 500px;
  margin: 20px 0 28px;
  color: rgba(255, 255, 255, .76);
}

.btn-secondary {
  color: var(--nd-ink);
  background: #fff;
  border-color: #fff;
}

.btn-secondary:hover {
  color: #fff;
  background: var(--nd-copper);
  border-color: var(--nd-copper);
  transform: translateY(-2px);
}

/* Blog cards */
.blog-grid {
  max-width: none;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.blog-card {
  padding: 0;
  background: #fff;
  border: 1px solid rgba(232, 223, 216, .9);
  border-radius: var(--nd-radius);
  box-shadow: none;
  overflow: hidden;
}

.blog-card:hover {
  border-color: transparent;
  box-shadow: var(--nd-shadow-md);
  transform: translateY(-5px);
}

.blog-img-wrapper {
  aspect-ratio: 16 / 10;
  height: auto;
  overflow: hidden;
}

.blog-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-card:hover .blog-img-wrapper img {
  transform: scale(1.04);
}

.blog-content {
  padding: 23px 22px 25px;
}

.blog-date {
  color: var(--nd-copper);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.blog-title {
  margin: 9px 0 10px;
  color: var(--nd-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
}

.blog-desc {
  margin: 0 0 17px;
  color: var(--nd-muted);
  display: -webkit-box;
  overflow: hidden;
  font-size: 11px;
  line-height: 1.7;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.blog-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--nd-ink);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.blog-link:hover {
  color: var(--nd-copper);
  gap: 11px;
}

/* Category, search and catalogue */
.page-banner {
  position: relative;
  min-height: 290px;
  padding: 58px max(24px, calc((100vw - var(--nd-container)) / 2));
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  border: 0;
  overflow: hidden;
}

.page-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 15%, rgba(255, 255, 255, .13), transparent 35%);
  pointer-events: none;
}

.page-banner > * {
  position: relative;
  z-index: 1;
}

.page-banner h1 {
  max-width: 800px;
  margin: 18px 0 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(40px, 5vw, 68px);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: 1.04;
}

.page-banner p {
  max-width: 660px;
  margin: 17px 0 0;
  color: rgba(255, 255, 255, .74);
  font-size: 13px;
}

.breadcrumb,
.breadcrumb-bar {
  color: rgba(255, 255, 255, .72);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .04em;
}

.breadcrumb a {
  color: rgba(255, 255, 255, .75);
  text-decoration: none;
}

.breadcrumb a:hover {
  color: #fff;
}

.breadcrumb-sep,
.breadcrumb-bar-sep {
  margin-inline: 8px;
  opacity: .55;
}

.category-main {
  width: min(calc(100% - 48px), var(--nd-container));
  max-width: var(--nd-container);
  margin: 0 auto;
  padding: 70px 0 105px;
  display: grid;
  grid-template-columns: 275px minmax(0, 1fr);
  align-items: start;
  gap: 38px;
  background: transparent;
}

.sidebar-filters {
  position: sticky;
  top: 18px;
  padding: 28px 25px;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: var(--nd-radius);
  box-shadow: var(--nd-shadow-sm);
}

.sidebar-filters h3 {
  margin: 0 0 25px;
  padding: 0 0 18px;
  color: var(--nd-ink);
  border-bottom: 1px solid var(--nd-line);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  font-weight: 600;
}

.filter-group {
  margin: 0;
  padding: 22px 0;
  border-bottom: 1px solid var(--nd-line);
}

.filter-group:last-of-type {
  border-bottom: 0;
}

.filter-title {
  margin: 0 0 15px;
  color: var(--nd-ink);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.filter-category-list {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
  list-style: none;
}

.filter-category-list a {
  position: relative;
  display: inline-block;
  color: var(--nd-muted);
  font-size: 12px;
  text-decoration: none;
}

.filter-category-list a:hover,
.filter-category-list a.active {
  color: var(--nd-cocoa);
  font-weight: 700;
  transform: translateX(4px);
}

.price-range-slider {
  width: 100%;
  height: 4px;
  accent-color: var(--nd-cocoa);
}

.price-range-labels {
  margin-top: 11px;
  display: flex;
  justify-content: space-between;
  color: var(--nd-muted);
  font-size: 9px;
}

.color-swatch-list,
.color-swatch-row {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.color-swatch {
  width: 26px;
  height: 26px;
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--nd-line);
}

.color-swatch.active,
.color-swatch:hover {
  box-shadow: 0 0 0 2px var(--nd-copper);
  transform: scale(1.08);
}

.hair-quality-list {
  display: grid;
  gap: 10px;
}

.hair-quality-item {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--nd-muted);
  font-size: 11px;
  cursor: pointer;
}

.hair-quality-item input {
  width: 16px;
  height: 16px;
  accent-color: var(--nd-cocoa);
}

.filter-apply-btn {
  width: 100%;
  margin-top: 22px;
  border-radius: var(--nd-radius-sm);
}

.category-products {
  min-width: 0;
}

.category-products-full {
  grid-column: 1 / -1;
}

.sort-bar {
  min-height: 68px;
  margin-bottom: 28px;
  padding: 12px 14px 12px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 14px;
  box-shadow: var(--nd-shadow-sm);
}

.sort-bar-total {
  color: var(--nd-muted);
  font-size: 11px;
}

.sort-bar-total strong {
  color: var(--nd-cocoa);
  font-size: 14px;
}

.sort-bar-controls {
  display: flex;
  align-items: center;
  gap: 10px;
}

.sort-label {
  color: var(--nd-muted);
  font-size: 10px;
}

.sort-form {
  margin: 0;
}

.sort-select {
  height: 42px;
  min-width: 185px;
  padding: 0 36px 0 14px;
  color: var(--nd-ink);
  background-color: var(--nd-cream);
  border: 1px solid var(--nd-line);
  border-radius: 9px;
  font-size: 11px;
  font-weight: 600;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 42px 22px;
}

.pagination-controls {
  margin-top: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.page-btn {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: var(--nd-ink);
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 50%;
  font-size: 11px;
  text-decoration: none;
}

.page-btn:hover,
.page-btn.active {
  color: #fff;
  background: var(--nd-cocoa);
  border-color: var(--nd-cocoa);
}

.search-empty,
.account-empty,
.blog-liste-bos {
  padding: 55px 30px;
  color: var(--nd-muted);
  background: #fff;
  border: 1px dashed var(--nd-line);
  border-radius: var(--nd-radius);
  text-align: center;
}

/* Product detail */
.breadcrumb-bar {
  width: min(calc(100% - 48px), var(--nd-container));
  margin: 0 auto;
  padding: 24px 0;
  color: var(--nd-muted);
  border: 0;
}

.breadcrumb-bar a {
  color: var(--nd-muted);
  text-decoration: none;
}

.breadcrumb-bar a:hover {
  color: var(--nd-copper);
}

#product-detail-core {
  padding: 16px 0 90px;
  background: var(--nd-cream);
}

.detail-container {
  width: min(calc(100% - 48px), var(--nd-container));
  max-width: var(--nd-container);
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  align-items: start;
  gap: clamp(42px, 6vw, 92px);
}

.gallery-container {
  min-width: 0;
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 16px;
}

.gallery-container:not(:has(.thumbnails-list)) {
  grid-template-columns: minmax(0, 1fr);
}

.thumbnails-list {
  width: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.thumbnail {
  width: 78px;
  height: 96px;
  object-fit: cover;
  background: #fff;
  border: 2px solid transparent;
  border-radius: 10px;
  opacity: .72;
  cursor: pointer;
}

.thumbnail:hover,
.thumbnail.active {
  border-color: var(--nd-copper);
  opacity: 1;
}

.main-image {
  aspect-ratio: 4 / 5;
  min-height: 0;
  padding: 0;
  background: #eee8e2;
  border: 0;
  border-radius: var(--nd-radius);
  box-shadow: none;
  overflow: hidden;
}

.main-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.options-container {
  position: sticky;
  top: 20px;
  padding: 10px 0;
}

.product-tag {
  min-height: 26px;
  padding: 0 11px;
  display: inline-flex;
  align-items: center;
  color: var(--nd-cocoa);
  background: var(--nd-blush);
  border-radius: 999px;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.detail-title {
  margin: 18px 0 15px;
  color: var(--nd-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 3.4vw, 54px);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: 1.08;
}

.detail-rating {
  padding-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: var(--nd-muted);
  border-bottom: 1px solid var(--nd-line);
  font-size: 10px;
}

.detail-rating-stars {
  color: var(--nd-gold);
  letter-spacing: 2px;
}

.detail-stock {
  color: var(--nd-success);
  font-weight: 700;
}

.detail-stock-out {
  color: var(--nd-danger);
  font-weight: 700;
}

.detail-price-wrap {
  margin: 24px 0;
}

.detail-price {
  margin: 0;
  color: var(--nd-cocoa);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: -.03em;
}

.detail-kdv-not {
  margin: 4px 0 0;
  color: var(--nd-muted);
  font-size: 9px;
}

.detail-installment {
  margin: 13px 0 0;
  color: var(--nd-muted);
  font-size: 10px;
}

.detail-installment i {
  margin-right: 6px;
  color: var(--nd-copper);
}

.option-group,
.option-group-uzunluk {
  margin: 0;
  padding: 20px 0;
  border-top: 1px solid var(--nd-line);
}

.option-group-title {
  margin: 0 0 13px;
  color: var(--nd-ink);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.option-group-title-value {
  color: var(--nd-muted);
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.detail-color-swatch {
  width: 31px;
  height: 31px;
  border: 4px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--nd-line);
}

.detail-color-swatch:hover,
.detail-color-swatch.active {
  box-shadow: 0 0 0 2px var(--nd-copper);
  transform: scale(1.07);
}

.size-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.size-btn {
  min-width: 68px;
  height: 42px;
  padding: 0 14px;
  color: var(--nd-ink);
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 9px;
  font-size: 10px;
  font-weight: 700;
}

.size-btn:hover,
.size-btn.active {
  color: #fff;
  background: var(--nd-ink);
  border-color: var(--nd-ink);
}

.purchase-actions {
  margin-top: 4px;
}

.purchase-actions-row,
.detail-cart-form {
  width: 100%;
  display: flex;
  align-items: stretch;
  gap: 10px;
}

.detail-cart-form {
  margin: 0;
}

.qty-selector {
  height: 50px;
  padding: 0 3px;
  display: inline-flex;
  align-items: center;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 999px;
}

.qty-btn {
  width: 34px;
  height: 34px;
  padding: 0;
  color: var(--nd-ink);
  background: transparent;
  border: 0;
  border-radius: 50%;
  font-size: 10px;
}

.qty-btn:hover {
  background: var(--nd-sand);
}

.qty-input {
  width: 28px;
  height: auto;
  padding: 0;
  color: var(--nd-ink);
  background: transparent;
  border: 0;
  font-size: 11px;
  font-weight: 800;
  text-align: center;
}

.detail-add-to-cart-btn {
  min-width: 0;
  flex: 1;
}

.detail-wishlist-btn {
  width: 50px;
  height: 50px;
  padding: 0;
  display: grid;
  place-items: center;
  color: var(--nd-cocoa);
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 50%;
  font-size: 16px;
}

.detail-wishlist-btn:hover,
.detail-wishlist-btn.is-fav {
  color: #fff;
  background: var(--nd-copper);
  border-color: var(--nd-copper);
}

.detail-buy-now-btn {
  width: 100%;
  margin-top: 10px;
  color: var(--nd-cocoa);
  background: var(--nd-blush);
  border-color: var(--nd-blush);
}

.detail-buy-now-btn:hover {
  background: var(--nd-copper);
}

.assurance-box {
  margin-top: 22px;
  padding: 19px 21px;
  display: grid;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 14px;
  box-shadow: none;
}

.assurance-row {
  display: grid;
  grid-template-columns: 22px 1fr;
  align-items: start;
  gap: 8px;
  color: var(--nd-muted);
  font-size: 9px;
  line-height: 1.55;
}

.assurance-row strong {
  color: var(--nd-ink);
}

.assurance-icon {
  color: var(--nd-copper);
  font-size: 13px;
}

#product-detail-tabs,
#reviews-section,
#related-products-section {
  padding: 80px 0;
}

#product-detail-tabs {
  background: var(--nd-sand);
}

#reviews-section,
#related-products-section {
  background: var(--nd-cream);
}

.tabs-panel {
  width: min(calc(100% - 48px), 1120px);
  max-width: 1120px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: var(--nd-radius);
  box-shadow: var(--nd-shadow-sm);
  overflow: hidden;
}

.tabs-header {
  padding: 0 28px;
  display: flex;
  gap: 30px;
  overflow-x: auto;
  border-bottom: 1px solid var(--nd-line);
}

.tab-btn {
  position: relative;
  min-height: 65px;
  padding: 0;
  color: var(--nd-muted);
  background: transparent;
  border: 0;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.tab-btn::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: var(--nd-copper);
  transform: scaleX(0);
}

.tab-btn:hover,
.tab-btn.active {
  color: var(--nd-cocoa);
}

.tab-btn.active::after {
  transform: scaleX(1);
}

.tab-content {
  padding: 42px 46px 48px;
  color: #4f4945;
  font-size: 15.5px;
  line-height: 1.85;
}

.tab-content-title {
  margin: 0 0 16px;
  color: var(--nd-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
  font-weight: 600;
}

.tab-content-subtitle {
  margin: 25px 0 10px;
  color: var(--nd-ink);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.tab-content-list {
  padding-left: 19px;
}

.review-liste {
  padding: 0 42px 35px;
  display: grid;
  gap: 14px;
}

.review-kart {
  padding: 20px 22px;
  background: var(--nd-cream);
  border: 1px solid var(--nd-line);
  border-radius: 14px;
  transition: box-shadow .18s ease, border-color .18s ease;
}
.review-kart:hover { box-shadow: var(--nd-shadow-sm); border-color: var(--nd-blush); }

.review-ust {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13.5px;
}

.review-ad {
  color: var(--nd-ink);
  font-weight: 700;
  font-size: 14.5px;
}

.review-yildizlar {
  color: var(--nd-gold);
  font-size: 14px;
  letter-spacing: 1px;
}

.review-tarih {
  margin-left: auto;
  color: var(--nd-muted);
  font-size: 12.5px;
}

.review-baslik {
  margin: 12px 0 6px;
  font-size: 16px;
  font-weight: 700;
  color: var(--nd-ink);
}

.review-metin {
  margin: 0;
  color: #4f4945;
  font-size: 14.5px;
  line-height: 1.7;
}

.review-bos,
.review-cta {
  margin: 0;
  padding: 30px 42px;
  color: var(--nd-muted);
  font-size: 14.5px;
  text-align: center;
}

.review-form {
  margin: 0 42px 42px;
  padding: 27px;
  display: grid;
  gap: 13px;
  background: var(--nd-cream);
  border-radius: 14px;
}

.review-form input[type="text"],
.review-form textarea {
  width: 100%;
  padding: 13px 15px;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 9px;
}

.related-grid {
  width: min(calc(100% - 48px), 900px);
  max-width: 900px;
  margin: 42px auto 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

/* Cart, checkout, account, auth and content pages */
.cart-page,
.checkout-page,
.auth-wrap,
.account-wrap,
.contact-wrap,
.page-wrap,
.tracking-wrap,
.blog-liste-wrap,
.blog-detay-wrap {
  min-height: 55vh;
  padding: 72px 0 105px;
  background: var(--nd-cream);
}

.cart-title,
.page-baslik,
.account-title,
.auth-title,
.blog-detay-baslik {
  margin: 0 0 34px;
  color: var(--nd-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: 1.1;
}

.cart-grid,
.checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 365px;
  align-items: start;
  gap: 34px;
}

.cart-lines,
.checkout-sol {
  display: grid;
  gap: 14px;
}

.cart-line {
  position: relative;
  padding: 18px;
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr) auto auto 34px;
  align-items: center;
  gap: 20px;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 15px;
}

.cart-line.is-tukendi {
  opacity: .62;
}

.cart-line-img {
  width: 105px;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--nd-sand);
  border-radius: 10px;
}

.cart-line-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cart-line-ad {
  display: inline-block;
  color: var(--nd-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
}

.cart-line-ad:hover {
  color: var(--nd-copper);
}

.cart-line-varyasyon,
.cart-line-birim {
  margin-top: 5px;
  color: var(--nd-muted);
  font-size: 10px;
}

.cart-line-uyari {
  margin-top: 8px;
  color: var(--nd-danger);
  font-size: 9px;
}

.cart-adet-form {
  min-height: 39px;
  padding: 0 3px;
  display: flex;
  align-items: center;
  gap: 3px;
  background: var(--nd-cream);
  border: 1px solid var(--nd-line);
  border-radius: 999px;
}

.cart-adet-btn {
  width: 30px;
  height: 30px;
  padding: 0;
  color: var(--nd-ink);
  background: transparent;
  border: 0;
  border-radius: 50%;
  font-size: 9px;
}

.cart-adet-btn:hover {
  background: var(--nd-sand);
}

.cart-adet-deger {
  min-width: 25px;
  color: var(--nd-ink);
  font-size: 10px;
  font-weight: 800;
  text-align: center;
}

.cart-line-toplam {
  color: var(--nd-cocoa);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 700;
  white-space: nowrap;
}

.cart-sil-btn {
  width: 34px;
  height: 34px;
  padding: 0;
  color: #a29892;
  background: transparent;
  border: 0;
  border-radius: 50%;
}

.cart-sil-btn:hover {
  color: #fff;
  background: var(--nd-danger);
}

.cart-ozet,
.checkout-ozet,
.checkout-bolum,
.auth-card,
.account-box,
.contact-bilgi,
.contact-form,
.tracking-form,
.tracking-sonuc,
.page-icerik {
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: var(--nd-radius);
  box-shadow: var(--nd-shadow-sm);
}

.cart-ozet {
  position: sticky;
  top: 20px;
  padding: 27px;
}

.cart-ozet-baslik,
.checkout-bolum-baslik,
.account-alt-title {
  margin: 0 0 21px;
  color: var(--nd-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 23px;
  font-weight: 600;
}

.cart-kupon-form {
  margin-bottom: 22px;
  display: flex;
  background: var(--nd-cream);
  border: 1px solid var(--nd-line);
  border-radius: 9px;
  overflow: hidden;
}

.cart-kupon-input {
  min-width: 0;
  height: 42px;
  padding: 0 12px;
  flex: 1;
  background: transparent;
  border: 0;
  font-size: 11px;
}

.cart-kupon-btn {
  padding: 0 14px;
  color: #fff;
  background: var(--nd-ink);
  border: 0;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.cart-kupon-uygulandi {
  margin-bottom: 20px;
  padding: 10px;
  display: flex;
  justify-content: space-between;
  color: var(--nd-success);
  background: rgba(44, 116, 85, .08);
  border-radius: 9px;
}

.cart-kupon-kaldir {
  color: var(--nd-danger);
  background: transparent;
  border: 0;
  font-size: 9px;
}

.cart-ozet-satir {
  padding: 10px 0;
  display: flex;
  justify-content: space-between;
  color: var(--nd-muted);
  font-size: 11px;
}

.cart-ozet-toplam {
  margin-top: 7px;
  padding-top: 16px;
  color: var(--nd-ink);
  border-top: 1px solid var(--nd-line);
  font-size: 16px;
  font-weight: 800;
}

.cart-ozet-indirim,
.cart-kargo-bedava {
  color: var(--nd-success);
}

.cart-ozet-not {
  color: var(--nd-muted);
  font-size: 9px;
  line-height: 1.55;
}

/* box-sizing sart: width:100% + dolgu kutuya eklenince buton ozet
   kartindan tasiyordu. */
.cart-odeme-btn {
  width: 100%;
  box-sizing: border-box;
  margin-top: 13px;
}

.cart-empty {
  padding: 80px 24px;
  background: #fff;
  border: 1px dashed var(--nd-line);
  border-radius: var(--nd-radius);
  text-align: center;
}

.cart-empty-icon,
.checkout-tesekkur-ikon {
  margin-bottom: 20px;
  color: var(--nd-copper);
  font-size: 48px;
}

.checkout-bolum {
  padding: 27px;
}

.checkout-adresler {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.checkout-adres-kart,
.checkout-yontem,
.checkout-banka {
  padding: 17px;
  background: var(--nd-cream);
  border: 1px solid var(--nd-line);
  border-radius: 11px;
}

.checkout-ozet {
  position: sticky;
  top: 20px;
  padding: 27px;
}

.checkout-ozet-kalem {
  padding: 10px 0;
  display: flex;
  justify-content: space-between;
  gap: 15px;
  color: var(--nd-muted);
  border-bottom: 1px solid var(--nd-line);
  font-size: 10px;
}

.auth-wrap {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.auth-card {
  width: min(calc(100% - 32px), 500px);
  margin: 0 auto;
  padding: 42px;
}

.auth-title {
  font-size: 37px;
  text-align: center;
}

.auth-form,
.contact-form,
.returns-form {
  display: grid;
  gap: 16px;
}

.auth-label,
.contact-form label,
.returns-form label {
  display: grid;
  gap: 7px;
  color: var(--nd-ink);
  font-size: 13px;
  font-weight: 700;
}

/* Form alanlari: ONCEDEN krem zemin + cok acik kenarlik vardi -> krem kart
   uzerinde alan mi belli degildi. Beyaz zemin + gorunur kenarlik + buyuk yazi. */
.auth-input,
.contact-form input,
.contact-form textarea,
.tracking-form input,
.returns-form input,
.returns-form select,
.returns-form textarea,
.account-box input,
.account-box select,
.account-box textarea {
  width: 100%;
  min-height: 52px;
  padding: 13px 16px;
  color: var(--nd-ink);
  background: #fff;
  border: 1.5px solid var(--nd-blush);
  border-radius: 10px;
  font-size: 15px;
}

.contact-form textarea,
.returns-form textarea,
.account-box textarea {
  min-height: 130px;
  resize: vertical;
}

.auth-input:focus,
.contact-form input:focus,
.contact-form textarea:focus,
.tracking-form input:focus,
.returns-form input:focus,
.returns-form select:focus,
.returns-form textarea:focus,
.account-box input:focus,
.account-box select:focus,
.account-box textarea:focus {
  outline: 0;
  border-color: var(--nd-copper);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(169, 103, 85, .08);
}

.auth-btn {
  width: 100%;
}

.auth-links {
  margin-top: 20px;
  color: var(--nd-muted);
  font-size: 11px;
  text-align: center;
}

.auth-links a,
.account-geri {
  color: var(--nd-cocoa);
  font-weight: 700;
}

.account-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.account-box {
  padding: 27px;
}

.address-list,
.orders-liste,
.returns-liste {
  display: grid;
  gap: 13px;
}

.address-item,
.orders-satir,
.returns-satir {
  padding: 20px;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 13px;
}

.contact-grid {
  display: grid;
  grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr);
  gap: 24px;
}

.contact-bilgi,
.contact-form {
  padding: 32px;
}

.contact-bilgi h2 {
  margin-top: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
}

.contact-bilgi p {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 9px;
  color: var(--nd-muted);
  font-size: 12px;
}

.contact-bilgi i {
  color: var(--nd-copper);
}

.contact-bilgi a {
  color: inherit;
}

.contact-hp {
  display: none;
}

.page-icerik,
.blog-detay {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(28px, 5vw, 58px);
  color: var(--nd-muted);
  font-size: 13px;
  line-height: 1.9;
}

.page-icerik h2,
.page-icerik h3,
.blog-detay h2,
.blog-detay h3 {
  color: var(--nd-ink);
  font-family: Georgia, "Times New Roman", serif;
}

.tracking-ic {
  max-width: 900px;
}

.tracking-alt {
  margin: -20px 0 26px;
  color: var(--nd-muted);
}

.tracking-form {
  padding: 25px;
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 12px;
}

.tracking-sonuc {
  margin-top: 22px;
  padding: 25px;
}

.blog-liste-wrap .section-title {
  margin-bottom: 38px;
}

.blog-detay {
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: var(--nd-radius);
  box-shadow: var(--nd-shadow-sm);
}

.blog-detay-baslik {
  margin-top: 12px;
}

.blog-detay-gorsel {
  width: 100%;
  max-height: 560px;
  margin: 20px 0 34px;
  object-fit: cover;
  border-radius: 14px;
}

.flash {
  margin-bottom: 20px;
  padding: 14px 16px;
  border: 1px solid;
  border-radius: 10px;
  font-size: 11px;
}

.flash-basari,
.auth-mesaj {
  color: var(--nd-success);
  background: rgba(44, 116, 85, .08);
  border-color: rgba(44, 116, 85, .2);
}

.flash-hata,
.auth-hata {
  color: var(--nd-danger);
  background: rgba(166, 64, 54, .08);
  border-color: rgba(166, 64, 54, .2);
}

/* Footer */
body > footer {
  position: relative;
  padding: 0;
  color: rgba(255, 255, 255, .74);
  background: var(--nd-ink);
  border: 0;
}

.footer-intro {
  width: min(calc(100% - 48px), var(--nd-container));
  margin: 0 auto;
  padding: 48px 0 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.footer-intro-copy {
  display: flex;
  align-items: center;
  gap: 20px;
}

.footer-intro h3 {
  margin: 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 500;
}

.footer-intro p {
  margin: 5px 0 0;
  color: rgba(255, 255, 255, .55);
  font-size: 11px;
}

.footer-contact-link {
  padding-bottom: 5px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .5);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.footer-contact-link:hover {
  color: var(--nd-rose);
  border-color: var(--nd-rose);
}

.footer-grid {
  width: min(calc(100% - 48px), var(--nd-container));
  max-width: var(--nd-container);
  margin: 0 auto;
  padding: 65px 0 55px;
  display: grid;
  grid-template-columns: .8fr 1fr 1.2fr 1.45fr;
  gap: clamp(36px, 6vw, 90px);
}

.footer-col-title {
  position: relative;
  margin: 0 0 25px;
  padding: 0 0 13px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 500;
}

.footer-col-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 28px;
  height: 1px;
  background: var(--nd-rose);
}

.footer-links {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
  list-style: none;
}

.footer-links a,
.contact-info a {
  color: rgba(255, 255, 255, .56);
  font-size: 10px;
  line-height: 1.45;
  text-decoration: none;
}

.footer-links a:hover,
.contact-info a:hover {
  color: #fff;
  padding-left: 3px;
}

.contact-info p {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 9px;
  color: rgba(255, 255, 255, .56);
  font-size: 10px;
  line-height: 1.65;
}

.contact-info p i {
  margin-top: 3px;
  color: var(--nd-rose);
}

.social-links {
  margin-top: 20px;
  display: flex;
  gap: 8px;
}

.social-btn {
  width: 36px;
  height: 36px;
  padding: 0 !important;
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, .7) !important;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
}

.social-btn:hover {
  color: #fff !important;
  background: var(--nd-copper);
  border-color: var(--nd-copper);
  transform: translateY(-2px);
}

.footer-bottom {
  width: min(calc(100% - 48px), var(--nd-container));
  max-width: var(--nd-container);
  margin: 0 auto;
  padding: 22px 0 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(255, 255, 255, .38);
  border-top: 1px solid rgba(255, 255, 255, .1);
  font-size: 9px;
}

.payment-methods {
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(255, 255, 255, .55);
  font-size: 19px;
}

.payment-methods span {
  font-size: 13px;
}

/* Faz 8: position:fixed EKSIKTI -> bant akista kalip footer'in ALTINA
   dusuyordu. Fixed ile sag-altta yuzen overlay olur, siteye girer girmez
   (JS onay yoksa hidden'i kaldirir) belirir. */
.cookie-banner {
  position: fixed;
  left: 22px;
  bottom: 22px;
  right: auto;
  z-index: 200;
  width: min(calc(100% - 44px), 520px);
  padding: 0;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 16px;
  box-shadow: var(--nd-shadow-lg);
}
.cookie-banner[hidden] { display: none; }

.cookie-banner-icerik {
  padding: 22px 24px;
  display: flex;
  align-items: center;
  gap: 18px;
}

.cookie-banner-metin {
  margin: 0;
  color: var(--nd-ink-soft);
  font-size: 13.5px;
  line-height: 1.6;
}

.cookie-banner-metin a {
  color: var(--nd-cocoa);
  font-weight: 700;
}

.cookie-banner-buton {
  flex-shrink: 0;
  min-width: 140px;
  min-height: 46px;
  padding: 0 20px;
  color: #fff;
  background: var(--nd-ink);
  border: 0;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.cookie-banner-buton:hover { background: var(--nd-cocoa); }

.mobile-bottom-nav {
  display: none;
}

/* Responsive */
@media (max-width: 1260px) {
  .header-top {
    grid-template-columns: 130px minmax(270px, 1fr) auto;
  }

  .header-socials {
    display: none;
  }

  .header-action-copy {
    display: none;
  }

  .header-action-btn {
    width: 42px;
    justify-content: center;
  }

  .header-action-btn .badge {
    left: 25px;
  }

  .nav-link {
    padding-inline: 12px;
    font-size: 9px;
  }

  .carousel-track > .product-card {
    flex-basis: calc((100% - 44px) / 3);
  }

  .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .container,
  .storefront-container,
  .header-top,
  .announcement-inner,
  .nav-menu,
  .header-benefits,
  .breadcrumb-bar,
  .detail-container,
  .category-main,
  .footer-intro,
  .footer-grid,
  .footer-bottom {
    width: min(calc(100% - 32px), var(--nd-container));
  }

  .announcement-support {
    display: none !important;
  }

  .announcement-inner {
    justify-content: center;
    text-align: center;
  }

  .header-top {
    min-height: 86px;
    padding: 10px 0 12px;
    grid-template-columns: 42px 1fr auto;
    gap: 9px;
  }

  .mobile-menu-btn {
    width: 42px;
    height: 42px;
    padding: 0;
    display: grid;
    place-items: center;
    color: var(--nd-ink);
    background: var(--nd-cream);
    border: 1px solid var(--nd-line);
    border-radius: 50%;
    font-size: 16px;
  }

  .logo {
    width: auto;
    height: 58px;
    justify-content: center;
  }

  .logo img {
    width: 82px;
    height: 82px;
  }

  .search-form {
    grid-column: 1 / -1;
    grid-row: 2;
    height: 44px;
    max-width: none;
  }

  .search-form button {
    min-width: 52px;
  }

  .search-form button span {
    display: none;
  }

  .header-actions {
    gap: 2px;
  }

  .header-actions .header-action-btn:first-child {
    display: none;
  }

  .nav-bar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 130;
    width: min(86vw, 370px);
    padding: 28px 18px;
    background: #fff;
    box-shadow: var(--nd-shadow-lg);
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-100%);
  }

  .nav-bar.active {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
  }

  body.menu-open::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 125;
    background: rgba(23, 18, 16, .58);
    backdrop-filter: blur(3px);
  }

  /* KRITIK stacking-context fix: <header> position:relative + z-index:100 ile
     kendi baglamini yaratir; icindeki fixed .nav-bar (z:130) bu baglamdan
     KACAMAZ, dolayisiyla root'taki overlay (z:125) panelin UZERINE binip
     paneli karartiyordu (panel beyaz ama dim altinda). Menu acikken header'i
     overlay'in ustune cikarinca panel solid beyaz gorunur. */
  body.menu-open header { z-index: 140; }

  .nav-menu {
    width: 100%;
    min-height: 0;
    display: grid;
    align-content: start;
    gap: 4px;
  }

  .nav-item {
    display: block;
  }

  .nav-link,
  .nav-item:first-child .nav-link {
    min-width: 0;
    min-height: 52px;
    padding: 0 14px;
    justify-content: flex-start;
    gap: 10px;
    color: var(--nd-ink);
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--nd-line);
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0;
  }

  .nav-item:first-child .nav-link {
    color: #fff;
    background: var(--nd-cocoa);
    border-bottom: 0;
    margin-bottom: 8px;
    font-weight: 700;
  }
  /* Kategoriler acilir tetikleyicisinde chevron sagda; acikken doner */
  .nav-item-categories .nav-chevron { margin-left: auto; transition: transform .2s ease; }
  .nav-item-categories.active .nav-chevron { transform: rotate(180deg); }

  .nav-link:hover,
  .nav-item:hover > .nav-link {
    color: var(--nd-cocoa);
    background: var(--nd-sand);
  }

  .nav-item:first-child .nav-link:hover,
  .nav-item:first-child:hover > .nav-link {
    color: #fff;
    background: var(--nd-copper);
  }

  .dropdown {
    position: static;
    width: 100%;
    max-height: 0;
    padding: 0 8px;
    gap: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .nav-item:hover .dropdown,
  .nav-item:focus-within .dropdown {
    max-height: 0;
  }

  .nav-item.active .dropdown,
  .nav-item.active:hover .dropdown {
    max-height: 800px;
    padding-block: 9px;
  }

  .dropdown-link {
    padding: 11px 10px;
    font-size: 14px;
    color: var(--nd-ink-soft);
  }

  .header-benefits {
    min-height: 54px;
    grid-template-columns: repeat(4, 1fr);
    overflow-x: auto;
  }

  .header-benefits a {
    min-width: 155px;
    padding-inline: 10px;
  }

  .header-benefits small {
    display: none;
  }

  .hero-slider {
    width: calc(100% - 32px);
    height: 570px;
    margin-top: 16px;
  }

  .hero-content {
    width: min(600px, calc(100% - 64px));
    margin-left: 32px;
  }

  .categories-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 310px;
  }

  .category-card:nth-child(1),
  .category-card:nth-child(6) {
    grid-column: span 1;
  }

  .category-main {
    grid-template-columns: 235px minmax(0, 1fr);
    gap: 24px;
  }

  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .detail-container {
    grid-template-columns: minmax(0, 1fr) minmax(350px, .82fr);
    gap: 35px;
  }

  .gallery-container {
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 10px;
  }

  .thumbnail {
    width: 60px;
    height: 74px;
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 46px;
  }

  .cart-grid,
  .checkout-grid {
    grid-template-columns: minmax(0, 1fr) 320px;
  }

  .cart-line {
    grid-template-columns: 85px minmax(0, 1fr) auto;
  }

  .cart-line-img {
    width: 85px;
  }

  .cart-line-adet,
  .cart-line-toplam,
  .cart-sil-form {
    grid-column: 2 / 3;
  }

  .cart-line-toplam,
  .cart-sil-form {
    position: absolute;
    right: 16px;
  }

  .cart-line-toplam {
    bottom: 20px;
  }

  .cart-sil-form {
    top: 14px;
  }
}

@media (max-width: 768px) {
  body {
    padding-bottom: 67px;
  }

  .announcement-bar,
  .announcement-inner {
    min-height: 31px;
  }

  .announcement-bar {
    font-size: 8px;
    letter-spacing: .04em;
  }

  .announcement-inner {
    width: calc(100% - 20px);
  }

  .header-top {
    width: calc(100% - 24px);
  }

  .header-actions .header-action-btn:nth-child(2) {
    display: none;
  }

  .header-benefits {
    width: 100%;
    padding-left: 12px;
    border-top: 1px solid var(--nd-line);
    scrollbar-width: none;
  }

  .header-benefits::-webkit-scrollbar {
    display: none;
  }

  .header-benefits a {
    min-width: 142px;
    justify-content: flex-start;
  }

  .hero-slider {
    width: calc(100% - 20px);
    height: min(640px, 78vh);
    min-height: 510px;
    border-radius: 18px;
  }

  .hero-slider video {
    object-position: 64% center;
  }

  .hero-overlay {
    align-items: flex-end;
    background: linear-gradient(0deg, rgba(22, 17, 15, .92) 0%, rgba(22, 17, 15, .46) 58%, rgba(22, 17, 15, .08) 100%);
  }

  .hero-content {
    width: auto;
    margin: 0;
    padding: 0 26px 48px;
  }

  .hero-content .subtitle {
    margin-bottom: 13px;
    font-size: 9px;
  }

  .hero-content h1 {
    font-size: clamp(40px, 13vw, 57px);
  }

  .hero-description {
    margin: 16px 0 21px;
    font-size: 12px;
    line-height: 1.6;
  }

  .hero-proof {
    display: none;
  }

  .hero-scroll {
    display: none;
  }

  .bg-cream,
  .bg-peach,
  #product-detail-tabs,
  #reviews-section,
  #related-products-section {
    padding: 62px 0;
  }

  .storefront-container,
  .container,
  .breadcrumb-bar,
  .detail-container,
  .category-main,
  .footer-intro,
  .footer-grid,
  .footer-bottom {
    width: calc(100% - 28px);
  }

  .section-heading {
    margin-bottom: 26px;
    align-items: flex-start;
  }

  .section-all-link {
    display: none;
  }

  .section-title {
    font-size: 34px;
  }

  .section-kicker {
    font-size: 8px;
  }

  .carousel-container {
    overflow: visible;
  }

  .carousel-track {
    gap: 14px;
  }

  .carousel-track > .product-card {
    flex-basis: calc((100% - 14px) / 2);
  }

  .carousel-nav-btn {
    top: 34%;
    width: 38px;
    height: 38px;
  }

  .product-img-wrapper {
    border-radius: 13px;
  }

  .product-actions {
    right: 8px;
    bottom: 8px;
    left: auto;
    padding: 4px;
    flex-direction: column;
    border-radius: 999px;
    opacity: 1;
    transform: none;
  }

  .product-action-btn {
    width: 31px;
    height: 31px;
    font-size: 11px;
  }

  .product-action-btn[aria-label="Hızlı Bakış"] {
    display: none;
  }

  .product-info {
    padding: 12px 2px 0;
  }

  .product-title {
    min-height: 48px;
    font-size: 11px;
  }

  .product-price {
    font-size: 15px;
  }

  .product-detail-link {
    display: none;
  }

  .product-badge {
    top: 9px;
    left: 9px;
    min-height: 21px;
    font-size: 7px;
  }

  .categories-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 235px;
    gap: 10px;
  }

  .category-card {
    border-radius: 13px;
  }

  .category-content {
    right: 15px;
    bottom: 15px;
    left: 15px;
  }

  .category-title {
    padding-right: 18px;
    font-size: 17px;
  }

  .category-index {
    font-size: 16px;
  }

  .category-link {
    font-size: 7px;
  }

  .cta-section {
    min-height: 440px;
    padding: 60px 24px;
    background-position: 65% center;
  }

  .cta-container h2 {
    max-width: 85%;
    font-size: 38px;
  }

  .cta-container p {
    max-width: 80%;
    font-size: 12px;
  }

  .blog-grid {
    grid-template-columns: 1fr;
  }

  .page-banner {
    min-height: 230px;
    padding: 42px 20px;
  }

  .page-banner h1 {
    font-size: 39px;
  }

  .category-main {
    padding: 35px 0 75px;
    display: block;
  }

  .sidebar-filters {
    position: static;
    margin-bottom: 20px;
    padding: 22px 20px;
  }

  .sidebar-filters h3 {
    margin-bottom: 0;
    padding-bottom: 13px;
    font-size: 21px;
  }

  .filter-group {
    padding-block: 17px;
  }

  .filter-category-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sort-bar {
    padding: 12px;
    align-items: stretch;
    flex-direction: column;
  }

  .sort-bar-controls,
  .sort-form,
  .sort-select {
    width: 100%;
  }

  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 12px;
  }

  #product-detail-core {
    padding-bottom: 60px;
  }

  .detail-container {
    display: block;
  }

  .gallery-container {
    display: flex;
    flex-direction: column-reverse;
  }

  .thumbnails-list {
    flex-direction: row;
    overflow-x: auto;
  }

  .thumbnail {
    width: 62px;
    height: 72px;
    flex: 0 0 auto;
  }

  .main-image {
    border-radius: 14px;
  }

  .options-container {
    position: static;
    padding-top: 30px;
  }

  .detail-title {
    font-size: 37px;
  }

  .purchase-actions-row,
  .detail-cart-form {
    flex-wrap: wrap;
  }

  .detail-cart-form {
    flex: 1;
  }

  .detail-add-to-cart-btn {
    min-width: 160px;
  }

  .tabs-panel {
    width: calc(100% - 28px);
  }

  .tabs-header {
    padding-inline: 18px;
    gap: 24px;
  }

  .tab-content {
    padding: 28px 22px 34px;
  }

  .review-liste {
    padding-inline: 20px;
  }

  .review-form {
    margin-inline: 20px;
  }

  .related-grid {
    width: calc(100% - 28px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .cart-page,
  .checkout-page,
  .auth-wrap,
  .account-wrap,
  .contact-wrap,
  .page-wrap,
  .tracking-wrap,
  .blog-liste-wrap,
  .blog-detay-wrap {
    padding: 48px 0 72px;
  }

  .cart-grid,
  .checkout-grid,
  .contact-grid {
    display: block;
  }

  .cart-lines,
  .checkout-sol,
  .contact-bilgi {
    margin-bottom: 20px;
  }

  .cart-ozet,
  .checkout-ozet {
    position: static;
  }

  .cart-line {
    padding: 13px;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 13px;
  }

  .cart-line-img {
    width: 78px;
  }

  .cart-line-adet,
  .cart-line-toplam,
  .cart-sil-form {
    grid-column: 2;
  }

  .cart-line-toplam {
    position: static;
  }

  .cart-sil-form {
    top: 8px;
    right: 8px;
  }

  .cart-line-ad {
    padding-right: 26px;
    font-size: 14px;
  }

  .checkout-adresler,
  .account-grid {
    grid-template-columns: 1fr;
  }

  .auth-card {
    padding: 30px 22px;
  }

  .tracking-form {
    grid-template-columns: 1fr;
  }

  .footer-intro {
    padding: 38px 0;
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-intro-copy {
    align-items: flex-start;
  }

  .footer-intro h3 {
    font-size: 20px;
  }

  .footer-grid {
    padding: 48px 0 42px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 38px 24px;
  }

  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .cookie-banner {
    left: 12px;
    right: 12px;
    bottom: 78px;
    width: calc(100% - 24px);
  }

  .cookie-banner-icerik {
    align-items: stretch;
    flex-direction: column;
  }

  .mobile-bottom-nav {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 115;
    height: 67px;
    padding: 7px 10px max(7px, env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: rgba(255, 255, 255, .96);
    border-top: 1px solid var(--nd-line);
    box-shadow: 0 -8px 30px rgba(35, 25, 21, .08);
    backdrop-filter: blur(14px);
  }

  .mobile-bottom-nav a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 3px;
    color: var(--nd-muted);
    font-size: 8px;
    font-weight: 650;
    text-decoration: none;
  }

  .mobile-bottom-nav i {
    color: var(--nd-ink);
    font-size: 16px;
  }

  .mobile-bottom-nav a:hover,
  .mobile-bottom-nav a:hover i {
    color: var(--nd-copper);
  }

  .mobile-cart-link b {
    position: absolute;
    top: -1px;
    left: calc(50% + 4px);
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--nd-rose);
    border: 2px solid #fff;
    border-radius: 999px;
    font-size: 7px;
  }
}

@media (max-width: 430px) {
  .carousel-track {
    gap: 10px;
  }

  .carousel-track > .product-card {
    flex-basis: calc((100% - 10px) / 2);
  }

  .categories-grid {
    grid-auto-rows: 205px;
  }

  .category-title {
    font-size: 15px;
  }

  .filter-category-list {
    grid-template-columns: 1fr;
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-grid > div:first-child,
  .footer-grid > div:nth-child(2) {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* ======================================================================
   Product-first storefront v2
   Referans magazanin yogun katalog akisini ND'nin monokrom kimligiyle kurar.
   Bu blok onceki sunum kurallarini kontrollu olarak ezer.
   ====================================================================== */

:root {
  --nd-accent: #b64c62;
  --nd-accent-dark: #8f3448;
  --nd-rating: #d71672;
  --nd-surface: #f5f5f3;
  --nd-border: #e7e5e2;
}

body {
  background: #fff;
}

/* Header: sosyal alan ve alisveris islemleri birbirinden tamamen ayridir. */
.announcement-tools,
.announcement-socials {
  display: flex;
  align-items: center;
}

.announcement-tools {
  gap: 16px;
}

.announcement-socials {
  gap: 3px;
  padding-left: 13px;
  border-left: 1px solid rgba(255, 255, 255, .2);
}

.announcement-socials a {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, .78);
  border-radius: 50%;
  text-decoration: none;
}

.announcement-socials a:hover {
  color: #fff;
  background: rgba(255, 255, 255, .12);
}

.header-top {
  min-height: 94px;
  grid-template-columns: 155px minmax(320px, 1fr) 316px;
  gap: clamp(18px, 2.2vw, 38px);
}

.logo {
  width: 124px;
  height: 72px;
}

.logo img {
  width: 94px;
  height: 94px;
}

.search-form {
  max-width: 760px;
  height: 48px;
  border-radius: 6px;
  background: #fff;
  box-shadow: none;
}

.search-form button {
  min-width: 78px;
  border-radius: 0 5px 5px 0;
  background: var(--nd-ink);
}

.header-actions {
  width: 316px;
  min-width: 316px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-left: 1px solid var(--nd-border);
}

.header-action-btn {
  width: 100%;
  min-width: 0;
  min-height: 52px;
  padding: 5px 9px;
  justify-content: center;
  border-right: 1px solid var(--nd-border);
  border-radius: 0;
}

.header-action-btn > i {
  flex: 0 0 25px;
}

.header-action-copy {
  min-width: 0;
}

.header-action-copy small,
.header-action-copy b {
  overflow: hidden;
  text-overflow: ellipsis;
}

.header-action-btn .badge {
  top: 0;
  left: calc(50% - 29px);
  background: var(--nd-accent);
}

.nav-menu {
  justify-content: flex-start;
  overflow: visible;
}

.nav-item {
  min-width: 0;
  flex: 1 1 auto;
}

.nav-item:first-child {
  flex: 0 0 205px;
}

.nav-link {
  width: 100%;
  padding-inline: 12px;
  font-size: 9px;
}

.nav-item:first-child .nav-link {
  min-width: 0;
  background: var(--nd-accent);
  border-color: var(--nd-accent);
}

/* Homepage: kisa banner + kategori baslikli kesintisiz urun raflari. */
.catalog-home {
  background: var(--nd-surface);
}

.catalog-home .catalog-hero {
  width: min(calc(100% - 32px), 1600px);
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 5;
  margin: 16px auto 0;
  border-radius: 10px;
  box-shadow: none;
}

.catalog-hero-image,
.catalog-home .catalog-hero video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.catalog-home .hero-overlay {
  background: linear-gradient(90deg, rgba(18, 17, 16, .78), rgba(18, 17, 16, .25) 47%, transparent 72%);
}

.catalog-home .hero-content {
  width: min(520px, 44%);
  margin-left: clamp(28px, 6vw, 94px);
}

.catalog-home .hero-content .subtitle {
  margin-bottom: 9px;
  color: rgba(255, 255, 255, .82);
  font-size: 10px;
}

.catalog-home .hero-content h1 {
  margin-bottom: 20px;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(31px, 3.8vw, 58px);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1.02;
}

.catalog-home .hero-content .btn-primary {
  min-height: 42px;
  min-width: 154px;
  padding-inline: 20px;
  color: #fff;
  background: var(--nd-accent);
  border-radius: 5px;
  box-shadow: none;
}

.catalog-home .hero-content .btn-primary:hover {
  background: var(--nd-accent-dark);
}

.catalog-category-rail {
  margin: 16px auto 0;
  padding: 0 16px;
  background: #fff;
  border-block: 1px solid var(--nd-border);
}

.catalog-category-rail-inner {
  width: min(100%, var(--nd-container));
  min-height: 52px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
}

.catalog-category-rail-inner::-webkit-scrollbar {
  display: none;
}

.catalog-category-rail a {
  padding: 10px 16px;
  color: var(--nd-ink-soft);
  border-radius: 6px;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}

.catalog-category-rail a:hover {
  color: #fff;
  background: var(--nd-accent);
}

.catalog-shelves {
  width: min(calc(100% - 32px), var(--nd-container));
  margin: 18px auto 0;
  padding-bottom: 46px;
}

.catalog-shelf {
  margin-bottom: 18px;
  background: #fff;
  border: 1px solid var(--nd-border);
}

.catalog-shelf-heading {
  min-height: 70px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: #efefed;
  border-bottom: 1px solid var(--nd-border);
}

.catalog-shelf-heading h2 {
  margin: 0;
  color: #111;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(18px, 2vw, 27px);
  font-weight: 850;
  letter-spacing: -.025em;
  line-height: 1.1;
  text-transform: uppercase;
}

.catalog-shelf-heading p {
  margin: 5px 0 0;
  color: #77716d;
  font-size: 10px;
}

.catalog-shelf-heading > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--nd-accent-dark);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .07em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.catalog-product-grid {
  display: grid;
  /* auto-fill + minmax: ekrana kac kart sigarsa o kadar sutun; az urunlu
     kategoride kartlar soldan hizali akar, ONCEKI gibi bos GRI hucre birakmaz.
     Onceden grid-background(gri)+1px-gap "tablo" numarasi vardi -> son satir
     eksikse arka plan gri gorunuyordu. Artik kartlarin kendi kenarligi var,
     bosluk sayfa zemini (acik) kaliyor. */
  grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
  gap: 18px;
  background: transparent;
}

/* Storefront urun karti - daha ferah, kendi kenarlikli, buyuk yazili */
.catalog-product-grid .product-card,
.product-grid .product-card,
.related-grid .product-card {
  min-width: 0;
  padding: 12px 12px 14px;
  background: #fff;
  border: 1px solid var(--nd-border);
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}

.product-card:hover {
  border-color: #d8d4d0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .09);
  transform: translateY(-3px);
}

.product-img-wrapper {
  aspect-ratio: 4 / 5;
  background: #f4f3f1;
  border-radius: 0;
}

.product-img-wrapper img {
  object-fit: cover;
}

.product-actions {
  top: 9px;
  right: 9px;
  bottom: auto;
  left: auto;
  padding: 4px;
  flex-direction: column;
  gap: 2px;
  background: rgba(255, 255, 255, .94);
  border: 1px solid var(--nd-border);
  border-radius: 999px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, .09);
  transform: translateX(8px);
}

.product-action-btn {
  width: 32px;
  height: 32px;
  font-size: 12px;
}

.product-action-btn:hover,
.product-action-btn.is-fav {
  background: var(--nd-accent);
}

.product-badge {
  top: 18px;
  left: 18px;
  min-height: 24px;
  padding-inline: 10px;
  background: var(--nd-accent);
  border-radius: 4px;
  font-size: 10px;
  letter-spacing: .04em;
}

.product-info {
  padding: 11px 0 0;
}

.product-title {
  min-height: 42px;
  margin: 0 0 8px;
  display: -webkit-box;
  overflow: hidden;
  color: #24211f;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  text-align: left;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product-price {
  color: #111;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 21px;
  font-weight: 850;
  letter-spacing: -.035em;
}

.product-rating {
  width: 100%;
  min-height: 20px;
  margin-top: 6px;
  padding-top: 6px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  border-top: 1px solid #f0eeec;
  line-height: 1;
}

.product-rating-stars {
  display: inline-flex;
  gap: 2px;
  color: var(--nd-rating);
  font-size: 13px;
}

.product-rating-count {
  color: #8a8580;
  font-size: 12px;
}

.product-detail-link {
  display: none;
}

/* Category listing */
.catalog-category-hero {
  position: relative;
  width: min(calc(100% - 32px), var(--nd-container));
  min-height: 230px;
  margin: 16px auto 0;
  padding: 28px clamp(28px, 5vw, 70px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  background: #24201e;
  border-radius: 10px;
  text-align: left;
}

.catalog-category-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(17, 15, 14, .9), rgba(17, 15, 14, .55) 50%, rgba(17, 15, 14, .1)), var(--category-image) center 35% / cover no-repeat;
}

.catalog-category-hero > * {
  position: relative;
  z-index: 1;
}

.catalog-category-hero .breadcrumb {
  position: static;
  width: auto;
  margin: 0 0 26px;
  color: rgba(255, 255, 255, .72);
  font-size: 9px;
}

.catalog-category-hero .breadcrumb a,
.catalog-category-hero .breadcrumb-current {
  color: inherit;
}

.catalog-category-hero-copy {
  max-width: 650px;
}

.catalog-category-eyebrow {
  display: block;
  margin-bottom: 8px;
  color: #f1c9d1;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.catalog-category-hero h1 {
  margin: 0;
  color: #fff;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(31px, 4vw, 52px);
  font-weight: 850;
  letter-spacing: -.045em;
  line-height: 1;
}

.catalog-category-hero p {
  max-width: 560px;
  margin: 12px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: 12px;
}

.catalog-category-count {
  margin-top: 16px;
  display: inline-flex;
  padding: 6px 10px;
  color: #fff;
  background: var(--nd-accent);
  border-radius: 4px;
  font-size: 9px;
  font-weight: 800;
}

.category-main {
  width: min(calc(100% - 32px), var(--nd-container));
  padding: 24px 0 60px;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 20px;
  background: #fff;
}

.sidebar-filters {
  top: 16px;
  padding: 20px;
  background: var(--nd-surface);
  border: 1px solid var(--nd-border);
  border-radius: 6px;
  box-shadow: none;
}

.filter-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.sidebar-filters .filter-panel-heading h3 {
  margin: 0;
  padding: 0 0 14px;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  font-weight: 800;
}

.filter-panel-close,
.mobile-filter-toggle {
  display: none;
}

.filter-group {
  padding: 17px 0;
  border-top: 1px solid var(--nd-border);
}

.filter-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
}

.filter-apply-btn {
  width: 100%;
  border-radius: 4px;
  background: var(--nd-accent);
  box-shadow: none;
}

.category-products {
  min-width: 0;
}

.sort-bar {
  min-height: 58px;
  margin-bottom: 0;
  padding: 8px 12px;
  background: #f0f0ee;
  border: 1px solid var(--nd-border);
  border-bottom: 0;
  border-radius: 0;
}

.product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--nd-border);
  border: 1px solid var(--nd-border);
}

/* Product detail: genis ekranda cakismayan iki kolon ve derin icerik. */
.breadcrumb-bar {
  padding: 16px 0;
  font-size: 10px;
}

#product-detail-core {
  padding: 10px 0 55px;
  background: #fff;
}

.detail-container {
  width: min(calc(100% - 48px), 1320px);
  grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
  gap: clamp(34px, 5vw, 72px);
}

.gallery-container {
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
}

.thumbnail {
  width: 72px;
  height: 90px;
  border-radius: 3px;
}

.main-image {
  max-height: 760px;
  background: var(--nd-surface);
  border-radius: 5px;
}

.options-container {
  top: 14px;
  min-width: 0;
  padding: 4px 0;
}

.product-tag {
  color: #fff;
  background: var(--nd-accent);
  border-radius: 3px;
}

.detail-title {
  margin: 13px 0 9px;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(27px, 2.6vw, 39px);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.12;
}

.detail-product-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  color: #817a75;
  font-size: 13px;
}

.detail-product-meta strong {
  color: #302c29;
  font-weight: 700;
}

.detail-summary {
  margin: 14px 0;
  color: #4f4945;
  font-size: 15.5px;
  line-height: 1.7;
}

.detail-rating {
  padding: 9px 0 15px;
}

.detail-rating-stars {
  color: var(--nd-rating);
}

.detail-price-wrap {
  margin: 18px 0;
}

.detail-old-price {
  margin-bottom: 2px;
  color: #98918c;
  font-size: 12px;
  text-decoration: line-through;
}

.detail-price {
  color: #111;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 32px;
  font-weight: 850;
}

.option-group,
.option-group-uzunluk {
  padding: 15px 0;
}

.qty-selector,
.detail-wishlist-btn {
  border-radius: 4px;
}

.detail-add-to-cart-btn,
.detail-buy-now-btn {
  border-radius: 4px;
}

.detail-add-to-cart-btn {
  background: var(--nd-accent);
}

.detail-add-to-cart-btn:hover {
  background: var(--nd-accent-dark);
}

.detail-buy-now-form {
  margin: 0;
}

.detail-buy-now-btn {
  min-height: 46px;
  color: #fff;
  background: #111;
  border-color: #111;
}

.detail-buy-now-btn:hover {
  color: #fff;
  background: #302b28;
  border-color: #302b28;
}

.assurance-box {
  padding: 15px 17px;
  border-radius: 5px;
}

#product-detail-tabs,
#reviews-section,
#related-products-section {
  padding: 58px 0;
}

#product-detail-tabs {
  background: var(--nd-surface);
}

.tabs-panel {
  width: min(calc(100% - 32px), 1180px);
  border-radius: 6px;
  box-shadow: none;
}

.tab-content {
  font-size: 13px;
}

.product-video-section {
  padding: 58px 0;
  background: #171514;
}

.product-video-layout {
  width: min(calc(100% - 48px), 1320px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: clamp(32px, 6vw, 88px);
}

.product-video-copy > span {
  color: #e5a8b4;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.product-video-copy h2 {
  margin: 11px 0 15px;
  color: #fff;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(28px, 3.4vw, 48px);
  line-height: 1.04;
}

.product-video-copy p {
  margin: 0 0 20px;
  color: rgba(255, 255, 255, .62);
  font-size: 12px;
  line-height: 1.7;
}

.product-video-copy a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .42);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .07em;
  text-decoration: none;
  text-transform: uppercase;
}

.product-video-frame {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #000;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 7px;
}

.product-video-frame video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.related-grid {
  width: min(calc(100% - 32px), 1180px);
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 20px;
  background: none;
  border: 0;
}

/* Gercek logo, metin monograminin yerine footer'da kullanilir. */
.footer-logo {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 50%;
}

.footer-logo img {
  width: 72px;
  height: 72px;
  object-fit: contain;
}

@media (max-width: 1260px) {
  .header-top {
    grid-template-columns: 130px minmax(280px, 1fr) 168px;
  }

  .header-actions {
    width: 168px;
    min-width: 168px;
  }

  .header-action-copy {
    display: none;
  }

  .header-action-btn .badge {
    left: calc(50% + 2px);
  }

  .nav-item:nth-last-child(-n+2) {
    display: none;
  }

  .catalog-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .announcement-tools {
    display: none;
  }

  .header-top {
    min-height: 126px;
    grid-template-columns: 42px minmax(90px, 1fr) 112px;
  }

  .header-actions {
    width: 112px;
    min-width: 112px;
    grid-template-columns: repeat(2, 56px);
  }

  .header-actions .header-action-btn:first-child {
    display: inline-flex;
  }

  .header-actions .header-action-btn:nth-child(2) {
    display: none;
  }

  .header-action-btn .badge {
    left: 31px;
  }

  .search-form {
    height: 42px;
  }

  .nav-item:nth-last-child(-n+2) {
    display: block;
  }

  .catalog-home .catalog-hero {
    height: auto;
    min-height: 0;
  }

  .catalog-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .category-main {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .detail-container {
    grid-template-columns: minmax(0, 1fr) minmax(330px, .9fr);
    gap: 28px;
  }
}

@media (max-width: 768px) {
  .announcement-inner {
    justify-content: center;
  }

  .header-top {
    min-height: 122px;
  }

  .logo img {
    width: 76px;
    height: 76px;
  }

  .catalog-home .catalog-hero {
    width: 100%;
    aspect-ratio: 16 / 5;
    margin-top: 0;
    border-radius: 0;
  }

  .catalog-home .hero-overlay {
    align-items: center;
    background: linear-gradient(90deg, rgba(18, 17, 16, .75), rgba(18, 17, 16, .08));
  }

  .catalog-home .hero-content {
    width: 58%;
    margin: 0 0 0 16px;
    padding: 0;
  }

  .catalog-home .hero-content .subtitle {
    display: none;
  }

  .catalog-home .hero-content h1 {
    margin: 0 0 8px;
    font-size: clamp(17px, 6.5vw, 28px);
  }

  .catalog-home .hero-content .btn-primary {
    min-width: 0;
    min-height: 28px;
    padding: 0 10px;
    font-size: 7px;
  }

  .catalog-category-rail {
    margin-top: 0;
    padding-inline: 8px;
  }

  .catalog-category-rail-inner {
    min-height: 45px;
    justify-content: flex-start;
  }

  .catalog-category-rail a {
    padding: 7px 9px;
    font-size: 8px;
  }

  .catalog-shelves {
    width: 100%;
    margin-top: 10px;
  }

  .catalog-shelf {
    margin-bottom: 10px;
    border-inline: 0;
  }

  .catalog-shelf-heading {
    min-height: 54px;
    padding: 10px 12px;
    justify-content: center;
    text-align: center;
  }

  .catalog-shelf-heading h2 {
    font-size: 17px;
  }

  .catalog-shelf-heading p,
  .catalog-shelf-heading > a {
    display: none;
  }

  .catalog-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catalog-product-grid .product-card,
  .product-grid .product-card,
  .related-grid .product-card {
    padding: 8px 8px 10px;
  }

  .product-actions {
    top: 5px;
    right: 5px;
    bottom: auto;
    padding: 2px;
    opacity: 1;
    transform: none;
  }

  .product-action-btn {
    width: 28px;
    height: 28px;
    font-size: 10px;
  }

  .product-action-btn[aria-label="Hızlı Bakış"] {
    display: none;
  }

  .product-badge {
    top: 13px;
    left: 13px;
  }

  .product-info {
    padding-top: 8px;
  }

  .product-title {
    min-height: 34px;
    margin-bottom: 5px;
    font-size: 10px;
    line-height: 1.4;
  }

  .product-price {
    font-size: 16px;
  }

  .product-rating {
    margin-top: 4px;
    padding-top: 5px;
  }

  .product-rating-stars {
    font-size: 8px;
  }

  .catalog-category-hero {
    /* width:100% + yatay padding kutuya eklenince mobilde ~403px'e cikip
       yatay kaymaya yol aciyordu. border-box + max-width ile sabitlendi. */
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-height: 178px;
    margin-top: 0;
    padding: 22px 18px;
    border-radius: 0;
  }

  .catalog-category-hero .breadcrumb {
    margin-bottom: 19px;
  }

  .catalog-category-hero h1 {
    font-size: 29px;
  }

  .catalog-category-hero p {
    display: none;
  }

  .category-main {
    width: 100%;
    padding: 10px 0 45px;
    display: block;
  }

  .mobile-filter-toggle {
    min-height: 42px;
    margin: 0 10px 10px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    background: #111;
    border: 0;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
  }

  .sidebar-filters {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 160;
    width: min(88vw, 360px);
    margin: 0;
    padding: 22px;
    overflow-y: auto;
    border: 0;
    border-radius: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-100%);
  }

  .sidebar-filters.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
  }

  body.filter-open {
    overflow: hidden;
  }

  body.filter-open::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 155;
    background: rgba(0, 0, 0, .58);
  }

  .filter-panel-close {
    width: 38px;
    height: 38px;
    padding: 0;
    display: grid;
    place-items: center;
    color: #111;
    background: #fff;
    border: 1px solid var(--nd-border);
    border-radius: 50%;
  }

  .sort-bar {
    min-height: 48px;
    padding: 6px 10px;
  }

  .sort-bar-total {
    font-size: 9px;
  }

  .sort-label {
    display: none;
  }

  .sort-select {
    min-width: 145px;
    height: 36px;
    font-size: 9px;
  }

  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .breadcrumb-bar {
    width: calc(100% - 24px);
    padding-block: 11px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #product-detail-core {
    padding-bottom: 38px;
  }

  .detail-container {
    width: calc(100% - 24px);
    display: block;
  }

  .gallery-container {
    display: flex;
    flex-direction: column-reverse;
  }

  .thumbnails-list {
    width: 100%;
    flex-direction: row;
    overflow-x: auto;
  }

  .thumbnail {
    flex: 0 0 58px;
    width: 58px;
    height: 72px;
  }

  .options-container {
    position: static;
    margin-top: 23px;
  }

  .detail-title {
    font-size: 27px;
  }

  .purchase-actions-row,
  .detail-cart-form {
    flex-wrap: wrap;
  }

  .detail-cart-form .detail-add-to-cart-btn {
    min-width: calc(100% - 116px);
  }

  .tabs-header {
    padding-inline: 16px;
    gap: 22px;
  }

  .tab-content {
    padding: 26px 20px 30px;
  }

  .product-video-section {
    padding: 42px 0;
  }

  .product-video-layout {
    width: calc(100% - 24px);
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .product-video-copy h2 {
    font-size: 30px;
  }

  .footer-intro-copy {
    align-items: flex-start;
  }

  .footer-logo,
  .footer-logo img {
    width: 58px;
    height: 58px;
  }
}

@media (max-width: 430px) {
  .catalog-home .hero-content h1 {
    font-size: 18px;
  }

  .catalog-home .hero-content .btn-primary {
    display: none;
  }

  .product-actions .product-cart-form,
  .product-actions .product-action-btn[aria-label="Sepete Ekle"] {
    display: none;
  }

  .product-actions {
    background: #fff;
  }

  .detail-product-meta {
    display: grid;
    gap: 3px;
  }
}

/* ============================================================
   Sayfa gecis loader + sag-alt floating sosyal medya (UI revizyon)
   ============================================================ */

/* Sayfa gecis loader: logo ortada, yumusak fade. JS body'e 'yukleniyor'
   sinifi ekleyip cikarir; sayfa yuklendiginde gizlenir, gecislerde gorunur. */
.page-loader {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--nd-cream);
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease;
}
body.sayfa-yukleniyor .page-loader {
  opacity: 1;
  visibility: visible;
}
.page-loader-logo {
  width: 96px;
  height: 96px;
  object-fit: contain;
  border-radius: 50%;
  animation: page-loader-nabiz 1s ease-in-out infinite;
}
@keyframes page-loader-nabiz {
  0%, 100% { transform: scale(.9); opacity: .6; }
  50%      { transform: scale(1.05); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .page-loader-logo { animation: none; }
}

/* Sag-alt floating sosyal medya: ana buton + acilan yuvarlaklar */
.social-fab {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1200;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.social-fab-items {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px) scale(.85);
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
}
.social-fab.acik .social-fab-items {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}
.social-fab-link,
.social-fab-toggle {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  font-size: 18px;
  border: 0;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .18);
  text-decoration: none;
  transition: transform .16s ease, filter .16s ease;
}
.social-fab-link:hover,
.social-fab-toggle:hover { transform: scale(1.08); filter: brightness(1.05); }
.social-fab-instagram { background: linear-gradient(45deg, #f09433, #e6683c 30%, #dc2743 50%, #cc2366 75%, #bc1888); }
.social-fab-facebook  { background: #1877f2; }
.social-fab-tiktok    { background: #010101; }
.social-fab-youtube   { background: #ff0000; }
.social-fab-pinterest { background: #e60023; }
.social-fab-toggle { background: var(--nd-accent); }
.social-fab-toggle .social-fab-close { display: none; }
.social-fab.acik .social-fab-toggle .social-fab-open { display: none; }
.social-fab.acik .social-fab-toggle .social-fab-close { display: block; }

/* Mobilde alt sabit navigasyonun uzerine binmesin diye biraz yukari al */
@media (max-width: 768px) {
  .social-fab { right: 14px; bottom: 84px; }
  .social-fab-link, .social-fab-toggle { width: 44px; height: 44px; font-size: 16px; }
}

/* ============================================================
   Hesap / profil sayfalari duzeni (UI revizyon)
   account-wrap yatay padding'i 0 ve max-width yoktu -> icerik kenara
   yapisik, kutular ekran disina tasiyordu; kutu linkleri renksiz (mavi)
   goruunuyordu. Asagisi tum hesap sayfalarini derli toplu hale getirir.
   ============================================================ */

/* Icerik odakli 960px kolonda ORTALANIR (baslik+grid+form ayni hizada);
   cream zemin tam genislikte kalir. */
.account-wrap > * {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

/* Hesap ozet kutulari - ikon + baslik + ok, beyaz kart */
.account-box {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 24px;
  background: #fff;
  border: 1.5px solid var(--nd-blush);
  border-radius: 16px;
  color: var(--nd-ink);
  text-decoration: none;
  font-size: 17px;
  font-weight: 650;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.account-box:hover {
  border-color: var(--nd-accent);
  box-shadow: 0 12px 30px rgba(40, 29, 24, .10);
  transform: translateY(-2px);
}
.account-box i {
  width: 46px;
  height: 46px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--nd-blush);
  color: var(--nd-accent);
  font-size: 19px;
}
.account-box span { flex: 1; }
.account-box::after {
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: var(--nd-muted);
  font-size: 13px;
}

/* Cikis butonu: tam genislikte degil, kutu grid'iyle ayni hizada, ferah */
.account-logout {
  max-width: min(920px, 100%);
  margin-top: 22px;
}
.account-logout .auth-btn {
  width: auto;
  min-width: 200px;
  padding-inline: 32px;
}

/* Siparis/adres/iade liste satirlari + baslik/ust bilgileri okunur boyut */
.orders-satir, .address-item, .returns-satir { font-size: 15px; }
.account-alt-title { font-size: 20px; }

@media (max-width: 720px) {
  .account-grid { grid-template-columns: minmax(0, 1fr); }
  .account-box { font-size: 16px; padding: 18px 20px; }
  .account-logout .auth-btn { width: 100%; }
}

/* ============================================================
   Faz Y3 - Hesap sidebar navigasyonu (marketplace hissi)
   Tum hesabim/* sayfalari artik ortak bir sol navigasyonla (partials/
   hesap-nav.php) 2 kolonlu bir duzende (.hesap-duzen) gosterilir.
   .account-wrap > * kurali (yukarida) tek dogrudan cocuk olan
   .hesap-duzen'i 960px kolonda ortalar; icerideki grid kendi kolonlarini
   yonetir. Mobilde sidebar yatay kaydirilabilir sekme cubuguna doner.
   ============================================================ */

.hesap-duzen {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  align-items: start;
  gap: 28px;
}

.hesap-sidebar {
  position: sticky;
  top: 20px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

/* Profil kartı: su an yalniz ozet.php'de kullaniliyor (talimat: sidebar
   ustunde VEYA ozet sayfasinda). Veri yoksa (email/uyelik tarihi) view
   ilgili satiri zaten basmiyor. */
.hesap-profil-card {
  padding: 20px 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: var(--nd-radius);
  box-shadow: var(--nd-shadow-sm);
}
.hesap-profil-avatar {
  width: 46px;
  height: 46px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--nd-blush);
  color: var(--nd-cocoa);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 700;
}
.hesap-profil-bilgi { min-width: 0; }
.hesap-profil-ad {
  margin: 0 0 3px;
  color: var(--nd-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.hesap-profil-eposta {
  margin: 0;
  color: var(--nd-muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.hesap-profil-uyelik {
  margin: 4px 0 0;
  color: var(--nd-muted);
  font-size: 11px;
}

.hesap-nav {
  padding: 10px;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: var(--nd-radius);
  box-shadow: var(--nd-shadow-sm);
}
.hesap-nav-liste {
  display: grid;
  gap: 2px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.hesap-nav-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  color: var(--nd-ink-soft);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color var(--nd-transition), color var(--nd-transition);
}
.hesap-nav-link i {
  width: 18px;
  text-align: center;
  color: var(--nd-muted);
  font-size: 15px;
}
.hesap-nav-link:hover { background: var(--nd-cream); color: var(--nd-ink); }
.hesap-nav-link.is-aktif { background: var(--nd-blush); color: var(--nd-cocoa); }
.hesap-nav-link.is-aktif i { color: var(--nd-cocoa); }

.hesap-nav-cikis {
  margin: 8px 4px 0;
  padding-top: 10px;
  border-top: 1px solid var(--nd-line);
}
.hesap-nav-cikis button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: transparent;
  border: 0;
  border-radius: 12px;
  color: var(--nd-danger);
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: background-color var(--nd-transition);
}
.hesap-nav-cikis button i { width: 18px; text-align: center; }
.hesap-nav-cikis button:hover { background: rgba(166, 64, 54, .08); }

.hesap-icerik { min-width: 0; }

@media (max-width: 860px) {
  .hesap-duzen { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .hesap-sidebar { position: static; min-width: 0; }

  /* Sidebar -> kaydirmasiz 2 sutunlu kart menu (yatay scroll KALDIRILDI,
     kullanici istegi). Her oge ikon-ustte etiket-altta tile. */
  .hesap-nav { padding: 8px; }
  .hesap-nav-liste {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .hesap-nav-link {
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
    min-height: 66px;
    padding: 12px;
    background: var(--nd-cream);
    border: 1px solid var(--nd-line);
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.25;
  }
  .hesap-nav-link i { font-size: 18px; }
  .hesap-nav-link.is-aktif { background: var(--nd-blush); border-color: var(--nd-blush); }
  .hesap-nav-cikis { margin-top: 8px; padding-top: 10px; }

  .hesap-profil-card { padding: 16px; }
}

/* ============================================================
   Yatay kayma guvenlik agi
   Kullanici talebi: "css kayma etme vs istemiyorum". Tek bir bilesenin
   tasmasi tum sayfayi yatay kaydiriyordu (or. kategori hero'su mobilde
   403px). Asagisi hem kok seviyede kaymayi keser hem de en sik tasan
   bilesenlerin kutu modelini sabitler.
   ============================================================ */
html, body { max-width: 100%; overflow-x: hidden; }

/* Tam-genislik bloklarin dolgusu kutuya dahil olsun (tasma yapmasin) */
.page-banner,
.catalog-category-hero,
.catalog-hero,
.hero-slider,
.catalog-category-rail,
.catalog-shelves,
.cookie-banner-icerik { box-sizing: border-box; max-width: 100%; }

/* Uzun urun adi/kirilmayan metin satiri tasirmasin */
.breadcrumb-bar, .breadcrumb { flex-wrap: wrap; }
.breadcrumb-bar-current, .breadcrumb-current { overflow-wrap: anywhere; }

/* Gorseller hicbir zaman kapsayicidan tasmaz */
img, video { max-width: 100%; }

/* ==========================================================================
   FAZ 8 — HESAP / ODEME / SIPARIS / IADE ONARIMI
   Kok neden: bu sayfalarin siniflari eski style.css'te kalmisti; storefront.css
   yalniz kismen kapsiyordu (checkout-not, checkout-onay, orders-durum, orders-kalem,
   orders-gecmis ... = 0 kural). Asagidaki blok tema token'lariyla (nd-*) tek ve
   cakismasiz olarak yeniden yazar. Dosya sonunda oldugu icin cascade'de kazanir.
   ANASAYFAYA DOKUNMAZ.
   ========================================================================== */

/* --- Odeme: teslimat adresi kartlari (ust uste binme fix) ----------------- */
.checkout-adresler {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}
.checkout-adres {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 0;
  padding: 16px;
  background: #fff;
  border: 1.5px solid var(--nd-line);
  border-radius: 12px;
  cursor: pointer;
  transition: border-color var(--nd-transition), box-shadow var(--nd-transition), background-color var(--nd-transition);
}
.checkout-adres:hover { border-color: var(--nd-rose); }
.checkout-adres input[type="radio"] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--nd-cocoa);
  cursor: pointer;
}
.checkout-adres:has(input:checked) {
  border-color: var(--nd-cocoa);
  background: var(--nd-cream);
  box-shadow: 0 0 0 3px rgba(90, 53, 42, .09);
}
/* Kart icerigi artik label'in kendisi; eski border/bg/padding'i kaldir */
.checkout-adres .checkout-adres-kart {
  flex: 1;
  min-width: 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  color: var(--nd-ink-soft);
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.checkout-adres .checkout-adres-kart b { color: var(--nd-ink); font-weight: 700; }

.checkout-adres-ekle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  color: var(--nd-cocoa);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.checkout-adres-ekle:hover { color: var(--nd-copper); }

/* Onay kutulari (fatura farkli + sozlesme) */
.checkout-onay {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 16px;
  color: var(--nd-ink-soft);
  font-size: 13px;
  line-height: 1.5;
  cursor: pointer;
}
.checkout-onay input[type="checkbox"] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: var(--nd-cocoa);
  cursor: pointer;
}
.checkout-fatura { margin-top: 14px; }

/* --- Odeme: odeme yontemi kartlari ---------------------------------------- */
.checkout-yontem {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 0 0 10px;
  padding: 16px;
  background: #fff;
  border: 1.5px solid var(--nd-line);
  border-radius: 12px;
  cursor: pointer;
  transition: border-color var(--nd-transition), box-shadow var(--nd-transition), background-color var(--nd-transition);
}
.checkout-yontem:last-child { margin-bottom: 0; }
.checkout-yontem:hover { border-color: var(--nd-rose); }
.checkout-yontem input[type="radio"] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--nd-cocoa);
  cursor: pointer;
}
.checkout-yontem:has(input:checked) {
  border-color: var(--nd-cocoa);
  background: var(--nd-cream);
  box-shadow: 0 0 0 3px rgba(90, 53, 42, .09);
}
.checkout-yontem .checkout-yontem-kart {
  flex: 1;
  min-width: 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  color: var(--nd-muted);
  font-size: 12px;
  line-height: 1.55;
}
.checkout-yontem-kart b { color: var(--nd-ink); font-size: 14px; }
.checkout-yontem-kart i { color: var(--nd-copper); margin-right: 4px; }
.checkout-yontem-kart small { color: var(--nd-muted); }

/* --- Odeme: siparis notu --------------------------------------------------- */
.checkout-not {
  width: 100%;
  min-height: 110px;
  box-sizing: border-box;
  padding: 14px 16px;
  color: var(--nd-ink);
  background: #fff;
  border: 1.5px solid var(--nd-blush);
  border-radius: 10px;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.5;
  resize: vertical;
}
.checkout-not:focus {
  outline: 0;
  border-color: var(--nd-copper);
  box-shadow: 0 0 0 4px rgba(169, 103, 85, .08);
}

/* --- Odeme: ozet icindeki sozlesme onayi + KDV notu ----------------------- */
.checkout-sozlesme {
  margin: 18px 0;
  padding-top: 16px;
  border-top: 1px solid var(--nd-line);
  font-size: 12px;
  line-height: 1.6;
}
.checkout-sozlesme a { color: var(--nd-cocoa); font-weight: 700; }
.cart-ozet-kdv { margin: 6px 0 0; }

/* --- Havale/EFT banka bilgi kutusu ---------------------------------------- */
.checkout-banka {
  padding: 20px 22px;
  background: var(--nd-cream);
  border: 1px solid var(--nd-line);
  border-left: 4px solid var(--nd-cocoa);
  border-radius: 12px;
}
.checkout-banka h2 {
  margin: 0 0 12px;
  color: var(--nd-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  font-weight: 600;
}
.checkout-banka p { margin: 0; color: var(--nd-ink-soft); font-size: 14px; line-height: 1.7; }
.checkout-banka b { color: var(--nd-ink); }
.checkout-banka-not {
  margin-top: 12px !important;
  color: var(--nd-cocoa) !important;
  font-size: 12px !important;
  font-weight: 600;
}

/* --- Tesekkur sayfasi ------------------------------------------------------ */
.checkout-tesekkur {
  max-width: 560px;
  margin: 0 auto;
  padding: 44px 36px;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: var(--nd-radius);
  box-shadow: var(--nd-shadow-sm);
  text-align: center;
}
.checkout-tesekkur .checkout-tesekkur-ikon {
  margin-bottom: 6px;
  color: var(--nd-success);
  font-size: 62px;
}
.checkout-tesekkur .cart-title { margin: 8px 0 14px; }
.checkout-tesekkur-no {
  margin: 0 0 6px;
  font-size: 16px;
  color: var(--nd-ink-soft);
}
.checkout-tesekkur-no b, .checkout-tesekkur p b { color: var(--nd-ink); }
.checkout-tesekkur > p { color: var(--nd-muted); font-size: 14px; }
.checkout-tesekkur .checkout-banka { margin: 24px 0; text-align: left; }
.checkout-tesekkur .btn-primary { margin-top: 20px; }

/* --- Durum rozetleri (siparis + iade) ------------------------------------- */
.orders-durum {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  white-space: nowrap;
  background: var(--nd-sand);
  color: var(--nd-ink-soft);
  justify-self: start; /* grid hucresinde yayilmasin (default stretch) */
}
.orders-durum::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}
.orders-durum-beklemede,
.orders-durum-talep       { background: rgba(184, 138, 72, .14); color: #8a6420; }
.orders-durum-onaylandi   { background: rgba(44, 116, 85, .13);  color: var(--nd-success); }
.orders-durum-hazirlaniyor{ background: rgba(169, 103, 85, .15); color: var(--nd-copper); }
.orders-durum-kargoda     { background: rgba(43, 96, 148, .13);  color: #2b6094; }
.orders-durum-teslim_edildi,
.orders-durum-tamamlandi  { background: rgba(44, 116, 85, .15);  color: var(--nd-success); }
.orders-durum-iptal,
.orders-durum-reddedildi  { background: rgba(166, 64, 54, .13);  color: var(--nd-danger); }
.orders-durum-iade        { background: rgba(117, 109, 104, .16); color: var(--nd-muted); }

/* --- Siparislerim listesi -------------------------------------------------- */
.orders-liste { display: grid; gap: 12px; }
.orders-satir {
  display: grid;
  grid-template-columns: 1.4fr auto 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 14px;
  text-decoration: none;
  transition: border-color var(--nd-transition), box-shadow var(--nd-transition), transform var(--nd-transition);
}
.orders-satir:hover {
  border-color: var(--nd-rose);
  box-shadow: var(--nd-shadow-sm);
  transform: translateY(-1px);
}
.orders-no {
  color: var(--nd-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}
.orders-tarih { color: var(--nd-muted); font-size: 13px; }
.orders-toplam {
  color: var(--nd-cocoa);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
}
.orders-sayfalama {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 26px;
}
.orders-sayfalama a {
  min-width: 40px;
  padding: 9px 12px;
  color: var(--nd-ink-soft);
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: all var(--nd-transition);
}
.orders-sayfalama a:hover { border-color: var(--nd-rose); }
.orders-sayfalama a.aktif { color: #fff; background: var(--nd-cocoa); border-color: var(--nd-cocoa); }

/* --- Siparis detay --------------------------------------------------------- */
.account-wrap .orders-detay-ust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: -18px 0 24px;
  color: var(--nd-muted);
  font-size: 13px;
}
.orders-detay-ust b { color: var(--nd-ink); }
.orders-detay-ust a { color: var(--nd-cocoa); font-weight: 700; }

/* --- Siparis durum takip cubugu (stepper) --------------------------------- */
.orders-stepper {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 0;
  margin: 0 0 26px;
  padding: 26px 10px 22px;
  list-style: none;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 16px;
}
.orders-adim {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}
/* Adimlar arasi baglanti cizgisi (ikonun arkasindan gecer) */
.orders-adim::before,
.orders-adim::after {
  content: "";
  position: absolute;
  top: 23px;
  height: 3px;
  width: 50%;
  background: var(--nd-line);
  z-index: 0;
}
.orders-adim::before { left: 0; }
.orders-adim::after { right: 0; }
.orders-adim:first-child::before,
.orders-adim:last-child::after { display: none; }
/* Tamamlanan/aktif adimlarin sol cizgisi dolar */
.orders-adim.tamam::before, .orders-adim.tamam::after,
.orders-adim.aktif::before { background: var(--nd-success); }
.orders-adim-ikon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid var(--nd-line);
  color: #b8ada6;
  font-size: 17px;
  transition: all var(--nd-transition);
}
.orders-adim-etiket {
  color: var(--nd-muted);
  font-size: 12px;
  font-weight: 600;
  padding: 0 4px;
}
.orders-adim.tamam .orders-adim-ikon {
  background: var(--nd-success);
  border-color: var(--nd-success);
  color: #fff;
}
.orders-adim.aktif .orders-adim-ikon {
  background: #fff;
  border-color: var(--nd-success);
  color: var(--nd-success);
  box-shadow: 0 0 0 5px rgba(44, 116, 85, .12);
}
.orders-adim.tamam .orders-adim-etiket,
.orders-adim.aktif .orders-adim-etiket { color: var(--nd-ink); }

.orders-iptal-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 26px;
  padding: 16px 20px;
  background: rgba(166, 64, 54, .09);
  border: 1px solid rgba(166, 64, 54, .2);
  border-radius: 14px;
  color: var(--nd-danger);
  font-size: 14px;
}
.orders-iptal-bar i { font-size: 20px; }
.orders-iptal-bar b { font-weight: 800; }

.orders-kalemler {
  display: grid;
  gap: 10px;
  margin-bottom: 22px;
}
.orders-kalem {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 14px;
}
.orders-kalem-gorsel {
  width: 64px;
  height: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--nd-sand);
  border-radius: 10px;
}
.orders-kalem-gorsel img { width: 100%; height: 100%; object-fit: cover; }
.orders-kalem-gorsel i { color: var(--nd-rose); font-size: 22px; }
.orders-kalem-bilgi { display: grid; gap: 3px; min-width: 0; }
.orders-kalem-ad {
  color: var(--nd-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  overflow-wrap: anywhere;
}
a.orders-kalem-ad:hover { color: var(--nd-copper); }
.orders-kalem-varyasyon, .orders-kalem-adet { color: var(--nd-muted); font-size: 12px; }
.orders-kalem-toplam {
  color: var(--nd-cocoa);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}

/* Detay ozeti: sticky degil. .account-wrap > * onu 960px kolonda ortalar;
   margin override ile o kolondan KACMASIN (eski hali sag kenara tasiyordu). */
.orders-ozet {
  position: static;
  margin-bottom: 22px;
}

.orders-adresler {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}
.orders-adresler > div {
  padding: 18px 20px;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 14px;
}
.orders-adresler h3 {
  margin: 0 0 8px;
  color: var(--nd-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px;
  font-weight: 600;
}
.orders-adresler p { margin: 0; color: var(--nd-ink-soft); font-size: 13px; line-height: 1.6; }

.orders-gecmis {
  margin: 22px 0;
  padding: 22px 24px;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 14px;
}
.orders-gecmis h3 {
  margin: 0 0 16px;
  color: var(--nd-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-weight: 600;
}
.orders-gecmis-satir {
  display: grid;
  grid-template-columns: 130px 130px 1fr;
  gap: 14px;
  align-items: baseline;
  padding: 12px 0 12px 20px;
  position: relative;
  border-left: 2px solid var(--nd-line);
  color: var(--nd-ink-soft);
  font-size: 13px;
}
.orders-gecmis-satir::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 16px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--nd-cocoa);
  border: 3px solid var(--nd-cream);
}
.orders-gecmis-satir:first-child::before { background: var(--nd-success); }
.orders-gecmis-satir > span:first-child { color: var(--nd-muted); font-size: 12px; }
.orders-gecmis-satir > span:nth-child(2) { font-weight: 700; color: var(--nd-ink); }

.returns-cta { display: inline-flex; margin: 4px 0 8px; }
.returns-kapali {
  margin: 4px 0 8px;
  padding: 12px 16px;
  background: var(--nd-sand);
  border-radius: 10px;
  color: var(--nd-muted);
  font-size: 13px;
}

/* --- Iade taleplerim listesi ---------------------------------------------- */
.returns-liste { display: grid; gap: 12px; }
.returns-satir {
  display: grid;
  grid-template-columns: 1.2fr 1.4fr auto auto auto;
  align-items: center;
  gap: 14px;
  padding: 18px 22px;
  background: #fff;
  border: 1px solid var(--nd-line);
  border-radius: 14px;
}
.returns-urun { color: var(--nd-ink); font-weight: 600; overflow-wrap: anywhere; }
.returns-tip {
  padding: 4px 10px;
  background: var(--nd-sand);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  color: var(--nd-ink-soft);
  justify-self: start;
}
.returns-sebep { color: var(--nd-muted); font-size: 13px; }

/* --- Iade talep formu ------------------------------------------------------ */
.returns-hijyen {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: -18px 0 22px;
  padding: 14px 16px;
  background: rgba(184, 138, 72, .1);
  border-radius: 12px;
  color: #7a5a1c;
  font-size: 13px;
  line-height: 1.55;
}
.returns-hijyen i { margin-top: 2px; color: var(--nd-gold); }
.returns-hijyen a { color: var(--nd-cocoa); font-weight: 700; }
.returns-form h3 {
  margin: 8px 0 2px;
  color: var(--nd-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 600;
}
/* .returns-form label {display:grid} (0,1,1) bunlari eziyordu -> radio'lar alt
   alta diziliyordu. Daha yuksek ozgulluk (.returns-form .xxx) ile flex-row. */
.returns-form .returns-kalem, .returns-form .returns-tip-secim {
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 0;
  padding: 14px 16px;
  background: #fff;
  border: 1.5px solid var(--nd-line);
  border-radius: 12px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  color: var(--nd-ink-soft);
  transition: border-color var(--nd-transition);
}
.returns-form .returns-kalem:hover, .returns-form .returns-tip-secim:hover { border-color: var(--nd-rose); }
.returns-form .returns-kalem input, .returns-form .returns-tip-secim input {
  flex-shrink: 0; accent-color: var(--nd-cocoa); width: 17px; height: 17px; margin: 0;
}
.returns-form .returns-kalem:has(input:checked), .returns-form .returns-tip-secim:has(input:checked) {
  border-color: var(--nd-cocoa);
  background: var(--nd-cream);
}
.returns-form .returns-kalem.is-disabled {
  opacity: .55;
  cursor: not-allowed;
  background: var(--nd-sand);
}
.returns-kalem em { color: var(--nd-danger); font-style: normal; font-size: 12px; }
.returns-sebep-secim { margin: 0; }

/* --- Adreslerim ------------------------------------------------------------ */
.address-add-btn { width: auto; display: inline-flex; margin-bottom: 20px; }
.address-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}
.address-item { display: flex; flex-direction: column; gap: 6px; }
.address-head { display: flex; align-items: center; gap: 10px; }
.address-head strong { color: var(--nd-ink); font-size: 15px; }
.address-default {
  padding: 3px 9px;
  background: rgba(44, 116, 85, .13);
  border-radius: 999px;
  color: var(--nd-success);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}
.address-item p { margin: 0; color: var(--nd-ink-soft); font-size: 13px; line-height: 1.5; }
.address-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--nd-line);
}
.address-actions > a, .link-button {
  padding: 0;
  color: var(--nd-cocoa);
  background: none;
  border: 0;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.address-actions > a:hover, .link-button:hover { color: var(--nd-copper); }
.link-danger { color: var(--nd-danger); }
.link-danger:hover { color: var(--nd-danger); text-decoration: underline; }
.address-actions form { margin: 0; display: inline; }

/* --- Genel hesap bosluklari ----------------------------------------------- */
.account-geri {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 26px;
  text-decoration: none;
}
.account-geri:hover { color: var(--nd-copper); }
.account-empty {
  padding: 40px 24px;
  background: #fff;
  border: 1px dashed var(--nd-line);
  border-radius: var(--nd-radius);
  text-align: center;
  color: var(--nd-muted);
}

/* --- FAZ 8 responsive ------------------------------------------------------ */
@media (max-width: 640px) {
  .orders-satir { grid-template-columns: 1fr auto; gap: 6px 12px; }
  .orders-satir .orders-durum { grid-column: 1 / -1; justify-self: start; }
  .orders-toplam { text-align: right; }
  .returns-satir { grid-template-columns: 1fr auto; }
  .returns-satir .returns-sebep, .returns-satir .returns-urun { grid-column: 1 / -1; }
  .orders-kalem { grid-template-columns: 56px 1fr; }
  .orders-kalem-toplam { grid-column: 2 / 3; justify-self: end; }
  .orders-gecmis-satir { grid-template-columns: 1fr; gap: 2px; }
  .orders-ozet { max-width: none; }
  .orders-stepper { padding: 20px 4px 16px; }
  .orders-adim { gap: 7px; }
  .orders-adim-ikon { width: 38px; height: 38px; font-size: 14px; border-width: 2.5px; }
  .orders-adim::before, .orders-adim::after { top: 19px; height: 2.5px; }
  .orders-adim-etiket { font-size: 10px; padding: 0 2px; line-height: 1.25; }
}
