/* Yön 1: Gece. Siyah, fırçalanmış altın, Bodoni Moda. Sinematik ve ortalı. */

/* ₺ işareti: Schibsted Grotesk'teki ₺ çizimi £'a çok benzediği için yalnızca bu harf,
   onu net çizen sistem yazı tiplerinden alınır (unicode-range sayesinde diğer harfler etkilenmez).
   Hiçbiri yoksa sayfalara eklenen Noto Sans parçası (yalnızca ₺ harfini içerir) devreye girer. */
@font-face {
  font-family: "TT Lira";
  src: local("Segoe UI"), local("SegoeUI"), local("SF Pro Text"), local(".SFNSText-Regular"), local("Helvetica Neue"), local("Roboto"), local("Arial");
  unicode-range: U+20BA;
}
:root {
  --black: #000;
  --lacquer: #14110d;
  --lacquer-2: #1d1913;
  --gold: #c9a25e;
  --gold-hi: #eed9a6;
  --bone: #ece5d8;
  --ash: #968e82;
  --line: rgba(236, 229, 216, .12);
  --detail: rgba(0, 0, 0, .42);
  --sheen: rgba(255, 255, 255, .55);
  --focus: var(--gold-hi);

  --display: "Bodoni Moda", Didot, "Times New Roman", serif;
  --text: "TT Lira", "Noto Sans", "Schibsted Grotesk", system-ui, sans-serif;
  --gutter: clamp(1.25rem, 4vw, 3rem);
  --wrap: min(1200px, 100% - 2 * var(--gutter));
  --wide: min(1400px, 100% - 2 * var(--gutter));
  --ease: cubic-bezier(.2, .7, .2, 1);
}

html { background: var(--black); color: var(--bone); }
body {
  font-family: var(--text);
  font-size: clamp(1rem, .96rem + .18vw, 1.0625rem);
  line-height: 1.55;
}
::selection { background: var(--gold); color: var(--black); }

