/* =========================================================
   MARBLE VERTEX — Ortak özel stiller (Tailwind dışı)
   ========================================================= */

:root {
  --mv-ink: #231f20;
  --mv-gold: #b8945f;
  --mv-gold-bright: #cdab73;
  --mv-gold-deep: #9a7b4a;
  --mv-cream: #f6f3ee;
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Inter', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.font-display { font-family: 'Fraunces', 'Cormorant Garamond', Georgia, serif; }

/* ----- Tema geçişi yumuşatma ----- */
.theme-transition,
.theme-transition * {
  transition: background-color .4s ease, border-color .4s ease, color .4s ease;
}
.theme-transition .mv-muted-text {
  transition: background-color .4s ease, border-color .4s ease !important;
}

/* ----- Footer Grafion logosu (Powered by ile aynı ton) ----- */
.grafion-mark { filter: brightness(0); transition: filter .4s ease; }
.dark .grafion-mark { filter: brightness(0) invert(94%) sepia(6%) saturate(180%) hue-rotate(350deg) brightness(102%); }

/* ----- Altın degrade metin ----- */
.text-gold-gradient {
  background: linear-gradient(100deg, var(--mv-gold-deep), var(--mv-gold-bright), var(--mv-gold));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ----- İnce harf aralıklı etiket ----- */
.eyebrow {
  letter-spacing: .28em;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 500;
}

/* ----- Logo dark modda kreme dönsün (SVG tek renk #231f20) ----- */
.brand-mark { color: var(--mv-ink); }
.dark .brand-mark { filter: invert(94%) sepia(6%) saturate(180%) hue-rotate(350deg) brightness(102%); }

/* ----- Footer ödeme logoları ----- */
.footer-odeme-logo {
  opacity: 1;
  filter: none;
  display: inline-block;
  vertical-align: middle;
}
.footer-odeme-logo--light-only { display: inline-block; }
.footer-odeme-logo--dark-only { display: none; }
.dark .footer-odeme-logo--light-only { display: none; }
.dark .footer-odeme-logo--dark-only { display: inline-block; }
.dark .footer-odeme-logo--beyaz-maske {
  filter: brightness(0) invert(1);
}

/* ----- Özel kaydırma çubuğu ----- */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--mv-gold-deep); border-radius: 99px; }
.dark ::-webkit-scrollbar-thumb { background: var(--mv-gold); }

