/* ==========================================================================
   Tema: Bahçe — Kurumsal Çiçek Ofisi marka kimliği.
   Koyu yeşil #1F4D3A · Zeytin #6A7A5C · Krem #F7F4EE · Mat altın #B08D57 (az) · Antrasit #2B2B2B
   Playfair Display (başlık) + Nunito (metin). Yumuşak köşeler, köklü/premium his.
   ========================================================================== */
:root {
  --color-bg: #F7F4EE;
  --color-surface: #ffffff;
  --color-text: #2B2B2B;
  --color-muted: #6b6a66;
  --color-primary: #1F4D3A;
  --color-secondary: #6A7A5C;
  --color-accent: #B08D57;
  --color-gold: #B08D57;
  --color-olive: #6A7A5C;
  --color-blush: #ECEAE2;
  --color-soft: #EEF1EA;
  --color-photo: #F8F8F6;
  --color-border: rgba(31, 77, 58, .16);
  --header-bg: rgba(247, 244, 238, .9);
  --hero-shade: rgba(43, 43, 43, .18);
  --shadow: 0 16px 40px rgba(31, 77, 58, .12);
  --radius: 18px;
  --font-display: "Playfair Display", Georgia, serif;
  --font-body: "Nunito", "Segoe UI", sans-serif;
}
[data-theme="dark"] {
  /* Koyu mod: antrasit-yeşil zemin (#2B2B2B antrasit + koyu yeşil karışımı), krem metin, mat altın vurgu.
     Marka koyu yeşili (#1F4D3A) koyu modda buton/kenar çubuğu/hesap bölümü zemini olarak korunur;
     metin ve simgelerde okunabilirlik için açık yeşil (#9CCBB0) kullanılır. */
  --color-bg: #212523;
  --color-surface: #2a2f2c;
  --color-text: #F7F4EE;
  --color-muted: #b6b3ab;
  --color-primary: #9CCBB0;
  --color-secondary: #A9B79A;
  --color-accent: #C9A76E;
  --color-gold: #C9A76E;
  --color-olive: #A9B79A;
  --color-brand-green: #1F4D3A;
  --color-brand-green-soft: #2E6B52;
  --color-blush: #343a36;
  --color-soft: #2f3632;
  --color-photo: #31363a;
  --color-border: rgba(247, 244, 238, .13);
  --header-bg: rgba(33, 37, 35, .92);
  --hero-shade: rgba(0, 0, 0, .35);
  --shadow: 0 16px 40px rgba(0, 0, 0, .45);
}

