/* Menu: Montserrat 300, letter-spacing 0.2em. Cormorant Garamond for .font-display (banner headings) */
html {
  scrollbar-gutter: stable;
  overflow-x: clip;
}

body {
  overflow-x: visible;
  overflow-y: visible;
  position: relative;
}

:root { --header-bg-scrolled: #555555; }
.font-display { font-family: 'Cormorant Garamond', serif; }

#main-header,
#main-header nav a,
#main-header nav button,
#mobile-menu,
#mobile-menu a,
#mobile-menu button,
.mega-menu,
.mega-menu a,
.mega-menu span,
#cart-sidebar,
#cart-sidebar span,
#cart-sidebar button,
#cart-sidebar a {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  letter-spacing: 0.2em;
}

/* Mega menü: kategori başlıkları (Kök Hücre, Nemlendirme vb.) 400 */
.mega-menu div.space-y-3 > a {
  font-weight: 400;
}

.mega-menu {
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity 300ms ease-out, transform 300ms ease-out;
}
.mega-menu.open { opacity: 1; transform: translateY(0); pointer-events: auto; }

/* Mega menu: item color, title underline, hover */
.mega-menu .product-link,
.mega-menu div.space-y-3 > a { color: #444; }
.mega-menu div.space-y-3 > a,
.mega-menu div.space-y-3 > span { border-color: #c9b99a !important; }
.mega-menu .product-link:hover,
.mega-menu div.space-y-3 > a:hover { color: #8B7355; }

.banner-content {
  transition: opacity 180ms ease-out, transform 180ms ease-out;
}
.banner-content.out { opacity: 0; transform: translateY(6px); }
.banner-content.in  { opacity: 1; transform: translateY(0); }

.mobile-menu { transform: translateX(100%); transition: transform 400ms cubic-bezier(0.4, 0, 0.2, 1); }
.mobile-menu.open { transform: translateX(0); }

#main-header {
  transition: background-color 300ms ease-out, box-shadow 300ms ease-out;
  background-color: rgba(0,0,0,0.3);
  width: 100%;
  max-width: 100%;
  left: 0;
  right: 0;
  overflow: visible;
}

@media (max-width: 1023px) {
  .mega-menu {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  #main-header {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    max-width: 100vw !important;
  }
}

.nav-item-wrapper::after {
  content: ''; position: absolute; left: 0; bottom: -12px;
  width: 100%; height: 12px; background: transparent;
}

.search-bar {
  max-height: 0; overflow: hidden;
  transition: max-height 300ms ease-out, opacity 300ms ease-out; opacity: 0;
}
.search-bar.open { max-height: 80px; opacity: 1; }

.accordion-content { max-height: 0; overflow: hidden; transition: max-height 500ms cubic-bezier(0.4, 0, 0.2, 1); }
.accordion-content.open { max-height: 3000px; }

.account-drop {
  opacity: 0; pointer-events: none;
  transform: translateY(4px);
  transition: opacity 200ms ease-out, transform 200ms ease-out;
}
.account-drop.open { opacity: 1; pointer-events: auto; transform: translateY(0); }

.cart-sidebar { transform: translateX(100%); transition: transform 350ms ease-out; }
.cart-sidebar.open { transform: translateX(0); }

.mobile-menu {
  width: 100% !important;
  max-width: 100vw !important;
  overflow-x: hidden;
}

/* Mobil menü — theme 29 palette */
#mobile-menu {
  background-color: #1A1714;
  background-image: none;
  color: #ffffff;
}
#mobile-menu .border-gray-100 {
  border-color: rgba(201, 169, 110, 0.15);
}
#mobile-menu .border-gray-300 {
  border-color: rgba(201, 169, 110, 0.22);
}
#mobile-menu #mobile-close {
  color: #c8c8c8;
}
#mobile-menu .accordion-content,
#mobile-menu .accordion-content.open {
  background: transparent;
  box-shadow: none;
}

/* Ana başlık */
#mobile-menu .mobile-menu-title-text {
  font-weight: 300;
  font-size: 1rem;
  letter-spacing: 3px;
  color: #C9A96E;
}
#mobile-menu .mobile-accordion-trigger {
  color: #C9A96E;
  font-size: 1rem;
}

/* Accordion + / − (mobile) */
#mobile-menu .accordion-icon-wrap {
  position: relative;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  color: #C9A96E;
}
#mobile-menu .accordion-icon {
  display: block;
}
#mobile-menu .accordion-icon-minus {
  position: absolute;
  left: 0;
  top: 0;
  display: none;
}
#mobile-menu .accordion-open .accordion-icon-plus {
  display: none;
}
#mobile-menu .accordion-open .accordion-icon-minus {
  display: block;
}

/* Sepet çekmecesi: mobil menüyle aynı genişlik kuralını paylaşma (Tailwind max-w-sm / ~384px) */
/* iOS Safari: 100vh çekmeceyi alt toolbar / home indicator altına taşır; dvh/svh + safe-area ile hizala */
#cart-sidebar.cart-sidebar {
  overflow-x: hidden;
  max-width: min(100vw, 24rem);
  height: 100vh;
  height: 100svh;
  height: 100dvh;
}

#cart-sidebar .cart-sidebar-footer {
  padding-bottom: max(1.5rem, env(safe-area-inset-bottom, 0px));
}

#cart-overlay.cart-overlay {
  min-height: 100vh;
  min-height: 100dvh;
}