/* ----- Scroll-reveal animasyonu ----- */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1); }
.reveal.is-visible { opacity: 1; transform: none; }
.reveal-delay-1 { transition-delay: .08s; }
.reveal-delay-2 { transition-delay: .16s; }
.reveal-delay-3 { transition-delay: .24s; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* ----- İnce altın çerçeve hover (ürün kartı) ----- */
.card-hover { transition: transform .6s cubic-bezier(.16,1,.3,1), box-shadow .6s ease; }
.card-hover:hover { transform: translateY(-6px); }

.img-zoom { overflow: hidden; }
.img-zoom img { transition: transform 1.1s cubic-bezier(.16,1,.3,1); }
.img-zoom:hover img { transform: scale(1.06); }

/* ----- Mermer taş swatch'ları (görselsiz, saf CSS) ----- */
.swatch { background-size: cover; background-position: center; position: relative; }
.stone-calacatta-viola { background:
  radial-gradient(120% 80% at 30% 20%, #fff 0%, #f3eef0 40%, #efe7ea 100%),
  linear-gradient(115deg, transparent 40%, rgba(124,42,74,.55) 41%, rgba(124,42,74,.0) 44%),
  linear-gradient(70deg, transparent 55%, rgba(90,28,52,.45) 56%, transparent 59%); }
.stone-afyon-gray { background:
  radial-gradient(120% 90% at 40% 30%, #eceaea 0%, #d9d6d6 60%, #cfcccc 100%),
  linear-gradient(120deg, transparent 48%, rgba(120,120,125,.35) 50%, transparent 53%); }
.stone-bayat-black { background:
  radial-gradient(120% 90% at 35% 25%, #2b2b2e 0%, #1a1a1c 70%, #121214 100%),
  linear-gradient(125deg, transparent 45%, rgba(200,200,210,.18) 47%, transparent 50%); }
.stone-calacatta-gold { background:
  radial-gradient(120% 85% at 30% 25%, #fdfbf6 0%, #f4ecdd 55%, #efe6d2 100%),
  linear-gradient(118deg, transparent 42%, rgba(184,148,95,.6) 44%, rgba(184,148,95,0) 48%),
  linear-gradient(60deg, transparent 60%, rgba(154,123,74,.4) 61%, transparent 64%); }
.stone-rosso-lavanto { background:
  radial-gradient(120% 90% at 35% 30%, #7c1f2b 0%, #5e161f 70%, #4a1018 100%),
  linear-gradient(125deg, transparent 44%, rgba(245,238,230,.55) 46%, transparent 50%); }
.stone-emperador { background:
  radial-gradient(120% 90% at 35% 25%, #5b4632 0%, #44331f 65%, #36281a 100%),
  linear-gradient(120deg, transparent 46%, rgba(214,193,160,.4) 48%, transparent 52%); }
.stone-kaplan-postu { background:
  linear-gradient(125deg, #c79a52 0%, #9a6f34 18%, #d8b265 36%, #845a2a 54%, #cda35a 72%, #7d5326 100%); }
.stone-nero-black { background:
  radial-gradient(120% 90% at 35% 25%, #232325 0%, #141416 70%, #0d0d0f 100%),
  linear-gradient(120deg, transparent 43%, rgba(235,235,240,.6) 45%, transparent 48%),
  linear-gradient(72deg, transparent 62%, rgba(210,210,220,.35) 63%, transparent 66%); }
.stone-white-carrara { background:
  radial-gradient(120% 90% at 35% 25%, #fbfbfa 0%, #eef0ef 60%, #e6e8e7 100%),
  linear-gradient(122deg, transparent 47%, rgba(120,130,135,.3) 49%, transparent 53%); }
.stone-travertine { background:
  radial-gradient(120% 90% at 40% 30%, #efe2cb 0%, #e3d2b3 60%, #d8c4a0 100%),
  linear-gradient(0deg, rgba(180,158,122,.25) 0%, transparent 30%); }
.stone-red-travertine { background:
  radial-gradient(120% 90% at 40% 30%, #a86a4a 0%, #8c5236 60%, #76412a 100%),
  linear-gradient(0deg, rgba(60,30,18,.3) 0%, transparent 35%); }
.stone-lilac { background:
  radial-gradient(120% 90% at 35% 30%, #e6e0ea 0%, #d3cad9 60%, #c4b9cd 100%),
  linear-gradient(120deg, transparent 47%, rgba(110,96,124,.32) 49%, transparent 53%); }
.stone-pink-beige { background:
  radial-gradient(120% 90% at 35% 30%, #f0ddd2 0%, #e6c9b8 60%, #ddbaa4 100%),
  linear-gradient(120deg, transparent 47%, rgba(180,130,105,.3) 49%, transparent 53%); }

/* Seçili swatch halkası */
.swatch-btn { transition: transform .25s ease, box-shadow .25s ease; }
.swatch-btn:hover { transform: scale(1.06); }
.swatch-btn[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--mv-gold), 0 0 0 4px rgba(184,148,95,.35); }

/* ----- Mobil menü drawer ----- */
.drawer { transform: translateX(100%); transition: transform .45s cubic-bezier(.16,1,.3,1); }
.drawer.open { transform: translateX(0); }
.drawer-backdrop { opacity: 0; pointer-events: none; transition: opacity .4s ease; }
.drawer-backdrop.open { opacity: 1; pointer-events: auto; }

/* ----- Accordion ----- */
.acc-panel { max-height: 0; overflow: hidden; transition: max-height .45s cubic-bezier(.16,1,.3,1); }

/* ----- Hero ince film grain / vignette ----- */
.hero-vignette::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(120% 90% at 50% 30%, transparent 40%, rgba(0,0,0,.55) 100%);
}

/* ----- İnce altın ayraç ----- */
.gold-rule { height: 1px; background: linear-gradient(90deg, transparent, var(--mv-gold), transparent); }

/* ----- Dil/tema toggle düğmeleri ----- */
.icon-btn { transition: color .25s ease, background-color .25s ease; }

/* ----- Blog makale tipografisi ----- */
.article-body { line-height: 1.8; font-size: 1.02rem; }
.article-body h2 { font-family: 'Fraunces', serif; font-weight: 400; font-size: 1.7rem; line-height: 1.25; margin: 2.6rem 0 1rem; scroll-margin-top: 96px; }
.article-body h3 { font-family: 'Fraunces', serif; font-weight: 400; font-size: 1.28rem; margin: 1.9rem 0 .7rem; scroll-margin-top: 96px; }
.article-body p { margin-bottom: 1.15rem; opacity: .85; }
.article-body ul, .article-body ol { margin: 0 0 1.2rem 1.3rem; }
.article-body ul { list-style: disc; }
.article-body ol { list-style: decimal; }
.article-body li { margin-bottom: .45rem; opacity: .85; }
.article-body strong { font-weight: 600; opacity: 1; }
.article-body a { color: var(--mv-gold); text-decoration: underline; text-underline-offset: 3px; }
.article-body blockquote { border-left: 3px solid var(--mv-gold); padding: .25rem 0 .25rem 1.25rem; margin: 1.6rem 0; font-family: 'Fraunces', serif; font-size: 1.25rem; font-style: italic; }

/* ----- TOC sidebar ----- */
.toc-sticky { position: sticky; top: 96px; }
.toc-link { line-height: 1.4; }

/* ----- Okuma ilerleme çubuğu ----- */
.read-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; background: linear-gradient(90deg, var(--mv-gold-deep), var(--mv-gold-bright)); z-index: 50; transition: width .1s linear; }

/* ----- Native <select> açılır listesi: koyu temada da okunur ----- */
select option, select optgroup { color: #231f20; background-color: #ffffff; }
.dark select option, .dark select optgroup { color: #f1ece4; background-color: #1f1b17; }

/* ----- Form input: tarayıcı autofill koyu temada okunur ----- */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
select:-webkit-autofill {
  -webkit-text-fill-color: #231f20;
  transition: background-color 5000s ease-in-out 0s;
}
.dark input:-webkit-autofill,
.dark input:-webkit-autofill:hover,
.dark input:-webkit-autofill:focus,
.dark select:-webkit-autofill {
  -webkit-text-fill-color: #f6f3ee;
  -webkit-box-shadow: 0 0 0 1000px #1c1a18 inset;
}

/* ----- Sepete ekle animasyonu ----- */
.mv-cart-fly {
  position: fixed;
  z-index: 9999;
  pointer-events: none;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(35, 31, 32, 0.22);
  will-change: transform, opacity;
}
.mv-cart-fly img { width: 100%; height: 100%; object-fit: cover; display: block; }

.mv-cart-pulse { animation: mvCartPulse 0.55s cubic-bezier(0.34, 1.56, 0.64, 1); }
@keyframes mvCartPulse {
  0%, 100% { transform: scale(1); }
  35% { transform: scale(1.28); color: var(--mv-gold); }
}

[data-quick-add].mv-added,
[data-add-cart].mv-added {
  background-color: var(--mv-gold) !important;
  border-color: var(--mv-gold) !important;
  color: #fff !important;
  transform: scale(1.04);
  transition: background-color 0.25s, transform 0.25s, color 0.25s;
}

.mv-cart-toast {
  position: fixed;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%) translateY(12px);
  z-index: 9998;
  padding: 0.65rem 1.25rem;
  background: var(--mv-ink);
  color: var(--mv-cream);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  border-radius: 999px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}
.dark .mv-cart-toast { background: var(--mv-gold); color: #fff; }
.mv-cart-toast.is-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .mv-cart-pulse { animation: none; }
  .mv-cart-fly { display: none; }
  .mv-indirim-rozet { animation: none; }
}

/* ----- Ürün kartı: yuvarlak indirim rozeti (sol üst) ----- */
.mv-indirim-rozet {
  position: absolute;
  top: 0.875rem;
  left: 0.875rem;
  z-index: 2;
  width: 3.85rem;
  height: 3.85rem;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.1rem;
  padding: 0.25rem;
  background: linear-gradient(145deg, var(--mv-gold-bright) 0%, var(--mv-gold) 50%, var(--mv-gold-deep) 100%);
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.38);
  box-shadow: 0 4px 18px rgba(154, 123, 74, 0.4);
  text-align: center;
  animation: mvIndirimPop 0.45s cubic-bezier(0.34, 1.3, 0.64, 1) both;
}
.mv-indirim-rozet__pct {
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}
.mv-indirim-rozet__lbl {
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.95;
  line-height: 1.1;
  max-width: 2.8rem;
}
.card-hover:hover .mv-indirim-rozet {
  box-shadow: 0 6px 22px rgba(154, 123, 74, 0.48);
}
@keyframes mvIndirimPop {
  from { opacity: 0; transform: scale(0.82); }
  to { opacity: 1; transform: scale(1); }
}

/* Ürün kartı fiyat (indirimli / normal — aynı stil) */
.mv-urun-fiyat {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--mv-gold-deep);
  letter-spacing: -0.01em;
}
.dark .mv-urun-fiyat { color: var(--mv-gold-bright); }

.mv-indirim-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.12rem 0.45rem;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #fff;
  background: linear-gradient(135deg, #e05252, #c53030);
  border-radius: 2px;
  box-shadow: 0 2px 8px rgba(197, 48, 48, 0.28);
}

/* İletişim — form / harita arası boşluk (Tailwind pb-12/pt-10 derlenmediği için) */
.mv-iletisim-form-bolum {
  padding-bottom: 4rem;
}
@media (min-width: 640px) {
  .mv-iletisim-form-bolum {
    padding-bottom: 5rem;
  }
}
.mv-iletisim-harita-bolum {
  padding-top: 4rem;
}
@media (min-width: 640px) {
  .mv-iletisim-harita-bolum {
    padding-top: 5rem;
  }
}

/* İletişim — başarı animasyonu */
.mv-iletisim-basarili {
  display: none;
  opacity: 0;
  transform: translateY(12px) scale(0.98);
  transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.mv-iletisim-basarili.is-visible {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 320px;
  opacity: 1;
  transform: translateY(0) scale(1);
}
.mv-iletisim-check {
  width: 72px;
  height: 72px;
  display: block;
}
.mv-iletisim-check__circle {
  stroke: currentColor;
  stroke-width: 2;
  color: rgb(var(--color-gold, 180 140 80));
  stroke-dasharray: 166;
  stroke-dashoffset: 166;
  animation: mv-check-circle 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}
.mv-iletisim-check__tick {
  stroke: currentColor;
  stroke-width: 3;
  color: rgb(var(--color-gold, 180 140 80));
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 48;
  stroke-dashoffset: 48;
  animation: mv-check-tick 0.35s 0.45s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}
@keyframes mv-check-circle {
  to { stroke-dashoffset: 0; }
}
@keyframes mv-check-tick {
  to { stroke-dashoffset: 0; }
}

/* Bülten — başarı animasyonu */
.mv-bulten-basarili {
  opacity: 0;
  transform: translateY(16px) scale(0.96);
  transition: opacity 0.55s ease, transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
.mv-bulten-basarili--aktif {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.mv-bulten-check-wrap {
  width: 80px;
  height: 80px;
  color: rgb(var(--color-gold-bright, 212 175 110));
}
.mv-bulten-check {
  width: 100%;
  height: 100%;
  display: block;
}
.mv-bulten-check-circle {
  stroke-dasharray: 166;
  stroke-dashoffset: 166;
  animation: mv-check-circle 0.65s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}
.mv-bulten-check-path {
  stroke-dasharray: 48;
  stroke-dashoffset: 48;
  animation: mv-check-tick 0.4s 0.5s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

/* İletişim — Leaflet harita */
.mv-harita-wrap {
  position: relative;
  min-height: 420px;
  background: var(--mv-cream, #f6f3ee);
  border: 1px solid rgba(35, 31, 32, 0.06);
  transform: none;
}
.dark .mv-harita-wrap {
  background: #0d0d0d;
  border-color: rgba(246, 243, 238, 0.08);
}
.mv-harita-canvas {
  width: 100%;
  height: 420px;
  z-index: 1;
  opacity: 0;
  background: inherit;
}
.dark .mv-harita-canvas.mv-harita-dark,
.dark .mv-harita-canvas.mv-harita-dark.leaflet-container {
  background: #0d0d0d !important;
}
.mv-harita-canvas.mv-harita-ready {
  opacity: 1;
  transition: opacity 0.35s ease;
}
@media (min-width: 640px) {
  .mv-harita-canvas { height: 480px; }
}
.mv-harita-canvas.leaflet-container {
  font-family: inherit;
}
.mv-harita-canvas .leaflet-control-attribution,
.mv-harita-canvas .leaflet-control-attribution a {
  display: none !important;
}
/* Dark tile dikiş çizgileri (Carto anti-alias) */
.dark .mv-harita-canvas img.leaflet-tile,
.dark .mv-harita-canvas img.mv-harita-tile-dark {
  mix-blend-mode: plus-lighter;
  outline: 1px solid #0d0d0d;
  outline-offset: -1px;
}
.dark .mv-harita-canvas .leaflet-tile-pane {
  filter: contrast(1.02);
}
.mv-harita-marker-wrap {
  background: transparent !important;
  border: none !important;
}
.mv-harita-pin {
  position: relative;
  width: 48px;
  height: 48px;
  pointer-events: none;
}
.mv-harita-pin--marker {
  position: relative;
  left: 0;
  top: 0;
  transform: none;
}
.mv-harita-pin__dot {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--mv-gold, #b8945f);
  font-size: 28px;
  filter: drop-shadow(0 2px 6px rgba(184, 148, 95, 0.35));
  z-index: 2;
}
.mv-harita-pin__pulse {
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  border: 2px solid rgba(184, 148, 95, 0.35);
  animation: mv-harita-pulse 2.5s ease-out infinite;
}
.mv-harita-pin__pulse--2 {
  animation-delay: 1.2s;
}
@keyframes mv-harita-pulse {
  0% { transform: scale(0.5); opacity: 0.75; }
  100% { transform: scale(2.2); opacity: 0; }
}
.mv-harita-kart {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  z-index: 600;
  max-width: min(320px, calc(100% - 2rem));
  background: rgba(246, 243, 238, 0.97);
  backdrop-filter: blur(8px);
  border-radius: 0.75rem;
  padding: 1.25rem 1.35rem;
  box-shadow: 0 8px 32px rgba(35, 31, 32, 0.1);
  border: 1px solid rgba(35, 31, 32, 0.06);
}
.dark .mv-harita-kart {
  background: rgba(28, 25, 23, 0.95);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
  border-color: rgba(246, 243, 238, 0.08);
}
.mv-harita-wrap .leaflet-control-zoom {
  border: none !important;
  box-shadow: 0 2px 12px rgba(35, 31, 32, 0.1) !important;
  border-radius: 0.5rem !important;
  overflow: hidden;
}
.mv-harita-wrap .leaflet-control-zoom a {
  background: var(--mv-cream, #f6f3ee) !important;
  color: var(--mv-ink, #231f20) !important;
  border: none !important;
  width: 36px !important;
  height: 36px !important;
  line-height: 36px !important;
}
.dark .mv-harita-wrap .leaflet-control-zoom a {
  background: #292524 !important;
  color: #f6f3ee !important;
}

/* ----- Çerez bandı ----- */
.mv-cookie-banner {
  width: 100%;
  max-width: 100vw;
  overflow: hidden;
  box-sizing: border-box;
}
.mv-cookie-shell {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 0.5rem 0.5rem max(0.5rem, env(safe-area-inset-bottom));
}
.mv-cookie-card {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border-radius: 1.125rem;
  padding: 0.875rem 1rem;
  background: rgba(18, 17, 16, 0.94);
  border: 1px solid rgba(246, 243, 238, 0.12);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(184, 148, 95, 0.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  color: rgba(246, 243, 238, 0.92);
}
.dark .mv-cookie-card {
  background: rgba(18, 17, 16, 0.96);
}
.mv-cookie-inner {
  min-width: 0;
}
.mv-cookie-text-row {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  margin-bottom: 0.75rem;
  min-width: 0;
}
.mv-cookie-icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  display: grid;
  place-items: center;
  background: rgba(184, 148, 95, 0.18);
  color: var(--mv-gold-bright, #cdab73);
  font-size: 0.8125rem;
}
.mv-cookie-text {
  flex: 1;
  min-width: 0;
  font-size: 0.75rem;
  line-height: 1.5;
  margin: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}
.mv-cookie-link {
  color: var(--mv-gold-bright, #cdab73);
  font-weight: 500;
  text-decoration: none;
  word-break: break-word;
}
.mv-cookie-link:hover { text-decoration: underline; }
.mv-cookie-actions {
  display: flex;
  flex-direction: column;
  gap: 0.4375rem;
  min-width: 0;
}
.mv-cookie-actions-secondary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.4375rem;
  min-width: 0;
}
.mv-cookie-btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.375rem;
  padding: 0.4375rem 0.625rem;
  border-radius: 9999px;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s;
  cursor: pointer;
  border: none;
  white-space: normal;
  max-width: 100%;
  overflow: hidden;
  hyphens: auto;
}
.mv-cookie-btn-ghost {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(246, 243, 238, 0.18);
  color: rgba(246, 243, 238, 0.88);
}
.mv-cookie-btn-ghost:hover {
  border-color: var(--mv-gold, #b8945f);
  color: var(--mv-gold-bright, #cdab73);
}
.mv-cookie-btn-primary {
  width: 100%;
  background: linear-gradient(135deg, var(--mv-gold, #b8945f), var(--mv-gold-deep, #9a7b4a));
  color: #fff;
  box-shadow: 0 4px 20px rgba(184, 148, 95, 0.35);
  font-size: 0.75rem;
  min-height: 2.5rem;
}
.mv-cookie-btn-primary:hover {
  box-shadow: 0 6px 24px rgba(184, 148, 95, 0.45);
  filter: brightness(1.05);
}

@media (min-width: 640px) {
  .mv-cookie-shell {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1.5rem 1.25rem;
    justify-content: stretch;
  }
  .mv-cookie-card {
    max-width: none;
    width: 100%;
    border-radius: 1.25rem;
    padding: 1.125rem 1.5rem;
  }
  .mv-cookie-inner {
    display: flex;
    align-items: center;
    gap: 1.5rem;
  }
  .mv-cookie-text-row {
    flex: 1;
    margin-bottom: 0;
    gap: 0.875rem;
  }
  .mv-cookie-icon {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 0.9375rem;
  }
  .mv-cookie-text {
    font-size: 0.875rem;
    line-height: 1.55;
  }
  .mv-cookie-actions {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    flex-shrink: 0;
    gap: 0.5rem;
  }
  .mv-cookie-actions-secondary {
    display: flex;
    gap: 0.5rem;
  }
  .mv-cookie-btn {
    min-height: 2.625rem;
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    white-space: nowrap;
  }
  .mv-cookie-btn-primary {
    width: auto;
    min-width: 9.5rem;
    font-size: 0.8125rem;
  }
}

/* ----- Ürün galerisi carousel ----- */
[data-gallery-viewport] {
  overflow: hidden;
  touch-action: pan-y pinch-zoom;
  cursor: grab;
}
[data-gallery-viewport].is-dragging {
  cursor: grabbing;
}
[data-gallery-track] {
  display: flex;
  height: 100%;
  will-change: transform;
}

/* ----- Ana sayfa müşteri yorumları carousel ----- */
.mv-yorum-carousel {
  position: relative;
  margin: 0 -0.5rem;
}
.mv-yorum-carousel::before,
.mv-yorum-carousel::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: clamp(2rem, 8vw, 5rem);
  z-index: 2;
  pointer-events: none;
}
.mv-yorum-carousel::before {
  left: 0;
  background: linear-gradient(to right, var(--mv-cream) 15%, transparent);
}
.mv-yorum-carousel::after {
  right: 0;
  background: linear-gradient(to left, var(--mv-cream) 15%, transparent);
}
.dark .mv-yorum-carousel::before {
  background: linear-gradient(to right, #121110 15%, transparent);
}
.dark .mv-yorum-carousel::after {
  background: linear-gradient(to left, #121110 15%, transparent);
}
.mv-yorum-track {
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 0.25rem 0.5rem 0.5rem;
  cursor: grab;
}
.mv-yorum-track::-webkit-scrollbar { display: none; }
.mv-yorum-track.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.mv-yorum-slide {
  flex: 0 0 min(100%, 22rem);
  scroll-snap-align: start;
}
@media (min-width: 640px) {
  .mv-yorum-slide { flex-basis: min(85%, 24rem); }
}
@media (min-width: 1024px) {
  .mv-yorum-slide { flex-basis: calc(33.333% - 1rem); }
}

/* ----- Ana sayfa hero slider ----- */
.mv-hero-slider { transition: height 0.6s ease; }
.mv-hero-slide {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.85s ease, visibility 0.85s ease;
  pointer-events: none;
}
.mv-hero-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
.mv-hero-dot.bg-gold { width: 1.5rem; }

/* ----- Ödeme sözleşmesi ürün tablosu (light / dark) ----- */
.sozlesme-icerik .sozlesme-tablo-wrap {
  margin: 0.75rem 0 1rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 0.375rem;
  border: 1px solid rgba(35, 31, 32, 0.12);
}
.dark .sozlesme-icerik .sozlesme-tablo-wrap {
  border-color: rgba(246, 243, 238, 0.14);
}
.sozlesme-icerik .sozlesme-tablo {
  width: 100%;
  min-width: 20rem;
  border-collapse: collapse;
  font-size: 0.6875rem;
  line-height: 1.45;
}
.sozlesme-icerik .sozlesme-tablo th,
.sozlesme-icerik .sozlesme-tablo td {
  padding: 0.5rem 0.625rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(35, 31, 32, 0.08);
}
.dark .sozlesme-icerik .sozlesme-tablo th,
.dark .sozlesme-icerik .sozlesme-tablo td {
  border-bottom-color: rgba(246, 243, 238, 0.1);
}
.sozlesme-icerik .sozlesme-tablo th {
  font-weight: 600;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.75;
  background: rgba(184, 148, 95, 0.08);
  white-space: nowrap;
}
.dark .sozlesme-icerik .sozlesme-tablo th {
  background: rgba(184, 148, 95, 0.12);
}
.sozlesme-icerik .sozlesme-tablo .soz-td-adet,
.sozlesme-icerik .sozlesme-tablo .soz-td-taksit {
  width: 3rem;
  text-align: center;
  white-space: nowrap;
}
.sozlesme-icerik .sozlesme-tablo .soz-td-tutar {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.sozlesme-icerik .sozlesme-tablo .soz-tr-alt td {
  opacity: 0.85;
}
.sozlesme-icerik .sozlesme-tablo .soz-indirim {
  color: #15803d;
}
.dark .sozlesme-icerik .sozlesme-tablo .soz-indirim {
  color: #86efac;
}
.sozlesme-icerik .sozlesme-tablo .soz-tr-toplam td {
  border-bottom: none;
  background: rgba(184, 148, 95, 0.06);
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.dark .sozlesme-icerik .sozlesme-tablo .soz-tr-toplam td {
  background: rgba(184, 148, 95, 0.1);
}
.sozlesme-icerik .sozlesme-tablo tbody tr:last-child td {
  border-bottom: none;
}

/* ----- Ödeme: güven bandı + iyzico gömülü form ----- */
.mv-odeme-guven-band {
  margin-bottom: 1.25rem;
  padding: 0.875rem 1rem;
  border-radius: 0.25rem;
  border: 1px solid rgba(16, 185, 129, 0.35);
  background: linear-gradient(135deg, rgba(236, 253, 245, 0.92), rgba(246, 243, 238, 0.96));
}
.dark .mv-odeme-guven-band {
  border-color: rgba(52, 211, 153, 0.28);
  background: linear-gradient(135deg, rgba(6, 78, 59, 0.38), rgba(28, 25, 23, 0.65));
}
.mv-odeme-guven-band__baslik {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #047857;
  margin-bottom: 0.75rem;
}
.dark .mv-odeme-guven-band__baslik {
  color: #6ee7b7;
}
.mv-odeme-guven-band__baslik i {
  color: var(--mv-gold, #b8945f);
}
.mv-odeme-guven-band__rozetler {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
}
@media (min-width: 640px) {
  .mv-odeme-guven-band__rozetler {
    gap: 0.75rem;
  }
}
.mv-odeme-guven-band__rozet {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.625rem 0.5rem;
  text-align: center;
  font-size: 0.625rem;
  line-height: 1.35;
  font-weight: 500;
  color: rgba(35, 31, 32, 0.78);
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(16, 185, 129, 0.22);
  border-radius: 0.25rem;
}
@media (min-width: 640px) {
  .mv-odeme-guven-band__rozet {
    font-size: 0.6875rem;
    padding: 0.75rem 0.625rem;
  }
}
.dark .mv-odeme-guven-band__rozet {
  color: rgba(246, 243, 238, 0.88);
  background: rgba(41, 37, 36, 0.78);
  border-color: rgba(52, 211, 153, 0.22);
}
.mv-odeme-guven-band__rozet i {
  font-size: 0.875rem;
  color: var(--mv-gold, #b8945f);
}
.mv-odeme-guven-not {
  margin-top: 1rem;
  font-size: 0.625rem;
  line-height: 1.5;
  color: rgba(35, 31, 32, 0.58);
}
.dark .mv-odeme-guven-not {
  color: rgba(246, 243, 238, 0.58);
}
.mv-iyzico-govde {
  min-height: 420px;
  padding: 0.5rem 0.25rem 1.25rem;
}
#iyzipay-checkout-form.responsive {
  min-height: 380px;
}

/* --- Kart formu doğrulama durumları (kart-form.js) --- */
.mv-kart-hata {
  color: #b3453a;
  font-size: 0.6875rem;
  line-height: 1.45;
  margin-top: 0.375rem;
  letter-spacing: 0.02em;
}
.dark .mv-kart-hata {
  color: #e8837a;
}
input.mv-kart-gecersiz {
  border-color: #b3453a !important;
}
.dark input.mv-kart-gecersiz {
  border-color: #e8837a !important;
}
input.mv-kart-gecerli {
  border-color: rgba(62, 156, 110, 0.65) !important;
}
.mv-kart-marka {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.375rem;
  line-height: 1;
  opacity: 0.75;
  pointer-events: none;
  color: inherit;
}
.mv-kart-marka--metin {
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  border: 1px solid currentColor;
  border-radius: 3px;
  padding: 2px 5px;
  opacity: 0.6;
}
.mv-kart-vade {
  color: var(--mv-gold-deep, #9a7b4a);
  font-size: 0.6875rem;
  line-height: 1.45;
  margin-top: 0.375rem;
  letter-spacing: 0.02em;
}
.dark .mv-kart-vade {
  color: var(--mv-gold-bright, #cdab73);
}

/* --- Ürün detay: taksit tablosu modalı --- */
.mv-taksit-arka {
  position: fixed;
  inset: 0;
  background: rgba(18, 17, 16, 0.55);
  backdrop-filter: blur(3px);
  z-index: 90;
}
.mv-taksit-panel {
  position: fixed;
  z-index: 91;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(760px, calc(100vw - 2rem));
  max-height: min(82vh, 680px);
  display: flex;
  flex-direction: column;
  background: var(--mv-cream, #f6f3ee);
  color: var(--mv-ink, #231f20);
  border: 1px solid rgba(184, 148, 95, 0.35);
  border-radius: 6px;
  box-shadow: 0 24px 64px rgba(18, 17, 16, 0.35);
}
.dark .mv-taksit-panel {
  background: #1d1b1a;
  color: var(--mv-cream, #f6f3ee);
}
.mv-taksit-baslik {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.5rem 1rem;
  border-bottom: 1px solid rgba(184, 148, 95, 0.25);
}
.mv-taksit-kapat {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(184, 148, 95, 0.35);
  border-radius: 999px;
  transition: color 0.25s ease, border-color 0.25s ease;
}
.mv-taksit-kapat:hover {
  color: var(--mv-gold, #b8945f);
  border-color: var(--mv-gold, #b8945f);
}
.mv-taksit-icerik {
  overflow: auto;
  padding: 1rem 1.5rem;
  flex: 1;
}
.mv-taksit-tablo-sar {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.mv-taksit-tablo {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  font-size: 0.8125rem;
  line-height: 1.4;
}
.mv-taksit-tablo thead th {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--mv-gold-deep, #9a7b4a);
  text-align: center;
  padding: 0.5rem 0.6rem;
  border-bottom: 1px solid rgba(184, 148, 95, 0.35);
  white-space: nowrap;
}
.dark .mv-taksit-tablo thead th {
  color: var(--mv-gold-bright, #cdab73);
}
.mv-taksit-tablo .mv-taksit-th-program {
  text-align: left;
}
.mv-taksit-tablo tbody tr + tr {
  border-top: 1px solid rgba(120, 110, 100, 0.12);
}
.mv-taksit-tablo tbody tr:nth-child(even) {
  background: rgba(184, 148, 95, 0.045);
}
.mv-taksit-tablo tbody tr:hover {
  background: rgba(184, 148, 95, 0.1);
}
.mv-taksit-th-satir {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 0.95rem;
  font-weight: 500;
  text-align: left;
  padding: 0.6rem;
  white-space: nowrap;
}
.mv-taksit-th-satir span {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 0.625rem;
  font-weight: 400;
  opacity: 0.55;
  letter-spacing: 0.04em;
}
.mv-taksit-tablo td {
  text-align: center;
  padding: 0.5rem 0.6rem;
  white-space: nowrap;
}
.mv-taksit-aylik {
  display: block;
  font-size: 0.6875rem;
  opacity: 0.6;
}
.mv-taksit-tablo td strong {
  display: block;
  font-weight: 600;
}
.mv-taksit-tablo td strong.mv-taksit-farkli {
  color: var(--mv-gold-deep, #9a7b4a);
}
.dark .mv-taksit-tablo td strong.mv-taksit-farkli {
  color: var(--mv-gold-bright, #cdab73);
}
.mv-taksit-yok {
  opacity: 0.3;
}
.mv-taksit-dipnot {
  padding: 0.75rem 1.5rem 1.1rem;
  font-size: 0.6875rem;
  opacity: 0.65;
  border-top: 1px solid rgba(184, 148, 95, 0.25);
}

/* --- Mermer rengi swatch seçici (ürün detay varyant) --- */
.mv-renk-swatch {
  width: 46px;
  height: 46px;
  border-radius: 9999px;
  overflow: hidden;
  border: 2px solid rgba(120, 110, 100, 0.3);
  padding: 0;
  flex-shrink: 0;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.mv-renk-swatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mv-renk-swatch:hover {
  border-color: var(--mv-gold, #b8945f);
  transform: scale(1.06);
}
.mv-renk-swatch.border-gold {
  border-color: var(--mv-gold, #b8945f);
  box-shadow: 0 0 0 3px rgba(184, 148, 95, 0.3);
}

/* --- Kampanya rozeti (ürün kartı + ürün detay) --- */
.mv-kampanya-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  background: var(--mv-gold, #b8945f);
  color: #fff;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.25rem 0.5rem;
  border-radius: 2px;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* --- Header mega menu --- */
.mv-mega-panel {
  position: fixed;
  z-index: 200;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
}
.mv-mega-panel--open {
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.mv-mega-panel__inner {
  backdrop-filter: blur(12px);
  overflow: hidden;
  max-height: min(400px, calc(100vh - 88px));
  display: flex;
  flex-direction: column;
}
.mv-mega-panel__inner--split {
  flex-direction: row;
  align-items: stretch;
}
.mv-mega-panel__inner--split .mv-mega-feature {
  flex: 0 0 38%;
  max-width: 38%;
  width: 38%;
  height: var(--mv-mega-medya-h, 240px);
  max-height: 100%;
  align-self: auto;
}
.mv-mega-panel__inner--split .mv-mega-links {
  max-height: none;
  height: auto;
  align-self: stretch;
}
.mv-mega-feature {
  position: relative;
  display: block;
  overflow: hidden;
  min-width: 0;
}
.mv-mega-feature__media {
  object-fit: var(--mv-mega-fit, cover);
  object-position: center;
  transition: transform 0.5s ease;
}
.mv-mega-feature:hover .mv-mega-feature__media {
  transform: scale(1.03);
}
.mv-mega-links {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.mv-mega-links__grid {
  padding-bottom: 2px;
}
@media (max-width: 860px) {
  .mv-mega-panel__inner--split {
    flex-direction: column;
    max-height: min(480px, calc(100vh - 88px));
  }
  .mv-mega-feature {
    flex: 0 0 auto;
    max-width: 100%;
    width: 100%;
    height: var(--mv-mega-medya-h, 200px);
    max-height: min(var(--mv-mega-medya-h, 200px), 32vh);
  }
  .mv-mega-links {
    flex: 1 1 auto;
    max-height: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mv-mega-panel { transition: none; }
  .mv-mega-feature__media { transition: none; }
}

/* Header arama ikonu: Tailwind sm: breakpoint derlenmediginde tek buton + CSS gorunurluk */
.mv-search-btn--desktop-only { display: none; }
@media (min-width: 640px) {
  .mv-search-btn--desktop-only { display: inline-flex; }
}
.mv-search-btn--mobile-only { display: inline-flex; }
@media (min-width: 640px) {
  .mv-search-btn--mobile-only { display: none; }
}

/* --- Koleksiyonlar sayfasi --- */
.mv-kol-hero { isolation: isolate; }
.mv-kol-pill {
  background: rgba(246, 243, 238, 0.72);
  backdrop-filter: blur(8px);
}
.dark .mv-kol-pill {
  background: rgba(18, 17, 16, 0.72);
  color: rgba(246, 243, 238, 0.88);
}
.mv-kol-stat {
  backdrop-filter: blur(6px);
  box-shadow: 0 1px 0 rgba(184, 148, 95, 0.08);
}
.dark .mv-kol-stat {
  box-shadow: 0 1px 0 rgba(184, 148, 95, 0.12);
}
.mv-kol-stat-stack {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-left: 2px solid rgba(184, 148, 95, 0.45);
  padding-left: 1.25rem;
}
.mv-kol-stat-row {
  display: flex;
  flex-direction: column;
  padding: 1rem 0;
}
.mv-kol-stat-row + .mv-kol-stat-row {
  border-top: 1px solid rgba(35, 31, 32, 0.08);
}
.dark .mv-kol-stat-row + .mv-kol-stat-row {
  border-top-color: rgba(246, 243, 238, 0.08);
}
@media (min-width: 1024px) {
  .mv-kol-stat-stack {
    padding-left: 1.5rem;
  }
  .mv-kol-stat-row {
    padding: 1.125rem 0;
  }
}
.mv-kol-form-kart {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}
.mv-kol-form-kart:hover {
  box-shadow: inset 0 0 0 1px rgba(184, 148, 95, 0.45);
}
.mv-kol-aile { backdrop-filter: blur(4px); }
.mv-kol-cta-glow {
  background: radial-gradient(ellipse at top right, rgba(184, 148, 95, 0.4), transparent 55%);
}
.mv-kol-urun-grid .mv-urun-karti--kompakt .mv-indirim-rozet {
  width: 3rem;
  height: 3rem;
  top: 0.5rem;
  left: 0.5rem;
}
.mv-kol-urun-grid .mv-urun-karti--kompakt .mv-indirim-rozet__pct {
  font-size: 0.6875rem;
}
.mv-kol-urun-grid .mv-urun-karti--kompakt .mv-indirim-rozet__lbl {
  font-size: 0.4375rem;
  letter-spacing: 0.1em;
}
.mv-kol-urun-grid .mv-urun-karti--kompakt [data-fav-toggle] {
  width: 2.25rem;
  height: 2.25rem;
  top: 0.5rem;
  right: 0.5rem;
}
.mv-kol-urun-grid .mv-urun-karti--kompakt .mv-urun-fiyat {
  font-size: 0.9375rem;
}
.mv-kol-urun-grid .mv-urun-karti--kompakt .mv-indirim-chip,
.mv-kol-urun-grid .mv-urun-karti--kompakt .mv-kampanya-chip {
  font-size: 0.625rem;
  padding: 0.15rem 0.4rem;
}