/* Zeminde hafif defne deseni */
body {
  background-color: var(--color-bg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cpath d='M30 40c14-12 32-10 40 6-16 8-32 6-40-6zM110 120c14-12 32-10 40 6-16 8-32 6-40-6zM120 30c-4 16-18 26-34 26 2-16 16-28 34-26zM40 130c-4 16-18 26-34 26 2-16 16-28 34-26z' fill='%231F4D3A' fill-opacity='.045'/%3E%3C/svg%3E");
}
[data-theme="dark"] body { background-image: none; }
h1, h2, h3 { letter-spacing: -.01em; color: var(--color-text); }

/* ---- Başlık: yüzen, yuvarlatılmış çubuk ---- */
.bahce-header { padding: .75rem 0; background: transparent; }
.bahce-bar { min-height: 66px; padding: .35rem .6rem .35rem 1rem; border: 1px solid var(--color-border); border-radius: 999px; background: var(--header-bg); backdrop-filter: blur(14px); box-shadow: 0 10px 30px rgba(31, 77, 58, .08); }
.bahce-brand { display: flex; align-items: center; gap: .65rem; margin-right: .75rem; color: var(--color-text); text-decoration: none; }
.bahce-brand-mark { width: 44px; height: 44px; flex-shrink: 0; }
.bahce-brand-text { display: grid; line-height: 1.05; }
.bahce-brand-text strong { font-family: var(--font-display); font-size: 1.08rem; font-weight: 700; color: var(--color-primary); white-space: nowrap; }
.bahce-brand-text small { color: var(--color-muted); font-size: .64rem; font-weight: 600; letter-spacing: .02em; }
[data-theme="dark"] .bahce-brand-text strong { color: var(--color-text); }
.theme-nav a, .theme-nav button { color: var(--color-text); }
.theme-nav a:hover, .theme-nav button:hover { background: var(--color-soft); color: var(--color-primary); }
.theme-nav a.active, .theme-nav button.active { background: var(--color-primary); color: #fff; }
.bahce-nav-cta { border: 1px solid var(--color-primary) !important; color: var(--color-primary) !important; }
.bahce-nav-cta:hover { background: var(--color-primary) !important; color: #fff !important; }
.theme-nav-admin { border: 1px dashed var(--color-border) !important; }
.theme-dropdown .dropdown-item:hover, .theme-dropdown .dropdown-item:focus { background: var(--color-soft); color: var(--color-primary); }
.theme-login { background: var(--color-primary); color: #fff; }
.theme-login:hover { background: var(--color-olive); color: #fff; }
.icon-button:hover { border-color: var(--color-primary); color: var(--color-primary); }
.theme-page { padding-top: 90px; }
.cart-link [data-cart-count] { background: var(--color-gold); color: #fff; }
/* Tablet yatay (iPad ~1024px): menü öğeleri ile giriş düğmesi üst üste binmesin diye sıkı düzen. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .bahce-bar { padding-left: .6rem; }
  .bahce-brand { margin-right: .15rem; gap: .4rem; }
  .bahce-brand-mark { width: 38px; height: 38px; }
  .bahce-brand-text small { display: none; }
  .bahce-brand-text strong { font-size: .88rem; }
  .theme-nav { gap: 0; flex-wrap: nowrap; min-width: 0; }
  .theme-collapse { overflow: hidden; }
  .theme-nav a, .theme-nav button { padding: .38rem .45rem; font-size: .73rem; white-space: nowrap; }
  .bahce-nav-cta { padding-left: .6rem !important; padding-right: .6rem !important; }
  .theme-nav-admin span { display: none; }
  .theme-login { padding: .4rem .7rem; font-size: .74rem; white-space: nowrap; }
  .theme-login svg { display: none; }
  .theme-utilities { gap: .05rem; }
}
/* Küçük masaüstü (1200–1399px): menüde Referanslar öğesiyle birlikte giriş düğmesi sığsın. */
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .bahce-brand { margin-right: .35rem; }
  .bahce-brand-text small { display: none; }
  .theme-nav { gap: 0; }
  .theme-nav a, .theme-nav button { padding: .42rem .6rem; font-size: .8rem; }
  .theme-login { white-space: nowrap; }
}
@media (max-width: 991.98px) {
  .bahce-bar { border-radius: 22px; }
  .bahce-brand-text small { display: none; }
  .theme-collapse .theme-nav { padding: .75rem .25rem 1rem; }
}

/* ---- Ortak parçalar ---- */
.bahce-eyebrow { display: inline-flex; align-items: center; gap: .45rem; margin: 0 0 1rem; color: var(--color-gold); font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.bahce-eyebrow svg { width: 15px; height: 15px; }
.bahce-eyebrow-light { color: #d8c39a; }
.bahce-btn { display: inline-flex; align-items: center; gap: .55rem; min-height: 50px; padding: .8rem 1.5rem; border: 2px solid transparent; border-radius: 999px; font-size: .9rem; font-weight: 800; text-decoration: none; cursor: pointer; transition: transform 160ms ease, background-color 160ms ease, color 160ms ease; }
.bahce-btn svg { width: 17px; height: 17px; }
.bahce-btn:hover { transform: translateY(-2px); }
.bahce-btn-primary { background: var(--color-primary); color: #fff; box-shadow: 0 10px 24px rgba(31, 77, 58, .28); }
.bahce-btn-primary:hover { background: var(--color-olive); color: #fff; }
[data-theme="dark"] .bahce-btn-primary { color: #171c19; }
.bahce-btn-ghost { border-color: var(--color-border); color: var(--color-text); }
.bahce-btn-ghost:hover { border-color: var(--color-primary); color: var(--color-primary); }
.bahce-btn-ghost-light { border-color: rgba(255,255,255,.5); color: #fff; }
.bahce-btn-ghost-light:hover { border-color: #fff; color: #fff; }
.bahce-btn-light { background: #fff; color: var(--color-primary); }
.bahce-btn-light:hover { background: var(--color-gold); color: #fff; }
.bahce-link { display: inline-flex; align-items: center; gap: .35rem; color: var(--color-primary); font-size: .84rem; font-weight: 800; text-decoration: none; }
.bahce-link svg { width: 15px; height: 15px; }
.bahce-link:hover { color: var(--color-gold); }
.bahce-section-head { max-width: 680px; margin-bottom: 2rem; }
.bahce-section-head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; max-width: none; }
.bahce-section-head h2, .bahce-story-copy h2, .bahce-cta h2, .bahce-account h2 { margin: 0; font-family: var(--font-display); font-size: clamp(1.9rem, 3.8vw, 3rem); font-weight: 700; line-height: 1.08; }
.bahce-price-note { display: flex; align-items: center; gap: .4rem; margin: 1rem 0 0; color: var(--color-muted); font-size: .78rem; }
.bahce-price-note svg { width: 15px; height: 15px; }

/* ---- Hero ---- */
.bahce-hero { padding: 3rem 0 3.5rem; }
.bahce-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); gap: 3rem; align-items: center; }
.bahce-hero-copy h1 { margin: 0 0 1.25rem; font-family: var(--font-display); font-size: clamp(2.6rem, 5.4vw, 4.6rem); font-weight: 700; line-height: 1.04; color: var(--color-primary); }
[data-theme="dark"] .bahce-hero-copy h1 { color: var(--color-text); }
.bahce-hero-copy h1 em { color: var(--color-gold); font-style: italic; }
.bahce-hero-copy > p:not(.bahce-eyebrow):not(.bahce-hero-note) { max-width: 540px; margin: 0 0 1.75rem; color: var(--color-muted); font-size: 1.08rem; line-height: 1.75; }
.bahce-hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.bahce-hero-note { display: inline-flex; align-items: center; gap: .5rem; margin: 1.75rem 0 0; color: var(--color-muted); font-size: .82rem; font-weight: 700; }
.bahce-hero-note svg { width: 16px; height: 16px; color: var(--color-gold); }
.bahce-hero-note span { color: var(--color-gold); }
.bahce-hero-visual { position: relative; min-height: 500px; }
.bahce-blob { position: absolute; margin: 0; overflow: hidden; background: var(--color-photo); box-shadow: var(--shadow); }
.bahce-blob img { width: 100%; height: 100%; object-fit: cover; }
.bahce-blob-main { top: 0; right: 0; width: 76%; height: 80%; border-radius: 48% 52% 42% 58% / 50% 44% 56% 50%; }
.bahce-blob-small { left: 0; bottom: 0; width: 44%; height: 44%; border: 8px solid var(--color-bg); border-radius: 50%; }
.bahce-badge { position: absolute; top: 60%; right: 3%; display: grid; place-items: center; width: 104px; height: 104px; border: 2px solid var(--color-gold); border-radius: 50%; background: var(--color-primary); color: #fff; text-align: center; transform: rotate(-8deg); box-shadow: var(--shadow); }
.bahce-badge strong { font-family: var(--font-display); font-size: 1.6rem; line-height: 1; }
.bahce-badge small { color: #d8c39a; font-size: .62rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }

/* ---- Avantaj şeridi ---- */
.bahce-trust { padding: 0 0 3.5rem; }
.trust-strip { gap: 1rem; }
.trust-strip li { border-radius: var(--radius); background: var(--color-surface); box-shadow: 0 8px 24px rgba(31, 77, 58, .06); }
.trust-strip svg { color: var(--color-primary); }
.trust-strip strong { color: var(--color-text); }

/* ---- Hangi an için çiçek? ---- */
.bahce-occasions { padding: 2.5rem 0 4rem; }
.bahce-occasion-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.bahce-occasion { display: grid; gap: .35rem; align-content: start; padding: 1.5rem; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); color: var(--color-text); text-decoration: none; transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease; }
.bahce-occasion:hover { transform: translateY(-4px); border-color: var(--color-primary); box-shadow: var(--shadow); color: var(--color-text); }
.bahce-occasion-icon { display: grid; width: 48px; height: 48px; margin-bottom: .6rem; place-items: center; border-radius: 14px; background: var(--color-soft); color: var(--color-primary); }
.bahce-occasion-icon svg { width: 22px; height: 22px; }
.bahce-occasion strong { font-family: var(--font-display); font-size: 1.2rem; }
.bahce-occasion small { color: var(--color-muted); line-height: 1.5; }
.bahce-occasion-link { display: inline-flex; align-items: center; gap: .3rem; margin-top: .75rem; color: var(--color-primary); font-size: .78rem; font-weight: 800; }
.bahce-occasion-link svg { width: 14px; height: 14px; transition: transform 160ms ease; }
.bahce-occasion:hover .bahce-occasion-link svg { transform: translateX(3px); }

/* ---- Öne çıkan çelenkler ---- */
.bahce-featured { padding: 0 0 4rem; }
.bahce-featured-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (min-width: 1200px) { .bahce-featured-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---- Marka hikâyesi ---- */
.bahce-story { padding: 4rem 0; background: var(--color-soft); }
.bahce-story-grid { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr); gap: 3rem; align-items: center; }
.bahce-story-image { position: relative; margin: 0; overflow: hidden; border-radius: 28px 28px 120px 28px; box-shadow: var(--shadow); }
.bahce-story-image img { width: 100%; height: 480px; object-fit: cover; }
.bahce-story-image figcaption { position: absolute; left: 1rem; bottom: 1rem; padding: .35rem .75rem; border-radius: 999px; background: rgba(31, 77, 58, .85); color: #fff; font-size: .7rem; font-weight: 700; letter-spacing: .06em; }
.bahce-story-copy > p:not(.bahce-eyebrow) { margin: 1rem 0 0; color: var(--color-muted); line-height: 1.8; }
.bahce-story-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1.75rem 0 0; padding: 1.25rem 0 0; border-top: 1px solid var(--color-border); list-style: none; }
.bahce-story-facts strong { display: block; font-family: var(--font-display); font-size: 1.35rem; color: var(--color-primary); }
.bahce-story-facts small { color: var(--color-muted); font-size: .76rem; }

/* ---- Kurumsal hesap + panel mockup ---- */
.bahce-account { padding: 4.5rem 0; background: var(--color-primary); color: #fff; }
[data-theme="dark"] .bahce-account { background: #223a30; }
.bahce-account-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr); gap: 3rem; align-items: center; }
.bahce-account h2 { color: #fff; }
.bahce-account-copy > p:not(.bahce-eyebrow) { margin: 1rem 0 1.5rem; max-width: 520px; color: rgba(255,255,255,.82); line-height: 1.75; }
.bahce-account-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin: 0 0 1.75rem; padding: 0; list-style: none; }
.bahce-account-features li { display: flex; align-items: center; gap: .6rem; padding: .6rem .8rem; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; font-size: .86rem; font-weight: 700; }
.bahce-account-features svg { width: 18px; height: 18px; color: #d8c39a; }
.bahce-mock-window { overflow: hidden; border-radius: 16px; background: #fff; color: #2B2B2B; box-shadow: 0 30px 60px rgba(0,0,0,.3); transform: rotate(-1.5deg); }
.bahce-mock-bar { display: flex; align-items: center; gap: .4rem; padding: .6rem .9rem; border-bottom: 1px solid #ebe8e1; background: #f7f4ee; }
.bahce-mock-bar span { width: 10px; height: 10px; border-radius: 50%; background: #d9d4c9; }
.bahce-mock-bar em { margin-left: .5rem; color: #8a877f; font-size: .66rem; font-style: normal; font-weight: 700; }
.bahce-mock-body { display: grid; grid-template-columns: 150px minmax(0, 1fr); }
.bahce-mock-side { display: grid; align-content: start; gap: .25rem; padding: .9rem .7rem; border-right: 1px solid #ebe8e1; background: #fbfaf7; }
.bahce-mock-side b { margin: 0 .4rem .4rem; color: #B08D57; font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; }
.bahce-mock-side i { padding: .38rem .55rem; border-radius: 8px; font-size: .68rem; font-style: normal; font-weight: 700; color: #4b4a45; }
.bahce-mock-side i.active { background: #1F4D3A; color: #fff; }
.bahce-mock-main { padding: .9rem; }
.bahce-mock-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin-bottom: .75rem; }
.bahce-mock-metrics div { padding: .6rem .7rem; border: 1px solid #ebe8e1; border-radius: 10px; }
.bahce-mock-metrics small { display: block; color: #8a877f; font-size: .58rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.bahce-mock-metrics strong { font-size: .86rem; }
.bahce-mock-table { border: 1px solid #ebe8e1; border-radius: 10px; overflow: hidden; }
.bahce-mock-row { display: grid; grid-template-columns: 1.1fr 1fr .9fr; gap: .5rem; padding: .5rem .7rem; border-top: 1px solid #ebe8e1; font-size: .64rem; font-weight: 600; }
.bahce-mock-head { border-top: 0; background: #f7f4ee; color: #8a877f; font-size: .56rem; text-transform: uppercase; letter-spacing: .06em; }
.bahce-mock-row .ok { color: #1F4D3A; font-weight: 800; }
.bahce-mock-row .way { color: #B08D57; font-weight: 800; }
.bahce-mock-row u { text-decoration: none; }

/* ---- Nasıl çalışır ---- */
.bahce-process { padding: 4rem 0 1rem; }
.bahce-steps { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.bahce-steps-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bahce-steps li { display: flex; gap: 1rem; padding: 1.1rem 1.15rem; border: 1px solid var(--color-border); border-radius: 14px; background: var(--color-surface); }
.bahce-steps-grid li { flex-direction: column; gap: .75rem; }
.bahce-steps span { display: grid; width: 38px; height: 38px; flex-shrink: 0; place-items: center; border-radius: 50%; background: var(--color-primary); color: #fff; font-family: var(--font-display); font-weight: 700; }
.bahce-steps-grid li:last-child span { background: var(--color-gold); }
.bahce-steps strong { display: block; font-size: 1rem; }
.bahce-steps small { color: var(--color-muted); line-height: 1.5; }

/* ---- CTA ---- */
.bahce-cta { padding: 3rem 0 4rem; }
.bahce-cta-box { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 2.5rem; border-radius: 28px; border: 1px solid var(--color-gold); background: var(--color-surface); }
.bahce-cta-box h2 { color: var(--color-primary); font-size: clamp(1.6rem, 3vw, 2.3rem); }
[data-theme="dark"] .bahce-cta-box h2 { color: var(--color-text); }
.bahce-cta-box p { margin: .5rem 0 0; max-width: 560px; color: var(--color-muted); }
.bahce-cta-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.bahce-cta-actions .bahce-btn-ghost-light { border-color: var(--color-border); color: var(--color-text); }
@media (max-width: 991.98px) {
  .bahce-hero-grid, .bahce-story-grid, .bahce-account-grid { grid-template-columns: 1fr; }
  .bahce-hero-visual { min-height: 380px; }
  .bahce-occasion-grid, .bahce-steps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bahce-story-image img { height: 340px; }
  .bahce-mock-window { transform: none; }
  .bahce-mock-body { grid-template-columns: 1fr; }
  .bahce-mock-side { display: none; }
}
@media (max-width: 575.98px) { .bahce-occasion-grid, .bahce-steps-grid, .bahce-account-features { grid-template-columns: 1fr; } .bahce-cta-box { padding: 1.75rem; } .bahce-section-head-row { flex-direction: column; align-items: flex-start; } }

/* ---- Footer ---- */
.bahce-footer { padding: 3rem 0 2rem; border-top: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-muted); font-size: .84rem; }
.bahce-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2rem; }
.bahce-footer-grid > div { display: grid; align-content: start; gap: .45rem; }
.bahce-footer-brand { display: flex; align-items: center; gap: .5rem; margin: 0; color: var(--color-primary); font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; }
[data-theme="dark"] .bahce-footer-brand { color: var(--color-text); }
.bahce-since { color: var(--color-gold); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.bahce-footer strong { color: var(--color-text); }
.bahce-footer a { color: var(--color-text); text-decoration: none; }
.bahce-footer a:hover { color: var(--color-primary); }
@media (max-width: 767.98px) { .bahce-footer-grid { grid-template-columns: 1fr; } }

/* ---- Ortak bileşenlerin Bahçe yorumu ---- */
.portal-shell { padding-top: 2.5rem; }
.portal-heading h1, .account-form-wrap h1, .status-page h1 { font-weight: 700; line-height: 1.05; font-size: clamp(2.2rem, 4.5vw, 3.4rem); color: var(--color-primary); }
[data-theme="dark"] .portal-heading h1, [data-theme="dark"] .account-form-wrap h1, [data-theme="dark"] .status-page h1 { color: var(--color-text); }
.section-kicker { color: var(--color-gold); letter-spacing: .16em; }
/* Ürün kartları: eşit boy, büyük ve temiz görsel (standart #F8F8F6 fotoğraf zemini) */
.product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.product-card { display: flex; flex-direction: column; border-radius: var(--radius); border-color: var(--color-border); box-shadow: 0 8px 24px rgba(31, 77, 58, .06); }
.product-card:hover { border-color: var(--color-primary); box-shadow: var(--shadow); }
/* Çelenk fotoğrafları dikey (3:4) çekilir; kart görseli aynı oranda olursa üstü/altı kırpılmaz. */
.product-media { aspect-ratio: 3 / 4; background: var(--color-photo); }
.product-media img { object-fit: cover; }
a.product-media { display: grid; }
.product-copy { display: flex; flex: 1; flex-direction: column; padding: 1.1rem 1.15rem 1.15rem; }
.product-copy h3 { font-size: 1.25rem; font-weight: 700; margin: .35rem 0; }
.product-copy p { min-height: 0; -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.product-sku { color: var(--color-muted); font-size: .68rem; letter-spacing: .06em; }
.product-price { margin-top: auto; padding-top: .85rem; }
.price-vat-note { color: var(--color-muted); font-size: .66rem; font-weight: 600; letter-spacing: .02em; }
.vat-inline { font-style: normal; color: var(--color-muted); font-size: .68rem; font-weight: 600; }
.checkout-summary .checkout-vat-row { padding: .35rem 0 .75rem; border-bottom: 1px solid var(--color-border); }
.checkout-summary .checkout-vat-row span { font-size: .7rem; }
.checkout-summary .checkout-vat-row small { display: inline; font-size: .78rem; color: var(--color-text); }
.product-price strong { font-size: 1.05rem; color: var(--color-text); }
.product-add { border-radius: 999px; border-color: var(--color-primary); background: var(--color-primary); color: #fff; padding: .55rem 1rem; font-weight: 800; }
.product-add:hover { background: var(--color-olive); border-color: var(--color-olive); color: #fff; }
.product-add span { color: inherit; font-size: inherit; letter-spacing: .04em; }
.product-card[data-product-url] { cursor: pointer; }
[data-theme="dark"] .product-add { border-color: var(--color-primary); background: var(--color-primary); color: #171c19; }
.product-login { background: var(--color-soft); border-color: var(--color-soft); color: var(--color-primary); }
.product-login:hover { background: var(--color-primary); color: #fff; }
.favorite-button { border-color: transparent; box-shadow: 0 4px 12px rgba(0,0,0,.12); }
.favorite-button.active { background: var(--color-primary); color: #fff; }
.catalog-search input, .catalog-filter select { border-color: transparent; box-shadow: 0 4px 14px rgba(31, 77, 58, .08); }
.catalog-group h2 { font-family: var(--font-display); color: var(--color-primary); }
[data-theme="dark"] .catalog-group h2 { color: var(--color-text); }
.product-detail-gallery { background: var(--color-photo); border-radius: var(--radius); }
.product-detail-price strong { color: var(--color-primary); }
[data-theme="dark"] .product-detail-price strong { color: var(--color-text); }
.portal-table-wrap, .action-panel, .address-card, .address-form-panel, .product-image-item { border-color: transparent; border-radius: var(--radius); box-shadow: 0 8px 24px rgba(31, 77, 58, .07); }
.portal-table th { background: var(--color-soft); color: var(--color-primary); font-weight: 800; letter-spacing: .06em; }
.status-pill { border-color: transparent; background: var(--color-soft); color: var(--color-primary); font-weight: 700; white-space: nowrap; }
/* Ödeme durumu rozetleri: ödendi yeşil, kısmi amber, ödenmedi kiremit. */
.status-pill.is-paid { background: #e3efe6; color: #27633a; }
.status-pill.is-partial { background: #f6ebd4; color: #8a5a12; }
.status-pill.is-unpaid { background: #f9e4e0; color: #a3322b; }
/* Yönetim özeti son siparişler: solda numara + durum rozetleri + tarih, sağda tutar ve kalan. */
.dashboard-invoices article { align-items: flex-start; }
.recent-order-meta { min-width: 0; gap: .35rem; }
.recent-order-title { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.recent-order-title code { white-space: nowrap; }
.dashboard-invoices .status-pill { min-height: 24px; padding: .1rem .55rem; font-size: .72rem; }
.recent-order-amount { display: flex; flex-direction: column; align-items: flex-end; gap: .15rem; flex-shrink: 0; text-align: right; }
.remaining-note { color: #a3322b; font-weight: 600; white-space: nowrap; }
[data-theme="dark"] .remaining-note { color: #f0a08a; }
.remaining-cell { white-space: nowrap; }
/* e-Arşiv fatura bilgileri */
.order-invoice { margin: 1.5rem 0; }
.order-invoice .dashboard-section-heading { margin-bottom: .75rem; }
.order-invoice-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.order-invoice-form label { display: grid; gap: .35rem; color: var(--color-muted); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.order-invoice-form input { padding: .55rem .8rem; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); color: var(--color-text); font: inherit; font-size: .95rem; text-transform: none; letter-spacing: 0; }
.order-invoice-form .form-submit { grid-column: 1 / -1; width: auto; justify-self: start; }
@media (max-width: 575.98px) { .order-invoice-form { grid-template-columns: 1fr; } }
.earchive-note { display: flex; gap: .5rem; align-items: flex-start; margin: -.25rem 0 1rem; padding: .75rem 1rem; border: 1px dashed var(--color-border); border-radius: 12px; background: var(--color-soft); }
.earchive-note svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: .1rem; color: var(--color-primary); }
.issue-form { flex-wrap: wrap; }
.issue-form label { flex: 1 1 150px; }
.issue-form input[type="date"] { padding: .55rem .7rem; }
.eligible-orders { display: grid; gap: .5rem; padding: .75rem .9rem; border: 1px dashed var(--color-border); border-radius: 12px; background: var(--color-soft); }
.eligible-orders-head { display: flex; justify-content: space-between; align-items: center; gap: .5rem; color: var(--color-muted); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.eligible-orders-head .check-field { font-size: .78rem; text-transform: none; letter-spacing: 0; font-weight: 600; }
.eligible-order { display: flex; gap: .55rem; align-items: flex-start; padding: .4rem 0; border-bottom: 1px solid var(--color-border); cursor: pointer; }
.eligible-order:last-child { border-bottom: 0; }
.eligible-order input { margin-top: .2rem; }
.eligible-order span { display: grid; gap: .1rem; }
.eligible-order strong { font-size: .86rem; }
.eligible-order small { color: var(--color-muted); font-size: .72rem; }
.invoice-table-block { margin-top: .5rem; }
.invoice-table .invoice-cell { min-width: 230px; }
.invoice-table .invoice-cell strong { display: block; margin-bottom: .2rem; }
.invoice-company { max-width: 220px; white-space: normal !important; }
.invoice-period span, .invoice-period small, .invoice-amounts strong, .invoice-amounts small { display: block; white-space: nowrap; }
.invoice-period small, .invoice-amounts small { color: var(--color-muted); font-size: .72rem; }
.invoice-lines summary { cursor: pointer; color: var(--color-primary); font-weight: 700; }
.invoice-lines div { font-size: .78rem; white-space: nowrap; }
.invoice-draft-layout { align-items: start; }
.invoice-draft-help h2 { margin-top: 0; }
.earchive-cell { display: grid; gap: .3rem; min-width: 180px; }
.earchive-summary { display: flex; flex-wrap: wrap; gap: .25rem .6rem; align-items: center; }
.earchive-summary code { font-size: .74rem; }
.earchive-edit summary { display: inline-flex; align-items: center; gap: .3rem; cursor: pointer; color: var(--color-primary); font-size: .76rem; font-weight: 700; list-style: none; }
.earchive-edit summary::-webkit-details-marker { display: none; }
.earchive-edit summary svg { width: 13px; height: 13px; }
.earchive-edit[open] { display: grid; gap: .4rem; padding: .5rem .6rem; border: 1px dashed var(--color-border); border-radius: 10px; background: var(--color-soft); }
.ettn-form, .document-form { display: flex; gap: .35rem; align-items: center; }
.ettn-form input { flex: 1 1 auto; min-width: 0; padding: .4rem .6rem; border: 1px solid var(--color-border); border-radius: 10px; background: var(--color-surface); color: var(--color-text); font: inherit; font-size: .82rem; }
.document-form { flex-wrap: wrap; }
.document-form input[type="file"] { max-width: 170px; font-size: .74rem; }
.invoice-earchive-info { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; grid-column: 1 / -1; color: var(--color-muted); font-size: .8rem; }
/* ---- Kişiselleştirme: yazı fontları (çelenk yazısı / kart notu) ---- */
.text-font-classic { font-family: var(--font-display); }
.text-font-classic-italic { font-family: var(--font-display); font-style: italic; }
.text-font-uppercase { font-family: var(--font-display); text-transform: uppercase; letter-spacing: .08em; }
.text-font-modern { font-family: var(--font-body); font-weight: 600; }
.text-font-arial { font-family: Arial, Helvetica, sans-serif; }
.text-font-arial-black { font-family: "Arial Black", Arial, sans-serif; font-weight: 900; }
.text-font-helvetica { font-family: Helvetica, Arial, sans-serif; }
.text-font-verdana { font-family: Verdana, Geneva, sans-serif; }
.text-font-tahoma { font-family: Tahoma, Geneva, sans-serif; }
.text-font-trebuchet-ms { font-family: "Trebuchet MS", Helvetica, sans-serif; }
.text-font-segoe-ui { font-family: "Segoe UI", Tahoma, sans-serif; }
.text-font-calibri { font-family: Calibri, Carlito, "Segoe UI", sans-serif; }
.text-font-times-new-roman { font-family: "Times New Roman", Times, serif; }
.text-font-georgia { font-family: Georgia, "Times New Roman", serif; }
.text-font-garamond { font-family: Garamond, "EB Garamond", Georgia, serif; }
.text-font-palatino { font-family: "Palatino Linotype", Palatino, "Book Antiqua", serif; }
.text-font-book-antiqua { font-family: "Book Antiqua", Palatino, serif; }
.text-font-cambria { font-family: Cambria, Georgia, serif; }
.text-font-courier-new { font-family: "Courier New", Courier, monospace; }
.text-font-lucida-console { font-family: "Lucida Console", Monaco, monospace; }
.text-font-brush-script { font-family: "Brush Script MT", "Brush Script Std", cursive; font-size: 1.15em; }
.text-font-monotype-corsiva { font-family: "Monotype Corsiva", "Apple Chancery", cursive; font-size: 1.1em; }
.text-font-lucida-handwriting { font-family: "Lucida Handwriting", "Segoe Script", cursive; }
.text-font-comic-sans { font-family: "Comic Sans MS", "Comic Sans", cursive; }
.text-font-impact { font-family: Impact, "Arial Black", sans-serif; letter-spacing: .02em; }
.font-preview { display: grid; gap: .3rem; align-content: end; }
.font-preview p { margin: 0; padding: .6rem .9rem; border: 1px dashed var(--color-border); border-radius: 14px; font-size: 1.15rem; color: var(--color-text); }
.logo-preview img, .order-logo img, .template-logo { max-height: 72px; max-width: 200px; object-fit: contain; border: 1px solid var(--color-border); border-radius: 10px; background: #fff; padding: .35rem; }
.order-logo { display: grid; gap: .35rem; }
.cart-line-note { grid-column: 1 / -1; display: grid; gap: .3rem; margin-top: -.35rem; }
.cart-line-note span { color: var(--color-muted); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.cart-line-note textarea { width: 100%; min-height: 56px; padding: .55rem .8rem; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); color: var(--color-text); font-size: 1rem; resize: vertical; }
.cart-line-note textarea:focus { border-color: var(--color-primary); outline: 3px solid rgba(31, 77, 58, .15); }
.line-note { display: block; margin-top: .2rem; color: var(--color-text); font-size: 1rem; }
.cart-line-font { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.cart-line-font > span { color: var(--color-muted); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.cart-line-font select { flex: 1 1 200px; min-width: 0; padding: .45rem .8rem; border: 1px solid var(--color-border); border-radius: 999px; background: var(--color-surface); color: var(--color-text); font: inherit; font-size: .9rem; }
.cart-line-apply-all { padding: .35rem .8rem; border: 1px solid var(--color-primary); border-radius: 999px; background: transparent; color: var(--color-primary); font: inherit; font-size: .78rem; font-weight: 700; cursor: pointer; }
.cart-line-apply-all:hover { background: var(--color-primary); color: #F7F4EE; }
.cart-line-preview { margin: 0; padding: .55rem .9rem; border: 1px dashed var(--color-border); border-radius: 12px; font-size: 1.15rem; color: var(--color-text); overflow-wrap: anywhere; }
.cart-line-preview.is-empty { color: var(--color-muted); font-size: .8rem; font-family: var(--font-body); font-style: normal; text-transform: none; letter-spacing: 0; }
/* ---- Kayıtlı taslaklar ---- */
.checkout-section .template-picker { grid-column: 2 / -1; }
.province-input { width: 120px; padding: .45rem .6rem; border: 1px solid var(--color-border); border-radius: 10px; background: var(--color-surface); color: var(--color-text); font: inherit; }
.is-active-province td { background: rgba(31, 77, 58, .05); }
[data-theme="dark"] .is-active-province td { background: rgba(156, 203, 176, .08); }
.address-select-row { display: flex; gap: .5rem; align-items: stretch; }
.address-select-row select { flex: 1 1 auto; min-width: 0; }
.address-select-row .button-outline { flex: 0 0 auto; white-space: nowrap; }
.quick-address { display: grid; gap: .75rem; padding: 1rem 1.1rem; border: 1px dashed var(--color-primary); border-radius: 16px; background: var(--color-soft); }
.quick-address .section-kicker { margin: 0; }
.quick-address-fields { gap: .75rem; }
.quick-address-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.quick-address-actions .form-submit { width: auto; }
@media (max-width: 575.98px) { .address-select-row { flex-direction: column; } .address-select-row .button-outline { justify-content: center; } }
.template-picker { display: grid; gap: .5rem; margin-bottom: 1rem; padding: .9rem 1rem; border: 1px solid var(--color-border); border-radius: 16px; background: var(--color-soft); }
.template-picker-label { display: inline-flex; align-items: center; gap: .4rem; color: var(--color-primary); font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.template-picker-label svg { width: 14px; height: 14px; }
.template-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.template-chip { display: inline-flex; align-items: center; gap: .45rem; min-height: 38px; padding: .4rem .95rem; border: 1px solid var(--color-primary); border-radius: 999px; background: var(--color-surface); color: var(--color-primary); font: inherit; font-size: .84rem; font-weight: 700; cursor: pointer; }
.template-chip svg { width: 15px; height: 15px; }
.template-chip:hover, .template-chip.is-active { background: var(--color-primary); color: #F7F4EE; }
.template-chip-logo { opacity: .8; }
.template-intro { margin: -1rem 0 1.25rem; }
.template-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1rem; }
.template-card { display: grid; gap: .85rem; padding: 1.1rem 1.2rem; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); box-shadow: 0 8px 24px rgba(31, 77, 58, .07); }
.template-card-head { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.template-card-head h2 { margin: 0 0 .2rem; font-family: var(--font-display); font-size: 1.3rem; color: var(--color-primary); }
[data-theme="dark"] .template-card-head h2 { color: var(--color-text); }
.template-lines { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.template-lines li { display: grid; grid-template-columns: auto 1fr; gap: .2rem .6rem; padding-bottom: .5rem; border-bottom: 1px dashed var(--color-border); font-size: .9rem; }
.template-lines li:last-child { border-bottom: 0; }
.template-lines li.is-unavailable { opacity: .6; }
.template-line-qty { color: var(--color-muted); font-weight: 700; white-space: nowrap; }
.template-line-note { grid-column: 2; color: var(--color-text); font-size: 1rem; }
.template-card-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.template-rename { display: flex; gap: .4rem; flex: 1 1 240px; }
.template-rename input { flex: 1 1 auto; min-width: 0; padding: .5rem .8rem; border: 1px solid var(--color-border); border-radius: 999px; background: var(--color-surface); color: var(--color-text); font: inherit; }
/* ---- Sipariş detayı: fotoğraf aşamaları ve adres ---- */
.proof-stage + .proof-stage { margin-top: 1rem; }
.address-block { white-space: pre-line; }
.save-template-form { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: 1rem; }
.save-template-form input { flex: 1 1 220px; padding: .55rem .9rem; border: 1px solid var(--color-border); border-radius: 999px; background: var(--color-surface); color: var(--color-text); font: inherit; }
[data-theme="dark"] .logo-preview img, [data-theme="dark"] .order-logo img, [data-theme="dark"] .template-logo { background: #f5f2ea; }
/* Tahsilat listesi: siparişe dağıtılmamış tutarı olan satır */
.portal-table tr.is-unallocated td { background: #fbeae6; }
.portal-table tr.is-unallocated .unallocated-amount { color: #a3322b; }
[data-theme="dark"] .portal-table tr.is-unallocated td { background: rgba(224, 122, 95, .14); }
[data-theme="dark"] .portal-table tr.is-unallocated .unallocated-amount { color: #f0a08a; }
.row-actions { display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap; }
.management-filter { flex-wrap: wrap; }
.management-filter label { min-width: min(220px, 100%); flex: 1 1 200px; }
.orders-summary { margin-bottom: 1.5rem; }
.orders-summary .metric-strip { margin-bottom: 1rem; }
.company-orders { margin-bottom: 1.5rem; }
.company-orders .dashboard-section-heading { margin-bottom: .75rem; }
/* Ürün listesi başlığı + canlı arama kutusu */
.product-list-heading { margin: 2.25rem 0 .9rem; align-items: end; gap: 1rem; flex-wrap: wrap; }
.product-list-heading h2 { margin: 0 !important; }
.product-list-heading .field-hint { display: block; margin-top: .25rem; }
.table-search { position: relative; flex: 0 1 340px; min-width: min(340px, 100%); }
.table-search svg { position: absolute; left: .9rem; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); color: var(--color-muted); pointer-events: none; }
.table-search input { width: 100%; padding: .65rem 1rem .65rem 2.4rem; border: 1px solid var(--color-border); border-radius: 999px; background: var(--color-surface); color: var(--color-text); font: inherit; }
.table-search input:focus { border-color: var(--color-primary); outline: 3px solid rgba(31, 77, 58, .15); }
[data-theme="dark"] .table-search input:focus { outline-color: rgba(156, 203, 176, .25); }
.table-subtext { display: block; color: var(--color-muted); font-size: .72rem; }
.metric-strip strong .status-pill { font-size: .8rem; vertical-align: middle; }
.metric-strip { gap: 1rem; border: 0; }
.metric-strip > div { border: 0 !important; border-radius: 14px; background: var(--color-surface); box-shadow: 0 6px 18px rgba(31, 77, 58, .06); }
.metric-strip .metric-primary { background: var(--color-primary); }
.metric-strip .metric-primary small { color: rgba(247, 244, 238, .85); }
/* Bakiye kartı: borç varsa kiremit, yoksa marka yeşili. */
.metric-strip .metric-primary.is-debt { background: #8E3A2F; border-color: #8E3A2F; }
[data-theme="dark"] .metric-strip .metric-primary.is-debt { background: #7A3328; border-color: #7A3328; }
.dashboard-metrics > div.is-debt strong, .dashboard-metrics > div.is-debt svg { color: #a3322b; }
[data-theme="dark"] .dashboard-metrics > div.is-debt strong, [data-theme="dark"] .dashboard-metrics > div.is-debt svg { color: #f0a08a; }
.form-submit, .checkout-submit, .address-submit, .kco-alert-confirm, .admin-primary-action, .button-outline, .danger-button, .button-primary { border-radius: 999px; }
.form-submit, .button-primary, .checkout-submit { border-color: var(--color-primary); background: var(--color-primary); color: #fff; }
.form-submit:hover, .button-primary:hover, .checkout-submit:hover { background: var(--color-olive); border-color: var(--color-olive); color: #fff; }
.admin-primary-action { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }
.admin-primary-action:hover { background: var(--color-gold); border-color: var(--color-gold); color: #fff; }
.field input, .management-shell .action-panel input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), .management-shell .action-panel select, .management-shell .action-panel textarea, .checkout-fields select, .checkout-fields input, .checkout-fields textarea, .address-form-panel input, .address-form-panel select, .address-form-panel textarea, .statement-filter input, .log-filters input, .log-filters select, .management-filter select { border-radius: 12px; }
.checkout-summary { border-radius: var(--radius); background: var(--color-soft); }
.checkout-step { background: var(--color-primary); color: #fff; }
.cart-row-media { border-radius: 12px; background: var(--color-photo); }
.dashboard-metrics { gap: 1rem; border: 0; }
.dashboard-metrics > div { border: 0 !important; border-radius: 14px; background: var(--color-surface); box-shadow: 0 6px 18px rgba(31, 77, 58, .06); }
.dashboard-shortcuts { gap: .75rem; border: 0; background: transparent; }
.dashboard-shortcuts a { border-radius: 14px; border: 1px solid var(--color-border); }
.dashboard-shortcuts a:hover { background: var(--color-soft); }
.aging-grid { gap: .75rem; border: 0; background: transparent; }
.aging-grid > div { border-radius: 14px; }
.chart-surface { border-radius: var(--radius); }
.kco-alert { border-radius: var(--radius); }
.account-shell { padding-top: 90px; }
.account-visual::after { background: linear-gradient(180deg, rgba(31,77,58,.15), rgba(31,77,58,.7)); }
.legal-agreements { border-radius: var(--radius); }
.status-history > div::before { border-left-style: dashed; }
@media (max-width: 991.98px) { .product-grid, .bahce-featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .product-grid, .bahce-featured-grid { grid-template-columns: 1fr; } }

/* Yönetim kenar çubuğu */
.admin-sidebar { border-right: 1px solid var(--color-border); background: var(--color-surface); }
.admin-sidebar-title { color: var(--color-gold); }
.admin-sidebar-nav a:hover, .admin-sidebar-store:hover { background: var(--color-soft); color: var(--color-primary); }
.admin-sidebar-nav a.active { background: var(--color-primary); color: #fff; }
[data-theme="dark"] .admin-sidebar-nav a.active { color: #171c19; }
.admin-sidebar-store { border: 1px dashed var(--color-border); }
.is-admin .theme-page.admin-shell { padding-top: 90px; }
.is-admin .admin-sidebar { top: 90px; height: calc(100svh - 90px); }
@media (max-width: 991.98px) { .is-admin .admin-sidebar { border-right: 0; border-bottom: 1px solid var(--color-border); } }

/* ---- Gerçek logo (kco.png'den türetilen logo-mark.png / logo.png) ---- */
.bahce-brand-mark { width: auto; height: 52px; }
.bahce-brand-text strong { font-family: var(--font-display); font-size: .98rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.bahce-brand-text small { font-style: italic; font-size: .66rem; letter-spacing: .02em; text-transform: none; }
.bahce-footer-logo { display: inline-block; margin-bottom: .5rem; }
.bahce-footer-logo img { width: 220px; height: auto; }
[data-theme="dark"] .bahce-footer-logo img { filter: brightness(0) invert(.92); }
[data-theme="dark"] .bahce-brand-mark { filter: brightness(1.6); }
@media (max-width: 991.98px) { .bahce-brand-mark { height: 44px; } .bahce-brand-text strong { font-size: .84rem; letter-spacing: .1em; } }

/* ---- Tarih/saat alanları ve yönetim filtreleri ---- */
input[type="date"], input[type="time"], input[type="datetime-local"], .dashboard-filter select, .management-filter select, .statement-filter select, .receivables-filter select, .receivables-filter input:not([type="checkbox"]) { min-height: 44px; padding: .5rem .85rem; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); color: var(--color-text); font: inherit; font-size: .9rem; box-shadow: 0 4px 14px rgba(31, 77, 58, .06); }
input[type="date"]:focus, input[type="time"]:focus, input[type="datetime-local"]:focus, .dashboard-filter select:focus, .management-filter select:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(31, 77, 58, .14); }
input[type="date"]::-webkit-calendar-picker-indicator { opacity: .65; cursor: pointer; }
[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator, [data-theme="dark"] input[type="time"]::-webkit-calendar-picker-indicator { filter: invert(1); }
.dashboard-filter label span, .management-filter label span { color: var(--color-muted); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

/* ---- Alacak yaşlandırma: belirgin kart/tablo ---- */
.aging-list { padding: .25rem 1.25rem; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); box-shadow: 0 8px 24px rgba(31, 77, 58, .07); }
.aging-list > div { padding: 1rem 0; }
.aging-list > div:last-child { border-bottom: 0; }
.aging-list > div > span { color: var(--color-text); font-weight: 700; }
.aging-list strong { font-family: var(--font-display); font-size: 1.2rem; color: var(--color-primary); }
[data-theme="dark"] .aging-list strong { color: var(--color-text); }
.aging-list small { font-size: .74rem; }
.aging-grid > div { border: 1px solid var(--color-border); background: var(--color-surface); box-shadow: 0 6px 18px rgba(31, 77, 58, .06); }
.aging-badge { border-radius: 999px; }

/* ---- Yönetim sayfaları: bloklar arası boşluk ve yan paneller ---- */
.management-layout { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--color-border); }
.management-layout:first-child, .portal-heading + .management-layout, .management-filter + .management-layout { margin-top: 0; padding-top: 0; border-top: 0; }
.management-layout > div > h2, .management-shell h2:not(.action-panel h2) { margin: 0 0 1rem; font-family: var(--font-display); font-size: 1.6rem; color: var(--color-primary); }
[data-theme="dark"] .management-layout > div > h2, [data-theme="dark"] .management-shell h2:not(.action-panel h2) { color: var(--color-text); }
.management-actions { top: 106px; gap: 1.25rem; }
.action-panel { padding: 1.5rem; }
.action-panel h2 { margin: 0 0 1.1rem; font-size: 1.45rem; color: var(--color-primary); }
[data-theme="dark"] .action-panel h2 { color: var(--color-text); }
.catalog-admin-list { margin-bottom: 1rem; }

/* ---- Yönetim özeti: son siparişler, öncelikli alacaklar ---- */
.dashboard-columns { margin-top: 2.5rem; }
.dashboard-invoices { padding: .25rem 1.25rem; border: 1px solid var(--color-border); border-top: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); box-shadow: 0 8px 24px rgba(31, 77, 58, .07); }
.dashboard-invoices article:last-child { border-bottom: 0; }
.dashboard-invoices article strong { font-weight: 800; }
.invoice-list { padding: .25rem 1.25rem; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); box-shadow: 0 8px 24px rgba(31, 77, 58, .07); }
.invoice-row:last-child { border-bottom: 0; }

/* ---- Sistem logları ---- */
.developer-workspace { padding-top: 2.5rem; }
.developer-heading h1 { color: var(--color-primary); }
[data-theme="dark"] .developer-heading h1 { color: var(--color-text); }
.log-filters { padding: 1.25rem; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); box-shadow: 0 8px 24px rgba(31, 77, 58, .07); margin-bottom: 1.25rem; }
.log-filters input, .log-filters select { border-radius: 12px; }
.log-table-wrap { border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); box-shadow: 0 8px 24px rgba(31, 77, 58, .07); }
.log-table th { padding: .9rem 1rem; background: var(--color-soft); color: var(--color-primary); font-weight: 800; letter-spacing: .06em; }
.log-table td { padding: .9rem 1rem; }
.log-table tr:last-child td { border-bottom: 0; }
.log-pagination a { padding: .45rem .9rem; border: 1px solid var(--color-border); border-radius: 999px; background: var(--color-surface); }
.result-count { color: var(--color-muted); }
.json-code, .log-detail pre { border-radius: 14px; }

/* ---- Sipariş durum geçmişi ---- */
.status-history { max-width: none; margin-top: 2.5rem; padding: 1.5rem 1.5rem .5rem; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); box-shadow: 0 8px 24px rgba(31, 77, 58, .07); }
.status-history h2 { margin: 0 0 1.25rem; font-family: var(--font-display); font-size: 1.45rem; color: var(--color-primary); }
[data-theme="dark"] .status-history h2 { color: var(--color-text); }
.status-history > div { padding-bottom: 1.25rem; }
.status-history .status-dot { background: var(--color-primary); }
.status-history > div:first-of-type .status-dot { background: var(--color-gold); }
.status-history small { grid-column: 2 / -1; color: var(--color-muted); font-size: .76rem; }

/* ---- Tüm sayfalarda tarih/saat alanları ve select menüleri (yüksek öncelik: taban kuralları ezer) ---- */
body :is(.management-shell .action-panel, .checkout-fields, .field, .statement-filter, .receivables-filter, .log-filters, .dashboard-filter, .management-filter, .address-form-panel, .invoice-row, .form-grid) :is(input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"], select) {
  width: 100%; min-height: 46px; padding: .55rem .9rem; border: 1px solid var(--color-border); border-radius: 12px; background-color: var(--color-surface); color: var(--color-text); font: inherit; font-size: .92rem; box-shadow: 0 4px 14px rgba(31, 77, 58, .06); transition: border-color 140ms ease, box-shadow 140ms ease;
}
body :is(.management-shell .action-panel, .checkout-fields, .field, .statement-filter, .receivables-filter, .log-filters, .dashboard-filter, .management-filter, .address-form-panel, .invoice-row, .form-grid) :is(input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"], select):focus {
  outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(31, 77, 58, .14);
}
/* Select: özel ok simgesi; açılan liste tarayıcıya ait olduğundan yalnızca zemin/metin renkleri ve renk şeması verilir */
body :is(.management-shell .action-panel, .checkout-fields, .field, .statement-filter, .receivables-filter, .log-filters, .dashboard-filter, .management-filter, .address-form-panel, .invoice-row, .form-grid) select {
  appearance: none; -webkit-appearance: none; padding-right: 2.6rem; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231F4D3A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .95rem center; background-size: 16px;
}
[data-theme="dark"] body :is(.management-shell .action-panel, .checkout-fields, .field, .statement-filter, .receivables-filter, .log-filters, .dashboard-filter, .management-filter, .address-form-panel, .invoice-row, .form-grid) select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238fb99f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
select, select option { background-color: var(--color-surface); color: var(--color-text); }
select option:checked { background-color: var(--color-soft); color: var(--color-primary); font-weight: 700; }
[data-theme="dark"] select option:checked { color: var(--color-text); }
.catalog-filter select { appearance: none; -webkit-appearance: none; padding-right: 2.4rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231F4D3A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .9rem center; background-size: 16px; }
.dashboard-filter label, .management-filter label, .receivables-filter label, .log-filters label { align-content: end; }

/* ---- Katalog kartları: daha kompakt, geniş ekranda satırda 5 ---- */
.product-grid, .bahce-featured-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
.product-card { border-radius: 14px; }
.product-copy { padding: .8rem .9rem .9rem; gap: .2rem; }
.product-sku { font-size: .62rem; }
.product-copy h3 { margin: .2rem 0; font-size: 1rem; line-height: 1.25; }
.product-copy p { font-size: .76rem; line-height: 1.4; -webkit-line-clamp: 2; }
.product-price { flex-wrap: wrap; gap: .5rem; margin-top: auto; padding-top: .65rem; }
.product-price strong { font-size: .95rem; }
.product-price > div span { font-size: .66rem; }
.product-add { min-height: 34px; padding: .4rem .75rem; font-size: .74rem; }
.product-add svg { width: 14px; height: 14px; }
.favorite-actions { gap: .3rem; }
.favorite-button { width: 30px; height: 30px; }
.favorite-button svg { width: 14px; height: 14px; }
.product-gallery-arrow { width: 28px; height: 28px; }
.product-gallery-count { font-size: .62rem; }
.catalog-group h2 { font-size: 1.45rem; margin-bottom: .9rem; }
.product-related .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1399.98px) { .product-grid, .bahce-featured-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1199.98px) { .product-grid, .bahce-featured-grid, .product-related .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 991.98px) { .product-grid, .bahce-featured-grid, .product-related .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .product-grid, .bahce-featured-grid, .product-related .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; } .product-add span { display: none; } .product-copy p { display: none; } }

/* ---- Katalog: kategori atlama çipleri ve çapa hizası ---- */
.catalog-jump { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 1.75rem; }
.catalog-jump a { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .85rem; border: 1px solid var(--color-border); border-radius: 999px; background: var(--color-surface); color: var(--color-text); font-size: .8rem; font-weight: 700; text-decoration: none; }
.catalog-jump a small { color: var(--color-muted); font-size: .7rem; }
.catalog-jump a:hover { border-color: var(--color-primary); color: var(--color-primary); }
.catalog-group, .catalog-group h2, [id^="category-"] { scroll-margin-top: 28px; }
html { scroll-behavior: smooth; }

/* ---- Log detayı ve hata sayfası ---- */
.log-detail .developer-heading { padding: 1.5rem; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); box-shadow: 0 8px 24px rgba(31, 77, 58, .07); }
.log-detail .developer-heading h1 { font-size: clamp(1.6rem, 3.5vw, 2.6rem); overflow-wrap: anywhere; }
.log-metadata { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 1.25rem 0; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); box-shadow: 0 8px 24px rgba(31, 77, 58, .07); overflow: hidden; }
.log-metadata > div { padding: 1rem 1.25rem; border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.log-metadata > div:nth-child(3n) { border-right: 0; }
.log-metadata dt { margin-bottom: .3rem; color: var(--color-muted); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.log-metadata dd { margin: 0; overflow-wrap: anywhere; }
.log-metadata code, .log-detail .developer-heading code { color: var(--color-primary); }
.log-message { margin: 1rem 0; padding: 1.25rem 1.5rem; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); box-shadow: 0 8px 24px rgba(31, 77, 58, .07); }
.log-message h2 { margin: 0 0 .75rem; font-family: var(--font-body); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--color-muted); }
.log-message pre { margin: 0; padding: 1rem; border-radius: 12px; background: var(--color-soft); font-size: .78rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.log-message p { margin: 0; }
.status-page { padding: 5rem 1.5rem; }
.status-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: 1.5rem; }
.status-trace { margin-top: 1.5rem; color: var(--color-muted); font-size: .8rem; }
.status-trace code { color: var(--color-primary); }
@media (max-width: 767.98px) { .log-metadata { grid-template-columns: 1fr; } .log-metadata > div { border-right: 0; } }

/* ---- Düğmelerde simge/metin boşluğu ---- */
.button, .button-outline, .form-submit, .admin-primary-action, .danger-button, .text-link { gap: .5rem; }
/* Metinli tehlike düğmesi: simge ve yazı yan yana, hap biçimi; yalnızca simge olanlar (tablo satırları) kare kalır. */
.danger-button { display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; }
.danger-button:not(:has(.visually-hidden)) { padding: .55rem 1.1rem; font-weight: 600; }
.button svg, .admin-primary-action svg { width: 17px; height: 17px; flex-shrink: 0; }

/* ---- Müşteri sayfaları: mobil (≤ 991px tablet, ≤ 767px telefon, ≤ 575px dar telefon) ---- */
@media (max-width: 991.98px) {
  .dashboard-columns { grid-template-columns: 1fr; gap: 2rem; }
  .delivery-proof { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
  .portal-shell { padding-top: 1.5rem; }
  .portal-heading { flex-direction: column; align-items: stretch; gap: 1rem; margin-bottom: 1.5rem; }
  .portal-heading h1 { font-size: clamp(1.9rem, 8vw, 2.6rem); }
  .portal-heading-actions { justify-content: flex-start; }
  .portal-heading-actions .button, .portal-heading-actions .form-submit, .portal-heading-actions .button-outline { flex: 1 1 auto; justify-content: center; }
  .metric-strip, .dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .invoice-row { grid-template-columns: 1fr; gap: .75rem; }
  .invoice-row > div { justify-items: start; }
  .portal-table { min-width: 640px; font-size: .84rem; }
  .portal-table th, .portal-table td { padding: .7rem .75rem; }
  .segmented-links { flex-wrap: wrap; }
  .segmented-links a { flex: 1 1 auto; text-align: center; }
  .statement-filter label { flex: 1 1 140px; }
  .statement-filter .form-submit { flex: 1 1 100%; justify-content: center; }
  .address-card header { flex-direction: column; gap: .5rem; }
  .address-actions { flex-wrap: wrap; justify-content: flex-start; }
  .address-actions .button-outline, .address-actions .danger-button, .address-actions form { flex: 1 1 auto; }
  .checkout-section { grid-template-columns: 1fr; gap: .75rem; }
  .checkout-step { width: 34px; height: 34px; }
  .checkout-section-heading { grid-column: 1; }
  .checkout-section-heading h2 { font-size: 1.5rem; }
  .status-history { padding: 1.25rem 1rem .25rem; }
  .status-history > div { grid-template-columns: 1rem 1fr; }
  .status-history time { grid-column: 2; }
  .product-detail-add { width: 100%; justify-content: center; }
  .product-detail-info h1 { font-size: 1.7rem; }
  .bahce-story-image img { height: 280px; }
  .bahce-hero-visual { min-height: 320px; }
  .bahce-badge { width: 84px; height: 84px; }
  .bahce-badge strong { font-size: 1.3rem; }
}
@media (max-width: 575.98px) {
  .metric-strip, .dashboard-metrics, .dashboard-shortcuts { grid-template-columns: 1fr; }
  .metric-strip > div { min-height: auto; }
  .checkout-fields { grid-template-columns: 1fr; }
  .cart-row { grid-template-columns: 56px minmax(0, 1fr) auto; grid-template-areas: "media copy remove" "media qty qty"; gap: .5rem .75rem; }
  .cart-row-media { grid-area: media; width: 56px; }
  .cart-row-copy { grid-area: copy; }
  .cart-row-copy strong { font-size: 1.05rem; }
  .cart-quantity { grid-area: qty; width: 90px; }
  .cart-remove { grid-area: remove; }
  .checkout-summary { padding: 1.25rem; }
  .checkout-submit { width: 100%; }
  .bahce-hero { padding: 1.5rem 0 2.5rem; }
  .bahce-hero-copy h1 { font-size: 2.3rem; }
  .bahce-hero-actions .bahce-btn { width: 100%; justify-content: center; }
  .bahce-cta-actions .bahce-btn { width: 100%; justify-content: center; }
  .bahce-account-copy .bahce-btn-light { width: 100%; justify-content: center; }
  .trust-strip li { padding: .9rem 1rem; }
  .catalog-filter { flex-direction: column; align-items: stretch; }
  .catalog-filter .catalog-search { flex: 0 0 auto; }
  .catalog-filter label, .catalog-filter .form-submit { width: 100%; }
  .catalog-search input, .catalog-filter select { width: 100%; }
  .catalog-jump a { font-size: .74rem; padding: .35rem .7rem; }
  .product-breadcrumb { font-size: .72rem; }
  .theme-utilities { gap: .1rem; }
  .theme-login { padding: .45rem .75rem; font-size: .76rem; }
  .theme-login svg { display: none; }
}

/* ---- Mobil başlık: tek satır (marka işareti + araçlar + menü) ---- */
@media (max-width: 991.98px) {
  .theme-page, .account-shell { padding-top: 96px; }
  .is-admin .theme-page.admin-shell { padding-top: 96px; }
  .bahce-brand { margin-right: 0; }
  .bahce-brand-text strong { font-size: .8rem; letter-spacing: .08em; }
}
@media (max-width: 575.98px) {
  .bahce-bar { padding: .3rem .5rem .3rem .75rem; gap: .5rem; }
  .bahce-brand-text { display: none; }
  .bahce-brand-mark { height: 40px; }
  .theme-utilities .icon-button, .theme-menu-toggle { width: 36px; height: 36px; min-height: 36px; }
  .theme-utilities .icon-button svg, .theme-menu-toggle svg { width: 16px; height: 16px; }
  .language-toggle { min-height: 36px; padding: 0 .5rem; font-size: .72rem; }
  .theme-login { min-height: 36px; padding: .35rem .65rem; font-size: .72rem; }
  .theme-page, .account-shell { padding-top: 84px; }
}

/* ---- Mobil: canlı tarama sonrası düzeltmeler ---- */
@media (max-width: 767.98px) {
  .checkout-section .template-picker, .checkout-section [data-cart-items], .checkout-section .checkout-fields, .checkout-section .checkout-address-empty, .checkout-section .field-validation-error, .checkout-section-heading { grid-column: 1; }
  .checkout-section { grid-template-columns: minmax(0, 1fr); }
  .checkout-step { position: absolute; top: 0; left: 0; }
  .checkout-section-heading { padding-left: 46px; min-height: 34px; }
  .portal-table th, .portal-table td { white-space: nowrap; }
  .portal-table td .table-subtext { white-space: normal; max-width: 220px; }
}
@media (max-width: 575.98px) {
  .metric-strip, .dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
  .metric-strip > div, .dashboard-metrics > div { padding: .85rem .9rem; }
  .metric-strip strong, .dashboard-metrics strong { font-size: 1.05rem; }
  .metric-strip span, .dashboard-metrics span, .dashboard-metrics small { font-size: .66rem; }
}

/* ---- Yönetim paneli mobil: kenar çubuğu yatay kaydırılabilir şerit ---- */
@media (max-width: 991.98px) {
  .is-admin .theme-page.admin-shell { padding-top: 96px; }
  .is-admin .admin-sidebar, .admin-sidebar { position: static; top: auto; height: auto; flex-direction: row; align-items: center; gap: .35rem; padding: .5rem .75rem; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--color-border); scrollbar-width: thin; }
  .admin-sidebar-title { display: none; }
  .admin-sidebar-nav { display: flex; flex-wrap: nowrap; gap: .3rem; }
  .admin-sidebar-nav a, .admin-sidebar-store { min-height: 36px; padding: .4rem .7rem; font-size: .76rem; white-space: nowrap; }
  .admin-sidebar-nav svg, .admin-sidebar-store svg { width: 15px; height: 15px; }
  .admin-sidebar-foot { display: flex; gap: .3rem; margin: 0; }
  .admin-content .portal-shell { padding: 1.25rem 0 3rem; }
  .admin-content .developer-workspace { padding-top: 1.25rem; }
  .management-layout { margin-top: 1.75rem; padding-top: 1.5rem; }
  .management-actions { position: static; }
}
@media (max-width: 575.98px) {
  .is-admin .theme-page.admin-shell { padding-top: 84px; }
  .dashboard-filter { grid-template-columns: 1fr; }
  .dashboard-shortcuts { grid-template-columns: 1fr; }
  .management-filter { flex-direction: column; align-items: stretch; }
  .management-filter label { flex: 0 0 auto; min-width: 0; }
  .management-filter .form-submit, .management-filter .button-outline { width: 100%; justify-content: center; }
  .receivables-filter { grid-template-columns: 1fr; }
  .action-panel { padding: 1.1rem; }
  .catalog-admin-list article { grid-template-columns: 1fr; }
  .product-image-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .price-preview { grid-template-columns: 1fr; }
  .finance-insights { grid-template-columns: 1fr; margin: 2rem 0; }
  .chart-legend { flex-wrap: wrap; }
  .developer-heading h1 { font-size: 1.8rem; }
  .log-pagination { justify-content: space-between; }
}


/* ---- Koyu mod: marka yeşili butonlar ve vurgular (açık yeşil zemin üstüne beyaz metin yerine) ---- */
[data-theme="dark"] .bahce-btn-primary, [data-theme="dark"] .form-submit, [data-theme="dark"] .button-primary, [data-theme="dark"] .checkout-submit, [data-theme="dark"] .product-add, [data-theme="dark"] .admin-primary-action, [data-theme="dark"] .theme-login, [data-theme="dark"] .theme-nav a.active, [data-theme="dark"] .theme-nav button.active, [data-theme="dark"] .admin-sidebar-nav a.active, [data-theme="dark"] .checkout-step, [data-theme="dark"] .bahce-steps span, [data-theme="dark"] .metric-strip .metric-primary, [data-theme="dark"] .kco-alert-confirm, [data-theme="dark"] .vt-btn, [data-theme="dark"] .bahce-badge { background: var(--color-brand-green-soft); border-color: var(--color-brand-green-soft); color: #F7F4EE; }
[data-theme="dark"] .bahce-btn-primary:hover, [data-theme="dark"] .form-submit:hover, [data-theme="dark"] .button-primary:hover, [data-theme="dark"] .checkout-submit:hover, [data-theme="dark"] .product-add:hover, [data-theme="dark"] .admin-primary-action:hover, [data-theme="dark"] .theme-login:hover { background: var(--color-brand-green); border-color: var(--color-brand-green); color: #F7F4EE; }
[data-theme="dark"] .bahce-btn-primary { box-shadow: 0 10px 24px rgba(0, 0, 0, .35); }
[data-theme="dark"] .bahce-steps-grid li:last-child span { background: var(--color-gold); color: #212523; }
[data-theme="dark"] .bahce-account { background: var(--color-brand-green); }
[data-theme="dark"] .bahce-btn-light { background: #F7F4EE; color: var(--color-brand-green); }
[data-theme="dark"] .bahce-btn-light:hover { background: var(--color-gold); color: #212523; }
[data-theme="dark"] .bahce-cta-box { border-color: rgba(201, 167, 110, .5); }
[data-theme="dark"] .product-login { background: var(--color-soft); border-color: var(--color-soft); color: var(--color-primary); }
[data-theme="dark"] .product-login:hover { background: var(--color-brand-green-soft); color: #F7F4EE; }
[data-theme="dark"] .bahce-occasion-icon { background: var(--color-soft); color: var(--color-primary); }
[data-theme="dark"] .trust-strip svg, [data-theme="dark"] .bahce-hero-note svg { color: var(--color-gold); }
[data-theme="dark"] .cart-link [data-cart-count] { background: var(--color-gold); color: #212523; }
[data-theme="dark"] .status-pill { background: var(--color-soft); color: var(--color-primary); }
[data-theme="dark"] .status-pill.is-paid { background: rgba(156, 203, 176, .18); color: #9CCBB0; }
[data-theme="dark"] .status-pill.is-partial { background: rgba(201, 167, 110, .2); color: #E2C48E; }
[data-theme="dark"] .status-pill.is-unpaid { background: rgba(224, 122, 95, .18); color: #f0a08a; }
[data-theme="dark"] .portal-table th, [data-theme="dark"] .log-table th { background: var(--color-soft); color: var(--color-primary); }
[data-theme="dark"] .aging-badge { background: rgba(156, 203, 176, .16); color: var(--color-primary); }
[data-theme="dark"] .aging-badge.is-overdue { background: rgba(224, 122, 95, .18); color: #f0a08a; }
[data-theme="dark"] .severity-error, [data-theme="dark"] .severity-critical { border-color: #e08a7a; color: #e08a7a; }
[data-theme="dark"] .bahce-story-image figcaption { background: rgba(31, 77, 58, .9); }
[data-theme="dark"] .bahce-footer-logo img { filter: brightness(0) invert(.94); }
[data-theme="dark"] .bahce-mock-window { box-shadow: 0 30px 60px rgba(0, 0, 0, .5); }
[data-theme="dark"] .whatsapp-float { box-shadow: 0 10px 26px rgba(0, 0, 0, .4); }
/* Bootstrap'ın pembe <code> rengi yerine marka yeşili */
code, .log-metadata code, .developer-heading code { color: var(--color-primary); }
[data-theme="dark"] code { color: var(--color-primary); }
[data-theme="dark"] .field input, [data-theme="dark"] .checkout-fields input, [data-theme="dark"] .checkout-fields select, [data-theme="dark"] .checkout-fields textarea, [data-theme="dark"] .management-shell .action-panel input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), [data-theme="dark"] .management-shell .action-panel select, [data-theme="dark"] .management-shell .action-panel textarea, [data-theme="dark"] .address-form-panel input, [data-theme="dark"] .address-form-panel select, [data-theme="dark"] .address-form-panel textarea { background-color: var(--color-bg); color: var(--color-text); border-color: var(--color-border); }
[data-theme="dark"] .chart-legend .debit::before { background: #9CCBB0; }
[data-theme="dark"] .chart-legend .credit::before { background: #C9A76E; }
.chart-surface { background: var(--color-surface); box-shadow: 0 8px 24px rgba(31, 77, 58, .07); }
[data-theme="dark"] .chart-surface { background: var(--color-surface); box-shadow: none; }

/* ---- Koyu mod: başlık işareti ve katalog alanları ---- */
[data-theme="dark"] .bahce-brand-mark { filter: brightness(0) invert(.92); }
[data-theme="dark"] .catalog-search input, [data-theme="dark"] .catalog-filter select, [data-theme="dark"] .catalog-jump a, [data-theme="dark"] .mk-filter-search, [data-theme="dark"] .segmented-links { border-color: var(--color-border); background-color: var(--color-surface); box-shadow: none; }
[data-theme="dark"] .catalog-search input::placeholder, [data-theme="dark"] input::placeholder, [data-theme="dark"] textarea::placeholder { color: var(--color-muted); opacity: .8; }
[data-theme="dark"] .icon-button, [data-theme="dark"] .language-toggle, [data-theme="dark"] .theme-menu-toggle { border-color: var(--color-border); color: var(--color-text); }
[data-theme="dark"] .bahce-bar { border-color: var(--color-border); box-shadow: 0 10px 30px rgba(0, 0, 0, .35); }

/* ---- Mobil başlık: dal işaretinin yanında marka adı da görünsün ---- */
@media (max-width: 575.98px) {
  .bahce-brand-text { display: grid; }
  .bahce-brand-text strong { font-size: .66rem; letter-spacing: .06em; white-space: normal; max-width: 110px; line-height: 1.15; }
  .bahce-brand-text small { display: none; }
  .bahce-brand { gap: .45rem; }
  .theme-utilities { gap: 0; }
  .theme-utilities .icon-button, .theme-menu-toggle { width: 34px; height: 34px; min-height: 34px; }
  .language-toggle { min-width: 34px; padding: 0 .35rem; }
}

/* ---- Form metin alanları (adres vb.): giriş kutularıyla aynı görünüm, daha geniş ve yüksek ---- */
.field textarea { display: block; width: 100%; min-height: 128px; padding: .75rem .9rem; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); color: var(--color-text); font: inherit; font-size: .95rem; line-height: 1.5; resize: vertical; box-shadow: 0 4px 14px rgba(31, 77, 58, .06); }
.field textarea:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(31, 77, 58, .14); }
[data-theme="dark"] .field textarea { background: var(--color-bg); }
.management-shell .action-panel textarea, .address-form-panel textarea, .checkout-fields textarea { min-height: 110px; line-height: 1.5; }

/* ---- Yönetim özeti: 6 metrik kartı (3 sütun), tahsilat kartı vurgulu ---- */
.dashboard-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dashboard-metrics .metric-highlight { background: var(--color-primary) !important; }
.dashboard-metrics .metric-highlight span, .dashboard-metrics .metric-highlight small, .dashboard-metrics .metric-highlight strong, .dashboard-metrics .metric-highlight svg, .dashboard-metrics .metric-highlight .metric-breakdown, .dashboard-metrics .metric-highlight .metric-breakdown b, .metric-strip .metric-primary .metric-breakdown, .metric-strip .metric-primary .metric-breakdown span, .metric-strip .metric-primary .metric-breakdown b { color: #F7F4EE; }
[data-theme="dark"] .dashboard-metrics .metric-highlight { background: var(--color-brand-green-soft) !important; }
.metric-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 767.98px) { .dashboard-metrics, .metric-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---- Metrik kartı içi kırılım (tahsilat yöntemine göre) ---- */
.metric-breakdown { display: grid; gap: .2rem; margin: .6rem 0 0; padding: .6rem 0 0; border-top: 1px solid rgba(255, 255, 255, .25); list-style: none; font-size: .74rem; }
.metric-breakdown li { display: flex; justify-content: space-between; gap: .75rem; }
.metric-breakdown b { font-weight: 700; white-space: nowrap; }
.metric-strip .metric-breakdown { border-top-color: rgba(255, 255, 255, .3); }
.metric-strip > div:not(.metric-primary) .metric-breakdown, .dashboard-metrics > div:not(.metric-highlight) .metric-breakdown { border-top-color: var(--color-border); color: var(--color-muted); }
.field-hint { display: block; margin-top: .3rem; color: var(--color-muted); font-size: .72rem; font-weight: 600; }
.action-panel .check-field { display: flex; align-items: center; gap: .55rem; font-size: .84rem; color: var(--color-text); }
.action-panel .check-field input { width: 17px; height: 17px; accent-color: var(--color-primary); }

/* Referanslarımız (ana sayfa bölümü) */
.bahce-references { padding: 3.5rem 0 4rem; background: var(--color-soft); border-block: 1px solid var(--color-border); }
.bahce-references-lead { max-width: 640px; margin: .75rem 0 0; color: var(--color-muted); line-height: 1.7; }
/* Referans rozeti: solda logo, sağda 1–2 satır isim */
.ref-badge { display: inline-flex; align-items: center; justify-content: center; gap: .7rem; min-height: 56px; padding: .35rem .9rem; color: var(--color-primary); text-decoration: none; transition: opacity 160ms ease, transform 160ms ease; }
.ref-badge:hover { opacity: .75; transform: translateY(-1px); }
.ref-badge img { flex-shrink: 0; max-width: 120px; max-height: 40px; object-fit: contain; }
.ref-badge-logo-only img { max-width: 150px; max-height: 46px; }
.ref-badge span { display: -webkit-box; max-width: 170px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-family: var(--font-body); font-size: .95rem; font-weight: 800; line-height: 1.2; letter-spacing: 0; text-align: center; text-wrap: balance; }
[data-theme="dark"] .ref-badge { color: var(--color-text); }
[data-theme="dark"] .ref-badge.ref-badge-plate img { background: #fff; padding: 3px; border-radius: 6px; }
.bahce-ref-logos { position: relative; margin: 2rem 0 3rem; padding: .5rem 0; overflow: hidden; border-block: 1px solid var(--color-border); }
.bahce-ref-logos ul { display: flex; flex-wrap: wrap; justify-content: center; margin: 0; padding: 0; list-style: none; }
.bahce-ref-logos li { display: flex; align-items: center; }
.bahce-ref-logos li + li::before { content: ""; width: 1px; height: 34px; margin: 0 .35rem; background: var(--color-border); }
.bahce-ref-logos.is-marquee { -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.bahce-ref-logos.is-marquee .bahce-ref-track { display: flex; width: max-content; margin-left: 7%; animation: bahce-ref-scroll var(--ref-duration, 45s) linear .2s infinite; animation-play-state: paused; will-change: transform; }
/* Şerit, bölüm ekrana girince ilk sıradaki firmadan başlar (yönetim panelindeki sıra). */
.bahce-ref-logos.is-marquee.is-visible:not(:hover):not(:focus-within) .bahce-ref-track { animation-play-state: running; }
.bahce-ref-logos.is-marquee ul { flex-wrap: nowrap; }
/* Her kopya birebir aynı genişlikte olsun diye ilk öğe de ayıraç alır; kaydırma tam bir kopya genişliği kadardır (JS ölçer), böylece döngü sıçramaz. */
.bahce-ref-logos.is-marquee ul { flex: none; }
.bahce-ref-logos.is-marquee ul > li:first-child::before { content: ""; width: 1px; height: 34px; margin: 0 .35rem; background: var(--color-border); }
@keyframes bahce-ref-scroll { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(calc(-1 * var(--ref-shift, 50%)), 0, 0); } }
@media (prefers-reduced-motion: reduce) { .bahce-ref-logos.is-marquee .bahce-ref-track { animation: none; flex-wrap: wrap; width: auto; } .bahce-ref-logos.is-marquee ul[aria-hidden="true"] { display: none; } }
.bahce-ref-works-head { margin-bottom: 1.1rem; }
.bahce-ref-works-head h3 { margin: .35rem 0 0; font-family: var(--font-display); font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 600; color: var(--color-primary); }
[data-theme="dark"] .bahce-ref-works-head h3 { color: var(--color-text); }
.bahce-ref-works { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .9rem; }
.bahce-ref-work { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--color-border); border-radius: 14px; background: var(--color-surface); color: var(--color-text); text-decoration: none; transition: transform 160ms ease, box-shadow 160ms ease; }
.bahce-ref-work:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(31, 77, 58, .14); }
.bahce-ref-work figure { margin: 0; background: var(--color-photo); }
.bahce-ref-work img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.bahce-ref-work-body { display: grid; gap: .15rem; padding: .65rem .75rem .8rem; }
.bahce-ref-work-body .bahce-eyebrow { margin-bottom: .1rem; font-size: .58rem; letter-spacing: .1em; }
.bahce-ref-work-body strong { overflow: hidden; font-family: var(--font-display); font-size: .92rem; line-height: 1.2; color: var(--color-primary); text-overflow: ellipsis; white-space: nowrap; }
[data-theme="dark"] .bahce-ref-work-body strong { color: var(--color-text); }
.bahce-ref-city { display: inline-flex; align-items: center; gap: .25rem; color: var(--color-muted); font-size: .72rem; }
.bahce-ref-city svg { width: 12px; height: 12px; }
@media (max-width: 1199.98px) { .bahce-ref-works { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .bahce-ref-works { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ref-badge span { max-width: 130px; font-size: .86rem; } }
@media (max-width: 575.98px) { .bahce-ref-works { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Referans sayfaları (herkese açık) */
.references-shell .portal-heading > div { min-width: 0; }
.references-shell .portal-heading h1 { font-size: clamp(2rem, 5vw, 3.6rem); line-height: 1.02; overflow-wrap: anywhere; }
.references-shell .portal-heading div > p:not(.section-kicker) { max-width: 46rem; margin: .9rem 0 0; color: var(--color-muted); line-height: 1.7; }
.ref-badge-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin-bottom: 3rem; }
.ref-badge-grid .ref-badge { min-height: 72px; padding: .6rem 1rem; border: 1px solid var(--color-border); border-radius: 14px; background: var(--color-surface); }
.ref-badge-grid .ref-badge:hover { opacity: 1; border-color: var(--color-primary); box-shadow: 0 10px 24px rgba(31, 77, 58, .1); }
.ref-badge-grid .ref-badge span { max-width: none; }
.ref-badge-grid-compact { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); margin: .75rem 0 0; }
.ref-badge-grid-compact .ref-badge { min-height: 56px; padding: .4rem .8rem; }
.ref-badge-grid-compact .ref-badge span { font-size: .84rem; }
.references-works-head { max-width: none; margin-bottom: 1.25rem; }
.references-works-head h2 { margin: .35rem 0 0; font-family: var(--font-display); font-size: clamp(1.5rem, 2.6vw, 2.1rem); color: var(--color-primary); }
[data-theme="dark"] .references-works-head h2 { color: var(--color-text); }
.references-wall { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; }
.references-wall-item { position: relative; display: block; overflow: hidden; border-radius: 14px; background: var(--color-photo); color: #fff; text-decoration: none; }
.references-wall-item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 300ms ease; }
.references-wall-item:hover img { transform: scale(1.04); }
.references-wall-item span { position: absolute; inset: auto 0 0 0; display: grid; gap: .1rem; padding: 1.6rem .85rem .75rem; background: linear-gradient(180deg, rgba(31,77,58,0), rgba(31,77,58,.85)); }
.references-wall-item strong { font-family: var(--font-display); font-size: .95rem; line-height: 1.2; }
.references-wall-item small { font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #E4D3B4; }
.reference-detail-title { display: flex; align-items: center; gap: 1.25rem; }
.reference-detail-logo { width: 96px; height: 96px; border-radius: 22px; }
.reference-detail-logo img { max-width: 76px; max-height: 68px; }
.reference-detail-meta { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin: .6rem 0 0; color: var(--color-muted); font-size: .84rem; }
.reference-detail-meta span, .reference-detail-meta a { display: inline-flex; align-items: center; gap: .35rem; color: inherit; text-decoration: none; }
.reference-detail-meta svg { width: 14px; height: 14px; color: var(--color-accent); }
.reference-detail-description { max-width: 760px; margin: -1rem 0 2rem; color: var(--color-muted); line-height: 1.8; }
.reference-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.reference-gallery-item { display: grid; gap: .5rem; margin: 0; }
.reference-gallery-item button { display: block; width: 100%; padding: 0; border: 1px solid var(--color-border); border-radius: 16px; background: var(--color-photo); overflow: hidden; cursor: zoom-in; }
.reference-gallery-item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 240ms ease; }
.reference-gallery-item button:hover img { transform: scale(1.03); }
.reference-gallery-item figcaption { display: grid; gap: .15rem; padding: 0 .25rem; }
.reference-gallery-item figcaption .section-kicker { font-size: .66rem; }
.reference-gallery-item figcaption small { color: var(--color-muted); line-height: 1.5; }
.reference-lightbox { max-width: min(92vw, 1100px); padding: 0; border: 0; border-radius: 18px; background: #111; color: #fff; }
.reference-lightbox::backdrop { background: rgba(0, 0, 0, .78); }
.reference-lightbox img { display: block; max-width: 92vw; max-height: 82vh; margin: 0 auto; object-fit: contain; }
.reference-lightbox p { margin: 0; padding: .75rem 1rem; font-size: .85rem; text-align: center; color: rgba(255,255,255,.85); }
.reference-lightbox-close { position: absolute; top: .6rem; right: .6rem; display: grid; width: 38px; height: 38px; place-items: center; border: 0; border-radius: 50%; background: rgba(255,255,255,.15); color: #fff; cursor: pointer; }
.reference-lightbox-close svg { width: 18px; height: 18px; }
.reference-others { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--color-border); }
.reference-cta { margin-top: 3rem; }
@media (max-width: 991.98px) { .ref-badge-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .references-wall, .reference-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .ref-badge-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .reference-gallery { grid-template-columns: 1fr; } .reference-detail-title { flex-direction: column; align-items: flex-start; } }

/* Kompakt tipografi: tutarlar gövde fontuyla (Nunito, rakamlar eşit genişlikte), başlıklar bir kademe küçük. */
.dashboard-metrics strong, .metric-strip strong, .aging-list strong, .checkout-summary .checkout-total strong, .cart-row-copy strong, .bahce-story-facts strong, .product-detail-price strong, .balance-card strong, .statement-closing strong {
  font-family: var(--font-body); font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -.01em;
}
.dashboard-metrics strong { font-size: 1.45rem; }
.metric-strip strong { font-size: 1.15rem; }
.aging-list strong { font-size: 1.05rem; }
.checkout-summary .checkout-total strong { font-size: 1.35rem; }
.cart-row-copy strong { font-size: 1rem; }
.bahce-story-facts strong { font-size: 1.2rem; }
.portal-heading { margin-bottom: 1.75rem; }
.portal-heading h1, .account-form-wrap h1, .status-page h1, .references-shell .portal-heading h1 { font-size: clamp(1.8rem, 3.4vw, 2.5rem); }
.developer-heading h1, .log-detail .developer-heading h1 { font-size: clamp(1.6rem, 3vw, 2.2rem); }
.product-detail-info h1 { font-size: clamp(1.5rem, 2.8vw, 2rem); }
.bahce-hero-copy h1 { font-size: clamp(2.3rem, 4.6vw, 3.9rem); }
.bahce-section-head h2, .bahce-story-copy h2, .bahce-cta h2, .bahce-account h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }
.bahce-cta-box h2 { font-size: clamp(1.3rem, 2.4vw, 1.8rem); }
.bahce-ref-works-head h3, .references-works-head h2 { font-size: clamp(1.25rem, 2.2vw, 1.6rem); }
.management-layout > div > h2, .management-shell h2:not(.action-panel h2), .dashboard-section-heading h2, .catalog-group h2, .status-history h2, .checkout-section-heading h2 { font-size: 1.25rem; }
.action-panel h2, .address-card h2, .address-form-panel h2, .template-card-head h2 { font-size: 1.15rem; }
.panel-heading h3 { font-size: 1.05rem; }
.product-copy h3 { font-size: 1.2rem; }
.service-list h3, .content-page .legal-content h3 { font-size: 1.2rem; }
@media (max-width: 767.98px) { .portal-heading h1, .account-form-wrap h1, .status-page h1 { font-size: clamp(1.6rem, 7vw, 2.1rem); } .dashboard-metrics strong { font-size: 1.25rem; } }

/* Müşteri fatura listesi: numara/dönem, vade, durum, KDV, toplam; e-Arşiv bilgisi ikinci satırda. */
.invoice-list .invoice-row { grid-template-columns: minmax(180px, 1.3fr) minmax(110px, .7fr) auto minmax(110px, .6fr) minmax(130px, .7fr); gap: 1rem 1.5rem; padding: 1.1rem 0; }
.invoice-list .invoice-row .status-pill { justify-self: start; }
.invoice-list .invoice-total { font-size: 1.1rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.invoice-earchive-info { margin-top: -.25rem; padding-top: .6rem; border-top: 1px dashed var(--color-border); }
.invoice-earchive-info code { font-size: .78rem; }
@media (max-width: 767.98px) { .invoice-list .invoice-row { grid-template-columns: 1fr 1fr; } .invoice-list .invoice-row > div:first-child { grid-column: 1 / -1; } .invoice-list .invoice-total { text-align: left; } }

/* Firma rolleri bilgi paneli */
.company-roles-info { margin-top: 1.5rem; }
.company-roles-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.company-roles-grid article { padding: 1rem 1.1rem; border: 1px solid var(--color-border); border-radius: 14px; background: var(--color-bg); }
.company-roles-grid article.is-admin { border-color: var(--color-primary); }
.company-roles-grid h3 { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin: 0 0 .6rem; font-size: 1rem; color: var(--color-primary); }
.company-roles-grid h3 svg { width: 18px; height: 18px; }
.company-roles-grid h3 code { font-size: .7rem; font-weight: 600; color: var(--color-muted); }
.company-roles-grid p { margin: 0 0 .4rem; font-size: .82rem; color: var(--color-muted); }
.company-roles-grid ul { margin: 0; padding-left: 1.1rem; font-size: .84rem; line-height: 1.6; }
@media (max-width: 767.98px) { .company-roles-grid { grid-template-columns: 1fr; } }

/* Tüm açılır listeler (combo) tema görünümünde: sepetteki yazı fontu, katalog sıralama vb. dahil. */
body select:not(.theme-nav select) {
  appearance: none; -webkit-appearance: none; min-height: 44px; padding: .5rem 2.6rem .5rem .9rem; border: 1px solid var(--color-border); border-radius: 12px;
  background-color: var(--color-surface); color: var(--color-text); font: inherit; font-size: .92rem; cursor: pointer; box-shadow: 0 4px 14px rgba(31, 77, 58, .06); transition: border-color 140ms ease, box-shadow 140ms ease;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231F4D3A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .95rem center; background-size: 16px;
}
body select:not(.theme-nav select):focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(31, 77, 58, .14); }
[data-theme="dark"] body select:not(.theme-nav select) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238fb99f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }
.cart-line-font select { flex: 1 1 200px; min-height: 40px; padding: .4rem 2.4rem .4rem .9rem; border-radius: 999px; font-size: .88rem; }
/* Ürün düzenleme fiyat önizlemesi: üç kutu dar sütuna sığsın */
.price-preview > div { min-width: 0; padding-inline: .6rem; }
.price-preview strong { font-size: .88rem; overflow-wrap: anywhere; }

/* Sepete eklendi bildirimi (sağ üst, kendiliğinden kapanır) */
.kco-toast.swal2-popup { width: auto; max-width: 360px; padding: .8rem 1rem; border: 1px solid var(--color-border); border-radius: 14px; background: var(--color-surface); box-shadow: 0 14px 34px rgba(31, 77, 58, .18); }
.kco-toast .swal2-title { margin: 0; font-family: var(--font-body); font-size: .95rem; font-weight: 800; color: var(--color-primary); }
.kco-toast .swal2-html-container { margin: .15rem 0 0; font-size: .82rem; color: var(--color-muted); }
.kco-toast .swal2-icon { width: 1.6rem; height: 1.6rem; margin: 0 .6rem 0 0; }
.kco-toast .swal2-icon .swal2-icon-content { font-size: 1.1rem; }
.kco-toast .swal2-timer-progress-bar { background: var(--color-primary); }
.cart-toast-name { font-weight: 700; color: var(--color-text); }
.cart-toast-link { margin-left: .35rem; color: var(--color-primary); font-weight: 800; text-decoration: underline; }
.cart-toast-fallback { position: fixed; top: 84px; right: 16px; z-index: 1200; display: grid; gap: .15rem; padding: .8rem 1rem; border: 1px solid var(--color-border); border-radius: 14px; background: var(--color-surface); box-shadow: 0 14px 34px rgba(31, 77, 58, .18); font-size: .85rem; opacity: 0; transform: translateY(-8px); transition: opacity 200ms ease, transform 200ms ease; pointer-events: none; }
.cart-toast-fallback.is-open { opacity: 1; transform: none; pointer-events: auto; }
.cart-toast-fallback strong { color: var(--color-primary); }

/* Roller paneli: açıklama kartlara yapışmasın; metrik kutularında uzun e-posta taşmasın */
.company-roles-info > .field-hint { margin-top: 1rem; }
.company-roles-grid ul { margin-bottom: .25rem; }
.metric-strip > div { min-width: 0; }
.metric-strip strong { overflow-wrap: anywhere; }
.metric-strip strong:has(+ *) { overflow-wrap: anywhere; }

/* Sipariş engelleri listesi ve sağ üst bildirimin başlığın altında kalması */
.checkout-blockers { margin: .25rem 0 0; padding-left: 1.2rem; text-align: left; line-height: 1.6; }
.kco-alert-cancel { min-width: 110px; min-height: 44px; margin-left: .5rem; padding: .65rem 1.2rem; border: 1px solid var(--color-border); border-radius: 4px; background: var(--color-surface); color: var(--color-text); font-weight: 700; }
.swal2-container.swal2-top-end:has(.kco-toast) { padding-top: 88px; }
.kco-toast.swal2-popup { margin-top: 24px; }

/* Alıcılar (sepet) */
.recipients-block { display: grid; gap: .75rem; padding: 1rem 1.1rem; border: 1px solid var(--color-border); border-radius: 16px; background: var(--color-surface); }
.recipients-head { display: grid; gap: .25rem; }
.recipients-head .section-kicker { margin: 0; }
.recipients-head .field-hint { margin: 0; font-weight: 500; }
.recipients-list { display: grid; gap: .6rem; }
.recipient-row { display: grid; grid-template-columns: 34px 1.2fr 1fr auto; gap: .6rem; align-items: end; }
.recipient-row label { display: grid; gap: .3rem; color: var(--color-muted); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.recipient-row input { width: 100%; min-height: 44px; padding: .55rem .8rem; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-bg); color: var(--color-text); font: inherit; font-size: .95rem; }
.recipient-row input:focus { border-color: var(--color-primary); outline: 3px solid rgba(31, 77, 58, .15); }
.recipient-badge { display: grid; width: 30px; height: 30px; margin-bottom: 7px; place-items: center; border-radius: 50%; background: var(--color-primary); color: #fff; font-size: .8rem; font-weight: 800; }
.recipient-remove { margin-bottom: 4px; }
.recipient-remove:disabled { opacity: .35; cursor: not-allowed; }
.recipients-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.recipients-actions .field-hint { margin: 0; }
.cart-line-recipient { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: -.35rem; }
.cart-line-recipient > span { color: var(--color-muted); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.cart-line-recipient select { flex: 1 1 220px; min-height: 40px; padding: .4rem 2.4rem .4rem .9rem; border-radius: 999px; font-size: .88rem; }
.cart-line-split { margin-left: auto; padding: .35rem .8rem; border: 1px dashed var(--color-primary); border-radius: 999px; background: transparent; color: var(--color-primary); font: inherit; font-size: .78rem; font-weight: 800; cursor: pointer; }
.cart-line-split:hover { background: var(--color-soft); }
@media (max-width: 575.98px) { .recipient-row { grid-template-columns: 34px 1fr auto; } .recipient-row label:nth-of-type(2) { grid-column: 2; } }

/* Sipariş detayı: alıcılar */
.order-recipients { margin: 1.25rem 0 1.5rem; }
.order-recipient-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; }
.order-recipient-card { padding: 1rem 1.1rem; border: 1px solid var(--color-border); border-radius: 16px; background: var(--color-surface); box-shadow: 0 8px 24px rgba(31, 77, 58, .07); }
.order-recipient-card header { display: flex; align-items: center; gap: .7rem; margin-bottom: .6rem; }
.order-recipient-card header .recipient-badge { margin: 0; }
.order-recipient-card header div { display: grid; }
.order-recipient-card header strong { font-size: 1rem; color: var(--color-primary); }
.order-recipient-card header a { color: var(--color-muted); font-size: .82rem; text-decoration: none; }
.order-recipient-card ul { display: grid; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.order-recipient-card li { display: grid; gap: .15rem; padding: .45rem .6rem; border-radius: 10px; background: var(--color-bg); font-size: .88rem; }
.order-recipient-card li small { color: var(--color-muted); white-space: pre-line; }
.recipients-howto { align-items: flex-start; }
.recipients-howto > div { display: grid; gap: .3rem; }
.recipients-howto p { margin: 0; font-weight: 800; color: var(--color-primary); }
.recipients-howto ol { margin: 0; padding-left: 1.1rem; font-size: .82rem; line-height: 1.55; color: var(--color-muted); }

/* Satır alıcı seçimi hatası ve sipariş özeti penceresi */
.cart-line-recipient select.is-invalid { border-color: #b3261e; box-shadow: 0 0 0 3px rgba(179, 38, 30, .15); }
.kco-confirm .swal2-html-container { text-align: left; }
.order-confirm { display: grid; gap: .8rem; text-align: left; }
.confirm-recipient { padding: .75rem .9rem; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-bg); }
.confirm-recipient h4 { display: flex; align-items: center; gap: .5rem; margin: 0 0 .5rem; font-family: var(--font-body); font-size: .95rem; font-weight: 800; color: var(--color-primary); }
.confirm-recipient h4 .recipient-badge { margin: 0; width: 24px; height: 24px; font-size: .72rem; }
.confirm-recipient h4 small { color: var(--color-muted); font-weight: 600; }
.confirm-recipient ul { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.confirm-recipient li { display: grid; gap: .1rem; padding: .4rem .6rem; border-radius: 8px; background: var(--color-surface); font-size: .86rem; color: var(--color-text); }
.confirm-note { color: var(--color-muted); font-size: .8rem; }
.confirm-note.is-empty { font-style: italic; opacity: .7; }
.confirm-meta { display: grid; grid-template-columns: auto 1fr; gap: .3rem .9rem; margin: 0; padding-top: .5rem; border-top: 1px solid var(--color-border); font-size: .86rem; }
.confirm-meta dt { color: var(--color-muted); font-weight: 700; }
.confirm-meta dd { margin: 0; color: var(--color-text); }
.bahce-footer-credit { font-size: .76rem; color: var(--color-muted); }
.bahce-footer-credit a { color: var(--color-primary); font-weight: 700; }
.recipient-row input.is-invalid { border-color: #b3261e; box-shadow: 0 0 0 3px rgba(179, 38, 30, .15); }

/* Telefon maskesi: aranabilir ülke kodu + ulusal numara */
.phone-field { display: flex; gap: .45rem; align-items: stretch; width: 100%; }
.phone-field .phone-country { position: relative; flex: 0 0 auto; }
.phone-country-button { display: inline-flex; align-items: center; gap: .35rem; height: 100%; min-height: 44px; padding: .5rem .8rem; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); color: var(--color-text); font: inherit; font-size: .92rem; font-weight: 700; white-space: nowrap; cursor: pointer; }
.phone-country-button::after { content: ""; width: 0; height: 0; margin-left: .15rem; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid var(--color-primary); }
.phone-country-button:focus-visible { outline: 3px solid rgba(31, 77, 58, .15); border-color: var(--color-primary); }
.phone-country-menu { position: absolute; z-index: 60; top: calc(100% + 4px); left: 0; width: 300px; max-width: 80vw; padding: .5rem; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); box-shadow: 0 16px 36px rgba(31, 77, 58, .18); }
.phone-country-search { width: 100% !important; min-height: 38px !important; padding: .45rem .7rem !important; border: 1px solid var(--color-border) !important; border-radius: 8px !important; font: inherit; font-size: .88rem; }
.phone-country-list { max-height: 240px; margin: .4rem 0 0; padding: 0; overflow-y: auto; list-style: none; }
.phone-country-list li { display: flex; align-items: center; gap: .5rem; padding: .4rem .5rem; border-radius: 8px; font-size: .86rem; cursor: pointer; }
.phone-country-list li:hover, .phone-country-list li.is-selected { background: var(--color-soft); }
.phone-country-list li.is-selected { font-weight: 700; color: var(--color-primary); }
.phone-country-list li.is-empty { color: var(--color-muted); cursor: default; }
.phone-country-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.phone-country-dial { color: var(--color-muted); font-variant-numeric: tabular-nums; }
.phone-field .phone-national { flex: 1 1 auto; min-width: 0; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.checkout-fields .phone-field input, .recipient-row .phone-field input, .form-grid .phone-field input, .action-panel .phone-field input { width: auto; }
.recipient-row .phone-field input { flex: 1 1 auto; }
.product-link { color: var(--color-primary); font-weight: 700; text-decoration: underline; text-decoration-color: rgba(31, 77, 58, .35); text-underline-offset: 2px; }
.product-link:hover { text-decoration-color: currentColor; }
.order-confirm a { color: var(--color-primary); text-decoration: underline; }

/* Giriş (hero): sağda %55 genişlikte, 16:9 oranını koruyan fotoğraf (slogan ve 1985 rozeti görselin içinde); solda metin; kartlar fotoğrafın altına biner */
.bahce-hero { --hero-photo-h: calc(55vw * .5625); position: relative; isolation: isolate; overflow: hidden; padding: 2.5rem 0 4.5rem; }
.bahce-hero-grid { grid-template-columns: minmax(0, 41%) 1fr; gap: 2rem; align-items: center; min-height: calc(var(--hero-photo-h) - 5.5rem); }
.bahce-hero-copy { align-self: center; }
.bahce-hero-photo { position: absolute; z-index: -1; top: 0; right: 0; width: 55%; height: var(--hero-photo-h); background-position: center; background-size: cover; background-repeat: no-repeat; -webkit-mask-image: linear-gradient(90deg, transparent 0, rgba(0,0,0,.55) 7%, #000 16%); mask-image: linear-gradient(90deg, transparent 0, rgba(0,0,0,.55) 7%, #000 16%); }
.bahce-hero-photo::after { content: "";  position: absolute; inset: 0; background: linear-gradient(0deg, var(--color-bg) 0, transparent 10%); }
.bahce-hero-copy h1 em { display: block; }
.bahce-hero .bahce-hero-copy h1 { font-size: clamp(2.1rem, 3.5vw, 3.5rem); }
.bahce-trust-overlap { position: relative; z-index: 2; margin-top: -3rem; padding-bottom: 2.5rem; }
.bahce-trust-overlap .trust-strip { gap: 1.1rem; }
.bahce-trust-overlap .trust-strip li { align-items: flex-start; gap: 1rem; padding: 1.35rem 1.4rem; border: 1px solid var(--color-border); border-radius: 16px; box-shadow: 0 16px 38px rgba(31, 77, 58, .1); }
.bahce-trust-overlap .trust-strip svg { width: 30px; height: 30px; margin-top: .1rem; stroke-width: 1.6; }
.bahce-trust-overlap .trust-strip small { line-height: 1.5; }
.bahce-motto { display: flex; align-items: center; justify-content: center; gap: 1.2rem; margin: 2.4rem 0 0; color: var(--color-gold); font-size: .74rem; font-weight: 800; letter-spacing: .3em; text-transform: uppercase; }
.bahce-motto::before, .bahce-motto::after { content: ""; width: 72px; height: 1px; background: var(--color-gold); opacity: .7; }
/* Küçük masaüstü: başlık ve metin bir kademe küçük */
@media (min-width: 1200px) and (max-width: 1499.98px) { .bahce-hero .bahce-hero-copy h1 { font-size: clamp(2rem, 3.1vw, 2.7rem); } .bahce-hero-copy > p:not(.bahce-eyebrow):not(.bahce-hero-note) { font-size: 1rem; margin-bottom: 1.25rem; } .bahce-hero-note { flex-wrap: wrap; row-gap: .2rem; margin-top: 1.1rem; } .bahce-hero-actions .bahce-btn { min-height: 46px; padding-inline: 1.1rem; } }
@media (min-width: 992px) and (max-width: 1199.98px) { .theme-nav li:has(> a[href="/#process"]) { display: none; } }
@media (max-width: 1199.98px) {
  .bahce-hero { padding: 1.75rem 0 0; }
  .bahce-hero-grid { grid-template-columns: 1fr; min-height: 0; }
  .bahce-hero-photo { position: relative; z-index: 0; width: 100%; height: auto; aspect-ratio: 16 / 9; margin-top: 1.75rem; background-position: center; -webkit-mask-image: none; mask-image: none; }
  .bahce-hero-photo::after { background: linear-gradient(0deg, var(--color-bg) 0, transparent 22%); }
  .bahce-trust-overlap { margin-top: -2.2rem; }
  .bahce-motto { letter-spacing: .2em; text-align: center; }
  .bahce-motto::before, .bahce-motto::after { width: 32px; }
}
/* Telefon: slogan okunmayacak kadar küçüleceği için fotoğraf çelenklere ve orkideye odaklanır (4:3, sağdaki yazı alanı kırpılır) */
@media (max-width: 767.98px) {
  .bahce-hero-photo { aspect-ratio: 4 / 3; background-position: 30% center; }
  .bahce-hero-copy h1 { overflow-wrap: anywhere; }
  .bahce-hero-note { flex-wrap: wrap; row-gap: .25rem; }
  .bahce-trust-overlap { margin-top: -1.5rem; }
  .bahce-trust-overlap .trust-strip li { padding: 1rem 1.1rem; }
  .bahce-motto { margin-top: 1.6rem; font-size: .66rem; }
}


/* Mobil menü: tema ve dil hamburgerin içinde en üstte, ayıraçla; üst çubuktaki kopyaları gizlenir */
.theme-mobile-tools { display: none; }
@media (max-width: 991.98px) {
  .theme-utilities .theme-desktop-only { display: none !important; }
  .theme-mobile-tools { display: flex; gap: .5rem; margin: .75rem .25rem 0; padding-bottom: .75rem; border-bottom: 1px solid var(--color-border); }
  .theme-mobile-tools form { flex: 1; margin: 0; }
  .theme-mobile-tool { display: flex; flex: 1; align-items: center; justify-content: center; gap: .5rem; width: 100%; min-height: 42px; padding: .5rem .75rem; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); color: var(--color-text); font: inherit; font-size: .84rem; font-weight: 700; cursor: pointer; }
  .theme-mobile-tool svg { width: 17px; height: 17px; color: var(--color-primary); }
  [data-theme="dark"] .theme-mobile-tool svg { color: var(--color-gold); }
  .theme-collapse .theme-nav { padding-top: .5rem; }
}

/* Mobil menü: oturumu kapat en altta, kırmızı */
.theme-mobile-logout { display: none; }
@media (max-width: 991.98px) {
  .theme-mobile-logout { display: block; margin: 0 .25rem .75rem; padding-top: .6rem; border-top: 1px solid var(--color-border); }
  .theme-mobile-logout button { display: flex; align-items: center; gap: .55rem; width: 100%; min-height: 42px; padding: .5rem .8rem; border: 0; border-radius: 10px; background: transparent; color: #b3261e; font: inherit; font-size: .9rem; font-weight: 800; cursor: pointer; }
  .theme-mobile-logout button:hover { background: rgba(179, 38, 30, .08); }
  .theme-mobile-logout svg { width: 17px; height: 17px; }
  [data-theme="dark"] .theme-mobile-logout button { color: #ff8a80; }
  .theme-collapse .theme-nav { padding-bottom: .5rem; }
}


/* Sabit başlık: sayfa içi bağlantılarda (#process, #references, #solutions, #category-…) hedef başlığın altında kalmasın */
html { scroll-padding-top: 86px; scroll-behavior: smooth; }
@media (max-width: 991.98px) { html { scroll-padding-top: 80px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Mobil başlık: marka adı tek satır, altında "by Gökay Çiçek Tasarım"; dar telefonda giriş düğmesi yalnızca simge */
@media (max-width: 991.98px) {
  .bahce-brand-text { display: grid; }
  .bahce-brand-text strong { max-width: none; white-space: nowrap; font-size: clamp(.64rem, 2.9vw, .86rem); letter-spacing: .07em; line-height: 1.1; }
  .bahce-brand-text small { display: block; font-size: clamp(.54rem, 2.2vw, .64rem); }
}
@media (max-width: 430px) {
  .theme-login { width: 36px; min-height: 36px; padding: 0; justify-content: center; border-radius: 50%; }
  .theme-login span { display: none; }
  .theme-login svg { display: block; width: 16px; height: 16px; }
}

/* Giriş / kayıt sayfaları: soldaki görsel markalı çelenk fotoğrafı; uzun formda da görünür kalsın diye ekrana yapışır */
.account-visual-register { background-image: url("../../images/brand/account-register.jpg"); }
.account-visual-login { background-image: url("../../images/brand/account-login.jpg"); }
.account-visual::after { background: linear-gradient(180deg, rgba(31,77,58,0) 0, rgba(31,77,58,0) 52%, rgba(20,45,34,.78) 100%); }
.account-visual-copy { bottom: 3rem; }
.account-visual-copy strong { font-size: clamp(2rem, 3vw, 3.2rem); line-height: 1.05; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
@media (min-width: 992px) {
  .account-shell { grid-template-columns: minmax(380px, 46%) minmax(0, 1fr); align-items: start; }
  .account-visual { position: sticky; top: 90px; align-self: start; height: calc(100svh - 90px); min-height: 520px; background-position: center 35%; border-radius: 0 32px 32px 0; overflow: hidden; }
  .account-panel { min-height: calc(100svh - 90px); padding: 3rem clamp(1.5rem, 4vw, 4.5rem); }
}
@media (max-width: 991.98px) {
  .account-visual { min-height: 0; aspect-ratio: 16 / 10; background-position: center 30%; }
  .account-visual-copy strong { font-size: 1.7rem; }
}
/* Hesap sayfaları zaten .theme-page içinde: çift üst boşluk olmasın */
.theme-page .account-shell { padding-top: 0; min-height: calc(100svh - 90px); }

/* Zorunlu alan işareti */
.req { margin-left: .2rem; color: var(--color-danger, #b3261e); font-weight: 800; }
[data-theme="dark"] .req { color: #ff8a80; }


/* Toplu ürün ekleme */
.heading-actions { display: flex; align-items: center; gap: .9rem; flex-wrap: wrap; }
.import-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; align-items: stretch; }
.management-shell .import-step { position: relative; display: flex; flex-direction: column; gap: .8rem; align-items: flex-start; padding-top: 1.6rem; }
.import-step h2 { margin: 0; }
.import-step p, .import-rules { margin: 0; color: var(--color-muted); font-size: .92rem; line-height: 1.55; }
.import-rules { padding-left: 1.1rem; display: grid; gap: .35rem; }
.import-step-no { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--color-primary); color: #fff; font-weight: 800; }
.import-upload { display: grid; gap: .8rem; width: 100%; margin-top: auto; }
.import-upload input[type="file"] { width: 100%; }
.import-note { display: flex; align-items: center; gap: .55rem; margin: 1.2rem 0 0; color: var(--color-muted); font-size: .9rem; }
.import-note svg { width: 17px; height: 17px; flex: none; color: var(--color-primary); }
.import-summary { display: flex; align-items: flex-start; gap: .9rem; margin-bottom: 1.2rem; padding: 1rem 1.2rem; border: 1px solid var(--color-border); border-radius: 16px; background: var(--color-surface); }
.import-summary svg { width: 24px; height: 24px; flex: none; margin-top: .15rem; }
.import-summary p { margin: .2rem 0 0; color: var(--color-muted); font-size: .92rem; }
.import-summary.is-ok { border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-border)); }
.import-summary.is-ok svg { color: var(--color-primary); }
.import-summary.has-errors { border-color: #d9534f; background: color-mix(in srgb, #d9534f 7%, var(--color-surface)); }
.import-summary.has-errors svg { color: #d9534f; }
.import-table .import-desc { display: block; max-width: 420px; margin-top: .2rem; color: var(--color-muted); font-size: .8rem; font-weight: 400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.import-row-error td { background: color-mix(in srgb, #d9534f 9%, transparent); }
.import-errors { margin: 0; padding-left: 1rem; color: #c0392b; font-size: .85rem; font-weight: 700; }
[data-theme="dark"] .import-errors { color: #ff8a80; }
.import-actions { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: 1.2rem; }
.import-actions form { margin: 0; }
@media (max-width: 991.98px) { .import-steps { grid-template-columns: 1fr; } }
.import-link { text-decoration: none; }
.management-shell .import-step .form-submit { width: auto; }

/* Kampanyalar: sepet özeti indirim satırları (eksi, yeşil), sipariş detayı, müşteri sayfası kartları, yönetim formu */
.checkout-summary .checkout-discounts { display: block; padding: 0; border-bottom: 0; }
.checkout-summary .checkout-discount { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--color-border); }
.checkout-summary .checkout-discount span { color: #27633a; font-size: .78rem; font-weight: 700; }
.checkout-summary .checkout-discount strong { color: #27633a; font-family: var(--font-body); font-weight: 800; }
[data-theme="dark"] .checkout-summary .checkout-discount span, [data-theme="dark"] .checkout-summary .checkout-discount strong { color: #8fd3a3; }
.confirm-discount { color: #27633a; font-weight: 700; }
.metric-strip .metric-discount strong { color: #27633a; }
[data-theme="dark"] .metric-strip .metric-discount strong, [data-theme="dark"] .confirm-discount { color: #8fd3a3; }
.campaign-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.campaign-card { display: flex; flex-direction: column; gap: .6rem; padding: 1.4rem 1.5rem; border: 1px solid var(--color-border); border-left: 5px solid var(--color-gold); border-radius: 18px; background: var(--color-surface); box-shadow: 0 12px 30px rgba(31, 77, 58, .06); }
.campaign-card.is-eligible { border-left-color: #27633a; }
.campaign-card.is-blocked { border-left-color: #c0392b; background: color-mix(in srgb, #c0392b 5%, var(--color-surface)); }
.campaign-card h2 { margin: 0; font-size: 1.25rem; }
.campaign-card-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.campaign-kind { display: inline-flex; align-items: center; gap: .35rem; color: var(--color-muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.campaign-kind svg { width: 16px; height: 16px; }
.campaign-tag { padding: .2rem .6rem; border-radius: 999px; background: var(--color-soft); color: var(--color-primary); font-size: .7rem; font-weight: 800; }
.campaign-discount { margin: 0; color: var(--color-primary); font-family: var(--font-display); font-size: 2rem; line-height: 1.1; }
.campaign-card.is-blocked .campaign-discount { color: var(--color-muted); }
.campaign-desc { margin: 0; color: var(--color-muted); font-size: .92rem; line-height: 1.5; }
.campaign-terms { display: grid; gap: .3rem; margin: .3rem 0 0; padding: 0; list-style: none; color: var(--color-text); font-size: .84rem; }
.campaign-terms li { display: flex; align-items: center; gap: .45rem; }
.campaign-terms svg { width: 15px; height: 15px; flex: none; color: var(--color-muted); }
.campaign-status { display: flex; align-items: flex-start; gap: .5rem; margin: .6rem 0 0; padding-top: .8rem; border-top: 1px solid var(--color-border); color: #27633a; font-size: .88rem; font-weight: 800; line-height: 1.4; }
.campaign-status svg { width: 18px; height: 18px; flex: none; margin-top: .05rem; }
.campaign-card.is-blocked .campaign-status { color: #c0392b; }
[data-theme="dark"] .campaign-status { color: #8fd3a3; }
[data-theme="dark"] .campaign-card.is-blocked .campaign-status { color: #ff8a80; }
.campaign-login-note { display: flex; align-items: center; gap: .5rem; margin: 1.5rem 0 0; color: var(--color-muted); font-size: .9rem; }
.campaign-login-note svg { width: 17px; height: 17px; color: var(--color-primary); }
.campaign-layout { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; align-items: start; }
.campaign-form .form-grid { grid-template-columns: 1fr; }
.campaign-form select[multiple] { min-height: 190px; padding: .4rem; border-radius: 12px; background-image: none; }
.campaign-form select[multiple] option { padding: .3rem .5rem; border-radius: 6px; }
.campaign-actions { display: flex; justify-content: flex-end; gap: .8rem; margin-top: 1.2rem; }
.campaign-conditions { margin: 0; padding-left: 1rem; font-size: .82rem; }
.status-pill.is-muted { background: transparent; border: 1px solid var(--color-border); color: var(--color-muted); }
@media (max-width: 991.98px) { .campaign-grid, .campaign-layout { grid-template-columns: 1fr; } }
@media (min-width: 576px) and (max-width: 991.98px) { .campaign-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.table-actions { display: flex; align-items: center; gap: .3rem; }
.table-actions form { margin: 0; }
.legal-check-hint { display: block; margin-top: .25rem; color: var(--color-muted); font-size: .74rem; font-weight: 400; line-height: 1.45; }
.consent-form { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem; }
.consent-state { display: flex; align-items: center; gap: .5rem; margin: 0; font-weight: 800; }
.consent-state svg { width: 18px; height: 18px; }
.consent-state.is-on { color: #27633a; }
.consent-state.is-off { color: var(--color-muted); }
.consent-state small { margin-left: .4rem; color: var(--color-muted); font-weight: 400; font-size: .78rem; }
[data-theme="dark"] .consent-state.is-on { color: #8fd3a3; }
.management-shell .consent-panel .form-submit { width: auto; }

.management-layout .consent-panel { margin-bottom: 1.25rem; }
/* Üst menü: Kampanyalar eklendikten sonra 1200–1599px aralığında giriş düğmesi sığsın (orta masaüstünde "Nasıl Çalışır?" gizlenir) */
@media (min-width: 1400px) and (max-width: 1599.98px) {
  .bahce-brand { margin-right: .3rem; }
  .theme-nav { gap: 0; }
  .theme-nav a, .theme-nav button { padding: .4rem .5rem; font-size: .78rem; white-space: nowrap; }
  .theme-login { padding: .45rem .8rem; font-size: .78rem; white-space: nowrap; }
  .theme-utilities { gap: .1rem; }
}
@media (min-width: 992px) { .theme-login { white-space: nowrap; } }
@media (min-width: 992px) and (max-width: 1399.98px) { .theme-nav li:has(> a[href="/#process"]) { display: none; } }
/* Kayıt formu onay satırı: açıklama notu etiketin içinde kalsın, onay kutusu ayrı satıra düşmesin */
.legal-check-field label { flex: 1 1 0; min-width: 0; }
/* Geniş masaüstü (≥1600px): menü kalabalıklaştığı için düğmeler bir tık küçük */
@media (min-width: 1600px) {
  .theme-nav { gap: .05rem; }
  .theme-nav a, .theme-nav button { min-height: 38px; padding: .4rem .66rem; font-size: .82rem; white-space: nowrap; }
  .theme-login { min-height: 38px; padding: .4rem .85rem; font-size: .8rem; }
}

.campaign-form [data-product-only][hidden] { display: none !important; }
.checkout-summary .checkout-discount span { flex: 1 1 auto; min-width: 0; }
.checkout-summary .checkout-discount strong { flex: none; white-space: nowrap; }
/* Sepet özeti: etiketler solda ve gerekirse alt satıra kırılır, tutarlar her satırda en sağda tek parça */
.checkout-summary > div > span, .checkout-summary .checkout-discount > span { flex: 1 1 auto; min-width: 0; }
.checkout-summary > div > strong, .checkout-summary > div > small, .checkout-summary .checkout-discount > strong { flex: none; white-space: nowrap; text-align: right; }
.checkout-summary > div > span .checkout-zone { display: inline; color: var(--color-muted); font-size: .72rem; }
/* Marka hikayesi görseli: her ekranda 4:3 oranı korunur (kırpma yok); 1600×1200 ve üzeri görsel önerilir */
.bahce-story-image img { height: auto; aspect-ratio: 4 / 3; }
@media (max-width: 991.98px) { .bahce-story-image img { height: auto; } }
@media (max-width: 575.98px) { .bahce-story-image img { height: auto; } }
/* Referans fotoğrafları: telefonla çekilen dikey/yatay karışık fotoğraflar kırpılmaz; 3:4 çerçeveye sığdırılır (kalan alan yumuşak zemin) */
.bahce-ref-work img, .references-wall-item img, .reference-gallery-item img { aspect-ratio: 3 / 4; object-fit: contain; background: var(--color-photo); }
.reference-gallery-item button { background: var(--color-photo); }
.developer-heading-actions { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; }
.developer-heading-actions form { margin: 0; }
.log-table .table-subtext { display: block; }
/* Personel yönetimi */
.staff-roles { display: grid; gap: .4rem; margin: 0 0 1rem; padding: 0; border: 0; }
.staff-roles legend { margin-bottom: .4rem; color: var(--color-muted); font-size: .72rem; font-weight: 700; }
.management-shell .action-panel .staff-roles label { display: flex; align-items: center; gap: .55rem; font-size: .84rem; color: var(--color-text); }
.staff-roles input[disabled] + span { color: var(--color-muted); }
.staff-roles-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.action-panel-inner { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--color-border); }
.portal-table .status-pill + .status-pill { margin-left: .3rem; }
/* Yönetim kenar çubuğu: daha sıkı menü (tüm öğeler ekrana sığsın, iç kaydırma olmasın); sayfa kaysa da yerinde durur */
@media (min-width: 992px) {
  .is-admin .admin-sidebar { position: sticky; top: 90px; height: calc(100svh - 90px); gap: .3rem; padding: 1rem .75rem; overflow-y: auto; scrollbar-width: thin; }
  .admin-sidebar-title { margin: 0 .4rem .5rem; font-size: .66rem; }
  .admin-sidebar-nav { gap: .1rem; }
  .admin-sidebar-nav a, .admin-sidebar-store { min-height: 34px; padding: .38rem .65rem; border-radius: 8px; font-size: .78rem; }
  .admin-sidebar-nav svg, .admin-sidebar-store svg { width: 15px; height: 15px; }
  .admin-sidebar-foot { gap: .1rem; }
}

/* Yönetim alanında tanıtım altbilgisi gösterilmez; kenar çubuğu sayfa boyunca sabit kalır */
.is-admin .bahce-footer { display: none; }
@media (min-width: 992px) { .is-admin .admin-shell { min-height: calc(100svh - 90px); } }
/* Çoklu seçim listeleri (ek kategoriler) */
body select.multi-select[multiple] { min-height: 132px; padding: .35rem; background-image: none; }
select.multi-select option { padding: .28rem .5rem; border-radius: 6px; }
/* Ürün fotoğrafları: detay sayfası ve yönetim galerisi kırpmaz (3:4 çerçeveye sığdırır); tıklanınca büyür */
.product-detail-gallery { aspect-ratio: 3 / 4; }
.product-detail-gallery .product-gallery-image { object-fit: contain; }
.product-detail-gallery .product-gallery-image.active { cursor: zoom-in; }
.product-detail-gallery .product-gallery-image:not(.active) { pointer-events: none; }
.product-image-item > img { aspect-ratio: 3 / 4; object-fit: contain; background: var(--color-photo); cursor: zoom-in; }
img[data-zoom] { cursor: zoom-in; }
.kco-lightbox { overflow: visible; }
.kco-lightbox-arrow { position: absolute; top: 50%; z-index: 2; display: grid; width: 42px; height: 42px; place-items: center; transform: translateY(-50%); border: 0; border-radius: 50%; background: rgba(255, 255, 255, .18); color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.kco-lightbox-arrow.previous { left: .6rem; }
.kco-lightbox-arrow.next { right: .6rem; }
.kco-lightbox-arrow:hover, .kco-lightbox .reference-lightbox-close:hover { background: rgba(255, 255, 255, .32); }
.kco-lightbox-arrow[hidden] { display: none; }

/* Ürün kartları: fotoğraf oranı 3:4 değilse (ör. 2:3) de kırpılmaz; kalan alan yumuşak zeminle dolar */
.product-media img { object-fit: contain; }

/* Sürükle-bırak sıralama (sortable-list.js) */
.sort-handle { display: inline-grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; padding: 0; border: 1px solid var(--color-border); border-radius: 10px; background: var(--color-surface); color: var(--color-muted); cursor: grab; touch-action: none; user-select: none; -webkit-user-select: none; }
.sort-handle svg { width: 18px; height: 18px; pointer-events: none; }
.sort-handle:hover, .sort-handle:focus-visible { color: var(--color-primary); border-color: var(--color-primary); }
.sort-handle:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.is-sorting, .is-sorting * { cursor: grabbing !important; user-select: none; -webkit-user-select: none; }
[data-sortable-id].is-dragging { position: relative; z-index: 5; pointer-events: none; will-change: transform; border-radius: var(--radius); box-shadow: 0 18px 40px rgba(31, 77, 58, .28), 0 0 0 2px var(--color-primary); }
[data-sortable-id].is-dragging.is-settling { box-shadow: 0 6px 16px rgba(31, 77, 58, .16), 0 0 0 2px var(--color-primary); }
tr[data-sortable-id].is-dragging > td { background: var(--color-surface); background-image: linear-gradient(rgba(127, 176, 105, .18), rgba(127, 176, 105, .18)); }
@media (prefers-reduced-motion: reduce) { [data-sortable-id] { transition-duration: 0s !important; } }
.sortable-hint { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin: 0 0 .65rem; color: var(--color-muted); font-size: .8rem; }
.sortable-hint svg { width: 15px; height: 15px; }
.sortable-status { margin-left: auto; padding: .15rem .6rem; border-radius: 999px; font-weight: 600; font-size: .75rem; }
.sortable-status[data-state="saving"] { color: var(--color-muted); background: rgba(127, 127, 127, .14); }
.sortable-status[data-state="saved"] { color: #1f6b3d; background: rgba(46, 160, 90, .16); }
.sortable-status[data-state="error"] { color: #a12a2a; background: rgba(200, 60, 60, .14); }
[data-theme="dark"] .sortable-status[data-state="saved"] { color: #8fdcab; }
[data-theme="dark"] .sortable-status[data-state="error"] { color: #ff9d9d; }
.row-actions .sort-handle, .reference-actions .sort-handle { margin-left: .15rem; }
/* Mobil yönetim düzeltmeleri */
.log-table-wrap { position: relative; } /* tablo içindeki gizli (absolute) etiketler sayfayı yana taşırmasın */
.sort-handle-start { display: none; }
.sort-handle-start, .sort-handle-end { align-items: center; }
.sort-handle-end { display: inline-flex; }
.sort-cell { display: flex; align-items: center; gap: .55rem; }
.sortable-hint { flex-wrap: nowrap; align-items: flex-start; }
.sortable-hint svg { flex: 0 0 auto; margin-top: .15rem; }
@media (max-width: 767.98px) {
  .portal-heading h1 + p { margin-top: .55rem; }
  .staff-roles-grid { grid-template-columns: 1fr; }
  /* Yatay kayan geniş tabloda "kayıt yok" yazısı ortalanınca ekran dışında kalıyordu */
  .portal-table td[colspan], .log-table td[colspan] { text-align: left; }
  .sort-handle-start { display: inline-flex; }
  .sort-handle-end { display: none; }
  .sortable-hint { flex-wrap: wrap; }
  .sortable-status { margin-left: 0; }
}
/* Mobil müşteri düzeltmeleri */
/* Uzun adres seçeneği ızgara sütununu ekran genişliğinin dışına itiyor, telefonda tüm sayfa küçülüyordu. */
.checkout-fields > * { min-width: 0; }
.checkout-fields label { grid-template-columns: minmax(0, 1fr); }
.checkout-fields select, .checkout-fields input, .checkout-fields textarea { max-width: 100%; }
/* Durum rozeti dikey (ızgara/sütun) düzenlerde tam genişliğe yayılmasın */
.status-pill { width: fit-content; max-width: 100%; }
/* Marka hikâyesi fotoğrafı: eski baskı kendi çerçevesiyle, kırpılmadan (doğal oran, köşe kesimi yok, yazı fotoğrafın altında) */
.bahce-story-photo { overflow: visible; border-radius: 0; box-shadow: none; }
.bahce-story-photo img { display: block; width: 100%; height: auto !important; aspect-ratio: 1470 / 1070; object-fit: contain; border-radius: 10px; box-shadow: var(--shadow); cursor: zoom-in; }
.bahce-story-photo figcaption { position: static; display: inline-block; margin-top: .85rem; }
/* İngilizce karşılığı eksik kayıt uyarısı (yönetim listeleri) */
.table-subtext.en-missing { color: #a8741a; }
[data-theme="dark"] .table-subtext.en-missing { color: #e0b15a; }
/* Hukuki metinlerdeki tablolar (KVKK veri matrisi, saklama süreleri) */
.legal-content table, .legal-modal-body table { width: 100%; margin: .75rem 0 1.25rem; border-collapse: collapse; font-size: .84rem; line-height: 1.5; }
.legal-content th, .legal-content td, .legal-modal-body th, .legal-modal-body td { padding: .5rem .65rem; border: 1px solid var(--color-border); vertical-align: top; text-align: left; }
.legal-content th, .legal-modal-body th { background: var(--color-soft); color: var(--color-primary); font-weight: 700; }
.legal-content tbody th { width: 30%; }
.legal-content p > small, .legal-modal-body p > small { color: var(--color-muted); font-size: .8rem; }
@media (max-width: 767.98px) {
  .legal-content table, .legal-modal-body table { display: block; overflow-x: auto; }
}