/* Ortak çizim renkleri */
.k-blade { fill: url(#g-steel); }
.k-tsuka { fill: url(#g-gold); }
.k-saya, .k-saya-static { fill: url(#g-urushi); }

/* Logo: fotoğraftan çizilmiş vektör (logo/). Her boyutta net kalır. */
.tt-emblem { aspect-ratio: 272.5 / 362; background: url(logo/amblem.svg) center / contain no-repeat; }
.tt-logo { aspect-ratio: 346 / 577; background: url(logo/logo.svg) center / contain no-repeat; -webkit-mask-image: none; mask-image: none; }
/* Logodaki samuray (yazısız) */
.samurai { display: block; }

/* Düğmeler */
.actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 46px; padding: .7rem 1.5rem; border-radius: 999px;
  font-size: .95rem; font-weight: 500; letter-spacing: .01em;
  transition: background-color .25s, color .25s, border-color .25s;
}
.btn--gold { background: var(--gold); color: var(--black); }
.btn--gold:hover { background: var(--gold-hi); }
.btn--ghost { border: 1px solid rgba(236, 229, 216, .3); color: var(--bone); }
.btn--ghost:hover { border-color: var(--bone); }

/* Başlık çubuğu */
.site-header {
  position: fixed; inset: 0 0 auto; z-index: 50;
  border-bottom: 1px solid transparent;
  transition: background-color .4s, border-color .4s;
}
.site-header.is-scrolled {
  background: rgba(0, 0, 0, .72);
  -webkit-backdrop-filter: saturate(1.4) blur(18px);
  backdrop-filter: saturate(1.4) blur(18px);
  border-color: var(--line);
}
.site-header__inner {
  width: var(--wide); margin-inline: auto; height: 60px;
  display: flex; align-items: center; gap: 1.5rem;
}
/* Bir menü açıkken başlık şeffaf kalmaz */
.site-header.menu-open { background: var(--black); border-color: var(--line); -webkit-backdrop-filter: none; backdrop-filter: none; }
.brand { display: inline-flex; align-items: center; gap: .65rem; flex-shrink: 0; }
.brand__emblem { width: 28px; }
.brand__name { font-family: var(--display); font-size: 1.2rem; letter-spacing: .01em; }
.site-header__actions { display: flex; align-items: center; gap: .25rem; flex-shrink: 0; }
.icon-btn { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; }
.icon-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.header-cta { min-height: 34px; margin-left: .5rem; padding: .35rem 1rem; font-size: .825rem; }
.nav-toggle { display: none; }

/* Ana menü */
.site-nav { flex: 1; display: flex; justify-content: center; align-self: stretch; }
.nav-list { display: flex; gap: 1.6rem; list-style: none; }
.nav-item { display: flex; }
.nav-item__row { display: flex; align-items: center; gap: .1rem; }
.nav-link {
  display: inline-flex; align-items: center; gap: .35rem; height: 100%;
  font-size: .875rem; color: rgba(236, 229, 216, .72); white-space: nowrap; transition: color .2s;
}
.nav-link:hover, .nav-item.is-open .nav-link { color: var(--bone); }
.sub-toggle { display: grid; place-items: center; width: 22px; height: 30px; color: rgba(236, 229, 216, .6); }
.sub-toggle.sub-toggle--label { display: inline-flex; width: auto; height: 100%; color: rgba(236, 229, 216, .72); }
.chev { width: 10px; height: 10px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s var(--ease); }
.is-open > .nav-item__row .chev { transform: rotate(180deg); }
.nav-cta { display: none; }

/* Menü görselleri */
.cat-art svg { width: 70%; height: 70%; fill: url(#g-gold); }
.cat-art .samurai { width: 74%; }

/* Cosplay & Katana açılır menüsü: solda öne çıkan Katana ve Kılıçlar, sağda diğerleri */
.dd-feature {
  position: relative; overflow: hidden;
  display: flex; flex-direction: column; justify-content: flex-end;
  min-height: 264px; padding: 1.25rem; border-radius: 16px;
  background: radial-gradient(90% 70% at 50% 28%, rgba(201, 162, 94, .24), transparent 70%), var(--lacquer);
}
.dd-feature__art { position: absolute; left: 4%; right: 4%; top: 2.4rem; display: block; transform: rotate(-10deg); transition: transform .6s var(--ease); }
.dd-feature__art svg { width: 100%; height: auto; }
.dd-feature:hover .dd-feature__art { transform: rotate(-10deg) translateX(8px); }
/* Katana dışındaki görseller kartın üstünde ortalanır */
.dd-feature__art:not(.dd-feature__art--katanaWide) {
  left: 50%; right: auto; top: 1.25rem; width: 132px; height: 132px;
  display: grid; place-items: center; transform: translateX(-50%);
}
.dd-feature:hover .dd-feature__art:not(.dd-feature__art--katanaWide) { transform: translateX(-50%) translateY(-4px); }
.dd-feature__art:not(.dd-feature__art--katanaWide) svg { width: 100%; height: 100%; }
.dd-feature__art--samurai .samurai { width: 112px; }
.dd-feature__art--jet svg { transform: rotate(-12deg); }
.dd-feature__note { color: var(--gold); font-size: .8rem; }
.dd-feature__name { margin-top: .15rem; font-family: var(--display); font-size: 1.6rem; line-height: 1.1; transition: color .2s; }
.dd-feature:hover .dd-feature__name { color: var(--gold-hi); }
.dd-feature__desc { margin-top: .25rem; color: var(--ash); font-size: .875rem; }
.dd-side { display: flex; flex-direction: column; }
.dd-list { list-style: none; display: grid; gap: .1rem; }
.dd-list a { display: block; padding: .65rem .75rem; border-radius: 12px; transition: background-color .2s; }
.dd-list a:hover { background: var(--lacquer); }
.dd-list__name { display: block; font-size: .95rem; font-weight: 500; }
.dd-list__desc { display: block; margin-top: .1rem; color: var(--ash); font-size: .825rem; }
.dd-all { align-self: start; margin: auto .75rem 0; padding-top: .75rem; color: var(--gold-hi); font-size: .875rem; }
.dd-all:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Tüm Kategoriler mega menüsü */
.mega__grid { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.75rem 2.5rem; }
.mega__cat { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 1.1rem; align-items: start; }
.mega__art {
  width: 96px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 16px;
  background: radial-gradient(80% 70% at 50% 70%, rgba(201, 162, 94, .2), transparent 70%), var(--lacquer);
  transition: transform .4s var(--ease);
}
.mega__cat:hover .mega__art { transform: translateY(-3px); }
.mega__name { display: inline-block; font-family: var(--display); font-size: 1.35rem; line-height: 1.15; transition: color .2s; }
.mega__name:hover { color: var(--gold-hi); }
.mega__subs { list-style: none; display: grid; gap: .3rem; margin-top: .5rem; }
.mega__subs a { color: var(--ash); font-size: .875rem; transition: color .2s; }
.mega__subs a:hover { color: var(--bone); }
.mega__subs a.is-featured { color: var(--gold-hi); }
.mega__foot { margin-top: 1.75rem; padding-top: 1.25rem; border-top: 1px solid var(--line); color: var(--ash); font-size: .875rem; }
.mega__foot a { color: var(--gold-hi); border-bottom: 1px solid rgba(238, 217, 166, .35); }

/* Geniş ekranda paneller başlığın altından açılır */
@media (min-width: 1280px) {
  .has-menu:not(.has-mega) { position: relative; }
  .menu-panel {
    position: absolute; top: 100%; z-index: 1;
    opacity: 0; visibility: hidden; transform: translateY(-6px);
    transition: opacity .2s, transform .25s var(--ease), visibility 0s .25s;
  }
  .has-menu.is-open > .menu-panel { opacity: 1; visibility: visible; transform: none; transition: opacity .2s, transform .25s var(--ease); }
  .dropdown {
    left: -1.25rem; width: 640px;
    display: grid; grid-template-columns: 1.05fr 1fr; gap: 1rem; padding: 1rem;
    background: var(--black); border: 1px solid var(--line); border-top: 0; border-radius: 0 0 22px 22px;
    box-shadow: 0 30px 60px rgba(0, 0, 0, .6);
  }
  .mega { left: 0; right: 0; background: var(--black); border-bottom: 1px solid var(--line); box-shadow: 0 40px 80px rgba(0, 0, 0, .7); }
  .mega__inner { width: var(--wide); margin-inline: auto; padding: 2.25rem 0 1.75rem; }
}

/* Dar ekranda tam ekran menü; alt menüler akordeon gibi açılır */
@media (max-width: 1279px) {
  .site-header__actions { margin-left: auto; }
  .nav-toggle { display: grid; }
  .nav-toggle span { grid-area: 1 / 1; width: 18px; height: 1.5px; background: currentColor; transition: transform .3s var(--ease); }
  .nav-toggle span:first-child { transform: translateY(-4px); }
  .nav-toggle span:last-child { transform: translateY(4px); }
  .nav-open .nav-toggle span:first-child { transform: rotate(45deg); }
  .nav-open .nav-toggle span:last-child { transform: rotate(-45deg); }
  .nav-open, .nav-open body { overflow: hidden; }
  /* backdrop-filter, sabit konumlu menüyü başlığın içine hapseder; menü açıkken kaldırılır */
  .nav-open .site-header { background: var(--black); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .site-nav {
    position: fixed; inset: 60px 0 0; display: block;
    padding: .5rem var(--gutter) 3rem; background: var(--black); overflow-y: auto; overscroll-behavior: contain;
    opacity: 0; visibility: hidden; transition: opacity .3s, visibility 0s .3s;
  }
  .nav-open .site-nav { opacity: 1; visibility: visible; transition: opacity .3s; }
  .nav-list { flex-direction: column; gap: 0; }
  .nav-item { display: block; border-bottom: 1px solid var(--line); }
  .nav-item__row { justify-content: space-between; }
  .nav-link { height: auto; padding: 1rem 0; font-family: var(--display); font-size: 1.6rem; color: var(--bone); }
  .sub-toggle { width: 44px; height: 44px; color: var(--bone); }
  .sub-toggle.sub-toggle--label { width: 100%; height: auto; justify-content: space-between; color: var(--bone); }
  .chev { width: 14px; height: 14px; }
  .menu-panel { display: none; padding-bottom: 1.25rem; }
  .has-menu.is-open > .menu-panel { display: block; }
  .dd-feature { min-height: 0; padding: 1rem 1.1rem; border-radius: 14px; }
  .dd-feature__art { display: none; }
  .dd-feature__name { font-size: 1.3rem; }
  .dd-list a { padding: .7rem 0; }
  .dd-list a:hover { background: none; }
  .dd-all { margin: .25rem 0 0; }
  .mega__grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .mega__cat { grid-template-columns: 56px minmax(0, 1fr); gap: .9rem; }
  .mega__art { width: 56px; border-radius: 12px; }
  .mega__name { font-size: 1.15rem; }
  .mega__subs { display: flex; flex-wrap: wrap; gap: .3rem .9rem; margin-top: .35rem; }
  .mega__foot { margin-top: 1.25rem; }
  .nav-cta { display: flex; width: 100%; margin-top: 1.75rem; }
}
/* Orta genişlikte menü öğeleri birbirine biraz yaklaşır */
@media (min-width: 1280px) and (max-width: 1440px) {
  .site-header__inner { gap: 1rem; }
  .nav-list { gap: 1.05rem; }
}
@media (max-width: 600px) {
  .header-cta { display: none; }
}
/* Giriş: logo karanlıktan çıkar, üstünden altın bir ışık geçer */
.intro { background: var(--black); transition: opacity .6s var(--ease); }
.intro.is-leaving { opacity: 0; }
/* Slogan altta asılı durduğu için grup ekranda ortalansın diye biraz yukarı alınır */
.intro__stage { position: relative; width: min(260px, 54vw); margin-top: -3.5rem; transition: transform .6s var(--ease); }
.intro.is-leaving .intro__stage { transform: scale(.94); }
.intro__art { position: relative; }
.intro.is-playing .intro__art { animation: g-scale 2.4s var(--ease) forwards; }
.intro__logo { width: 100%; opacity: 0; }
.intro.is-playing .intro__logo { animation: g-logo 2.4s var(--ease) forwards; }
/* Parlama: logonun çok daha parlak bir kopyası; yalnızca üzerinden geçen dar bant görünür */
.intro__shine {
  position: absolute; inset: 0; opacity: 0;
  /* rengi azaltılıp parlatılınca altın çizgiler beyaza yakın parlar */
  filter: saturate(.35) brightness(1.7) drop-shadow(0 0 6px rgba(255, 228, 165, .9));
  -webkit-mask-image: linear-gradient(105deg, transparent 33%, rgba(0, 0, 0, .55) 41%, #000 46.5%, #000 53.5%, rgba(0, 0, 0, .55) 59%, transparent 67%);
  mask-image: linear-gradient(105deg, transparent 33%, rgba(0, 0, 0, .55) 41%, #000 46.5%, #000 53.5%, rgba(0, 0, 0, .55) 59%, transparent 67%);
  -webkit-mask-size: 300% 100%; mask-size: 300% 100%;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: 100% 0; mask-position: 100% 0;
  -webkit-mask-composite: source-over; mask-composite: add;
}
.intro.is-playing .intro__shine { animation: g-shine 1.3s .75s ease-in-out forwards; }
/* Slogan: logonun altında, iki yanında ince altın çizgilerle; ışık geçerken belirir */
.intro__motto {
  position: absolute; top: 100%; left: 50%; translate: -50% 0; margin-top: clamp(1.1rem, 3vh, 1.6rem);
  display: flex; align-items: center; gap: .9rem; white-space: nowrap;
  font-family: var(--display); font-size: clamp(1rem, .85rem + .6vw, 1.35rem);
  color: var(--gold-hi); opacity: 0;
}
.intro__motto::before, .intro__motto::after { content: ""; width: clamp(1.5rem, 4vw, 2.75rem); height: 1px; }
.intro__motto::before { background: linear-gradient(to right, transparent, var(--gold)); transform-origin: right; }
.intro__motto::after { background: linear-gradient(to left, transparent, var(--gold)); transform-origin: left; }
.intro.is-playing .intro__motto { animation: g-motto 1s 1.15s var(--ease) forwards; }
.intro.is-playing .intro__motto::before, .intro.is-playing .intro__motto::after { animation: g-motto-line .9s 1.35s var(--ease) both; }
.intro__skip { color: var(--ash); border: 1px solid var(--line); transition: color .2s, border-color .2s; }
.intro__skip:hover { color: var(--bone); border-color: var(--ash); }
/* Tarayıcı sesi kendiliğinden çalmaya izin vermezse görünür */
.intro__sound {
  position: absolute;
  left: max(1.25rem, env(safe-area-inset-left));
  bottom: max(1.25rem, env(safe-area-inset-bottom));
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .55rem 1.1rem; border-radius: 999px; font-size: .875rem;
  color: var(--gold-hi); border: 1px solid rgba(201, 162, 94, .45);
  animation: g-fade .4s ease both;
  transition: border-color .2s, color .2s;
}
.intro__sound[hidden] { display: none; }
.intro__sound:hover { border-color: var(--gold); color: var(--bone); }
.intro__sound svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
@keyframes g-fade { from { opacity: 0; } }

@keyframes g-logo {
  /* Karanlıktan doğar */
  0% { opacity: 0; filter: brightness(.15); }
  30% { opacity: 1; }
  75% { filter: brightness(1.04); }
  100% { opacity: 1; filter: brightness(1); }
}
@keyframes g-motto {
  0% { opacity: 0; letter-spacing: .02em; transform: translateY(6px); }
  100% { opacity: 1; letter-spacing: .1em; transform: none; }
}
@keyframes g-motto-line { 0% { transform: scaleX(0); } 100% { transform: scaleX(1); } }
@keyframes g-scale { 0% { transform: scale(1.08); } 75%, 100% { transform: scale(1); } }
@keyframes g-shine {
  0% { opacity: 0; -webkit-mask-position: 100% 0; mask-position: 100% 0; }
  18%, 82% { opacity: 1; }
  100% { opacity: 0; -webkit-mask-position: 0% 0; mask-position: 0% 0; }
}
/* Açılış bölümü */
/* Kın, yaklaşık bir ekran boyu kaydırmada tamamen çekilir */
.hero { position: relative; height: 185vh; }
.hero__stage {
  position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden;
  display: grid; grid-template-rows: 1fr auto 1fr; grid-template-columns: 100%; justify-items: center;
  padding: 84px var(--gutter) 2rem; text-align: center;
}
.hero__glow {
  position: absolute; top: 55%; left: calc(18% + var(--p, 0) * 64%);
  width: 80vmax; aspect-ratio: 1; translate: -50% -50%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(201, 162, 94, .2), rgba(201, 162, 94, .06) 45%, transparent);
}
.hero__head { position: relative; align-self: end; }
.hero__title {
  font-family: var(--display); font-weight: 400;
  font-size: clamp(2.75rem, 1rem + 7.2vw, 7.75rem);
  line-height: .95; letter-spacing: -.025em;
  text-wrap: balance;
}
.hero__lead {
  max-width: 34em; margin: 1.25rem auto 2rem;
  font-size: clamp(1rem, .92rem + .45vw, 1.3rem); color: var(--ash); text-wrap: pretty;
}
.hero__katana { position: relative; width: min(1300px, 96vw); margin-block: clamp(1.5rem, 6vh, 4.5rem); }
.hero__katana svg { width: 100%; height: auto; overflow: visible; filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .8)); }
/* Kın, namlunun kavsini oluşturan çemberin merkezi etrafında döner; böylece namlu boyunca kayar */
.hero .k-saya-foto {
  transform: rotate(calc(var(--p, 0) * -6.6deg));
  transform-origin: 1089px -11391px;
  opacity: calc(1.7 - var(--p, 0) * 1.7);
}
.hero__caption {
  position: relative; align-self: start; color: var(--ash); font-size: .95rem;
  opacity: clamp(0, (var(--p, 0) - .55) * 4, 1);
  transform: translateY(calc((1 - clamp(0, (var(--p, 0) - .55) * 4, 1)) * 14px));
}
.hero__caption strong { color: var(--bone); font-weight: 500; }

/* Sayfadaki tek giriş anı: perde kalkınca başlık ve katana belirir */
.js .hero__head, .js .hero__katana { opacity: 0; transform: translateY(14px); transition: opacity 1.3s var(--ease), transform 1.3s var(--ease); }
.js .hero__katana { transform: scale(.97); }
.intro-done .hero__head { opacity: 1; transform: none; }
.intro-done .hero__katana { opacity: 1; transform: none; transition-delay: .3s; }

@media (max-width: 700px) {
  .hero { height: 175vh; }
  .hero__katana { width: 150vw; margin-block: 22vw; }
  .hero__katana svg { transform: rotate(-24deg); }
}

/* Bölüm başlıkları */
.section { padding-block: clamp(5rem, 12vw, 10rem); }
.section-head { width: var(--wrap); margin: 0 auto clamp(2.5rem, 5vw, 4rem); text-align: center; }
.section-head h2 {
  font-family: var(--display); font-weight: 400;
  font-size: clamp(2.25rem, 1.1rem + 4.2vw, 4.75rem); line-height: 1; letter-spacing: -.02em;
}
.section-head p { max-width: 36em; margin: 1rem auto 0; color: var(--ash); text-wrap: pretty; }
.section-head--row { display: flex; align-items: end; justify-content: space-between; gap: 2rem; text-align: left; }
.section-head--row p { margin-inline: 0; }

/* Koleksiyonlar */
.collections__grid {
  width: var(--wide); margin-inline: auto;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(.75rem, 1.4vw, 1.25rem);
}
.tile {
  position: relative; overflow: hidden; isolation: isolate;
  display: flex; flex-direction: column; align-items: center; text-align: center;
  min-height: clamp(440px, 64vh, 660px); padding: clamp(2.25rem, 4vw, 3.5rem) 1.5rem 0;
  border-radius: 28px;
  background: radial-gradient(120% 75% at 50% 112%, rgba(201, 162, 94, .2), transparent 62%), var(--lacquer);
}
.tile--wide { grid-column: 1 / -1; }
.tile h3 { font-family: var(--display); font-weight: 400; font-size: clamp(1.9rem, 1rem + 2.6vw, 3.25rem); line-height: 1.05; letter-spacing: -.015em; }
.tile p { margin-top: .5rem; color: var(--ash); }
.tile__link { display: inline-block; margin-top: 1.1rem; color: var(--gold-hi); font-size: .95rem; border-bottom: 1px solid rgba(238, 217, 166, .35); padding-bottom: 2px; transition: border-color .25s; }
.tile:hover .tile__link { border-color: var(--gold-hi); }
.tile__art { margin-top: auto; fill: url(#g-gold); transition: transform .9s var(--ease); }
.tile:hover .tile__art { transform: translateY(-10px); }
.tile__art--katana { width: min(1000px, 96%); margin-bottom: clamp(2rem, 5vw, 4rem); }
.tile__art--shells { width: min(340px, 64%); margin-bottom: -12%; }
.tile__art--jet { width: min(360px, 70%); margin-bottom: -18%; transform: rotate(-12deg); }
.tile:hover .tile__art--jet { transform: rotate(-12deg) translateY(-14px); }
.tile__art--headset { width: min(380px, 72%); margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.tile__art--figure { width: min(300px, 56%); margin-bottom: clamp(2rem, 4vw, 3rem); }
.tile__art--vase { width: min(230px, 46%); margin-bottom: -10%; }
/* Cosplay & Katana karosu: başlık tüm karoya bağlanır, alt kategori bağlantıları üstte kalır */
.tile__main::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.tile__subs { position: relative; z-index: 1; list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: 1.25rem; }
.tile__subs a {
  display: inline-flex; align-items: center; min-height: 36px; padding: .35rem .95rem; border-radius: 999px;
  background: rgba(0, 0, 0, .35); border: 1px solid rgba(236, 229, 216, .16); font-size: .875rem;
  transition: border-color .2s, background-color .2s;
}
.tile__subs a:hover { border-color: var(--bone); }
.tile__subs a.is-featured { background: var(--gold); border-color: var(--gold); color: var(--black); }
.tile__subs a.is-featured:hover { background: var(--gold-hi); }

@media (max-width: 700px) {
  .collections__grid { grid-template-columns: 1fr; }
  .tile { min-height: 480px; }
}

/* Öne çıkanlar */
.featured .section-head { width: var(--wide); }
.rail-ctrl { display: flex; gap: .5rem; flex-shrink: 0; }
.rail-ctrl button {
  width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
  background: var(--lacquer-2); transition: background-color .2s, opacity .2s;
}
.rail-ctrl button:hover:not(:disabled) { background: #2b261e; }
.rail-ctrl button:disabled { opacity: .35; cursor: default; }
.rail-ctrl svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.rail {
  list-style: none; display: grid; grid-auto-flow: column;
  grid-auto-columns: clamp(250px, 29vw, 380px); gap: clamp(.9rem, 1.6vw, 1.5rem);
  overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
  padding-inline: max(var(--gutter), (100% - 1400px) / 2); scroll-padding-inline: max(var(--gutter), (100% - 1400px) / 2);
  padding-bottom: .5rem; scrollbar-width: none;
}
.rail::-webkit-scrollbar { display: none; }
/* Kayan şerit: yakalama kapalı (yoksa yavaş kayma her karede geri çekilir), kenarlar yumuşakça söner */
.rail--marquee {
  grid-auto-columns: clamp(240px, 23vw, 330px);
  scroll-snap-type: none; padding-inline: 0; scroll-padding-inline: 0;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
}
.rail--marquee.is-auto { overflow: hidden; touch-action: pan-y; cursor: grab; user-select: none; -webkit-user-select: none; }
.rail--marquee.is-auto:active { cursor: grabbing; }
.rail--marquee.is-auto > li { transform: translate3d(var(--x, 0px), 0, 0); will-change: transform; }
.rail--marquee.is-auto img, .rail--marquee.is-auto a { -webkit-user-drag: none; }
.rail-ctrl .i-play { display: none; }
.rail-ctrl [aria-pressed="true"] .i-pause { display: none; }
.rail-ctrl [aria-pressed="true"] .i-play { display: block; }
.rail-ctrl .i-play path { fill: currentColor; stroke: none; }
.product { scroll-snap-align: start; }
.product__media {
  aspect-ratio: 4 / 5; border-radius: 22px; overflow: hidden;
  display: grid; place-items: center;
  background: radial-gradient(75% 55% at 50% 72%, rgba(201, 162, 94, .16), transparent), var(--lacquer);
}
.product__media svg { width: 72%; height: 72%; fill: url(#g-gold); transition: transform .9s var(--ease); }
.product__media .k-blade { fill: url(#g-steel); }
.product__samurai { width: 66%; transition: transform .9s var(--ease); }
.product a:hover .product__media svg, .product a:hover .product__samurai { transform: scale(1.04); }
.product h3 { margin-top: 1.1rem; font-family: var(--display); font-weight: 400; font-size: 1.5rem; line-height: 1.15; }
.product__spec { margin-top: .2rem; color: var(--ash); font-size: .95rem; }
.product__price { margin-top: .55rem; font-variant-numeric: tabular-nums; }

/* Özel sipariş */
.custom {
  width: var(--wide); margin-inline: auto; overflow: hidden;
  display: grid; grid-template-columns: 1fr 1.15fr; align-items: center;
  border-radius: 36px;
  background:
    radial-gradient(70% 90% at 15% 60%, rgba(201, 162, 94, .22), transparent 65%),
    linear-gradient(180deg, var(--lacquer-2), var(--lacquer));
  /* Bağlantıyla gelinince sabit başlığın altında kalmasın */
  scroll-margin-top: 76px;
}
/* Boşluklar ekran yüksekliğine göre de daralır: kart, laptop ekranına tek seferde sığar */
.custom__art { padding: clamp(1.5rem, 4vh, 2.5rem) 0 clamp(1.5rem, 4vh, 2.5rem) 2rem; }
.custom__art .samurai { width: min(340px, 100%, 50vh); margin-inline: auto; }
.custom__body { padding: clamp(2rem, 6vh, 3.75rem) clamp(1.5rem, 4.5vw, 4.5rem); }
.custom__body h2 {
  font-family: var(--display); font-weight: 400;
  font-size: clamp(2.1rem, 1.1rem + 2.7vw, 3.6rem); line-height: 1.02; letter-spacing: -.02em; text-wrap: balance;
}
.custom__lead { max-width: 32em; margin-top: 1rem; color: var(--ash); }
.custom__formats { max-width: 32em; margin-top: .6rem; color: var(--gold-hi); font-size: .95rem; }
.steps { list-style: none; counter-reset: step; display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(1rem, 2.5vh, 1.5rem) 2rem; margin: clamp(1.25rem, 3.5vh, 2rem) 0; }
.steps li {
  counter-increment: step; padding-top: .8rem; border-top: 1px solid var(--line);
  display: grid; grid-template-columns: 1.6rem 1fr; column-gap: .6rem; align-items: baseline;
}
.steps li::before {
  content: counter(step); grid-row: span 2;
  font-family: var(--display); font-size: 1.65rem; line-height: 1; color: var(--gold);
}
.steps h3 { font-size: 1rem; font-weight: 600; }
.steps p { margin-top: .25rem; color: var(--ash); font-size: .925rem; }

/* Alçak laptop ekranları (ör. 1366x768): başlık ve adımlar biraz daha sıkı */
@media (min-width: 901px) and (max-height: 760px) {
  .custom__body h2 { font-size: clamp(2.1rem, 1rem + 2.3vw, 3.1rem); }
  .custom__lead { font-size: .95rem; }
  .steps p { font-size: .875rem; }
}
@media (min-width: 901px) and (max-height: 680px) {
  .custom__body { padding-block: 1.75rem; }
  .steps { margin-block: 1.1rem; row-gap: .9rem; }
}
@media (max-width: 900px) {
  .custom { grid-template-columns: 1fr; }
  .custom__art { order: 2; padding: 0 2rem 3rem; }
  .custom__art .samurai { width: min(300px, 76%); }
}
@media (max-width: 480px) {
  .steps { grid-template-columns: 1fr; }
}

/* Alt bilgideki konum: geniş harita, altında açık adres ve harita bağlantıları */
.location {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: .85rem;
  margin-top: 1.4rem; max-width: 320px;
}
.map {
  position: relative; overflow: hidden; isolation: isolate;
  display: block; aspect-ratio: 16 / 8;
  border-radius: 14px; background: #15120d;
}
.location__text address { font-style: normal; font-size: .84rem; color: var(--bone); line-height: 1.5; }
.site-footer .location__apps { display: flex; flex-wrap: wrap; gap: .3rem 1.1rem; margin-top: .5rem; font-size: .8rem; }
.location__apps a { color: var(--ash); border-bottom: 1px solid rgba(236, 229, 216, .2); transition: color .2s, border-color .2s; }
.location__apps a:hover { color: var(--bone); border-color: var(--bone); }
.map__art { position: absolute; inset: 0; width: 100%; height: 100%; transition: transform 1.2s var(--ease); }
.map:hover .map__art { transform: scale(1.03); }
.map__ground { fill: #15120d; }
.map__minor path { fill: none; stroke: #241f17; stroke-width: 7; }
.map__major path { fill: none; stroke: #3a3124; stroke-width: 15; stroke-linecap: round; }
.map__park { fill: #1d1a10; }
.map__water { fill: #0b0c0d; }
.map::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(38% 42% at 50% 50%, rgba(201, 162, 94, .2), transparent 70%);
}
.map__pin {
  position: absolute; left: 50%; top: 50%; z-index: 1;
  width: 20px; translate: -50% -100%;
  filter: drop-shadow(0 5px 6px rgba(0, 0, 0, .7));
}
.map__pin svg { width: 100%; height: auto; }
.map__pin path { fill: url(#g-gold); }
.map__pin circle { fill: #000; }

/* Özel sipariş sayfası: solda form, sağda malzeme rehberi */
.order-page { width: var(--wide); margin-inline: auto; padding: calc(60px + clamp(2.5rem, 6vw, 5rem)) 0 clamp(5rem, 10vw, 8rem); }
.order-page__head { max-width: 46rem; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.crumbs { margin-bottom: 1.25rem; color: var(--ash); font-size: .875rem; }
.crumbs a { transition: color .2s; }
.crumbs a:hover { color: var(--bone); }
.order-page__head h1 {
  font-family: var(--display); font-weight: 400;
  font-size: clamp(2.75rem, 1.2rem + 5vw, 5.5rem); line-height: .95; letter-spacing: -.025em;
}
.order-page__lead { max-width: 36em; margin-top: 1.25rem; color: var(--ash); font-size: clamp(1rem, .95rem + .3vw, 1.2rem); }
.order-page__formats { max-width: 36em; margin-top: .75rem; color: var(--gold-hi); font-size: .95rem; }
.order-page__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }

.order-form {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem 1rem;
  padding: clamp(1.5rem, 3.5vw, 2.5rem); border-radius: 28px; background: var(--lacquer);
}
.field__hint a { color: var(--gold-hi); border-bottom: 1px solid rgba(238, 217, 166, .35); }
@media (min-width: 901px) {
  .field__hint--guide { display: none; }
}
/* Ekran yeterince yüksekse form, rehber kaydırılırken yerinde kalır */
@media (min-width: 901px) and (min-height: 780px) {
  .order-form { position: sticky; top: 84px; }
}

.guide h2 { font-family: var(--display); font-weight: 400; font-size: clamp(2rem, 1.4rem + 2vw, 2.75rem); line-height: 1; letter-spacing: -.015em; }
.guide__lead { max-width: 34em; margin-top: .75rem; color: var(--ash); }
.guide__group { margin: 2.5rem 0 .4rem; color: var(--gold); font-size: .9rem; font-weight: 600; }
.guide__list { list-style: none; }
.gmat {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .45rem 1.5rem;
  margin-inline: -1.25rem; padding: 1.35rem 1.25rem;
  border-top: 1px solid var(--line); border-radius: 0;
  transition: background-color .3s, border-radius .3s;
}
.gmat > :not(.gmat__pick) { grid-column: 1; }
.gmat__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .8rem; }
.gmat__name { font-family: var(--display); font-weight: 400; font-size: 1.65rem; line-height: 1.1; }
.gmat__trait { color: var(--gold-hi); font-size: .9rem; }
.gmat__use { color: var(--ash); font-size: .95rem; }
.gmat__eg { font-size: .95rem; }
.gmat__eg span { display: block; margin-bottom: .1rem; color: var(--ash); font-size: .8rem; }
.gmat__pick {
  grid-column: 2; grid-row: 1; align-self: start;
  min-height: 36px; padding: .4rem .95rem; border-radius: 999px;
  border: 1px solid rgba(236, 229, 216, .25); font-size: .85rem;
  transition: background-color .2s, color .2s, border-color .2s;
}
.gmat__pick:hover { border-color: var(--bone); }
.gmat.is-selected { background: var(--lacquer); border-radius: 16px; border-top-color: transparent; }
.gmat.is-selected + .gmat { border-top-color: transparent; }
.gmat.is-selected .gmat__pick { background: var(--gold); border-color: var(--gold); color: var(--black); }

@media (max-width: 900px) {
  .order-page__grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .order-form { grid-template-columns: 1fr; }
  .gmat { grid-template-columns: 1fr; }
  .gmat__pick { grid-column: 1; grid-row: auto; justify-self: start; margin-top: .35rem; }
}

.field { display: grid; gap: .4rem; align-content: start; min-width: 0; }
.field--full { grid-column: 1 / -1; }
.field label, .field__label { font-size: .875rem; color: var(--ash); }
.field input:not([type=file]), .field select, .field textarea {
  width: 100%; min-height: 48px; padding: .7rem .9rem;
  border: 1px solid rgba(236, 229, 216, .14); border-radius: 12px;
  background: var(--black); outline: 0; transition: border-color .2s;
}
.field textarea { resize: vertical; }
.field select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--ash) 50%), linear-gradient(-45deg, transparent 50%, var(--ash) 50%); background-position: right 1.2rem center, right .9rem center; background-size: 6px 6px; background-repeat: no-repeat; }
.field ::placeholder { color: rgba(150, 142, 130, .7); }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--gold); }

.drop {
  position: relative; display: grid; place-items: center; min-height: 132px; padding: 1.25rem;
  border: 1.5px dashed rgba(201, 162, 94, .45); border-radius: 16px;
  background: rgba(201, 162, 94, .05); text-align: center;
  transition: border-color .2s, background-color .2s;
}
.drop input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.drop:hover, .drop.is-over { border-color: var(--gold); background: rgba(201, 162, 94, .1); }
.drop:focus-within { outline: 2px solid var(--focus); outline-offset: 3px; }
.drop.has-error { border-color: #d0705a; }
.drop__ui { pointer-events: none; display: grid; justify-items: center; gap: .5rem; color: var(--ash); font-size: .95rem; }
.drop__ui strong { color: var(--bone); font-weight: 500; }
.drop__ui svg { width: 26px; height: 26px; fill: none; stroke: var(--gold); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.field__hint { color: var(--ash); font-size: .825rem; }
.field__error { color: #e8907b; font-size: .875rem; }
.field__error:empty { display: none; }
.files { list-style: none; display: grid; gap: .4rem; }
.files li { display: flex; align-items: center; gap: .6rem; padding: .55rem .8rem; border-radius: 10px; background: var(--lacquer-2); font-size: .9rem; }
.files svg { width: 18px; height: 18px; flex-shrink: 0; fill: none; stroke: var(--gold); stroke-width: 1.5; stroke-linejoin: round; }
.files__name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.files__size { color: var(--ash); font-variant-numeric: tabular-nums; }

.check { display: flex; gap: .7rem; align-items: start; color: var(--ash); font-size: .9rem; cursor: pointer; }
.check input { width: 18px; height: 18px; margin: .15rem 0 0; flex-shrink: 0; accent-color: var(--gold); }
.check a { color: var(--bone); border-bottom: 1px solid rgba(236, 229, 216, .3); }
.order__foot { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; margin-top: .5rem; }
.order__msg { color: var(--ash); font-size: .875rem; flex: 1; min-width: 14em; }


/* Arama penceresi: üstten iner; metinle ya da görselle arar */
.search-open, .search-open body { overflow: hidden; }
.search-open .wa { visibility: hidden; }
.search { position: fixed; inset: 0; z-index: 60; }
.search[hidden] { display: none; }
.search__backdrop {
  position: absolute; inset: 0; background: rgba(0, 0, 0, .65);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  opacity: 0; transition: opacity .25s;
}
.search__panel {
  position: relative; max-height: 100%; overflow-y: auto; overscroll-behavior: contain;
  background: var(--black); border-bottom: 1px solid var(--line);
  opacity: 0; transform: translateY(-14px); transition: opacity .25s var(--ease), transform .35s var(--ease);
}
.search.is-open .search__backdrop { opacity: 1; }
.search.is-open .search__panel { opacity: 1; transform: none; }
.search.is-dragging .search__panel { box-shadow: inset 0 0 0 2px var(--gold); }
.search__bar, .search__body { width: min(860px, 100% - 2 * var(--gutter)); margin-inline: auto; }
.search__bar { display: flex; align-items: center; gap: .75rem; height: 76px; border-bottom: 1px solid var(--line); }
.search__icon { width: 22px; height: 22px; flex-shrink: 0; fill: none; stroke: var(--ash); stroke-width: 1.5; stroke-linecap: round; }
.search__bar input[type=search] {
  flex: 1; min-width: 0; padding: 0; background: none; border: 0; outline: 0;
  font-family: var(--display); font-size: clamp(1.35rem, 1.1rem + 1vw, 1.9rem);
}
.search__bar input::placeholder { color: rgba(150, 142, 130, .65); }
.search__bar input::-webkit-search-cancel-button { display: none; }
.search__cam {
  display: inline-flex; align-items: center; gap: .5rem; flex-shrink: 0;
  min-height: 40px; padding: .4rem .95rem; border-radius: 999px;
  border: 1px solid rgba(236, 229, 216, .25); font-size: .875rem; cursor: pointer;
  transition: border-color .2s, color .2s;
}
.search__cam:hover { border-color: var(--gold); color: var(--gold-hi); }
.search__cam:focus-within { outline: 2px solid var(--focus); outline-offset: 3px; }
.search__cam svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; }
.search__close { flex-shrink: 0; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--lacquer-2); }
.search__close:hover { background: #2b261e; }
.search__close svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.search__body { padding: 1.5rem 0 2.5rem; }
.search__hint { max-width: 40em; color: var(--ash); }
.search__hint strong { color: var(--bone); font-weight: 500; }
.search__hint a { color: var(--gold-hi); border-bottom: 1px solid rgba(238, 217, 166, .35); }
.search__label { margin: 1.5rem 0 .75rem; color: var(--ash); font-size: .875rem; font-weight: 600; }
.search__body > .search__label:first-child { margin-top: 0; }
.search__chips { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; }
.search__chips button { min-height: 38px; padding: .4rem 1rem; border-radius: 999px; background: var(--lacquer-2); font-size: .9rem; transition: background-color .2s; }
.search__chips button:hover { background: #2b261e; }
.search__empty { margin-bottom: .5rem; font-family: var(--display); font-size: 1.4rem; }
.search__error { color: #e8907b; }
.search__img { display: flex; align-items: center; gap: 1.1rem; margin-bottom: 1rem; }
.search__img img { width: 88px; height: 88px; flex-shrink: 0; object-fit: cover; border-radius: 14px; }
.search__img .search__label { margin: 0 0 .2rem; color: var(--bone); font-size: 1rem; }
.search__note { color: var(--ash); font-size: .825rem; }
.search__clear { margin-top: .5rem; color: var(--gold-hi); font-size: .875rem; border-bottom: 1px solid rgba(238, 217, 166, .35); }

.hits { list-style: none; display: grid; gap: .2rem; }
.hit {
  display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: 1rem;
  margin-inline: -.6rem; padding: .6rem; border-radius: 14px; transition: background-color .2s;
}
.hit:hover, .hit:focus-visible { background: var(--lacquer); }
.hit__thumb { width: 64px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 12px; background: var(--lacquer-2); }
.hit__thumb svg { width: 72%; height: 72%; fill: url(#g-gold); }
.hit__thumb .k-blade { fill: url(#g-steel); }
.hit__thumb .samurai { width: 74%; }
.hit__name { display: block; font-family: var(--display); font-size: 1.2rem; line-height: 1.2; }
.hit__spec { display: block; color: var(--ash); font-size: .875rem; }
.hit__price { font-variant-numeric: tabular-nums; }

@media (max-width: 560px) {
  .search__bar { height: 64px; gap: .5rem; }
  .search__cam { width: 40px; padding: 0; justify-content: center; }
  .search__cam span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .hit { grid-template-columns: 56px minmax(0, 1fr); }
  .hit__thumb { width: 56px; }
  .hit__price { grid-column: 2; margin-top: -.6rem; }
}

/* WhatsApp destek: sağ altta küçük simge, üzerine gelince hafifçe büyür ve yazısı açılır */
.wa {
  position: fixed; z-index: 45;
  right: max(1.25rem, env(safe-area-inset-right));
  bottom: max(1.25rem, env(safe-area-inset-bottom));
  display: flex; align-items: center; border-radius: 999px;
  background: rgba(20, 17, 13, .92); border: 1px solid rgba(201, 162, 94, .45); color: var(--gold-hi);
  box-shadow: 0 8px 22px rgba(0, 0, 0, .45);
  opacity: 0; transform-origin: right center;
  transition: opacity .5s var(--ease) .8s, transform .25s var(--ease), border-color .25s;
}
.intro-done .wa { opacity: 1; }
/* Kılıç sesi simgesi: açılışın sol alt köşesinde, WhatsApp simgesinin eşi; üzerine gelince yazı açılır */
.sound-toggle {
  position: absolute; z-index: 3;
  left: max(1.25rem, env(safe-area-inset-left)); bottom: max(1.25rem, env(safe-area-inset-bottom));
  display: flex; align-items: center; height: 44px; padding: 0 12px; border-radius: 999px;
  background: rgba(20, 17, 13, .85); border: 1px solid rgba(201, 162, 94, .45); color: var(--gold-hi);
  opacity: 0; transition: opacity .5s var(--ease) 1.2s, border-color .25s, background-color .25s;
}
.sound-toggle[hidden] { display: none; }
.intro-done .sound-toggle { opacity: 1; }
.sound-toggle:hover, .sound-toggle:focus-visible { border-color: var(--gold); }
.sound-toggle:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.sound-toggle svg { width: 20px; height: 20px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.sound-toggle__on { display: none; }
.sound-toggle[aria-pressed="true"] .sound-toggle__on { display: inline; }
.sound-toggle[aria-pressed="true"] .sound-toggle__off { display: none; }
.sound-toggle__label {
  max-width: 0; overflow: hidden; white-space: nowrap; opacity: 0; font-size: .85rem;
  transition: max-width .35s var(--ease), opacity .25s, padding .35s var(--ease);
}
.sound-toggle:hover .sound-toggle__label, .sound-toggle:focus-visible .sound-toggle__label { max-width: 8rem; padding: 0 .35rem 0 .55rem; opacity: 1; }
.wa:hover, .wa:focus-visible { transform: scale(1.06); border-color: var(--gold); }
.wa:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.nav-open .wa { visibility: hidden; }
.wa__icon { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; }
.wa__icon svg { width: 21px; height: 21px; fill: currentColor; }
.wa__label {
  max-width: 0; overflow: hidden; white-space: nowrap; opacity: 0; font-size: .85rem; color: var(--bone);
  transition: max-width .35s var(--ease), opacity .25s, padding .35s var(--ease);
}
.wa:hover .wa__label, .wa:focus-visible .wa__label { max-width: 17rem; padding-left: 1rem; opacity: 1; }
@media (max-width: 560px) {
  .wa__icon { width: 40px; height: 40px; }
  .wa__icon svg { width: 19px; height: 19px; }
}
@media (prefers-reduced-motion: reduce) {
  .wa, .wa__label { transition: opacity .2s; }
  .wa:hover, .wa:focus-visible { transform: none; }
}

/* Kategori sayfası */
.nav-link[aria-current="page"] { color: var(--bone); box-shadow: inset 0 -2px 0 var(--gold); }
.cat-page { width: var(--wide); margin-inline: auto; padding: calc(60px + clamp(2rem, 5vw, 4rem)) 0 clamp(5rem, 10vw, 8rem); }
.cat-hero__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; }
.cat-hero h1 {
  font-family: var(--display); font-weight: 400;
  font-size: clamp(3rem, 1.4rem + 5vw, 6rem); line-height: .95; letter-spacing: -.025em; text-wrap: balance;
}
.cat-hero__lead { max-width: 36em; margin-top: 1rem; color: var(--ash); font-size: clamp(1rem, .95rem + .3vw, 1.2rem); text-wrap: pretty; }
.cat-hero__art {
  flex-shrink: 0; width: clamp(140px, 17vw, 230px); aspect-ratio: 1;
  display: grid; place-items: center; border-radius: 28px;
  background: radial-gradient(80% 70% at 50% 70%, rgba(201, 162, 94, .22), transparent 70%), var(--lacquer);
}
.cat-chips { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; }
.cat-chips button, .cat-chips a {
  display: inline-flex; align-items: center; min-height: 38px; padding: .4rem 1rem; border-radius: 999px;
  border: 1px solid rgba(236, 229, 216, .18); font-size: .9rem; white-space: nowrap;
  transition: border-color .2s, background-color .2s, color .2s;
}
.cat-chips button:hover, .cat-chips a:hover { border-color: var(--bone); }
.cat-chips [aria-pressed="true"] { background: var(--gold); border-color: var(--gold); color: var(--black); }

.cat-toolbar {
  display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem;
  margin: clamp(2rem, 4vw, 3rem) 0 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line);
}
.cat-count { color: var(--ash); font-variant-numeric: tabular-nums; }
.active-filters { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; flex: 1; min-width: 0; }
.active-filters button {
  display: inline-flex; align-items: center; gap: .4rem; min-height: 32px; padding: .25rem .7rem; border-radius: 999px;
  background: var(--lacquer-2); font-size: .825rem; transition: background-color .2s;
}
.active-filters button:hover { background: #2b261e; }
.active-filters svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.active-filters .active-clear { background: none; color: var(--gold-hi); text-decoration: underline; text-underline-offset: 3px; }
.sort { display: inline-flex; align-items: center; gap: .6rem; margin-left: auto; color: var(--ash); font-size: .875rem; }
.sort select {
  min-height: 40px; padding: .45rem 2.2rem .45rem .9rem; border-radius: 999px;
  border: 1px solid rgba(236, 229, 216, .18); background-color: var(--black); color: var(--bone);
  appearance: none; cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, var(--ash) 50%), linear-gradient(-45deg, transparent 50%, var(--ash) 50%);
  background-position: right 1.05rem center, right .75rem center; background-size: 6px 6px; background-repeat: no-repeat;
}
.sort select:focus-visible { border-color: var(--gold); }
.filter-open { display: none; }

.cat-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
.filters { position: sticky; top: 84px; max-height: calc(100vh - 100px); overflow-y: auto; scrollbar-width: thin; padding-right: .25rem; }
.filters__head, .filters__foot { display: none; }
.filters-scrim { display: none; }
.facet { margin: 0 0 1.5rem; padding: 1.25rem 0 0; border: 0; border-top: 1px solid var(--line); min-width: 0; }
.facet:first-child { border-top: 0; padding-top: 0; }
.facet legend { float: left; width: 100%; padding: 0; margin-bottom: .6rem; font-size: .9rem; font-weight: 600; }
.facet ul { clear: both; list-style: none; display: grid; gap: .1rem; }
.facet__opt { position: relative; display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: .7rem; align-items: start; padding: .45rem 0; cursor: pointer; }
.facet__opt input { position: absolute; opacity: 0; width: 18px; height: 18px; margin: 0; }
.facet__box { width: 18px; height: 18px; margin-top: .15rem; border-radius: 5px; border: 1.5px solid rgba(236, 229, 216, .35); transition: background-color .15s, border-color .15s; }
.facet__opt input:checked + .facet__box { background: var(--gold); border-color: var(--gold); }
.facet__opt input:checked + .facet__box::after {
  content: ""; display: block; width: 5px; height: 9px; margin: 1px 0 0 5px;
  border: solid var(--black); border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.facet__opt input:focus-visible + .facet__box { outline: 2px solid var(--focus); outline-offset: 2px; }
.facet__opt:hover .facet__box { border-color: var(--bone); }
.facet__label { font-size: .925rem; }
.facet__label small { display: block; color: var(--ash); font-size: .8rem; }
.facet__count { color: var(--ash); font-size: .825rem; font-variant-numeric: tabular-nums; }
.facet__opt.is-empty { opacity: .4; cursor: default; }
.price-values { clear: both; display: flex; justify-content: space-between; margin-bottom: .6rem; font-variant-numeric: tabular-nums; font-size: .925rem; }
.price-values span { color: var(--ash); }
/* İki uçlu fiyat sürgüsü: iki aralık girdisi üst üste; dolu kısım --a ile --b arası */
.range { position: relative; height: 28px; }
.range::before, .range::after { content: ""; position: absolute; top: 50%; height: 3px; margin-top: -1.5px; border-radius: 3px; }
.range::before { left: 0; right: 0; background: rgba(236, 229, 216, .14); }
.range::after { left: var(--a, 0%); right: calc(100% - var(--b, 100%)); background: var(--gold); }
.range input {
  position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0;
  background: none; -webkit-appearance: none; appearance: none; pointer-events: none;
}
.range input::-webkit-slider-runnable-track { background: none; }
.range input::-webkit-slider-thumb {
  -webkit-appearance: none; pointer-events: auto; cursor: grab;
  width: 20px; height: 20px; border-radius: 50%; background: var(--gold); border: 3px solid var(--black); box-shadow: 0 0 0 1px var(--gold);
}
.range input::-moz-range-thumb {
  pointer-events: auto; cursor: grab;
  width: 14px; height: 14px; border-radius: 50%; background: var(--gold); border: 3px solid var(--black); box-shadow: 0 0 0 1px var(--gold);
}
.range input::-moz-range-track { background: none; }
.range input:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 1px var(--gold), 0 0 0 4px rgba(238, 217, 166, .5); }
.filters__clear { margin-top: .25rem; color: var(--gold-hi); font-size: .875rem; text-decoration: underline; text-underline-offset: 3px; }

.pgrid { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.75rem, 3vw, 2.5rem) clamp(1rem, 2vw, 1.5rem); }
.pcard a { display: block; }
.pcard__media {
  position: relative; aspect-ratio: 4 / 5; border-radius: 22px; overflow: hidden;
  display: grid; place-items: center;
  background: radial-gradient(75% 55% at 50% 72%, rgba(201, 162, 94, .16), transparent), var(--lacquer);
}
.pcard__media svg, .pcard__media .samurai { transition: transform .9s var(--ease); }
.pcard__media .samurai { width: 62%; }
.pcard a:hover .pcard__media svg, .pcard a:hover .pcard__media .samurai { transform: scale(1.05); }
.pcard__badges { position: absolute; top: .75rem; left: .75rem; display: flex; gap: .35rem; }
.badge { padding: .2rem .6rem; border-radius: 999px; background: rgba(0, 0, 0, .6); border: 1px solid var(--line); font-size: .75rem; }
.badge--new { background: var(--gold); border-color: var(--gold); color: var(--black); font-weight: 500; }
.pcard__name { margin-top: 1rem; font-family: var(--display); font-weight: 400; font-size: 1.35rem; line-height: 1.15; }
.pcard__spec { margin-top: .2rem; color: var(--ash); font-size: .9rem; }
.pcard__price { margin-top: .45rem; font-variant-numeric: tabular-nums; }
.pgrid-more { margin-top: 2.5rem; text-align: center; }
.pgrid-more .btn[hidden] { display: none; }
.pgrid-empty { padding: clamp(3rem, 8vw, 5rem) 1rem; border-radius: 28px; background: var(--lacquer); text-align: center; color: var(--ash); }
.pgrid-empty[hidden] { display: none; }
.pgrid-empty__title { margin-bottom: .5rem; font-family: var(--display); font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.2rem); color: var(--bone); }
.pgrid-empty p { max-width: 32em; margin-inline: auto; }
.pgrid-empty .actions { margin-top: 1.75rem; }

/* Dar ekranda filtreler alttan açılan panel olur */
@media (max-width: 1000px) {
  .cat-layout { grid-template-columns: 1fr; }
  .pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filter-open {
    display: inline-flex; align-items: center; gap: .5rem; min-height: 40px; padding: .45rem 1rem;
    border-radius: 999px; border: 1px solid rgba(236, 229, 216, .3); font-size: .9rem;
  }
  .filter-open svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
  .filter-open__count { min-width: 20px; padding: 0 .35rem; border-radius: 999px; background: var(--gold); color: var(--black); font-size: .75rem; line-height: 20px; text-align: center; }
  .filter-open__count[hidden] { display: none; }
  .cat-count { order: 3; }
  .active-filters { order: 4; flex-basis: 100%; }
  .active-filters:empty { display: none; }
  .filters {
    position: fixed; inset: auto 0 0; top: auto; z-index: 70;
    max-height: 86svh; padding: 0; overflow: hidden;
    display: flex; flex-direction: column;
    border-radius: 24px 24px 0 0; background: var(--lacquer); box-shadow: 0 -20px 50px rgba(0, 0, 0, .6);
    transform: translateY(105%); visibility: hidden;
    transition: transform .4s var(--ease), visibility 0s .4s;
  }
  .filters-open .filters { transform: none; visibility: visible; transition: transform .4s var(--ease); }
  .filters-open, .filters-open body { overflow: hidden; }
  .filters-open .wa { visibility: hidden; }
  .filters-scrim { display: block; position: fixed; inset: 0; z-index: 69; background: rgba(0, 0, 0, .6); }
  .filters-scrim[hidden] { display: none; }
  .filters__head { display: flex; align-items: center; justify-content: space-between; padding: 1rem var(--gutter); border-bottom: 1px solid var(--line); }
  .filters__head h2 { font-family: var(--display); font-weight: 400; font-size: 1.6rem; }
  .filters__close { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--lacquer-2); }
  .filters__close svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
  .filters__body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 1.25rem var(--gutter); }
  .filters__foot { display: block; padding: .9rem var(--gutter) max(.9rem, env(safe-area-inset-bottom)); border-top: 1px solid var(--line); }
  .filters__foot .btn { width: 100%; }
}
@media (max-width: 600px) {
  .cat-hero__art { display: none; }
  .cat-chips { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); scrollbar-width: none; }
  .cat-chips::-webkit-scrollbar { display: none; }
  .pgrid { gap: 1.5rem .75rem; }
  .pcard__media { border-radius: 16px; }
  .pcard__name { font-size: 1.05rem; }
  .pcard__spec { font-size: .8rem; }
  .sort span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* Ürün detay sayfası */
.pdp { width: var(--wide); margin-inline: auto; padding: calc(60px + clamp(1.5rem, 3.5vw, 2.75rem)) 0 clamp(5rem, 10vw, 8rem); }
.pdp > .crumbs { margin-bottom: clamp(1.25rem, 2.5vw, 2rem); }
.pdp__top { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }

/* Galeri: kaydırılabilir slaytlar, küçük resimler, üzerine gelince yakınlaşma */
.gallery__stage {
  position: relative; aspect-ratio: 1; border-radius: 28px; overflow: hidden; cursor: zoom-in;
  background: radial-gradient(70% 60% at 50% 62%, rgba(201, 162, 94, .2), transparent 72%), var(--lacquer);
}
.gallery__slides { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.gallery__slides::-webkit-scrollbar { display: none; }
.gslide { flex: 0 0 100%; height: 100%; scroll-snap-align: start; overflow: hidden; }
.gslide__zoom { width: 100%; height: 100%; display: grid; place-items: center; transition: transform .25s ease-out; }
.gallery__stage.is-zoom .gslide__zoom { transform: scale(2.1); }
.gslide__art { width: 76%; height: 76%; display: grid; place-items: center; transition: filter .4s; }
.gslide__art svg { width: 100%; height: 100%; }
.gslide__art .samurai { width: 74%; }
.gslide__art--yakin { transform: scale(1.75); }
.gslide__art--aci { transform: rotate(-14deg) scale(1.04); }
.gslide--studyo, .gthumb--studyo { background: radial-gradient(80% 70% at 50% 40%, #f6f1e6, #d6ccb9); }
.gslide--studyo .gslide__art, .gthumb--studyo .gslide__art { filter: drop-shadow(0 18px 22px rgba(60, 40, 10, .35)); }
.gslide img, .gthumb img { width: 100%; height: 100%; object-fit: cover; }
/* Seçime göre ürünün kendisi boyanır (yer tutucu çizimlerde; gerçek fotoğraflarda uygulanmaz).
   Renkli baskı: seçilen renk (g-tint, urun.js doldurur). Beyaz: her şey beyaz. Çelik bıçak renkli baskıda çelik kalır. */
.gallery.look-tint .cat-art svg, .gallery.look-tint .cat-art use,
.lightbox.look-tint .cat-art svg, .lightbox.look-tint .cat-art use { fill: url(#g-tint); }
.gallery.look-tint .cat-art .k-blade, .lightbox.look-tint .cat-art .k-blade { fill: url(#g-steel); }
.gallery.look-white .cat-art svg, .gallery.look-white .cat-art use,
.lightbox.look-white .cat-art svg, .lightbox.look-white .cat-art use { fill: url(#g-white); }
.gallery.look-tint .samurai, .lightbox.look-tint .samurai {
  background: linear-gradient(160deg, var(--tint-0), var(--tint-1) 50%, var(--tint-2));
  -webkit-mask: url(logo/amblem.svg) center / contain no-repeat; mask: url(logo/amblem.svg) center / contain no-repeat;
}
.gallery.look-white .samurai, .lightbox.look-white .samurai { filter: grayscale(1) brightness(1.5); }
.variant[hidden] { display: none; }
.gallery__nav {
  position: absolute; top: 50%; z-index: 1; translate: 0 -50%;
  width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%;
  background: rgba(0, 0, 0, .55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  transition: opacity .2s, background-color .2s;
}
.gallery__nav:hover { background: rgba(0, 0, 0, .8); }
.gallery__nav:disabled { opacity: 0; pointer-events: none; }
.gallery__nav--prev { left: 1rem; } .gallery__nav--next { right: 1rem; }
.gallery__nav svg, .lightbox__nav svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.gallery__zoom {
  position: absolute; top: 1rem; right: 1rem; z-index: 1; width: 44px; height: 44px; display: grid; place-items: center;
  border-radius: 50%; background: rgba(0, 0, 0, .55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.gallery__zoom svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.gallery__index { position: absolute; left: 1rem; bottom: 1rem; z-index: 1; padding: .3rem .75rem; border-radius: 999px; background: rgba(0, 0, 0, .55); font-size: .8rem; font-variant-numeric: tabular-nums; }
.gallery__thumbs { list-style: none; display: flex; gap: .6rem; margin-top: .9rem; overflow-x: auto; scrollbar-width: none; }
.gthumb {
  position: relative; width: 78px; aspect-ratio: 1; border-radius: 14px; overflow: hidden; display: grid; place-items: center;
  background: var(--lacquer); border: 1.5px solid transparent; transition: border-color .2s;
}
.gthumb .gslide__art { width: 70%; height: 70%; }
.gthumb:hover { border-color: rgba(236, 229, 216, .35); }
.gthumb[aria-current="true"] { border-color: var(--gold); }

/* Satın alma alanı */
/* Galeri de satın alma alanı da yapışkan: hangisi kısaysa kaydırırken o ekranda kalır */
.gallery, .buy { position: sticky; top: 84px; }
.buy__title { font-family: var(--display); font-weight: 400; font-size: clamp(2.2rem, 1.4rem + 2.6vw, 3.5rem); line-height: 1.02; letter-spacing: -.02em; text-wrap: balance; }
.buy__rating { display: inline-flex; align-items: center; gap: .45rem; margin-top: .7rem; color: var(--bone); font-size: .925rem; }
.buy__rating-count { color: var(--ash); transition: color .2s; }
.buy__rating:hover .buy__rating-count { color: var(--bone); text-decoration: underline; text-underline-offset: 3px; }
.stars {
  --r: 100%;
  font-size: .95rem; letter-spacing: .08em; line-height: 1;
  background: linear-gradient(90deg, var(--gold) var(--r), rgba(236, 229, 216, .2) var(--r));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.stars--lg { font-size: 1.4rem; }
.buy__price { margin-top: 1.1rem; font-size: 1.85rem; font-variant-numeric: tabular-nums; }
.buy__tax { color: var(--ash); font-size: .85rem; }
.stock { display: flex; align-items: center; gap: .5rem; margin-top: .4rem; font-size: .925rem; }
.stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.stock--in { color: #9cc99a; }
.stock--low { color: var(--gold-hi); }
.stock--out { color: #e8907b; }
.buy__lead { margin-top: 1rem; color: var(--ash); text-wrap: pretty; }

.variant { margin: 1.5rem 0 0; padding: 0; border: 0; min-width: 0; }
.variant legend { padding: 0; margin-bottom: .6rem; font-size: .875rem; font-weight: 600; }
.variant__value { margin-left: .35rem; color: var(--ash); font-weight: 400; }
.pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.pill { position: relative; cursor: pointer; }
.pill input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.pill span {
  display: grid; min-height: 50px; align-content: center; padding: .5rem 1rem; border-radius: 14px;
  border: 1px solid rgba(236, 229, 216, .18); font-size: .925rem; line-height: 1.25;
  transition: border-color .2s, background-color .2s;
}
.pill small { color: var(--ash); font-size: .78rem; }
.pill:hover span { border-color: rgba(236, 229, 216, .45); }
.pill input:checked + span { border-color: var(--gold); background: rgba(201, 162, 94, .1); }
.pill input:focus-visible + span { outline: 2px solid var(--focus); outline-offset: 2px; }
.swatches { display: flex; flex-wrap: wrap; gap: .65rem; }
.swatch { position: relative; cursor: pointer; }
.swatch input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.swatch span {
  display: block; width: 36px; height: 36px; border-radius: 50%; background: var(--c);
  border: 3px solid var(--black); box-shadow: 0 0 0 1px rgba(236, 229, 216, .3); transition: box-shadow .2s;
}
.swatch input:checked + span { box-shadow: 0 0 0 2px var(--gold); }
.swatch input:focus-visible + span { outline: 2px solid var(--focus); outline-offset: 3px; }
/* Bu üründe mevcut olmayan seçenek: üstü çizili, soluk, tıklanamaz; üzerine gelince açıklama */
.pill.is-na, .swatch.is-na { cursor: not-allowed; }
.is-na input { pointer-events: none; }
.pill.is-na span { opacity: .4; border-style: dashed; text-decoration: line-through; text-decoration-thickness: 1px; }
.pill.is-na:hover span { border-color: rgba(236, 229, 216, .18); }
.swatch.is-na span { position: relative; opacity: .35; }
.swatch.is-na span::after {
  content: ""; position: absolute; left: 50%; top: -4px; bottom: -4px; width: 2px; margin-left: -1px;
  border-radius: 2px; background: var(--bone); transform: rotate(45deg);
}
[data-tip]:hover::before {
  content: attr(data-tip); position: absolute; left: 50%; bottom: calc(100% + 8px); z-index: 5; translate: -50% 0;
  padding: .35rem .65rem; border-radius: 8px; background: var(--bone); color: #1a1712;
  font-size: .78rem; white-space: nowrap; pointer-events: none; box-shadow: 0 8px 20px rgba(0, 0, 0, .45);
}
.variant__hint { display: none; margin-top: .5rem; color: var(--ash); font-size: .825rem; }
.variant.is-off .swatches { opacity: .3; }
.variant.is-off .swatch { cursor: not-allowed; }
.variant.is-off .variant__hint { display: block; }

.buy__row { display: flex; align-items: stretch; gap: .6rem; margin-top: 1.75rem; }
.qty { display: inline-flex; align-items: center; border: 1px solid rgba(236, 229, 216, .2); border-radius: 999px; }
.qty button { width: 42px; height: 50px; font-size: 1.2rem; color: var(--bone); }
.qty button:disabled { color: rgba(236, 229, 216, .3); cursor: default; }
.qty input { width: 40px; padding: 0; text-align: center; background: none; border: 0; outline: 0; font-variant-numeric: tabular-nums; -moz-appearance: textfield; }
.qty input::-webkit-outer-spin-button, .qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.buy__add { flex: 1; min-height: 52px; }
.buy__add.is-wa { gap: .55rem; }
.buy__add.is-wa svg { width: 20px; height: 20px; flex-shrink: 0; fill: currentColor; }
.fav { flex-shrink: 0; width: 52px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(236, 229, 216, .25); transition: border-color .2s; }
.fav:hover { border-color: var(--bone); }
.fav svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; transition: fill .2s, stroke .2s; }
.fav[aria-pressed="true"] svg { fill: var(--gold); stroke: var(--gold); }
.buy__perks { list-style: none; display: grid; gap: .45rem; margin-top: 1.5rem; color: var(--ash); font-size: .875rem; }
.buy__perks li { display: flex; gap: .6rem; }
.buy__perks li::before { content: ""; flex-shrink: 0; width: 5px; height: 9px; margin: .25rem .2rem 0 .15rem; border: solid var(--gold); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }

/* Özelleştirme (ürüne özel: isim ekleme, özel kutu gibi) */
.pcustom { display: grid; gap: .5rem; }
.pcustom__opt { border-radius: 16px; border: 1px solid rgba(236, 229, 216, .16); transition: border-color .2s, background-color .2s; }
.pcustom__opt:hover { border-color: rgba(236, 229, 216, .35); }
.pcustom__opt.is-on { border-color: var(--gold); background: rgba(201, 162, 94, .07); }
.pcustom__opt.is-invalid { border-color: var(--err, #d0705a); }
.pcustom__head { position: relative; display: flex; align-items: center; gap: .85rem; padding: .8rem 1rem; cursor: pointer; }
.pcustom__head input { position: absolute; opacity: 0; width: 18px; height: 18px; margin: 0; }
.pcustom__head .facet__box { flex-shrink: 0; margin: 0; }
.pcustom__head input:checked + .facet__box { background: var(--gold); border-color: var(--gold); }
.pcustom__head input:checked + .facet__box::after { content: ""; display: block; width: 5px; height: 9px; margin: 1px 0 0 5px; border: solid var(--black); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.pcustom__head input:focus-visible + .facet__box { outline: 2px solid var(--focus); outline-offset: 2px; }
.pcustom__img { flex-shrink: 0; width: 52px; height: 52px; border-radius: 12px; object-fit: cover; background: var(--black); }
/* Kutu görseli: üzerine gelince (telefonda dokununca) yukarıda büyük hâli açılır */
.pcustom__thumb { position: relative; flex-shrink: 0; display: block; cursor: zoom-in; }
.pcustom__big {
  position: absolute; z-index: 5; left: -.5rem; bottom: calc(100% + .6rem);
  width: min(260px, 70vw); padding: 6px; border-radius: 18px;
  background: var(--black); border: 1px solid rgba(201, 162, 94, .45);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .7);
  opacity: 0; visibility: hidden; transform: translateY(6px) scale(.92); transform-origin: 30px 100%;
  transition: opacity .2s, transform .25s var(--ease), visibility 0s .25s; pointer-events: none;
}
.pcustom__big img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 13px; }
.pcustom__thumb.is-zoom .pcustom__big { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
@media (hover: hover) {
  .pcustom__thumb:hover .pcustom__big { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
}
.pcustom__text { display: grid; gap: .1rem; flex: 1; min-width: 0; }
.pcustom__name { font-size: .95rem; font-weight: 500; }
.pcustom__desc { color: var(--ash); font-size: .825rem; line-height: 1.4; }
.pcustom__price { flex-shrink: 0; color: var(--gold-hi); font-variant-numeric: tabular-nums; font-size: .95rem; }
.pcustom__was { color: var(--ash); font-size: .85em; margin-right: .25rem; }
.buy__note { margin-top: .35rem; font-size: .925rem; font-weight: 500; color: var(--bone); }
/* Yanında öner kartları */
.poffer__note { margin: -.2rem 0 .7rem; color: var(--ash); font-size: .875rem; }
.poffer__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .6rem; }
.poffer__card {
  position: relative; display: flex; flex-direction: column; gap: .3rem; padding: .55rem; cursor: pointer;
  border: 1px solid var(--line, rgba(255, 255, 255, .14)); border-radius: 14px; transition: border-color .2s, background-color .2s;
}
.poffer__card:hover { border-color: var(--gold); }
.poffer__card.is-on { border-color: var(--gold); background: rgba(201, 162, 94, .08); }
.poffer__card input { position: absolute; top: .7rem; left: .7rem; width: 18px; height: 18px; accent-color: var(--gold); }
.poffer__card img, .poffer__ph { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 9px; background: rgba(255, 255, 255, .05); }
.poffer__name { font-size: .875rem; line-height: 1.3; }
.poffer__price { color: var(--gold-hi); font-size: .9rem; font-variant-numeric: tabular-nums; }
.poffer__price s { color: var(--ash); font-size: .85em; margin-right: .2rem; }
.pcustom__field { padding: 0 1rem .9rem calc(1rem + 18px + .85rem); }
.pcustom__field[hidden] { display: none; }
.pcustom__field input {
  width: 100%; min-height: 46px; padding: .6rem .9rem; border-radius: 12px; border: 1px solid rgba(236, 229, 216, .2);
  background: var(--black); outline: 0; transition: border-color .2s;
}
.pcustom__field input:focus { border-color: var(--gold); }
.pcustom__opt.is-invalid .pcustom__field input { border-color: var(--err, #d0705a); }
.pcustom__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .2rem 1rem; margin-top: .4rem; color: var(--ash); font-size: .78rem; }
.pcustom__meta span:first-child { font-variant-numeric: tabular-nums; }
.pcustom__field .field__error:not(:empty) { margin-top: .35rem; }

/* Birlikte al, kazan */
/* Birlikte al, kazan: sepete ekle düğmesinin altında, altın çerçeveli kompakt kutu */
.bundle {
  margin-top: 1.25rem; padding: 1.1rem 1.2rem 1.2rem; border-radius: 20px; border: 1px solid rgba(201, 162, 94, .45);
  background: radial-gradient(80% 120% at 100% 0%, rgba(201, 162, 94, .16), transparent 65%), var(--lacquer);
}
.bundle[hidden] { display: none; }
.bundle__head h2 { font-family: var(--display); font-weight: 400; font-size: 1.45rem; line-height: 1.1; letter-spacing: -.01em; }
.bundle__head p { margin-top: .25rem; color: var(--ash); font-size: .875rem; }
.bundle__body { display: grid; gap: 1rem; margin-top: .9rem; }
.bundle__items { list-style: none; display: grid; gap: .5rem; }
.bitem { display: grid; grid-template-columns: 18px 52px minmax(0, 1fr); align-items: center; gap: .75rem; transition: opacity .25s; }
.bitem.is-off { opacity: .5; }
.bitem__check { position: relative; display: block; cursor: pointer; }
.bitem__check input { position: absolute; inset: 0; opacity: 0; width: 18px; height: 18px; margin: 0; cursor: pointer; }
.bitem__check .facet__box { display: block; margin: 0; background: rgba(0, 0, 0, .55); }
.bitem__check input:checked + .facet__box { background: var(--gold); border-color: var(--gold); }
.bitem__check input:checked + .facet__box::after { content: ""; display: block; width: 5px; height: 9px; margin: 1px 0 0 5px; border: solid var(--black); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.bitem__check input:disabled + .facet__box { opacity: .6; }
.bitem__check input:focus-visible + .facet__box { outline: 2px solid var(--focus); outline-offset: 2px; }
.bitem__media { display: grid; place-items: center; width: 52px; aspect-ratio: 1; border-radius: 12px; background: var(--black); overflow: hidden; }
.bitem__media svg { width: 80%; height: 80%; }
.bitem__media .samurai { width: 70%; }
.bitem__text { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.bitem__name { font-size: .9rem; line-height: 1.3; }
.bitem__this { display: block; color: var(--gold); font-size: .72rem; }
.bitem__price { flex-shrink: 0; color: var(--ash); font-size: .9rem; }
.bundle__sum { padding-top: .9rem; border-top: 1px solid var(--line); }
.bundle__sum > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem 1rem; }
.bsum__row { display: flex; align-items: baseline; gap: .5rem; }
.bsum__row span { color: var(--ash); font-size: .85rem; }
.bsum__row s { color: var(--ash); }
.bsum__pack strong { font-family: var(--display); font-weight: 400; font-size: 1.6rem; line-height: 1; color: var(--gold-hi); }
.bsum__save { padding: .2rem .65rem; border-radius: 999px; background: var(--gold); color: var(--black); font-size: .8rem; font-weight: 500; }
.bsum__hint { color: var(--ash); font-size: .825rem; }
.bundle__sum .btn { width: 100%; margin-top: .9rem; }

/* Sekmeler */
.pdp-tabs { margin-top: clamp(4rem, 8vw, 6rem); }
.tabs { display: flex; gap: clamp(1.25rem, 3vw, 2.5rem); border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.tabs [role=tab] { flex-shrink: 0; padding: 1rem 0; color: var(--ash); white-space: nowrap; transition: color .2s, box-shadow .2s; }
.tabs [role=tab]:hover { color: var(--bone); }
.tabs [role=tab][aria-selected="true"] { color: var(--bone); box-shadow: inset 0 -2px 0 var(--gold); }
.tabs__count { color: var(--ash); font-size: .85rem; }
.tabpanel { padding-top: 2rem; }
.tabpanel:focus-visible { outline-offset: 6px; }
.prose p { max-width: 66ch; color: rgba(236, 229, 216, .85); }
.prose p + p { margin-top: 1rem; }
.spec-list { max-width: 760px; border-top: 1px solid var(--line); }
.spec-list > div { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 1rem; padding: .95rem 0; border-bottom: 1px solid var(--line); }
.spec-list dt { color: var(--ash); }
.spec-list dd { margin: 0; }
.reviews { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); }
.reviews__avg { font-family: var(--display); font-size: 4rem; line-height: 1; }
.reviews__summary .stars { margin-top: .4rem; }
.reviews__count { margin-top: .4rem; color: var(--ash); }
.reviews__dist { list-style: none; display: grid; gap: .4rem; margin: 1.25rem 0 1.5rem; font-size: .825rem; color: var(--ash); }
.reviews__dist li { display: grid; grid-template-columns: 58px 1fr 28px; align-items: center; gap: .6rem; }
.reviews__dist li > span:last-child { text-align: right; font-variant-numeric: tabular-nums; }
.bar { height: 6px; border-radius: 6px; background: rgba(236, 229, 216, .12); overflow: hidden; }
.bar span { display: block; height: 100%; background: var(--gold); }
.reviews__list { list-style: none; }
.review { padding: 1.4rem 0; border-bottom: 1px solid var(--line); }
.review:first-child { padding-top: 0; }
.review__head { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; }
.review__name { font-weight: 600; }
.review__date { color: var(--ash); font-size: .825rem; }
.review h3 { margin-top: .6rem; font-size: 1.05rem; font-weight: 600; }
.review p { margin-top: .3rem; color: rgba(236, 229, 216, .8); max-width: 66ch; }
.review .review__verified { margin-top: .5rem; color: var(--gold); font-size: .8rem; }

/* Öneri şeritleri */
.pdp-rail { margin-top: clamp(4rem, 8vw, 6rem); }
.pdp-rail[hidden] { display: none; }
.pdp-rail h2 { margin-bottom: 1.75rem; font-family: var(--display); font-weight: 400; font-size: clamp(2rem, 1.4rem + 2vw, 2.75rem); line-height: 1; letter-spacing: -.015em; }
.pdp-rail__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.pdp-rail__all { color: var(--gold-hi); font-size: .925rem; border-bottom: 1px solid rgba(238, 217, 166, .35); }
.pgrid--row { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.pdp-missing { padding: clamp(4rem, 12vw, 8rem) 0; text-align: center; }
.pdp-missing h1 { font-family: var(--display); font-weight: 400; font-size: clamp(2.5rem, 1.5rem + 3vw, 4rem); }
.pdp-missing p { margin-top: .75rem; color: var(--ash); }
.pdp-missing .actions { margin-top: 2rem; }

/* Büyük görünüm */
.lightbox-open, .lightbox-open body { overflow: hidden; }
.lightbox { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; background: rgba(0, 0, 0, .94); }
.lightbox[hidden] { display: none; }
.lightbox__view { width: min(88vw, 82vh); aspect-ratio: 1; overflow: hidden; border-radius: 24px; background: var(--lacquer); cursor: zoom-in; }
.lightbox__view.is-zoomed { cursor: zoom-out; }
.lightbox__zoom { width: 100%; height: 100%; display: grid; place-items: center; transition: transform .3s var(--ease); }
.lightbox__view.is-zoomed .lightbox__zoom { transform: scale(2.4); }
.lightbox__close, .lightbox__nav { position: absolute; z-index: 1; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: var(--lacquer-2); }
.lightbox__close { top: max(1.25rem, env(safe-area-inset-top)); right: 1.25rem; }
.lightbox__close svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.lightbox__nav--prev { left: 1.25rem; } .lightbox__nav--next { right: 1.25rem; }
.lightbox__count { position: absolute; bottom: max(1.25rem, env(safe-area-inset-bottom)); left: 0; right: 0; text-align: center; color: var(--ash); font-size: .875rem; }

/* Sepet rozeti ve bildirim */
.site-header a.icon-btn { position: relative; }
.bag-count {
  position: absolute; top: 3px; right: 0; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px;
  background: var(--gold); color: var(--black); font-size: .66rem; font-weight: 600; line-height: 17px; text-align: center;
}
.bag-count[hidden] { display: none; }
.toast {
  position: fixed; left: 50%; bottom: max(1.5rem, env(safe-area-inset-bottom)); z-index: 95;
  max-width: calc(100vw - 2rem); padding: .8rem 1.25rem; border-radius: 999px;
  background: var(--bone); color: #1a1712; font-size: .925rem; box-shadow: 0 14px 34px rgba(0, 0, 0, .5);
  opacity: 0; transform: translate(-50%, 16px); pointer-events: none; transition: opacity .3s var(--ease), transform .3s var(--ease);
}
.toast.is-on { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 1000px) {
  .pdp__top { grid-template-columns: 1fr; }
  .gallery, .buy { position: static; }
  .pgrid--row { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(200px, 44%); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: .25rem; }
  .pgrid--row > li { scroll-snap-align: start; }
  .reviews { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .gallery__stage { border-radius: 20px; }
  .gallery__nav { display: none; }
  .gthumb { width: 64px; }
  .buy__row { flex-wrap: wrap; }
  .buy__add { order: 3; flex-basis: 100%; }
  .qty { flex: 1; justify-content: space-between; }
  .spec-list > div { grid-template-columns: 1fr; gap: .2rem; }
  .pgrid--row { grid-auto-columns: 62%; }
}

/* Alt bilgi */
.site-footer { border-top: 1px solid var(--line); padding-top: clamp(3.5rem, 7vw, 5rem); font-size: .9rem; }
.footer__top {
  width: var(--wide); margin-inline: auto;
  display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)) minmax(0, 1.2fr); gap: 2.5rem 2rem;
}
.footer__brand > p:not(.map__alt) { margin-top: 1rem; max-width: 22em; color: var(--ash); }
/* Logo biraz büyük; slogan hemen altında, alt bilginin yüksekliği değişmesin diye boşluklar daraltıldı */
.footer__brand .brand { gap: .8rem; }
.footer__brand .brand__emblem { width: 50px; }
.footer__brand .brand__name { font-size: 1.5rem; }
.footer__brand > p.footer__motto { margin-top: .65rem; font-family: var(--display); font-size: 1.05rem; letter-spacing: .03em; color: var(--gold-hi); }
.site-footer h2 { font-family: var(--text); font-size: .9rem; font-weight: 600; margin-bottom: .9rem; }
.site-footer ul { list-style: none; display: grid; gap: .55rem; }
.site-footer nav a, .footer__contact a { color: var(--ash); transition: color .2s; }
.site-footer nav a:hover, .footer__contact a:hover { color: var(--bone); }
.footer__wa { display: inline-flex; align-items: center; gap: .5rem; }
.footer__wa svg { width: 16px; height: 16px; fill: #25d366; }
.footer__hours { margin-top: .35rem; color: var(--ash); }

/* Bülten: alt bilginin en üstünde tek satır */
.footer__news {
  width: var(--wide); margin: 0 auto 3rem; padding-bottom: 2.5rem;
  display: grid; grid-template-columns: 1fr minmax(0, 420px); align-items: end; gap: 1rem 2rem;
  border-bottom: 1px solid var(--line);
}
.site-footer .footer__news h2 {
  margin: 0; font-family: var(--display); font-weight: 400;
  font-size: clamp(1.6rem, 1.2rem + 1.3vw, 2.3rem); line-height: 1.1; letter-spacing: -.01em;
}
.footer__news-text p { max-width: 34em; margin-top: .6rem; color: var(--ash); font-size: .925rem; text-wrap: pretty; }
.news-consent { margin-top: .85rem; font-size: .825rem; }
.news-consent.is-invalid { color: var(--bone); }
.news-consent.is-invalid input { outline: 2px solid var(--err, #d0705a); outline-offset: 1px; border-radius: 3px; }
.news-msg.is-error { color: #e8907b; }
.news-field input[aria-invalid="true"] { color: #f0a896; }
.news-field { display: flex; border-bottom: 1px solid rgba(236, 229, 216, .3); }
.news-field input { flex: 1; min-width: 0; padding: .7rem 0; background: none; border: 0; outline: 0; }
.news-field input::placeholder { color: var(--ash); }
.news-field:focus-within { border-color: var(--gold); }
.news-field button { padding: .7rem 0 .7rem 1rem; color: var(--gold-hi); font-weight: 500; }
.news-msg { min-height: 1.5em; margin-top: .6rem; color: var(--ash); font-size: .85rem; }
.footer__bottom {
  width: var(--wide); margin: 3.5rem auto 0; padding-block: 1.5rem 2rem;
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
  border-top: 1px solid var(--line); color: var(--ash);
}
.site-footer .social { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }
/* Ana sayfada sağ alttaki WhatsApp simgesi en alttaki bağlantıların üstüne binmesin */
body:has(> .wa) .footer__bottom { padding-bottom: 5.5rem; }
.social a { display: inline-flex; align-items: center; gap: .5rem; transition: color .2s; }
.social a:hover { color: var(--bone); }
.social svg { width: 18px; height: 18px; flex-shrink: 0; fill: currentColor; }
.social .social__line { fill: none; stroke: currentColor; stroke-width: 1.7; }
.social .social__dot { fill: currentColor; stroke: none; }

@media (max-width: 1000px) {
  .footer__top { grid-template-columns: repeat(4, 1fr); }
  .footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .footer__news { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .footer__top { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .hero { height: auto; }
  .hero__stage { position: relative; min-height: 100svh; height: auto; }
}

/* ===================== Sepet ===================== */
.toast.has-action { display: flex; align-items: center; gap: 1rem; pointer-events: auto; padding-right: .5rem; }
.toast__action { padding: .35rem .85rem; border-radius: 999px; background: #1a1712; color: var(--gold-hi); font-size: .85rem; font-weight: 500; white-space: nowrap; }

.cart-page { width: var(--wide); margin-inline: auto; padding: calc(60px + clamp(1.5rem, 3.5vw, 2.75rem)) 0 clamp(5rem, 10vw, 8rem); }
.cart-head { display: flex; align-items: baseline; gap: 1rem; margin-bottom: clamp(1.75rem, 3.5vw, 2.75rem); }
.cart-head h1, .checkout__head h1 {
  font-family: var(--display); font-weight: 400;
  font-size: clamp(2.6rem, 1.4rem + 4vw, 4.75rem); line-height: .95; letter-spacing: -.025em;
}
.cart-head__count { color: var(--ash); }
.cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 400px); gap: clamp(2rem, 4vw, 4rem); align-items: start; }
.cart-layout[hidden], .cart-empty[hidden] { display: none; }

/* Sepet satırları */
.cart-lines > ul, .cpack > ul { list-style: none; }
.cart-lines > ul { border-top: 1px solid var(--line); }
.cline {
  display: grid; grid-template-columns: 112px minmax(0, 1fr) auto auto;
  grid-template-areas: "media info qty total" "media info remove remove";
  gap: .4rem 1.5rem; align-items: start; padding: 1.4rem 0; border-bottom: 1px solid var(--line);
}
.cline__media {
  grid-area: media; aspect-ratio: 4 / 5; border-radius: 16px; overflow: hidden; display: grid; place-items: center;
  background: radial-gradient(75% 55% at 50% 72%, rgba(201, 162, 94, .16), transparent), var(--lacquer);
}
.cline__info { grid-area: info; min-width: 0; }
.cline__name { font-family: var(--display); font-weight: 400; font-size: 1.4rem; line-height: 1.15; }
.cline__name a:hover { color: var(--gold-hi); }
.cline__variant { margin-top: .3rem; color: var(--ash); font-size: .9rem; }
.cline__unit { margin-top: .2rem; color: var(--ash); font-size: .85rem; }
.cline__problem { margin-top: .55rem; color: #e8907b; font-size: .875rem; }
.cline__qtywrap { grid-area: qty; display: grid; justify-items: end; gap: .35rem; }
.qty-note { max-width: 11rem; color: var(--gold-hi); font-size: .78rem; line-height: 1.3; text-align: right; }
.buy__qty-note { max-width: none; margin-top: .6rem; text-align: left; font-size: .85rem; }
.qty-note[hidden] { display: none; }
.cline__qty button { width: 38px; height: 42px; }
.cline__qty input { width: 32px; }
.cline__total { grid-area: total; min-width: 6.5rem; padding-top: .55rem; text-align: right; font-variant-numeric: tabular-nums; font-size: 1.05rem; }
.cline__remove {
  grid-area: remove; justify-self: end; display: inline-flex; align-items: center; gap: .35rem; min-height: 36px;
  color: var(--ash); font-size: .85rem; transition: color .2s;
}
.cline__remove:hover { color: var(--bone); }
.cline__remove svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.cline.has-problem .cline__media { outline: 1px solid rgba(232, 144, 123, .6); }

/* Paket: ürünler bir arada, üstünde kazanç */
.cpack { margin: 1rem 0; padding: .25rem 1.25rem; border-radius: 20px; background: radial-gradient(60% 120% at 100% 0%, rgba(201, 162, 94, .12), transparent 70%), var(--lacquer); }
.cpack__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem 1rem; padding: 1rem 0 .4rem; font-size: .9rem; }
.cpack__title { flex-basis: 100%; color: var(--ash); font-size: .825rem; }
.cpack__head strong { color: var(--gold-hi); font-weight: 600; }
.cpack.is-off .cpack__head strong { color: var(--ash); }
.cpack .cline:last-child { border-bottom: 0; }
.cart-lines > ul > .cpack:first-child { margin-top: 1.25rem; }

/* Özet */
.cart-sum, .co-sum { padding: clamp(1.4rem, 3vw, 2rem); border-radius: 28px; background: var(--lacquer); }
.cart-side { position: sticky; top: var(--side-top, 84px); min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.cart-sum h2, .co-sum h2 { font-family: var(--display); font-weight: 400; font-size: 1.75rem; line-height: 1.1; }
.ship-bar { margin-top: 1rem; padding: .8rem 1rem; border-radius: 14px; background: var(--black); font-size: .9rem; }
.ship-bar small { color: var(--ash); font-size: .8rem; }
.ship-bar strong { color: var(--gold-hi); font-weight: 600; }
.ship-bar__track { height: 6px; margin: .6rem 0 .1rem; border-radius: 999px; background: rgba(236, 229, 216, .1); overflow: hidden; }
.ship-bar__track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #8a6a35, var(--gold), var(--gold-hi)); transition: width .6s var(--ease); }
.ship-bar__note { color: var(--ash); font-size: .8rem; }

.coupon { margin-top: 1.25rem; }
.coupon__label { display: block; margin-bottom: .4rem; color: var(--ash); font-size: .875rem; }
.coupon__row { display: flex; gap: .5rem; }
.coupon__row input {
  flex: 1; min-width: 0; min-height: 46px; padding: .6rem .9rem; border-radius: 12px;
  border: 1px solid rgba(236, 229, 216, .14); background: var(--black); outline: 0; text-transform: uppercase; letter-spacing: .04em;
}
.coupon__row input::placeholder { text-transform: none; letter-spacing: 0; color: rgba(150, 142, 130, .7); }
.coupon__row input:focus { border-color: var(--gold); }
.coupon__row .btn { min-height: 46px; padding-inline: 1.15rem; }
.coupon__msg { margin-top: .5rem; color: var(--ash); font-size: .85rem; }
.coupon__msg:empty { display: none; }
.coupon__msg.is-ok { color: #9cc99a; }
.coupon__msg.is-error { color: #e8907b; }
.coupon__msg button { margin-left: .25rem; color: var(--bone); text-decoration: underline; text-underline-offset: 3px; }

.totals { margin-top: 1.4rem; border-top: 1px solid var(--line); }
.totals > div { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: .6rem 0; font-size: .95rem; }
.totals dt small { display: block; color: var(--ash); font-size: .78rem; }
.totals dd { font-variant-numeric: tabular-nums; white-space: nowrap; }
.totals .is-save dd { color: #9cc99a; }
.totals > .totals__grand { margin-top: .35rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.totals__grand dt { font-weight: 600; }
.totals__grand dd { font-family: var(--display); font-size: 2rem; line-height: 1; }
.totals > .totals__saved { padding-top: 0; color: var(--gold-hi); font-size: .875rem; }
.cart-sum__go { width: 100%; min-height: 54px; margin-top: 1.25rem; font-size: 1rem; }
.cart-sum__go.is-disabled { opacity: .45; }
.cart-trust { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; margin-top: 1.5rem; color: var(--ash); font-size: .825rem; }
.cart-trust li { display: flex; gap: .6rem; }
.cart-trust li::before { content: ""; flex-shrink: 0; width: 5px; height: 9px; margin: .2rem .2rem 0 .15rem; border: solid var(--gold); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.cart-sum .form-alert { margin: 1rem 0 0; }
.cart-sum .coupon { margin-top: 1rem; }
.cart-sum .totals { margin-top: 1rem; }
.cart-sum .totals > div:not(.totals__grand):not(.totals__saved) { padding: .45rem 0; }
.cart-sum .totals__grand dd { font-size: 1.75rem; }
.cart-sum .cart-sum__go { margin-top: 1rem; }

/* Bu ürünleri alanlar bunları da aldı: sağ sütunda, özetin altında kısa satırlar */
.cart-reco { padding: 1.25rem clamp(1.1rem, 2.5vw, 1.5rem); border-radius: 24px; border: 1px solid var(--line); }
.cart-reco[hidden] { display: none; }
.cart-reco h2 { font-family: var(--display); font-weight: 400; font-size: 1.3rem; line-height: 1.15; }
.cart-reco ul { list-style: none; display: grid; gap: .85rem; margin-top: 1rem; }
.reco { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: .8rem; align-items: center; }
.reco__media {
  aspect-ratio: 4 / 5; border-radius: 12px; overflow: hidden; display: grid; place-items: center;
  background: radial-gradient(75% 55% at 50% 72%, rgba(201, 162, 94, .16), transparent), var(--lacquer);
}
.reco__text { display: grid; min-width: 0; }
.reco__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .9rem; font-weight: 500; }
.reco__name:hover { color: var(--gold-hi); }
.reco__price { color: var(--ash); font-size: .825rem; }
.reco__add {
  min-height: 34px; padding: 0 .85rem; border-radius: 999px; border: 1px solid rgba(201, 162, 94, .55);
  color: var(--gold-hi); font-size: .8rem; font-weight: 500; white-space: nowrap; transition: background-color .2s, color .2s;
}
.reco__add:hover { background: var(--gold); border-color: var(--gold); color: var(--black); }

/* Telefonda ve tablette sıra: ürünler, öneriler (yatay kaydırılır), özet */
@media (max-width: 1000px) {
  .cart-main, .cart-side { display: contents; }
  .cart-lines { order: 1; }
  .cart-reco { order: 2; }
  .cart-sum { order: 3; }
  .cart-trust { order: 4; margin-top: 0; }
  .cart-layout { gap: 1.5rem; }
  .cart-reco { padding: 0; border: 0; }
  .cart-reco ul {
    display: flex; gap: .75rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-inline: calc(-1 * var(--gutter)); padding: 0 var(--gutter) .25rem; scroll-padding-inline: var(--gutter);
  }
  .reco { flex: 0 0 152px; grid-template-columns: 1fr; gap: .45rem; align-items: start; scroll-snap-align: start; }
  .reco__media { border-radius: 16px; }
  .reco__name { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.3; }
  .reco__add { width: 100%; }
}

.cart-empty { padding: clamp(3rem, 8vw, 5rem) 1rem; border-radius: 28px; background: var(--lacquer); text-align: center; color: var(--ash); }
.cart-empty__title { margin-bottom: .5rem; font-family: var(--display); font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.5rem); color: var(--bone); }
.cart-empty .actions { margin-top: 1.75rem; }

@media (max-width: 1000px) {
  .cart-layout { grid-template-columns: minmax(0, 1fr); }
  .cart-side { position: static; }
}
@media (max-width: 600px) {
  .cline {
    grid-template-columns: 84px minmax(0, 1fr) auto;
    grid-template-areas: "media info info" "media qty total" "media remove remove"; gap: .5rem 1rem;
  }
  .cline__name { font-size: 1.2rem; }
  .cline__qtywrap { justify-items: start; }
  .qty-note { text-align: left; }
  .cline__total { padding-top: .6rem; min-width: 0; }
  .cpack { padding-inline: .9rem; }
}

/* ===================== Ödeme ===================== */
.co-header, .co-header.is-scrolled { background: rgba(0, 0, 0, .85); border-color: var(--line); }
.co-header .site-header__inner { justify-content: space-between; }
.co-header__secure { display: inline-flex; align-items: center; gap: .45rem; color: var(--ash); font-size: .875rem; }
.co-header__secure svg { width: 16px; height: 16px; fill: none; stroke: var(--gold); stroke-width: 1.6; stroke-linejoin: round; }
.co-header__back { color: var(--gold-hi); font-size: .9rem; border-bottom: 1px solid rgba(238, 217, 166, .35); }
.co-header__back:hover { border-color: var(--gold-hi); }

.checkout { width: var(--wide); margin-inline: auto; padding: calc(60px + clamp(1.5rem, 3.5vw, 2.75rem)) 0 clamp(4rem, 8vw, 6rem); }
.checkout__head { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.checkout__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 400px); gap: clamp(2rem, 4vw, 4rem); align-items: start; }
.checkout__grid[hidden] { display: none; }
.co-steps { display: grid; gap: .75rem; }

.co-step { border-radius: 24px; border: 1px solid var(--line); transition: background-color .3s, border-color .3s; }
.co-step.is-open { background: var(--lacquer); border-color: transparent; }
.co-step__head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .15rem 1rem; padding: 1.15rem clamp(1.15rem, 3vw, 1.75rem); }
.co-step__num {
  grid-row: span 2; position: relative; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%;
  border: 1px solid rgba(236, 229, 216, .25); font-family: var(--display); font-size: 1.1rem; line-height: 1;
}
.co-step.is-open .co-step__num { background: var(--gold); border-color: var(--gold); color: var(--black); }
.co-step.is-done .co-step__num { border-color: var(--gold); color: transparent; }
.co-step.is-done .co-step__num::after { content: ""; position: absolute; width: 7px; height: 13px; margin-top: -3px; border: solid var(--gold); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.co-step__head h2 { font-size: 1.1rem; font-weight: 600; }
.co-step.is-open .co-step__head h2 { font-family: var(--display); font-weight: 400; font-size: 1.75rem; line-height: 1.1; }
.co-step__head h2:focus { outline: 0; }
.co-step.is-locked .co-step__head { opacity: .45; }
.co-step__summary { grid-column: 2; color: var(--ash); font-size: .875rem; overflow-wrap: anywhere; }
.co-step__summary:empty { display: none; }
.co-step__edit { grid-column: 3; grid-row: 1 / span 2; min-height: 40px; padding: 0 .9rem; border-radius: 999px; border: 1px solid rgba(236, 229, 216, .25); font-size: .85rem; }
.co-step__edit:hover { border-color: var(--bone); }
.co-step__edit[hidden] { display: none; }
.co-step__body { padding: 0 clamp(1.15rem, 3vw, 1.75rem) clamp(1.25rem, 3vw, 1.75rem); }
.co-step__body[hidden] { display: none; }
.co-step__foot { margin-top: 1.5rem; }
.co-step__foot .btn { min-height: 52px; padding-inline: 2rem; }

.co-choice { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin-bottom: 1.25rem; }
.co-choice[hidden] { display: none; }
.co-choice .pill span { height: 100%; }
.co-choice--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Google ve Apple ile devam et */
.co-social { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.co-social[hidden], .co-or[hidden] { display: none; }
.co-social__btn {
  display: flex; align-items: center; justify-content: center; gap: .65rem; min-height: 50px; padding: .5rem 1rem;
  border-radius: 14px; border: 1px solid rgba(236, 229, 216, .25); background: var(--black); font-size: .925rem; font-weight: 500;
  transition: border-color .2s;
}
.co-social__btn:hover { border-color: var(--bone); }
.co-social__btn svg { width: 19px; height: 19px; flex-shrink: 0; }
.co-or { display: flex; align-items: center; gap: .9rem; margin: 1.15rem 0; color: var(--ash); font-size: .825rem; }
.co-or::before, .co-or::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.co-small { color: var(--ash); font-size: .825rem; }
.co-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.co-fields[hidden] { display: none; }
.co-fields + .co-fields, .co-same + .co-fields { margin-top: 1rem; }
.co-sub { margin: 1.75rem 0 .9rem; font-size: .95rem; font-weight: 600; }
.co-sub:first-child { margin-top: 0; }
.field__opt { color: rgba(150, 142, 130, .75); }
.field[hidden] { display: none; }
/* Hatalı alan: kırmızı çerçeve, hafif kırmızı hale ve uyarı ikonu. Ödeme formu ve sepetteki kupon alanı ortak kullanır. */
:root {
  --err: #ef6b4f;
  --err-soft: rgba(239, 107, 79, .16);
  --err-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='%23ef6b4f'/%3E%3Cpath d='M10 5.2v6' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='10' cy='14.6' r='1.2' fill='%23000'/%3E%3C/svg%3E");
}
.field.is-invalid input, .field.is-invalid select, .field.is-invalid textarea, .coupon__row input[aria-invalid="true"] {
  border: 1.5px solid var(--err); box-shadow: 0 0 0 3px var(--err-soft);
}
.field.is-invalid input, .field.is-invalid textarea, .coupon__row input[aria-invalid="true"] {
  padding-right: 2.6rem; background-image: var(--err-icon); background-repeat: no-repeat; background-size: 18px; background-position: right .85rem center;
}
.field.is-invalid textarea { background-position: right .85rem top .85rem; }
.field.is-invalid select { background-image: var(--err-icon), linear-gradient(45deg, transparent 50%, var(--ash) 50%), linear-gradient(-45deg, transparent 50%, var(--ash) 50%); background-size: 18px, 6px 6px, 6px 6px; background-position: right 2.2rem center, right 1.2rem center, right .9rem center; padding-right: 4.2rem; }
.field.is-invalid label { color: var(--bone); }
.field.is-invalid .field__error, .check + .field__error:not(:empty), .coupon__msg.is-error {
  display: flex; gap: .45rem; align-items: flex-start; color: #f49a85; font-weight: 500;
}
.field.is-invalid .field__error::before, .check + .field__error:not(:empty)::before, .coupon__msg.is-error::before {
  content: ""; flex-shrink: 0; width: 16px; height: 16px; margin-top: .1rem; background: var(--err-icon) center / contain no-repeat;
}
.check.is-invalid input { outline: 2px solid var(--err); outline-offset: 1px; border-radius: 3px; box-shadow: 0 0 0 5px var(--err-soft); }
.check.is-invalid { color: var(--bone); }
.field select:disabled { opacity: .45; cursor: not-allowed; }

/* Formun en üstündeki uyarı kutusu */
.form-alert {
  display: flex; flex-wrap: wrap; align-items: center; gap: .2rem .6rem; margin-bottom: 1.25rem; padding: .85rem 1rem .85rem 2.9rem;
  border: 1px solid rgba(239, 107, 79, .55); border-radius: 14px; background: var(--err-soft) var(--err-icon) no-repeat 1rem center / 20px;
  color: #f7b4a4; font-size: .925rem;
}
.form-alert[hidden] { display: none; }
.form-alert strong { color: var(--bone); font-weight: 600; }

/* Hatalı alana gelince hafifçe sallanır */
@keyframes field-shake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-6px); }
  40% { transform: translateX(5px); }
  60% { transform: translateX(-3px); }
  80% { transform: translateX(2px); }
}
.is-shaking { animation: field-shake .45s var(--ease); }
.co-same { margin-top: 1.25rem; }
.co-member { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; padding: 1rem 1.1rem; border-radius: 14px; background: var(--black); }
.co-member[hidden] { display: none; }
.co-member strong { font-weight: 600; }
.co-link { color: var(--gold-hi); font-size: .9rem; text-decoration: underline; text-underline-offset: 3px; }
.co-note { margin-top: 1rem; color: var(--ash); font-size: .85rem; }

.co-ship { margin: 0; padding: 0; border: 0; min-width: 0; }
.co-ship > div { display: grid; gap: .6rem; }
.co-ship__opt { position: relative; cursor: pointer; }
.co-ship__opt input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.co-ship__box {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .15rem 1rem; padding: 1rem 1.1rem 1rem 3rem;
  border-radius: 16px; border: 1px solid rgba(236, 229, 216, .18); transition: border-color .2s, background-color .2s;
}
.co-ship__box::before { content: ""; position: absolute; left: 1.1rem; top: 1.15rem; width: 18px; height: 18px; box-sizing: border-box; border-radius: 50%; border: 1.5px solid rgba(236, 229, 216, .4); }
.co-ship__opt:hover .co-ship__box { border-color: rgba(236, 229, 216, .45); }
.co-ship__opt input:checked + .co-ship__box { border-color: var(--gold); background: rgba(201, 162, 94, .08); }
.co-ship__opt input:checked + .co-ship__box::before { border: 5px solid var(--gold); }
.co-ship__opt input:focus-visible + .co-ship__box { outline: 2px solid var(--focus); outline-offset: 2px; }
.co-ship__name { font-weight: 500; }
.co-ship__time { grid-column: 1; color: var(--ash); font-size: .85rem; }
.co-ship__price { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-variant-numeric: tabular-nums; }
.co-ship__price s { margin-right: .3rem; color: var(--ash); }
.co-ship__price.is-save { color: #9cc99a; }
.co-ship__opt[hidden] { display: none; }

/* Ödeme yöntemi */
.co-paymethod { margin-bottom: 1.5rem; }
.co-tag { display: inline-block; margin-left: .45rem; padding: .12rem .55rem; border-radius: 999px; background: var(--gold); color: var(--black); font-size: .75rem; font-weight: 600; line-height: 1.5; vertical-align: .08em; }

/* Telefon maskesi: yazılmamış haneler soluk "xx" olarak alanın arkasında görünür */
.tel-mask { position: relative; display: block; }
.tel-mask input { position: relative; background-color: transparent !important; font-variant-numeric: tabular-nums; }
.tel-mask::before { content: ""; position: absolute; inset: 0; border-radius: 12px; background: var(--black); }
.tel-mask__ghost {
  position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; padding: 0 calc(.9rem + 1px);
  pointer-events: none; white-space: pre; color: rgba(150, 142, 130, .45); font-variant-numeric: tabular-nums;
}
.tel-mask__typed { visibility: hidden; }

/* Sipariş özetinde teslim alacak kişi */
.co-recv { margin-top: 1rem; padding: .7rem .9rem; border-radius: 12px; background: rgba(236, 229, 216, .04); color: var(--ash); font-size: .875rem; }
.co-recv[hidden] { display: none; }
.co-recv strong { color: var(--bone); font-weight: 500; }
.co-ship__box--pickup .co-ship__price { grid-row: 1 / span 4; }

.co-card[hidden], .co-hosted[hidden] { display: none; }
.co-legal { display: grid; gap: .35rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.co-legal .check { color: var(--bone); }
.co-legal .field__error { margin: -.1rem 0 .4rem 1.85rem; }
.co-legal__open { color: var(--gold-hi); text-decoration: underline; text-underline-offset: 3px; }
.co-legal .co-legal__optional { margin-top: .6rem; padding-top: .9rem; border-top: 1px dashed var(--line); color: var(--ash); }
.co-legal__optional small { color: rgba(150, 142, 130, .8); font-size: .8rem; }
.co-pay-error { margin-top: 1.25rem; padding: .9rem 1.1rem; border-radius: 14px; background: rgba(208, 112, 90, .12); color: #f0a896; font-size: .925rem; }
.co-pay-error[hidden] { display: none; }
.co-pay-error:focus { outline: 0; }
.co-step__foot .co-pay { width: 100%; min-height: 56px; font-size: 1.05rem; }
.co-pay.is-busy { opacity: .7; cursor: progress; }

/* Ödeme özeti */
.co-sum { position: sticky; top: 84px; }
.co-side .co-sum { position: static; }
.co-sum__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.co-sum__head a { color: var(--gold-hi); font-size: .875rem; border-bottom: 1px solid rgba(238, 217, 166, .35); }
.co-items { list-style: none; display: grid; gap: 1rem; margin-top: 1.25rem; padding: 6px 6px 0 0; max-height: 46vh; overflow-y: auto; scrollbar-width: thin; }
.co-item { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: .9rem; align-items: center; }
.co-item__media { position: relative; aspect-ratio: 4 / 5; border-radius: 12px; display: grid; place-items: center; background: var(--black); }
.co-item__qty {
  position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px;
  background: var(--bone); color: var(--black); font-size: .72rem; font-weight: 600; line-height: 20px; text-align: center;
}
.co-item__text { display: grid; min-width: 0; }
.co-item__name { font-size: .925rem; font-weight: 500; }
.co-item__variant { color: var(--ash); font-size: .8rem; }
.co-item__price { font-size: .925rem; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* Sözleşme penceresi */
.legal {
  width: min(760px, calc(100vw - 2rem)); max-height: min(86vh, 900px); margin: auto; padding: 0;
  border: 1px solid var(--line); border-radius: 24px; background: var(--lacquer); color: var(--bone); overflow: hidden;
}
.legal[open] { display: flex; flex-direction: column; }
.legal::backdrop { background: rgba(0, 0, 0, .72); }
.legal__head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--line); }
.legal__head h2 { font-family: var(--display); font-weight: 400; font-size: 1.75rem; line-height: 1.1; }
.legal__close { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; }
.legal__close svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.legal__body { flex: 1; overflow-y: auto; padding: 1.25rem 1.5rem 1.5rem; font-size: .925rem; color: rgba(236, 229, 216, .85); }
.legal__body h3 { margin: 1.4rem 0 .5rem; color: var(--bone); font-size: 1rem; font-weight: 600; }
.legal__body p + p { margin-top: .6rem; }
.legal__body ul { display: grid; gap: .4rem; margin: .6rem 0 .75rem; padding-left: 1.2rem; }
.legal__body ul + p { margin-top: .6rem; }
.legal__body li::marker { color: var(--gold); }
.legal__body em { color: var(--ash); font-style: normal; }
.legal__body strong { color: var(--bone); font-weight: 600; }
.legal__table { width: 100%; margin: .5rem 0 .75rem; border-collapse: collapse; font-size: .875rem; }
.legal__table th, .legal__table td { padding: .5rem .4rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.legal__table th { color: var(--ash); font-weight: 500; }
.legal__table td:last-child, .legal__table th:last-child { text-align: right; white-space: nowrap; }
.legal__table small { color: var(--ash); }
.legal__foot { padding: 1rem 1.5rem; border-top: 1px solid var(--line); text-align: right; }
.legal__foot .btn[hidden] { display: none; }

/* Misafir olarak devam etmeden önce üyelik hatırlatması */
.nudge {
  position: fixed; width: min(480px, calc(100vw - 2rem)); margin: auto; padding: clamp(1.75rem, 5vw, 2.5rem);
  border: 1px solid rgba(201, 162, 94, .35); border-radius: 28px; color: var(--bone); text-align: center;
  background: radial-gradient(120% 60% at 50% 0%, rgba(201, 162, 94, .16), transparent 70%), var(--lacquer);
}
.nudge::backdrop { background: rgba(0, 0, 0, .72); }
.nudge[open] { animation: nudge-in .35s var(--ease); }
@keyframes nudge-in { from { opacity: 0; transform: translateY(12px) scale(.98); } }
.nudge__close { position: absolute; top: .75rem; right: .75rem; }
.nudge__emblem { display: block; width: 58px; margin: 0 auto 1rem; border-radius: 10px; }
.nudge h2 { font-family: var(--display); font-weight: 400; font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2rem); line-height: 1.12; text-wrap: balance; }
.nudge > p { margin-top: .75rem; color: var(--ash); font-size: .95rem; }
.nudge__perks { list-style: none; display: grid; gap: .55rem; margin: 1.4rem 0 0; padding: 1.1rem 1.2rem; border-radius: 18px; background: var(--black); text-align: left; font-size: .9rem; }
.nudge__perks li { display: flex; gap: .7rem; }
.nudge__perks li::before { content: ""; flex-shrink: 0; width: 5px; height: 9px; margin: .25rem .2rem 0 .15rem; border: solid var(--gold); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.nudge__actions { display: grid; gap: .6rem; margin-top: 1.5rem; }
.nudge__actions .btn { min-height: 52px; }
@media (prefers-reduced-motion: reduce) { .nudge[open] { animation: none; } }

.co-footer {
  width: var(--wide); margin: 0 auto; padding-block: 1.5rem 2.5rem; border-top: 1px solid var(--line);
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; color: var(--ash); font-size: .875rem;
}
.co-footer ul { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.co-footer a:hover { color: var(--bone); }

@media (max-width: 1000px) {
  .checkout__grid { grid-template-columns: minmax(0, 1fr); }
  .co-sum { position: static; order: -1; }
  .co-items { max-height: none; }
}
@media (max-width: 560px) {
  .co-header__secure { display: none; }
  .co-choice, .co-fields, .co-social { grid-template-columns: 1fr; }
  .co-choice--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; }
  .co-choice--3 .pill span { padding: .5rem .6rem; font-size: .875rem; }
  .co-step__head { grid-template-columns: auto minmax(0, 1fr); }
  .co-step__edit { grid-column: 2; grid-row: auto; justify-self: start; margin-top: .4rem; }
}

/* ===================== Sipariş alındı ===================== */
.done-page { width: var(--wrap); margin-inline: auto; padding: calc(60px + clamp(2.5rem, 6vw, 5rem)) 0 clamp(5rem, 10vw, 8rem); }
.done[hidden] { display: none; }
.done__head { max-width: 44rem; }
.done__mark { width: 64px; height: 64px; margin-bottom: 1.25rem; fill: none; stroke: var(--gold); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.done__mark path { stroke-dasharray: 48; stroke-dashoffset: 48; animation: done-tick .7s .25s var(--ease) forwards; }
@keyframes done-tick { to { stroke-dashoffset: 0; } }
.done__head h1 { font-family: var(--display); font-weight: 400; font-size: clamp(2.75rem, 1.4rem + 4.5vw, 5rem); line-height: .95; letter-spacing: -.025em; }
.done__lead { margin-top: 1.25rem; color: var(--ash); font-size: clamp(1rem, .95rem + .3vw, 1.15rem); }
.done__lead strong { color: var(--bone); font-weight: 500; }
.done__steps { list-style: none; counter-reset: dstep; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: clamp(2.5rem, 5vw, 3.5rem) 0; }
.done__steps li { counter-increment: dstep; display: grid; align-content: start; gap: .2rem; padding-top: 1rem; border-top: 2px solid var(--line); }
.done__steps li::before { content: counter(dstep); margin-bottom: .3rem; font-family: var(--display); font-size: 1.6rem; line-height: 1; color: var(--ash); }
.done__steps li.is-done { border-color: var(--gold); }
.done__steps li.is-done::before { color: var(--gold); }
.done__step-name { font-weight: 600; }
.done__step-note { color: var(--ash); font-size: .875rem; }
.done__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 400px); gap: clamp(2rem, 4vw, 4rem); align-items: start; }
.done__grid .co-sum { position: static; }
.done__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem 2rem; }
.done__facts dt { margin-bottom: .35rem; color: var(--ash); font-size: .85rem; }
.done__facts dd { margin: 0; font-size: .95rem; }
.done__account { margin-top: 2rem; padding: 1.25rem 1.4rem; border-radius: 20px; border: 1px solid var(--line); color: var(--ash); font-size: .925rem; }
.done__account[hidden] { display: none; }
.done__account strong { color: var(--bone); font-weight: 600; }
.done__account .btn { margin-top: 1rem; }
.done__actions { justify-content: flex-start; margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.done__head[hidden] { display: none; }

/* Havale bilgileri ekranı.
   Sipariş numarası, IBAN ve tutar JetBrains Mono ile yazılır: rakamlar eşit genişlikte, 0/O ve 1/I/l karışmaz. */
.wire { --mono: "TT Lira", "JetBrains Mono", Consolas, ui-monospace, monospace; max-width: 46rem; }
.wire[hidden] { display: none; }
.wire__label { margin: 0; color: var(--ash); font-size: 1rem; font-weight: 400; }
.wire__nobox {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.25rem;
  margin-top: .6rem; padding: 1rem 1rem 1rem 1.5rem; border-radius: 18px; background: #fff; color: #000;
}
.wire__no { font-family: var(--mono); font-weight: 700; font-size: clamp(1.6rem, 1.05rem + 2.6vw, 2.6rem); line-height: 1.15; letter-spacing: .03em; text-transform: uppercase; overflow-wrap: anywhere; }
.wire__alert { margin-top: 1.5rem; padding: 1rem 1.25rem; border-radius: 14px; border: 1px solid var(--gold); background: rgba(201, 162, 94, .14); color: var(--bone); font-size: clamp(1rem, .96rem + .2vw, 1.1rem); font-weight: 600; line-height: 1.45; }
.wire__title { margin-top: 2.25rem; font-size: .95rem; font-weight: 600; }
.wire__facts { margin-top: .8rem; border-radius: 20px; border: 1px solid var(--line); background: var(--lacquer); }
.wire__facts > div { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); align-items: center; gap: .35rem 1rem; padding: 1rem 1.25rem; }
.wire__facts > div + div { border-top: 1px solid var(--line); }
.wire__facts dt { color: var(--ash); font-size: .9rem; }
.wire__facts dd { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1rem; margin: 0; font-size: 1.05rem; }
.wire__mono { font-family: var(--mono); font-weight: 500; font-variant-numeric: tabular-nums slashed-zero; letter-spacing: .01em; }
.wire__facts .wire__amount { font-size: 1.6rem; font-weight: 700; line-height: 1.1; }
.wire__copy {
  flex-shrink: 0; min-height: 40px; padding: .45rem 1.1rem; border-radius: 999px; border: 1px solid rgba(201, 162, 94, .6);
  color: var(--gold-hi); font-size: .875rem; letter-spacing: 0; transition: background-color .2s, border-color .2s, color .2s;
}
.wire__copy:hover { background: rgba(201, 162, 94, .12); }
.wire__copy:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.wire__copy.is-done { border-color: #9cc99a; color: #9cc99a; }
.wire__copy--dark { min-height: 44px; padding-inline: 1.3rem; border-color: #000; background: #000; color: #fff; font-weight: 600; }
.wire__copy--dark:hover { background: #2b2b2b; }
.wire__copy--dark:focus-visible { outline-color: #000; }
.wire__copy--dark.is-done { border-color: #1f6b35; background: #1f6b35; color: #fff; }
@media (max-width: 520px) {
  .wire__facts > div { grid-template-columns: 1fr; }
  .wire__facts .wire__mono:not(.wire__amount) { font-size: .9rem; letter-spacing: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .done__mark path { animation: none; stroke-dashoffset: 0; }
}

/* ===================== Özel gün kampanyası (kampanyalar.js) =====================
   Ana sayfada Koleksiyonlar'ın üstünde. Bütün alan tek bağlantıdır. Süsler temaya göre değişir. */
.camp-wrap { width: var(--wide); margin-inline: auto; padding-top: clamp(3rem, 7vw, 5.5rem); }
.camp-wrap[hidden] { display: none; }
.camp {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: center; gap: clamp(2rem, 4vw, 4rem);
  padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.5rem, 5vw, 4.5rem) clamp(7rem, 11vw, 9rem);
  border-radius: 28px; border: 1px solid rgba(201, 162, 94, .3);
  background: linear-gradient(160deg, #15110c, #070605 70%);
  transition: border-color .3s, box-shadow .3s;
}
.camp__decor, .camp__body, .camp__when, .camp__pname, .camp__price { display: block; }
.camp__decor { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.camp__decor > span { position: absolute; display: block; }
.camp__body { position: relative; z-index: 2; max-width: 30rem; }
.camp__when {
  display: inline-block; margin-bottom: 1.1rem; padding: .3rem .85rem; border-radius: 999px;
  border: 1px solid currentColor; font-size: .82rem; font-weight: 500; color: var(--gold-hi);
}
.camp__title {
  display: block; font-family: var(--display); font-weight: 400;
  font-size: clamp(2.5rem, 1.3rem + 3.6vw, 4.75rem); line-height: .98; letter-spacing: -.02em; text-wrap: balance;
}
.camp__text { display: block; max-width: 28em; margin: 1.1rem 0 2rem; color: var(--ash); font-size: clamp(.98rem, .93rem + .25vw, 1.12rem); text-wrap: pretty; }
.camp__btn { background: var(--gold); color: var(--black); transition: background-color .25s, transform .25s var(--ease), box-shadow .25s; }
.camp:hover .camp__btn, .camp:focus-visible .camp__btn { background: var(--gold-hi); transform: translateY(-2px); }
.camp:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
.camp__products { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.camp__product {
  display: grid; grid-template-rows: minmax(0, 1fr) auto auto; padding: .9rem .9rem .8rem; aspect-ratio: 1 / 1.08;
  border-radius: 20px; background: rgba(236, 229, 216, .035); border: 1px solid rgba(236, 229, 216, .08);
  transition: transform .5s var(--ease), border-color .3s;
}
.camp__art { display: grid; place-items: center; min-height: 0; }
.camp__art svg { width: min(70%, 120px); height: auto; aspect-ratio: 1; }
.camp__pname { margin-top: .5rem; font-size: .85rem; font-weight: 500; line-height: 1.3; }
.camp__price { margin-top: .15rem; color: var(--ash); font-size: .85rem; font-variant-numeric: tabular-nums; }
.camp:hover .camp__product:nth-of-type(odd) { transform: translateY(-4px); }
.camp:hover .camp__product:nth-of-type(even) { transform: translateY(4px); }
.camp__ground { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; height: clamp(70px, 9vw, 110px); pointer-events: none; }
.camp__ground svg { width: 100%; height: 100%; display: block; }

/* Halloween: gece moru gökyüzü, balkabağı turuncusu vurgu */
.camp--halloween {
  --pumpkin: #f07a26; --pumpkin-hi: #ffb25e;
  border-color: rgba(240, 122, 38, .38);
  background:
    radial-gradient(42% 60% at 78% 12%, rgba(240, 122, 38, .2), transparent 70%),
    radial-gradient(60% 70% at 12% 100%, rgba(98, 60, 140, .28), transparent 70%),
    linear-gradient(170deg, #150f1e 0%, #0b0810 55%, #070505 100%);
}
.camp--halloween:hover { border-color: rgba(255, 178, 94, .7); box-shadow: 0 30px 80px -30px rgba(240, 122, 38, .45); }
.camp--halloween .camp__when { color: var(--pumpkin-hi); }
.camp--halloween .camp__title {
  background: linear-gradient(100deg, #ffd9a0 0%, var(--pumpkin-hi) 35%, var(--pumpkin) 70%, #c9a25e 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.camp--halloween .camp__btn { background: var(--pumpkin); }
.camp--halloween:hover .camp__btn, .camp--halloween:focus-visible .camp__btn { background: var(--pumpkin-hi); box-shadow: 0 10px 30px -8px rgba(240, 122, 38, .7); }
.camp--halloween .camp__product { border-color: rgba(240, 122, 38, .16); background: linear-gradient(180deg, rgba(240, 122, 38, .07), rgba(236, 229, 216, .02)); }
.camp--halloween .camp__art svg { fill: url(#g-pumpkin); filter: drop-shadow(0 0 18px rgba(240, 122, 38, .25)); }
.camp--halloween .camp__ground path { fill: #040305; }
.camp__moon {
  top: -64px; left: 40%; width: 170px; aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle at 40% 40%, #fff1d2, #f2c27a 45%, #c47a2c 75%);
  box-shadow: 0 0 80px 20px rgba(242, 160, 70, .25); opacity: .42;
}
.camp__web { top: 0; width: clamp(90px, 12vw, 150px); }
.camp__web svg { width: 100%; height: auto; display: block; fill: none; stroke: rgba(236, 229, 216, .28); stroke-width: 1.1; }
.camp__web--tl { left: 0; }
.camp__web--tr { right: 0; transform: scaleX(-1); }

/* Örümcekler: tavandan iplikle sarkıp yavaşça iner, çıkar */
.spider { display: block; width: 42px; }
.spider svg { display: block; width: 100%; height: auto; overflow: visible; }
.spider__legs path { fill: none; stroke: #5a4762; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.spider__body { fill: #3d2f44; stroke: rgba(255, 178, 94, .7); stroke-width: 1; }
.spider__eye { fill: #ffc074; }
.spider--hang { top: 0; }
.spider--hang::before { content: ""; position: absolute; left: 50%; bottom: 72%; width: 1px; height: 600px; background: linear-gradient(to top, rgba(236, 229, 216, .6), rgba(236, 229, 216, .15)); }
.camp__decor .spider--hang.s1 { left: 47%; top: 30px; animation: spider-hang 7s ease-in-out infinite; }
.camp__decor .spider--hang.s2 { right: 3%; top: 150px; width: 32px; animation: spider-hang 9s -3s ease-in-out infinite; }
.camp__decor .spider--hang.s3 { left: 30%; top: 20px; width: 26px; animation: spider-hang 6s -1.5s ease-in-out infinite; }
@keyframes spider-hang { 0%, 100% { transform: translateY(-30px); } 45% { transform: translateY(46px) rotate(4deg); } 60% { transform: translateY(40px) rotate(-3deg); } }
.spider .spider__legs { transform-origin: 30px 30px; }

/* Ürünlerin üstünde ve arasında gezen örümcek */
.spider--walk { position: absolute; z-index: 3; top: -20px; left: 0; width: 34px; animation: spider-walk 18s linear infinite; }
.spider--walk .spider__legs { animation: spider-legs .28s steps(2) infinite; }
@keyframes spider-walk {
  0% { left: 0; top: -20px; transform: rotate(90deg); }
  40% { left: calc(100% - 30px); top: -20px; transform: rotate(90deg); }
  45% { left: calc(100% - 30px); top: -20px; transform: rotate(180deg); }
  52% { left: calc(100% - 30px); top: calc(50% - 15px); transform: rotate(180deg); }
  56% { left: calc(100% - 30px); top: calc(50% - 15px); transform: rotate(270deg); }
  92% { left: 0; top: calc(50% - 15px); transform: rotate(270deg); }
  96% { left: 0; top: calc(50% - 15px); transform: rotate(360deg); }
  100% { left: 0; top: -20px; transform: rotate(450deg); }
}
@keyframes spider-legs { 50% { transform: scaleY(.88) rotate(4deg); } }

/* Yarasalar: arada bir gökyüzünden geçer */
.camp__decor .bat { top: 12%; left: 0; width: 58px; opacity: 0; }
.bat svg { display: block; width: 100%; height: auto; }
.bat__wing { fill: #2c2033; stroke: rgba(255, 178, 94, .55); stroke-width: .6; transform-origin: 40px 14px; animation: bat-flap .32s ease-in-out infinite alternate; }
.bat__eye { fill: #ffb25e; }
.camp__decor .bat.b1 { animation: bat-fly 16s 2s linear infinite; }
.camp__decor .bat.b2 { top: 26%; width: 42px; animation: bat-fly 16s 9s linear infinite; }
@keyframes bat-flap { to { transform: scaleY(.45); } }
@keyframes bat-fly {
  0% { opacity: 0; transform: translate(-60px, 20px); }
  4% { opacity: 1; }
  15% { transform: translate(30vw, -10px); }
  30% { transform: translate(62vw, 25px); opacity: 1; }
  40% { opacity: 0; transform: translate(95vw, -20px); }
  100% { opacity: 0; transform: translate(95vw, -20px); }
}

/* Zombiler: mezarlık tepesinin arkasından yükselip sallanır, sonra geri batar */
.camp__decor .zombie { top: auto; bottom: 14px; z-index: 0; width: clamp(110px, 12vw, 170px); }
.zombie svg { display: block; width: 100%; height: auto; }
.camp__decor .zombie--l { left: 3%; transform: translateY(80%); animation: zombie-rise 11s ease-in-out infinite; }
.camp__decor .zombie--r { right: 4%; transform: translateY(80%) scaleX(-1); animation: zombie-rise-r 11s 5.5s ease-in-out infinite; }
.z-skin { fill: #7f9668; }
.z-shade { fill: #64794f; }
.z-hair, .z-pupil { fill: #1d2216; }
.z-eye { fill: #f1ead6; }
.z-rag { fill: #3c3346; }
.z-stitch { fill: none; stroke: #2a2f20; stroke-width: 2.4; stroke-linecap: round; }
@keyframes zombie-rise {
  0%, 12% { transform: translateY(80%) rotate(0); }
  28% { transform: translateY(18%) rotate(-3deg); }
  38% { transform: translateY(20%) rotate(3deg); }
  48% { transform: translateY(17%) rotate(-2deg); }
  58% { transform: translateY(22%) rotate(2deg); }
  74%, 100% { transform: translateY(80%) rotate(0); }
}
@keyframes zombie-rise-r {
  0%, 12% { transform: translateY(80%) scaleX(-1) rotate(0); }
  28% { transform: translateY(18%) scaleX(-1) rotate(-3deg); }
  38% { transform: translateY(20%) scaleX(-1) rotate(3deg); }
  48% { transform: translateY(17%) scaleX(-1) rotate(-2deg); }
  58% { transform: translateY(22%) scaleX(-1) rotate(2deg); }
  74%, 100% { transform: translateY(80%) scaleX(-1) rotate(0); }
}

@media (max-width: 900px) {
  .camp { grid-template-columns: minmax(0, 1fr); }
  .camp__moon { width: 150px; top: -50px; }
  .camp__decor .spider--hang.s1 { left: auto; right: 26%; }
  .camp__decor .spider--hang.s3 { display: none; }
}
@media (max-width: 520px) {
  .camp { border-radius: 22px; }
  .camp__products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
  .camp__product { padding: .75rem; aspect-ratio: auto; }
  .camp__art svg { width: 64px; }
  .camp__product:nth-of-type(n+5) { display: none; }
  .camp__pname { font-size: .82rem; }
}
@media (prefers-reduced-motion: reduce) {
  .camp *, .camp *::before { animation: none !important; }
  .camp__decor .zombie--l { transform: translateY(30%); }
  .camp__decor .zombie--r { transform: translateY(30%) scaleX(-1); }
  .camp__decor .bat { display: none; }
}

/* Kampanya ürünleri sayfası (kategori.html?kampanya=halloween) */
.cat-page--halloween .cat-hero h1 {
  background: linear-gradient(100deg, #ffd9a0 0%, #ffb25e 35%, #f07a26 75%); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.cat-page--halloween .cat-hero__art svg { fill: url(#g-pumpkin); }
.cat-page--halloween .pcard__media svg { fill: url(#g-pumpkin); }

/* ===================== Bilgi sayfaları: SSS ve blog ===================== */
.faq-page, .blog-page, .post-page { width: var(--wide); margin-inline: auto; padding: calc(60px + clamp(2.5rem, 6vw, 5rem)) 0 clamp(5rem, 10vw, 8rem); }
.page-hero { max-width: 46rem; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.page-hero h1 {
  font-family: var(--display); font-weight: 400;
  font-size: clamp(2.75rem, 1.2rem + 5vw, 5.5rem); line-height: .95; letter-spacing: -.025em; text-wrap: balance;
}
.page-hero__lead { max-width: 36em; margin-top: 1.1rem; color: var(--ash); font-size: clamp(1rem, .95rem + .3vw, 1.2rem); text-wrap: pretty; }

/* SSS: solda konu listesi (yapışkan), sağda açılır kapanır sorular */
.faq { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.faq__nav { position: sticky; top: 92px; }
.faq__nav ul { list-style: none; display: grid; gap: .2rem; }
.faq__nav a { display: block; padding: .5rem .9rem; border-radius: 999px; color: var(--ash); transition: color .2s, background-color .2s; }
.faq__nav a:hover { color: var(--bone); background: rgba(236, 229, 216, .05); }
.faq__nav a.is-active { color: var(--black); background: var(--gold); }
.faq__groups { display: grid; gap: clamp(3rem, 6vw, 4.5rem); max-width: 50rem; }
.faq__group { scroll-margin-top: 90px; }
.faq__group h2 { margin-bottom: 1rem; font-family: var(--display); font-weight: 400; font-size: clamp(1.7rem, 1.3rem + 1.2vw, 2.3rem); }
.faq__item { border-bottom: 1px solid var(--line); }
.faq__item:first-of-type { border-top: 1px solid var(--line); }
.faq__item summary {
  display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
  padding: 1.15rem 0; cursor: pointer; list-style: none; font-size: 1.05rem; font-weight: 500;
  transition: color .2s;
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary:hover { color: var(--gold-hi); }
.faq__item summary:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; border-radius: 4px; }
.faq__icon { position: relative; flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; border: 1px solid rgba(236, 229, 216, .2); transition: transform .3s var(--ease), border-color .2s; }
.faq__icon::before, .faq__icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 1.5px; background: currentColor; translate: -50% -50%; }
.faq__icon::after { rotate: 90deg; transition: rotate .3s var(--ease); }
.faq__item[open] .faq__icon { border-color: var(--gold); color: var(--gold-hi); }
.faq__item[open] .faq__icon::after { rotate: 0deg; }
.faq__a { padding: 0 3rem 1.4rem 0; color: var(--ash); line-height: 1.65; }
.faq__a p + p { margin-top: .7rem; }
.faq__a strong { color: var(--bone); font-weight: 500; }
.faq__a a, .faq__help a { color: var(--gold-hi); border-bottom: 1px solid rgba(238, 217, 166, .35); }
.faq__a a:hover, .faq__help a:hover { border-color: var(--gold-hi); }
.faq__item[open] .faq__a { animation: faq-open .35s var(--ease); }
@keyframes faq-open { from { opacity: 0; transform: translateY(-6px); } }
.faq__help { padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: 22px; border: 1px solid rgba(201, 162, 94, .3); background: rgba(201, 162, 94, .05); }
.faq__help h2 { font-family: var(--display); font-weight: 400; font-size: 1.6rem; margin-bottom: .5rem; }
.faq__help p { color: var(--ash); line-height: 1.6; }
@media (max-width: 860px) {
  .faq { grid-template-columns: minmax(0, 1fr); }
  .faq__nav { position: static; margin-inline: calc(-1 * var(--gutter)); overflow-x: auto; scrollbar-width: none; }
  .faq__nav ul { display: flex; gap: .4rem; padding-inline: var(--gutter); }
  .faq__nav a { white-space: nowrap; border: 1px solid var(--line); }
  .faq__a { padding-right: 0; }
}

/* Blog: yazı kartları */
.blog-home .section-head { width: var(--wide); }
.blog-home .section-head--row .btn { flex-shrink: 0; }
.posts { width: var(--wide); margin-inline: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2rem); }
.posts--page, .posts--two { width: auto; }
.posts--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.post-card a { display: block; }
.post-card__cover {
  display: grid; place-items: center; aspect-ratio: 16 / 10; border-radius: 22px; overflow: hidden;
  background: radial-gradient(70% 90% at 50% 40%, rgba(201, 162, 94, .16), transparent 70%), #0f0d0a;
  border: 1px solid var(--line);
}
.post-card__cover svg, .post-card__cover .samurai { width: 46%; transition: transform .9s var(--ease); }
.post-card a:hover .post-card__cover svg, .post-card a:hover .post-card__cover .samurai { transform: scale(1.05); }
.post-card__meta { margin-top: 1.1rem; color: var(--ash); font-size: .85rem; }
.post-card__title { margin-top: .45rem; font-family: var(--display); font-weight: 400; font-size: clamp(1.35rem, 1.15rem + .6vw, 1.75rem); line-height: 1.15; text-wrap: balance; transition: color .2s; }
.post-card a:hover .post-card__title { color: var(--gold-hi); }
.post-card__excerpt { margin-top: .55rem; color: var(--ash); line-height: 1.55; text-wrap: pretty; }

/* Atölyeden kısa kesitler: dikey videolar; yalnızca görünürken sessiz oynar */
.clips {
  width: var(--wide); margin: clamp(3.5rem, 7vw, 5.5rem) auto 0;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.4fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center;
}
.blog-page .clips, .post-page .clips { width: auto; }
.clips__title { font-family: var(--display); font-weight: 400; font-size: clamp(1.7rem, 1.3rem + 1.2vw, 2.4rem); line-height: 1.1; }
.clips__head p { margin-top: .6rem; color: var(--ash); max-width: 22em; }
.clips__list { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.75rem, 1.5vw, 1.25rem); }
.clip { margin: 0; }
.clip__video {
  display: block; width: 100%; height: auto; aspect-ratio: 9 / 16; object-fit: cover;
  border-radius: 20px; background: #0f0d0a; border: 1px solid var(--line);
}
.clip__cap { margin-top: .6rem; color: var(--ash); font-size: .85rem; line-height: 1.4; }

/* Yazı sayfası */
.post { max-width: 46rem; margin-inline: auto; }
.post__head h1 {
  font-family: var(--display); font-weight: 400;
  font-size: clamp(2.4rem, 1.2rem + 3.8vw, 4.4rem); line-height: 1; letter-spacing: -.02em; text-wrap: balance;
}
.post__meta { margin-top: 1rem; color: var(--ash); font-size: .9rem; }
.post__cover { display: grid; place-items: center; aspect-ratio: 16 / 8; margin: clamp(2rem, 4vw, 3rem) 0; border-radius: 26px; background: radial-gradient(60% 90% at 50% 40%, rgba(201, 162, 94, .18), transparent 70%), #0f0d0a; border: 1px solid var(--line); }
.post__cover svg, .post__cover .samurai { width: 34%; }
.post__body { font-size: 1.08rem; line-height: 1.75; color: #d6cfc2; }
.post__body > * + * { margin-top: 1.1rem; }
.post__body h2 { margin-top: 2.6rem; font-family: var(--display); font-weight: 400; font-size: clamp(1.55rem, 1.3rem + .8vw, 2rem); line-height: 1.15; color: var(--bone); }
.post__body ul { padding-left: 1.2rem; display: grid; gap: .45rem; }
.post__body li::marker { color: var(--gold); }
.post__body strong { color: var(--bone); font-weight: 600; }
.post__body a { color: var(--gold-hi); border-bottom: 1px solid rgba(238, 217, 166, .35); }
.post__body a:hover { border-color: var(--gold-hi); }
.post__body .clip { max-width: 300px; margin: 2rem auto; }
.post__body .clip__cap { text-align: center; }
.post__products { margin-top: 3rem; padding: 1.5rem 1.75rem; border-radius: 22px; border: 1px solid rgba(201, 162, 94, .3); background: rgba(201, 162, 94, .05); }
.post__products h2 { font-size: 1rem; font-weight: 600; margin-bottom: .75rem; }
.post__products ul { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; }
.post__products a { display: inline-block; padding: .45rem 1rem; border-radius: 999px; border: 1px solid rgba(236, 229, 216, .2); transition: border-color .2s, color .2s; }
.post__products a:hover { border-color: var(--gold); color: var(--gold-hi); }
.post__more { max-width: 60rem; margin: clamp(4rem, 8vw, 6rem) auto 0; }
.post__more > h2 { margin-bottom: 1.5rem; font-family: var(--display); font-weight: 400; font-size: clamp(1.7rem, 1.3rem + 1.2vw, 2.3rem); }

@media (max-width: 900px) {
  .posts { grid-template-columns: minmax(0, 1fr); max-width: 34rem; }
  .posts--two { grid-template-columns: minmax(0, 1fr); }
  .clips { grid-template-columns: minmax(0, 1fr); }
  .clips__list { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(170px, 46%); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); }
  .clip { scroll-snap-align: start; }
}
