.nav a { letter-spacing:.08em; color:#454640; font-size:12px; text-decoration:none; }
.nav a:hover { color:var(--gold); }
.flash { max-width:1100px; margin:12px auto; padding:12px 16px; font-size:13px; }
.flash.ok { background:#e8f3e8; border-left:3px solid #5a9a5a; }
.flash.err { background:#f8e8e6; border-left:3px solid #a35a5a; }
.header .cart {
  position: relative !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  text-decoration: none;
  color: inherit;
  flex-shrink: 0;
}
.header .cart svg {
  width: 22px;
  height: 22px;
  stroke: #20211d;
  fill: none;
  stroke-width: 1.6;
  overflow: visible;
}
.header .cart b {
  position: absolute !important;
  top: 2px !important;
  right: 2px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 2;
  background: #20211d !important;
  color: #fff !important;
  border-radius: 999px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 10px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  display: grid !important;
  place-items: center;
  box-sizing: border-box;
}
.product { text-decoration:none; color:inherit; display:block; }
.product img {
  width: 100% !important;
  height: 100% !important;
  max-height: 520px !important;
  object-fit: contain !important;
}
footer a { color:#d8d3c9; text-decoration:none; }
.chat[hidden] { display:none !important; }
.brand-logo-img { max-height:42px; width:auto; display:block; }
.admin-form { display:grid; gap:14px; max-width:720px; }
.admin-form label { font-size:11px; font-weight:700; letter-spacing:.04em; display:flex; flex-direction:column; gap:8px; }
.admin-form input, .admin-form textarea, .admin-form select { border:1px solid #d8d5cd; padding:12px; font:inherit; background:#fff; }
.admin aside a { color:#aaa; text-align:left; text-decoration:none; padding:13px 15px; font-size:11px; display:block; }
.admin aside a.active, .admin aside a:hover { color:#fff; background:#b0956b; }
.login-card { max-width:380px; margin:12vh auto; background:#fff; padding:40px; box-shadow:0 20px 60px #0001; }
.login-card h1 { font:500 42px var(--font-display); margin:0 0 20px; }
.login-card label { display:flex; flex-direction:column; gap:8px; font-size:11px; font-weight:700; margin-bottom:12px; }
.login-card input { border:1px solid #ddd; padding:12px; }
.admin-login { background:#f2f1ed; min-height:100vh; }
.upload-field { gap:10px !important; }
.upload-preview { display:flex; align-items:center; gap:12px; background:#f7f5f0; padding:10px; border:1px solid #e5e1d8; }
.upload-preview img { width:72px; height:56px; object-fit:cover; }
.upload-preview code { font-size:10px; color:#666; word-break:break-all; }
.upload-field .muted { color:#888; font-weight:400; font-size:10px; }

/* —— Cart / Checkout shared —— */
body.modalOpen { overflow:hidden; }
.cartPage, .checkoutPage { min-height:70vh; padding:70px 4.5vw 100px; background:#f2f1ed; }
.cartHero { text-align:center; max-width:640px; margin:0 auto 48px; }
.cartHero h1 { font:500 clamp(42px,5vw,72px)/.9 var(--font-display); letter-spacing:-.03em; margin:18px 0 12px; color:#20211d; }
.cartHero p { color:#6b6a64; font-size:15px; margin:0; }

.cartEmpty { background:#fff; max-width:520px; margin:0 auto; padding:56px 40px; text-align:center; }
.cartEmpty b { display:block; font:500 28px var(--font-display); margin-bottom:10px; }
.cartEmpty span { color:#6b6a64; font-size:14px; line-height:1.6; }
.cartEmptyActions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:28px; }
.cartEmptyActions .primary, .cartCheckout, .cartModalActions .primary, .checkoutSubmit {
  display:inline-flex; align-items:center; justify-content:center;
  background:#20211d; color:#fff; text-decoration:none; border:0;
  padding:16px 28px; font-size:11px; letter-spacing:.14em; font-weight:700; cursor:pointer;
}
.cartEmptyActions .ghost, .cartModalActions .ghost {
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #cfcbc2; color:#20211d; text-decoration:none;
  padding:15px 24px; font-size:11px; letter-spacing:.12em; font-weight:700; background:#fff;
}

.cartLayout, .checkoutLayout {
  max-width:1180px; margin:0 auto;
  display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr); gap:28px; align-items:start;
}

.cartList { background:#fff; padding:8px 0 28px; }
.cartListHead {
  display:grid; grid-template-columns:1fr 120px 110px; gap:16px;
  padding:18px 28px; border-bottom:1px solid #ebe8e1;
  font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:#8a877e; font-weight:700;
}
.cartItem {
  display:grid; grid-template-columns:96px 1fr 120px 110px; gap:16px; align-items:center;
  padding:22px 28px; border-bottom:1px solid #f0eee8;
}
.cartItemMedia img, .cartItemPlaceholder {
  width:96px; height:96px; object-fit:cover; background:#eceae4; display:block;
}
.cartItemPlaceholder, .checkoutItemImg span, .cartModalImg span {
  display:grid; place-items:center; font:500 18px var(--font-display); color:#b0956b; background:#eceae4;
  width:100%; height:100%; min-height:64px;
}
.cartItemBody h2 { font:500 22px var(--font-display); margin:0 0 6px; color:#20211d; }
.cartItemMeta, .cartItemUnit { margin:0; font-size:13px; color:#6b6a64; }
.cartItemUnit { margin-top:6px; }
.cartItemUnit small { color:#9a978e; }
.cartRemove { margin-top:12px; }
.cartRemove button {
  background:none; border:0; padding:0; color:#9a978e; font-size:11px; letter-spacing:.08em;
  text-decoration:underline; cursor:pointer;
}
.cartQty { display:inline-flex; align-items:center; border:1px solid #d8d5cd; background:#faf9f6; }
.cartQty input {
  width:42px; border:0; background:transparent; text-align:center; font:inherit; padding:10px 0;
  -moz-appearance:textfield;
}
.cartQty input::-webkit-outer-spin-button, .cartQty input::-webkit-inner-spin-button { -webkit-appearance:none; }
.qtyBtn {
  width:34px; height:40px; border:0; background:transparent; cursor:pointer;
  font-size:18px; color:#20211d; line-height:1;
}
.cartItemTotal { text-align:right; }
.cartItemTotal b { font:500 18px var(--font-display); }
.cartContinue {
  display:inline-block; margin:24px 28px 0; color:#6b6a64; font-size:13px; text-decoration:none;
}
.cartContinue:hover { color:var(--gold); }

.cartSummary, .checkoutSummary {
  background:#fff; padding:28px 26px 32px; position:sticky; top:24px;
}
.cartSummaryHead {
  display:flex; justify-content:space-between; align-items:baseline;
  border-bottom:1px solid #ebe8e1; padding-bottom:16px; margin-bottom:18px;
}
.cartSummaryHead span { font:500 24px var(--font-display); }
.cartSummaryHead small { color:#8a877e; font-size:12px; letter-spacing:.06em; }
.cartBreakdown { margin:0; display:grid; gap:12px; }
.cartBreakdown > div { display:flex; justify-content:space-between; gap:12px; font-size:14px; color:#454640; }
.cartBreakdown dt { margin:0; font-weight:400; }
.cartBreakdown dd { margin:0; font-weight:600; }
.cartBreakdown .grand {
  border-top:1px solid #ebe8e1; margin-top:8px; padding-top:14px;
  font:500 22px var(--font-display); color:#20211d;
}
.cartBreakdown .grand dd { font:inherit; }
.cartNote { font-size:12px; line-height:1.55; color:#8a877e; margin:18px 0 22px; }
.cartCheckout { width:100%; text-align:center; box-sizing:border-box; }
.cartTrust { list-style:none; margin:22px 0 0; padding:0; display:grid; gap:8px; }
.cartTrust li {
  font-size:11px; letter-spacing:.06em; color:#6b6a64;
  padding-left:18px; position:relative;
}
.cartTrust li::before {
  content:""; position:absolute; left:0; top:5px; width:8px; height:8px;
  background:var(--gold);
}

/* —— Checkout —— */
.checkoutPage .config, .checkoutForm { max-height:none !important; overflow:visible !important; }
.checkoutForm { display:flex; flex-direction:column; gap:22px; }
.checkoutBlock {
  background:#fff; border:0; margin:0; padding:28px 30px 30px;
  display:flex; flex-direction:column; gap:16px;
}
.checkoutBlock legend {
  font:500 22px var(--font-display); padding:0; margin-bottom:4px; color:#20211d;
}
.checkoutGrid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.checkoutForm label, .checkoutBlock label {
  display:flex; flex-direction:column; gap:8px;
  font-size:11px; font-weight:700; letter-spacing:.06em; color:#454640;
}
.checkoutForm .opt { font-weight:400; color:#9a978e; letter-spacing:0; text-transform:none; }
.checkoutForm input, .checkoutForm textarea {
  width:100%; box-sizing:border-box; border:1px solid #d8d5cd; background:#faf9f6;
  padding:14px 16px; font:inherit; color:#20211d; resize:vertical;
}
.checkoutForm input:focus, .checkoutForm textarea:focus {
  outline:none; border-color:var(--gold); background:#fff;
}
.payChoices { display:grid; gap:10px; }
.payChoice {
  display:flex !important; flex-direction:row !important; align-items:flex-start; gap:14px;
  border:1px solid #d8d5cd; padding:16px 18px; cursor:pointer; background:#faf9f6;
}
.payChoice:has(input:checked) { border-color:var(--gold); background:#fff; }
.payChoice input { width:auto; margin-top:3px; accent-color:var(--gold); }
.payChoice b { display:block; font-size:14px; letter-spacing:0; font-weight:600; color:#20211d; }
.payChoice small { display:block; margin-top:4px; color:#8a877e; font-weight:400; letter-spacing:0; font-size:12px; line-height:1.45; }
.checkoutHint { color:#8a877e; font-size:13px; margin:0; }
.checkoutSubmit { width:100%; }
.checkoutSubmit:disabled { opacity:.45; cursor:not-allowed; }

.checkoutItems { display:grid; gap:14px; margin-bottom:20px; }
.checkoutItem {
  display:grid; grid-template-columns:56px 1fr auto; gap:12px; align-items:center;
}
.checkoutItemImg { position:relative; width:56px; height:56px; background:#eceae4; }
.checkoutItemImg img { width:100%; height:100%; object-fit:cover; display:block; }
.checkoutItemImg b {
  position:absolute; right:-6px; top:-6px; min-width:20px; height:20px; padding:0 5px;
  background:#20211d; color:#fff; font-size:10px; display:grid; place-items:center; border-radius:999px;
}
.checkoutItem strong { display:block; font-size:14px; font-weight:600; color:#20211d; }
.checkoutItem small { display:block; margin-top:3px; color:#8a877e; font-size:12px; }
.checkoutItem em { font-style:normal; font-size:13px; font-weight:600; white-space:nowrap; }
.checkoutEdit { display:inline-block; margin-top:8px; font-size:12px; color:#6b6a64; }

.productOverlay .productCta {
  color:#fff; float:right; letter-spacing:.1em; background:transparent; border:0;
  border-bottom:1px solid #fff; gap:15px; margin-top:-30px; padding:6px 0;
  font-size:9px; display:inline-flex; text-decoration:none;
}
.shade { pointer-events:none !important; }
.heroCopy, .heroBtns, .heroBtns a, .scroll { position:relative; z-index:2; }

/* —— Cart modal (class toggle — never leave an invisible overlay) —— */
.cartModal {
  display:none;
  position:fixed; inset:0; z-index:80;
  place-items:center; padding:20px;
  pointer-events:none;
}
.cartModal.is-open {
  display:grid;
  pointer-events:auto;
}
.cartModalBackdrop { position:absolute; inset:0; background:#20211dcc; }
.cartModalPanel {
  position:relative; z-index:1; width:min(440px,100%); background:#fff;
  padding:36px 32px 30px; animation:cartModalIn .28s ease;
}
@keyframes cartModalIn {
  from { opacity:0; transform:translateY(12px); }
  to { opacity:1; transform:none; }
}
.cartModalClose {
  position:absolute; top:14px; right:14px; border:0; background:none;
  font-size:16px; cursor:pointer; color:#8a877e; line-height:1;
}
.cartModalBadge {
  font-size:10px; letter-spacing:.16em; text-transform:uppercase; font-weight:700;
  color:var(--gold); margin-bottom:18px;
}
.cartModalProduct { display:grid; grid-template-columns:88px 1fr; gap:16px; align-items:center; margin-bottom:28px; }
.cartModalImg { width:88px; height:88px; background:#eceae4; overflow:hidden; }
.cartModalImg img { width:100%; height:100%; object-fit:cover; display:block; }
.cartModalProduct h2 { font:500 26px var(--font-display); margin:0 0 6px; line-height:1.1; }
.cartModalProduct p { margin:0 0 8px; font-size:13px; color:#6b6a64; }
.cartModalProduct b { font-size:15px; }
.cartModalActions { display:grid; gap:10px; }
.cartModalActions .primary, .cartModalActions .ghost { width:100%; box-sizing:border-box; text-align:center; }
.cartModalActions .textLink {
  border:0; background:none; cursor:pointer; color:#6b6a64; font-size:12px;
  letter-spacing:.04em; padding:8px; text-decoration:underline;
}

@media (max-width:900px){
  .nav a { padding:8px 0; }
  .cartLayout, .checkoutLayout { grid-template-columns:1fr; }
  .cartListHead { display:none; }
  .cartItem { grid-template-columns:72px 1fr; gap:12px; padding:18px 18px; }
  .cartItemMedia img, .cartItemPlaceholder { width:72px; height:72px; }
  .cartQty { grid-column:2; justify-self:start; }
  .cartItemTotal { grid-column:2; text-align:left; }
  .cartSummary, .checkoutSummary { position:static; }
  .checkoutGrid { grid-template-columns:1fr; }
  .cartItemBody h2 { font-size:20px; }

  /* Ana sayfa / header mobil */
  .header {
    height: 70px !important;
    padding: 0 5vw !important;
  }
  .brand span {
    font-size: 22px !important;
    letter-spacing: 0.12em !important;
    margin-right: -0.12em !important;
  }
  .brand small {
    letter-spacing: 0.22em !important;
    margin-right: -0.22em !important;
    font-size: 7px !important;
  }
  .actions { gap: 8px !important; }
  .header .cart { width: 38px; height: 38px; }

  .hero {
    height: auto !important;
    min-height: 78svh !important;
    max-height: none !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    box-sizing: border-box !important;
    padding: 20px 5vw 72px !important; /* altta chat için boşluk */
    background-position: 62% center !important;
    position: relative !important;
  }
  .hero .shade {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0;
  }
  .hero .scroll {
    display: none !important;
  }
  .heroCopy {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    max-width: none !important;
    width: 100% !important;
    z-index: 1;
    margin: 0 !important;
    padding-top: 12px;
  }
  .hero .eyebrow {
    letter-spacing: 0.1em !important;
    font-size: 8px !important;
    line-height: 1.4;
    word-break: break-word;
    margin: 0 0 8px !important;
  }
  .hero h1 {
    font-size: clamp(26px, 7.5vw, 34px) !important;
    line-height: 1.08 !important;
    margin: 0 0 8px !important;
    overflow: visible !important;
  }
  .heroCopy > p:not(.eyebrow) {
    font-size: 13px !important;
    line-height: 1.45 !important;
    max-width: none !important;
    margin: 0 !important;
  }
  .heroBtns {
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: 14px !important;
    width: 100%;
  }
  .heroBtns .primary,
  .heroBtns .ghost {
    width: 100%;
    box-sizing: border-box;
    justify-content: center;
    text-align: center;
    padding: 12px 14px !important;
    font-size: 10px !important;
  }

  /* Canlı destek: sadece ikon, CTA üzerine binmesin */
  .chatButton {
    bottom: 14px !important;
    right: 14px !important;
    padding: 12px !important;
    border-radius: 50% !important;
    width: 48px;
    height: 48px;
    display: grid !important;
    place-items: center;
    box-shadow: 0 6px 20px rgba(0,0,0,.22) !important;
  }
  .chatButton span { display: none !important; }
  .chat {
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    bottom: 72px !important;
  }
}

@media (max-width:480px){
  .hero {
    min-height: 72svh !important;
    padding: 16px 5vw 68px !important;
  }
  .hero h1 { font-size: 28px !important; }
}