.cart-overlay { opacity: 0; pointer-events: none; transition: opacity 350ms ease-out; }
.cart-overlay.open { opacity: 1; pointer-events: auto; }

.newsletter-overlay { opacity: 0; pointer-events: none; transition: opacity 350ms ease-out; }
.newsletter-overlay.open { opacity: 1; pointer-events: auto; }

/* Bülten modal: iframe yüksekliği (Tailwind min-h-[…] derlenmemiş olabilir; burada sabit) */
#newsletter-iframe {
  width: 100%;
  height: 500px;
  max-height: 500px;
  border: 0;
  display: block;
}
.newsletter-modal-box {
  max-height: 500px;
  overflow: hidden;
}

.product-link { transition: color 150ms; }
.product-link:hover { color: #111; }
body.menu-no-scroll { overflow: hidden; }

/* Desktop menü: 12px font */
#main-header nav button,
#main-header nav a {
  font-size: 12px;
}

/* Mobil menü: boyutlar ana / alt başlık / ürün olarak ayrıldı */
#mobile-menu a.block.py-4 { font-size: 1rem; }

/* Mobil menü alt başlıkları */
#mobile-menu .accordion-content > p {
  border-bottom: 1px solid rgba(201, 169, 110, 0.15);
  padding-bottom: 0.5rem;
  margin-bottom: 0.75rem;
  margin-top: 1rem;
}
#mobile-menu .accordion-content > p:first-child {
  margin-top: 0;
}
#mobile-menu .accordion-content > p a { display: inline-block; }
#mobile-menu .accordion-content > p,
#mobile-menu .accordion-content > p a,
#mobile-menu .accordion-content > p span {
  font-weight: 300;
  font-size: 0.875rem;
  letter-spacing: 3px;
  color: #E8D5B0;
}
#mobile-menu .accordion-content > p a:hover,
#mobile-menu .accordion-content > p span:hover {
  color: #f2e8d4;
}

/* Mobil menü ürün linkleri */
#mobile-menu .accordion-content a.pl-3 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  line-height: 1.6;
  display: block;
  font-weight: 300;
  font-size: 0.8125rem;
  color: #9A9390;
  transition: color 0.2s ease;
}
#mobile-menu .accordion-content a.pl-3:hover {
  color: #c4bdb8;
}

/* Mobil menü arama */
#mobile-menu #search-input-mobile {
  color: #ffffff;
}
#mobile-menu #search-input-mobile::placeholder {
  color: #8a8582;
}
#mobile-menu #search-input-mobile::-webkit-input-placeholder {
  color: #8a8582;
}
#mobile-menu .mt-6.flex.items-center svg {
  color: #9A9390;
}

@media (max-width: 1023px) {
  #mobile-menu .mobile-accordion-trigger { font-size: 1rem; }
  #mobile-menu a.block.py-4 { font-size: 1rem; }
  #mobile-menu .accordion-content > p,
  #mobile-menu .accordion-content > p a,
  #mobile-menu .accordion-content > p span { font-size: 0.875rem; }
  #mobile-menu .accordion-content a.pl-3 { font-size: 0.8125rem; }
  #mobile-menu .accordion-content > p { margin-bottom: 1rem; }
  #mobile-menu .accordion-content a.pl-3 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
}

.metin {font-family: 'Outfit', sans-serif; font-weight: 300;letter-spacing: 0.03em; line-height: 1.6;color: #555;margin-top: 40px;position: relative;}
.highlight {font-family: 'Cormorant Garamond', serif;font-style: italic;font-weight: 600;font-size: 24px; color: #1a1a1a; border-bottom: 1px solid #b1a078; padding-bottom: 2px;}


/* KVKK banner (reusable UI block) */
.kvkk-banner {position: fixed;bottom: 0;left: 0;width: 100%;background: #fdfbf9; color: #2c2c2c; z-index: 9999999;font-family: var(--font-body);box-shadow: 0 -10px 40px rgba(0,0,0,0.08);border-top: 1px solid #eee5de;padding-bottom: env(safe-area-inset-bottom);transform: translateZ(0);-webkit-transform: translateZ(0);}
.kvkk-content {max-width: 1200px; margin: auto;padding: 20px 30px;display: flex;justify-content: space-between;align-items: center;gap: 30px;}
.kvkk-text {font-size: 13px;line-height: 1.8;max-width: 75%;letter-spacing: 0.3px;}
.kvkk-text a {color: #a68b6a; text-decoration: none;border-bottom: 1px solid #d4c4b1;margin: 0 4px;transition: 0.3s;}
.kvkk-text a:hover {color: #8a7356;border-bottom-color: #8a7356;}
.kvkk-buttons {display: flex;gap: 15px;white-space: nowrap;}
.kvkk-btn {padding: 7px 24px;border: none;border-radius: 2px; cursor: pointer;font-size: 12px;font-weight: 500;letter-spacing: 1px;text-transform: uppercase;transition: all 0.4s ease;}
.kvkk-btn.accept {background: #1a1a1a;color: #ffffff;}
.kvkk-btn.reject {background: transparent;color: #666;border: 1px solid #d4c4b1;}
.kvkk-btn:hover {transform: none; opacity: 0.8;letter-spacing: 1.2px;}
@media(max-width:900px){
.kvkk-content {flex-direction: column-reverse;align-items: center;text-align: center;padding: 25px;}
.kvkk-text {max-width: 100%;}
.kvkk-buttons {width: 100%;justify-content: center;}
}