/* ==========================================================================
   SEM Lisans — main.css
   Tek stil dosyası, framework yok. Tüm sayfalar bu dosyayı paylaşır.
   WordPress: wp_enqueue_style('sem-main', get_template_directory_uri().'/assets/css/main.css')

   İÇİNDEKİLER
   01. Tasarım tokenları (renk, tipografi, boşluk) + koyu mod
   02. Reset & temel
   03. Yardımcılar (container, ikon, görsel gizleme)
   04. Butonlar
   05. Duyuru çubuğu (marquee)
   06. Header (logo, arama, aksiyonlar, kategori menüsü)
   07. Hero
   08. Güven şeridi
   09. Bölüm başlıkları
   10. Ürün kartı (WooCommerce loop ile uyumlu)
   11. Kategori kutuları
   12. DonanımHaber güven alanı + referans slider
   13. Nasıl çalışır (adımlar)
   14. SSS (native <details>)
   15. Footer + yüzen WhatsApp
   16. Hareket azaltma tercihi
   17. Ürün detay sayfası (breadcrumb, buybox, rozetler, açıklama, özellikler,
       mobil sabit satın alma çubuğu)
   18. Ödeme / Sipariş alındı (adımlar, uyarı, banka kartı, kopyala, WhatsApp CTA)
   19. Teslimat portalı (giriş formu, lisans kutusu, kurulum akordeonu)
   20. Sepet + sipariş formu
   21. Kategori / mağaza sayfası
   22. Genel içerik sayfası (Hakkımızda, sözleşmeler, KVKK)
   23. İletişim, 404, arama, bildirim (toast)
   24. Uzaktan kurulum hizmeti (seçenek, öneri kartı, bant, kapsam)
   ========================================================================== */

/* Jost (SIL OFL 1.1) — Latin + Türkçe karakterler, 400–700 değişken ağırlık, temayla birlikte */
@font-face {
  font-family: "Jost"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("../fonts/jost.woff") format("woff");
}

/* 01. TOKENLAR ------------------------------------------------------------ */
:root {
  --brand: #1abc9c;
  --brand-600: #16a689;
  --brand-700: #0e7d68;          /* küçük turkuaz metin için (beyaz zeminde okunur) */
  --brand-soft: #e8f8f4;
  --on-brand: #04241d;           /* turkuaz buton üstü metin; beyaz isterseniz #fff yapın */

  --bg: #f5f7f8;
  --surface: #ffffff;
  --surface-2: #eef2f4;
  --text: #0f1a20;
  --muted: #5a6872;
  --line: #e1e7eb;

  --ok: #16a34a;
  --ok-soft: #e7f6ec;
  --warn: #b45309;
  --warn-soft: #fff6e5;
  --err: #b42318;
  --err-soft: #fdecea;
  --ink: #000000;                /* duyuru çubuğu zemini */

  --font: "Jost", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  --radius: 14px;
  --radius-sm: 10px;
  --shadow: 0 1px 2px rgba(15, 26, 32, .04), 0 6px 20px rgba(15, 26, 32, .06);
  --container: 1200px;
  --header-h: 68px;

  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --brand-700: #3fd3b4;
    --brand-soft: #0f2d27;
    --bg: #0c1114;
    --surface: #131a1e;
    --surface-2: #1a2328;
    --text: #e8eef1;
    --muted: #93a2ab;
    --line: #243038;
    --ok: #34c46a;
    --ok-soft: #12291b;
    --warn: #f0a33a;
    --warn-soft: #2a1f0e;
    --err: #f87171;
    --err-soft: #2c1414;
    --shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 20px rgba(0, 0, 0, .25);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --brand-700: #3fd3b4;
  --brand-soft: #0f2d27;
  --bg: #0c1114;
  --surface: #131a1e;
  --surface-2: #1a2328;
  --text: #e8eef1;
  --muted: #93a2ab;
  --line: #243038;
  --ok: #34c46a;
  --ok-soft: #12291b;
  --warn: #f0a33a;
  --warn-soft: #2a1f0e;
  --err: #f87171;
  --err-soft: #2c1414;
  --shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 20px rgba(0, 0, 0, .25);
  color-scheme: dark;
}

/* 02. RESET & TEMEL ------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; } /* sınıflardaki display kuralları hidden'ı ezmesin */
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.55;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; }
ul, ol { padding: 0; list-style: none; }
h1, h2, h3, h4 { line-height: 1.2; font-weight: 600; letter-spacing: -.01em; }
:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; border-radius: 6px; }

/* 03. YARDIMCILAR --------------------------------------------------------- */
.container { width: min(100% - 32px, var(--container)); margin-inline: auto; }
.section { padding-block: clamp(48px, 7vw, 80px); }
main > .section:last-child { padding-bottom: 0; } /* footer'ın üst boşluğuyla çift boşluk olmasın */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.i {
  width: 20px; height: 20px; flex-shrink: 0;
  fill: none; stroke: currentColor; stroke-width: 1.8;
  stroke-linecap: round; stroke-linejoin: round;
}
.i--sm { width: 16px; height: 16px; }
.i--lg { width: 24px; height: 24px; }

/* Yeşil onay tiki (✔) — emoji yerine her cihazda aynı görünen SVG */
.tick {
  display: inline-grid; place-items: center;
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--ok); color: #fff; flex-shrink: 0;
}
.tick .i { width: 12px; height: 12px; stroke-width: 3; }

/* 04. BUTONLAR ------------------------------------------------------------ */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 10px 20px;
  border-radius: var(--radius-sm);
  font-weight: 600; font-size: 15px; line-height: 1.2; white-space: nowrap;
  border: 1px solid transparent;
  transition: background-color .15s, border-color .15s, color .15s;
}
.btn--primary { background: var(--brand); color: var(--on-brand); }
.btn--primary:hover { background: var(--brand-600); }
.btn--ghost { border-color: var(--line); background: var(--surface); }
.btn--ghost:hover { border-color: var(--brand); color: var(--brand-700); }
.btn--lg { min-height: 54px; padding: 14px 28px; font-size: 17px; border-radius: 12px; }
.btn--block { width: 100%; }

/* 05. DUYURU ÇUBUĞU -------------------------------------------------------
   Titremesiz kayma: içerik iki kez yazılır, track -%50 kaydırılır.
   transform + translate3d → GPU katmanı; layout/paint tetiklemez.        */
.announce {
  background: var(--ink); color: var(--brand);
  overflow: hidden; font-size: 14px; font-weight: 500;
  height: 36px;
}
.announce__track {
  display: flex; width: max-content; height: 100%;
  animation: sem-marquee 45s linear infinite;
  will-change: transform;
  backface-visibility: hidden;
}
.announce:hover .announce__track { animation-play-state: paused; }
.announce__group {
  display: flex; align-items: center; gap: 56px;
  padding-right: 56px; flex-shrink: 0; white-space: nowrap;
}
.announce__group span { display: inline-flex; align-items: center; gap: 8px; }
.announce__group span::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor;
}
@keyframes sem-marquee { to { transform: translate3d(-50%, 0, 0); } }

/* 06. HEADER -------------------------------------------------------------- */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in srgb, var(--surface) 92%, transparent);
  backdrop-filter: saturate(1.4) blur(10px);
  -webkit-backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--line);
}
.header__bar {
  display: grid; align-items: center; gap: 16px 24px;
  grid-template-columns: auto 1fr auto;
  grid-template-areas: "logo search actions";
  min-height: var(--header-h); padding-block: 10px;
}
.logo { grid-area: logo; display: inline-flex; align-items: center; gap: 10px; font-size: 21px; font-weight: 700; letter-spacing: -.02em; }
/* Logo işareti: üst parça turkuaz, alt parça metin rengini alır (koyu temada ve footer'da açık renk) */
.logo__mark { width: 34px; height: 33px; flex-shrink: 0; color: var(--logo-ink, currentColor); }
.logo b { color: var(--brand-700); font-weight: 700; }

.search { grid-area: search; position: relative; max-width: 560px; width: 100%; justify-self: center; }
.search input {
  width: 100%; height: 46px; padding: 0 52px 0 18px;
  border: 1px solid var(--line); border-radius: 12px;
  background: var(--surface-2); font-size: 15px;
  transition: border-color .15s, background-color .15s;
}
.search input::placeholder { color: var(--muted); }
.search input:focus { outline: none; border-color: var(--brand); background: var(--surface); }
.search button {
  position: absolute; right: 5px; top: 5px; width: 36px; height: 36px;
  display: grid; place-items: center; border-radius: 9px;
  background: var(--brand); color: var(--on-brand);
}

.header__actions { grid-area: actions; display: flex; align-items: center; gap: 4px; }
.icon-btn {
  position: relative; display: grid; place-items: center;
  width: 44px; height: 44px; border-radius: 12px;
  transition: background-color .15s;
}
.icon-btn:hover { background: var(--surface-2); }
.icon-btn .i { width: 22px; height: 22px; }
.icon-btn .i-moon { display: none; }
[data-theme="dark"] .icon-btn .i-sun { display: none; }
[data-theme="dark"] .icon-btn .i-moon { display: block; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .icon-btn .i-sun { display: none; }
  :root:not([data-theme="light"]) .icon-btn .i-moon { display: block; }
}
.cart-count {
  position: absolute; top: 4px; right: 2px;
  min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
  background: var(--brand); color: var(--on-brand);
  font-size: 11px; font-weight: 700; line-height: 18px; text-align: center;
}
.cart-total { font-weight: 600; font-size: 15px; padding-right: 4px; }

.catnav { border-top: 1px solid var(--line); }
.catnav ul {
  display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none;
  padding-block: 6px;
}
.catnav ul::-webkit-scrollbar { display: none; }
.catnav a {
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
  padding: 8px 14px; border-radius: 9px; font-size: 15px; font-weight: 500; color: var(--muted);
}
.catnav a:hover, .catnav a[aria-current="page"] { color: var(--text); background: var(--surface-2); }
.catnav .catnav__hl { color: var(--brand-700); }

@media (max-width: 760px) {
  .header__bar {
    grid-template-columns: 1fr auto;
    grid-template-areas: "logo actions" "search search";
    gap: 10px 12px;
  }
  .search { max-width: none; }
  .cart-total { display: none; }
  .logo { font-size: 19px; }
}

/* 07. HERO ---------------------------------------------------------------- */
.hero { padding-block: clamp(36px, 6vw, 72px) clamp(28px, 4vw, 48px); }
.hero__grid { display: grid; gap: 40px; align-items: center; grid-template-columns: 1.1fr .9fr; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px 6px 6px; border-radius: 99px;
  background: var(--ok-soft); color: var(--ok); font-size: 14px; font-weight: 600;
}
.hero h1 { font-size: clamp(32px, 5vw, 54px); font-weight: 600; margin-block: 18px 16px; letter-spacing: -.025em; }
.hero h1:first-child { margin-top: 0; }
.hero h1 em { font-style: normal; color: var(--brand-700); }
.hero__lead { font-size: clamp(16px, 1.6vw, 19px); color: var(--muted); max-width: 52ch; }
.hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* Hero görseli: CSS ile çizilmiş lisans kartı (görsel dosyası yok) */
.keycard {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: 18px; box-shadow: var(--shadow); padding: 24px;
  position: relative; overflow: hidden;
}
.keycard::before {
  content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--brand);
}
.keycard__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 14px; color: var(--muted); }
.keycard__status { display: inline-flex; align-items: center; gap: 6px; color: var(--ok); font-weight: 600; }
.keycard__product { font-size: 22px; font-weight: 600; margin-block: 14px 12px; }
.keycard__key {
  display: block; font-family: var(--mono); font-size: clamp(13px, 1.5vw, 16px); letter-spacing: .06em;
  padding: 16px; border-radius: 12px; background: var(--surface-2);
  border: 1px dashed var(--line); text-align: center; overflow-wrap: anywhere;
}
.keycard__foot { display: flex; align-items: center; gap: 8px; margin-top: 16px; font-size: 14px; color: var(--muted); }
.keycard__foot .i { color: var(--brand-700); }

@media (max-width: 860px) {
  .hero__grid { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 560px) {
  .hero__visual { display: none; } /* mobilde ürünler ilk ekrana daha yakın */
}
@media (max-width: 480px) {
  .hero__cta .btn { width: 100%; }
}
.nowrap { white-space: nowrap; }

/* 08. GÜVEN ŞERİDİ -------------------------------------------------------- */
.trust {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
}
.trust__item {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 16px; border-radius: var(--radius);
  background: var(--surface); border: 1px solid var(--line);
}
.trust__icon {
  display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px;
  background: var(--brand-soft); color: var(--brand-700); flex-shrink: 0;
}
.trust__item strong { display: block; font-size: 15px; font-weight: 600; line-height: 1.25; }
.trust__item small { display: block; font-size: 13px; color: var(--muted); }
@media (max-width: 960px) { .trust { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px) { .trust__item { padding: 12px; gap: 10px; } .trust__item small { display: none; } }

/* 09. BÖLÜM BAŞLIKLARI ---------------------------------------------------- */
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 8px 16px; flex-wrap: wrap; margin-bottom: 28px; }
.section-head h2 { font-size: clamp(24px, 3vw, 34px); }
.section-head p { color: var(--muted); margin-top: 6px; }
.link-more { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--brand-700); white-space: nowrap; }
.link-more:hover { text-decoration: underline; text-underline-offset: 4px; }

/* 10. ÜRÜN KARTI ----------------------------------------------------------
   Sınıflar WooCommerce'in content-product.php çıktısıyla eşleşir:
   .price del / ins, .add_to_cart_button, .ajax_add_to_cart, .added_to_cart  */
.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.product-card {
  display: flex; flex-direction: column;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
  overflow: hidden; transition: border-color .15s, box-shadow .15s;
}
.product-card:hover { border-color: color-mix(in srgb, var(--brand) 50%, var(--line)); box-shadow: var(--shadow); }
.product-card__media {
  position: relative; aspect-ratio: 4 / 3; display: grid; place-items: center;
  background: var(--surface-2); overflow: hidden;
}
.product-card__media img { width: 100%; height: 100%; object-fit: cover; }
/* Ürün görseli yüklenene kadar kullanılan hafif CSS yer tutucu */
.pthumb {
  --accent: var(--brand);
  width: 100%; height: 100%; display: grid; place-content: center; justify-items: center; gap: 10px;
  background:
    radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 60%),
    var(--surface-2);
  color: var(--accent);
}
.pthumb .i { width: 44px; height: 44px; stroke-width: 1.4; }
.pthumb span { font-size: 15px; font-weight: 600; color: var(--text); }
.badge {
  position: absolute; top: 12px; left: 12px;
  padding: 4px 10px; border-radius: 99px; font-size: 12px; font-weight: 600;
  background: var(--ink); color: var(--brand);
}
.product-card__body { display: flex; flex-direction: column; gap: 10px; padding: 16px; flex: 1; }
.product-card__cat { font-size: 13px; font-weight: 500; color: var(--muted); letter-spacing: .02em; }
/* Not: text-transform:uppercase, lang="tr" ile "WİNDOWS" üretir; bu yüzden kullanılmadı. */
.product-card__title { font-size: 18px; font-weight: 600; }
.product-card__title a:hover { color: var(--brand-700); }
.product-card__meta { display: grid; gap: 4px; font-size: 14px; color: var(--muted); }
.product-card__meta li { display: flex; align-items: center; gap: 6px; }
.product-card__meta .i { color: var(--ok); width: 15px; height: 15px; stroke-width: 2.4; }
.product-card__foot {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line);
}
.price { display: flex; flex-direction: column; line-height: 1.15; }
.price del { font-size: 13px; color: var(--muted); }
.price ins { text-decoration: none; font-size: 22px; font-weight: 700; }
.product-card .btn { min-height: 40px; padding: 8px 14px; font-size: 14px; }
.added_to_cart { font-size: 13px; color: var(--brand-700); font-weight: 600; } /* Woo "Sepeti görüntüle" linki */

@media (max-width: 1024px) { .products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) {
  .products { gap: 12px; }
  .product-card__body { padding: 12px; gap: 8px; }
  .product-card__title { font-size: 16px; }
  .product-card__meta { display: none; }
  .product-card__foot { flex-direction: column; align-items: stretch; }
  .price ins { font-size: 19px; }
}

/* 11. KATEGORİ KUTULARI --------------------------------------------------- */
.cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; }
.cat {
  --accent: var(--brand);
  display: flex; align-items: center; gap: 14px; padding: 18px;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
  transition: border-color .15s;
}
.cat:hover { border-color: var(--accent); }
.cat__icon {
  display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; flex-shrink: 0;
  background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent);
}
.cat strong { display: block; font-weight: 600; }
.cat small { color: var(--muted); font-size: 14px; }
.cat > .i { margin-left: auto; color: var(--muted); }
@media (max-width: 520px) { .cats { grid-template-columns: 1fr; } }
@media (min-width: 961px) {
  /* Masaüstünde 5 kutu yan yana: ikon üstte, metin altta */
  .cat { flex-direction: column; align-items: flex-start; gap: 12px; }
  .cat > .i { display: none; }
}

/* 12. DONANIMHABER GÜVEN ALANI -------------------------------------------- */
.dh {
  background: var(--surface); border-block: 1px solid var(--line);
}
.dh__intro { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: end; margin-bottom: 32px; }
.dh__seal {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 8px 16px 8px 8px; border-radius: 99px;
  background: var(--ok-soft); color: var(--ok); font-weight: 600; font-size: 15px;
}
.dh__seal-mark {
  display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%;
  background: var(--ok); color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .02em;
}
.dh__intro h2 { font-size: clamp(26px, 3.4vw, 38px); margin-block: 16px 10px; }
.dh__intro p { color: var(--muted); max-width: 60ch; }
.dh__checks { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 16px; font-weight: 500; font-size: 15px; }
.dh__checks li { display: inline-flex; align-items: center; gap: 8px; }

/* Slider: CSS scroll-snap (mobilde parmakla kaydırma), masaüstünde ok tuşları */
.slider { position: relative; }
.slider__track {
  display: grid; grid-auto-flow: column;
  grid-auto-columns: calc((100% - 32px) / 3);
  gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory;
  scrollbar-width: none; padding-bottom: 4px;
  overscroll-behavior-x: contain;
}
.slider__track::-webkit-scrollbar { display: none; }
.slider__nav { display: flex; gap: 8px; }
.slider__btn {
  display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px;
  border: 1px solid var(--line); background: var(--surface);
}
.slider__btn:hover { border-color: var(--brand); color: var(--brand-700); }
@media (max-width: 960px) { .slider__track { grid-auto-columns: calc((100% - 16px) / 2); } }
@media (max-width: 620px) { .slider__track { grid-auto-columns: 86%; } .slider__nav { display: none; } }

.review {
  scroll-snap-align: start;
  display: flex; flex-direction: column; gap: 14px;
  padding: 20px; border-radius: var(--radius);
  background: var(--bg); border: 1px solid var(--line);
}
.review__head { display: flex; align-items: center; gap: 12px; }
.avatar {
  display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0;
  background: var(--brand-soft); color: var(--brand-700); font-weight: 700; font-size: 17px;
}
.review__who { min-width: 0; }
.review__name { display: block; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dh-member {
  display: inline-flex; align-items: center; gap: 5px; margin-top: 2px;
  font-size: 12px; font-weight: 600; color: var(--ok);
}
.dh-member .tick { width: 16px; height: 16px; }
.dh-member .tick .i { width: 10px; height: 10px; }
.review__text {
  color: var(--text); font-size: 15px;
  display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden;
}
.review__foot {
  display: flex; justify-content: space-between; align-items: center; gap: 10px;
  margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line);
  font-size: 13px; color: var(--muted);
}
.review__product { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; color: var(--text); }
.review__product .tick { width: 16px; height: 16px; }
.review__product .tick .i { width: 10px; height: 10px; }

.dh__cta {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  margin-top: 28px; padding: 18px 20px; border-radius: var(--radius);
  background: var(--brand-soft);
}
.dh__cta p { font-weight: 500; }
@media (max-width: 760px) {
  .dh__intro { grid-template-columns: 1fr; }
  .dh__cta .btn { width: 100%; }
}

/* 13. NASIL ÇALIŞIR ------------------------------------------------------- */
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; counter-reset: step; }
.step {
  position: relative; padding: 24px; border-radius: var(--radius);
  background: var(--surface); border: 1px solid var(--line);
}
.step__no {
  display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px;
  background: var(--ink); color: var(--brand); font-weight: 700; margin-bottom: 16px;
}
.step h3 { font-size: 19px; margin-bottom: 6px; }
.step p { color: var(--muted); font-size: 15px; }
@media (max-width: 760px) { .steps { grid-template-columns: 1fr; } }

/* 14. SSS ----------------------------------------------------------------- */
.faq { display: grid; gap: 10px; max-width: 820px; }
.faq details {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
}
.faq summary {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  padding: 18px 20px; font-weight: 600; cursor: pointer; list-style: none;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary .i { transition: transform .2s; color: var(--muted); }
.faq details[open] summary .i { transform: rotate(90deg); color: var(--brand-700); }
.faq details > div { padding: 0 20px 18px; color: var(--muted); }

/* 15. FOOTER -------------------------------------------------------------- */
.site-footer { background: var(--ink); color: #b9c4ca; padding-block: 48px 24px; margin-top: clamp(48px, 7vw, 80px); }
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; }
.site-footer .logo { color: #fff; }
.site-footer .logo b { color: var(--brand); }
.footer__about { margin-top: 14px; font-size: 15px; max-width: 34ch; }
.site-footer h4 { color: #fff; font-size: 15px; margin-bottom: 12px; }
.site-footer li + li { margin-top: 8px; }
.site-footer a:hover { color: var(--brand); }
.footer__bottom {
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px;
  margin-top: 40px; padding-top: 20px; border-top: 1px solid #1f2a30; font-size: 14px;
}
@media (max-width: 860px) { .footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .footer__grid { grid-template-columns: 1fr; } }

.wa-float {
  position: fixed; right: 16px; bottom: 16px; z-index: 60;
  display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%;
  background: var(--brand); color: var(--on-brand);
  box-shadow: 0 6px 20px rgba(0, 0, 0, .2);
}
.wa-float .i { width: 28px; height: 28px; }

/* 16. HAREKET AZALTMA ----------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .announce { overflow-x: auto; }
  .announce__track { animation: none; }
  *, *::before, *::after { transition: none !important; }
}

/* 17. ÜRÜN DETAY SAYFASI --------------------------------------------------
   Woo: woocommerce/content-single-product.php
   Sınıflar Woo çıktısıyla eşleşir: form.cart, .quantity, .qty,
   .single_add_to_cart_button, .price del / ins                              */

/* Breadcrumb — woocommerce_breadcrumb() çıktısı bu yapıya uyarlanır */
.breadcrumb { padding-top: 20px; font-size: 14px; color: var(--muted); }
.breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.breadcrumb li + li::before { content: "/"; margin-right: 6px; opacity: .5; }
.breadcrumb a:hover { color: var(--brand-700); }
.breadcrumb [aria-current] { color: var(--text); font-weight: 500; }

.pdp {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 56px); align-items: start;
  padding-block: 20px clamp(40px, 6vw, 64px);
}
.pdp__media {
  position: sticky; top: calc(var(--header-h) + 64px);
  aspect-ratio: 1 / 1; border-radius: 18px; overflow: hidden;
  border: 1px solid var(--line); background: var(--surface-2);
}
.pdp__media img { width: 100%; height: 100%; object-fit: cover; }
.pdp__media .pthumb .i { width: 96px; height: 96px; stroke-width: 1.1; }
.pdp__media .pthumb span { font-size: 22px; }
.pdp__media .badge { top: 16px; left: 16px; font-size: 13px; padding: 5px 12px; }

.pdp__cat { font-size: 14px; font-weight: 500; color: var(--brand-700); }
.pdp h1 { font-size: clamp(28px, 3.6vw, 42px); letter-spacing: -.02em; margin-block: 6px 16px; }
.pdp__platforms { display: flex; flex-wrap: wrap; gap: 8px; margin: -4px 0 20px; }
.platform {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 12px 5px 10px; border-radius: 99px; font-size: 13px; font-weight: 600;
  background: var(--surface); color: var(--text); border: 1px solid var(--line);
}
.platform .i { width: 16px; height: 16px; color: var(--brand-700); }
.pdp__points { display: grid; gap: 10px; margin-bottom: 24px; }
.pdp__points li { display: flex; align-items: center; gap: 10px; }

.buybox {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: 18px; padding: clamp(18px, 2.5vw, 24px); box-shadow: var(--shadow);
}
.buybox__price { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.buybox .price { flex-direction: row; align-items: baseline; gap: 12px; }
.buybox .price ins { font-size: clamp(34px, 4vw, 42px); letter-spacing: -.02em; }
.buybox .price del { font-size: 18px; }
.discount {
  padding: 5px 12px; border-radius: 99px; font-size: 13px; font-weight: 600;
  background: var(--ink); color: var(--brand);
}
.buybox__note { font-size: 14px; color: var(--muted); margin-top: 2px; }
.stock {
  display: flex; align-items: center; gap: 10px; margin-block: 16px;
  color: var(--ok); font-weight: 600; font-size: 15px;
}
.stock::before {
  content: ""; width: 8px; height: 8px; border-radius: 50%;
  background: currentColor; box-shadow: 0 0 0 4px var(--ok-soft);
}

/* Sepete ekle formu: adet seçici + büyük turkuaz buton */
form.cart { display: flex; gap: 10px; }
.quantity {
  display: flex; align-items: center; height: 60px; flex-shrink: 0;
  border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2);
}
.quantity button {
  width: 42px; height: 100%; display: grid; place-items: center;
  font-size: 22px; line-height: 1; color: var(--muted);
}
.quantity button:hover { color: var(--text); }
.quantity .qty {
  width: 36px; height: 100%; border: 0; background: transparent; text-align: center;
  font-weight: 600; font-size: 17px; -moz-appearance: textfield; appearance: textfield;
}
.quantity .qty:focus { outline: none; }
.quantity .qty::-webkit-inner-spin-button,
.quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.single_add_to_cart_button { flex: 1; min-height: 60px; font-size: 18px; border-radius: 12px; }
.single_add_to_cart_button .i { width: 22px; height: 22px; }

/* Güven rozetleri — butonun hemen altı */
.badges { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
@media (max-width: 380px) {
  /* Çok dar ekranlarda rozetler alt alta, ikon solda */
  .badges { grid-template-columns: 1fr; }
  .badges li { flex-direction: row; justify-content: flex-start; text-align: left; padding: 10px 12px; }
  .pay-aside .badges li { padding: 10px 12px; }
}
.badges li {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 8px; border-radius: 12px; text-align: center;
  background: var(--brand-soft); font-size: 13px; font-weight: 600; line-height: 1.25;
}
.badges .i { width: 22px; height: 22px; color: var(--brand-700); }

.pay-hint {
  display: flex; align-items: flex-start; gap: 12px; margin-top: 16px;
  padding: 14px 16px; border-radius: 12px; border: 1px dashed var(--line);
  font-size: 14px; color: var(--muted);
}
.pay-hint .i { color: var(--brand-700); margin-top: 1px; }
.pay-hint strong { color: var(--text); font-weight: 600; }
.buybox__help { margin-top: 14px; text-align: center; font-size: 14px; color: var(--muted); }
.buybox__help a { color: var(--brand-700); font-weight: 600; }
.buybox__help a:hover { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 860px) {
  .pdp { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .pdp__media { position: static; aspect-ratio: 4 / 3; }
  .pdp__media .pthumb .i { width: 64px; height: 64px; }
}
@media (max-width: 380px) {
  /* Çok dar ekran: adet seçici üstte tam genişlik, buton altında */
  form.cart { flex-wrap: wrap; }
  form.cart .quantity { flex: 1; justify-content: space-between; }
  .single_add_to_cart_button { flex-basis: 100%; }
}
@media (max-width: 420px) {
  .badges { gap: 6px; }
  .badges li { padding: 12px 4px; font-size: 12px; }
}

/* Açıklama + teknik özellikler */
.pdp-nav {
  display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none;
  border-bottom: 1px solid var(--line); margin-bottom: 24px;
}
.pdp-nav::-webkit-scrollbar { display: none; }
.pdp-nav a {
  padding: 12px 16px; margin-bottom: -1px; white-space: nowrap;
  font-weight: 500; color: var(--muted); border-bottom: 2px solid transparent;
}
.pdp-nav a:hover { color: var(--text); border-color: var(--brand); }

.pdp-body { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: start; }
.panel {
  background: var(--surface); border: 1px solid var(--line); border-radius: 18px;
  padding: clamp(20px, 3vw, 32px); scroll-margin-top: 150px;
}
.panel + .panel { margin-top: 16px; }
.panel > h2 { font-size: 22px; margin-bottom: 16px; }

.prose { color: var(--muted); }
.prose > * + * { margin-top: 14px; }
.prose h3 { color: var(--text); font-size: 18px; margin-top: 26px; }
.prose strong { color: var(--text); font-weight: 600; }
.prose ul { display: grid; gap: 8px; }
.prose ul li { position: relative; padding-left: 22px; }
.prose ul li::before {
  content: ""; position: absolute; left: 4px; top: .62em;
  width: 7px; height: 7px; border-radius: 50%; background: var(--brand);
}

/* wc_display_product_attributes() tablosu bu sınıfı alır */
.specs { width: 100%; border-collapse: collapse; font-size: 15px; }
.specs th, .specs td { text-align: left; vertical-align: top; padding: 12px 0; border-bottom: 1px solid var(--line); }
.specs tr:last-child th, .specs tr:last-child td { border-bottom: 0; }
.specs th { width: 40%; padding-right: 16px; font-weight: 500; color: var(--muted); }
.specs td { font-weight: 500; }
.specs-group { margin-top: 28px; margin-bottom: 4px; font-size: 16px; font-weight: 600; }

.pdp-aside { position: sticky; top: calc(var(--header-h) + 64px); }
.mini-steps { display: grid; gap: 16px; counter-reset: ms; }
.mini-steps li { display: flex; gap: 12px; }
.mini-steps li::before {
  counter-increment: ms; content: counter(ms); flex-shrink: 0;
  display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px;
  background: var(--ink); color: var(--brand); font-weight: 700; font-size: 14px;
}
.mini-steps strong { display: block; font-weight: 600; }
.mini-steps span { display: block; font-size: 14px; color: var(--muted); }
.pdp-aside .btn { margin-top: 20px; }

@media (max-width: 960px) {
  .pdp-body { grid-template-columns: minmax(0, 1fr); }
  .pdp-aside { position: static; }
}

/* Mobil sabit satın alma çubuğu: ana buton ekrandan çıkınca belirir (JS: data-buy-bar) */
.buy-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 55;
  display: none; align-items: center; gap: 12px;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  background: var(--surface); border-top: 1px solid var(--line);
  box-shadow: 0 -6px 20px rgba(0, 0, 0, .08);
  transform: translateY(110%); transition: transform .2s;
}
.buy-bar.is-visible { transform: none; }
.buy-bar .price ins { font-size: 20px; }
.buy-bar .btn { flex: 1; min-height: 48px; }
@media (max-width: 860px) {
  .buy-bar { display: flex; }
  .has-buy-bar { padding-bottom: 76px; }
  .wa-float { transition: bottom .2s; }
  .buy-bar-on .wa-float { bottom: 88px; }
}

/* 18. ÖDEME / SİPARİŞ ALINDI ----------------------------------------------
   Woo: woocommerce/checkout/thankyou.php + BACS (Havale/EFT) ödeme yöntemi.
   Banka kartı her iki temada da koyu kalır (kart hissi + IBAN okunurluğu). */

/* Ödeme sayfalarında sade header: arama ve kategori menüsü yok (dikkat dağıtmaz) */
.site-header--minimal .header__bar { grid-template-columns: 1fr auto; grid-template-areas: "logo actions"; }
.secure-note {
  display: inline-flex; align-items: center; gap: 6px; margin-right: 6px;
  font-size: 14px; font-weight: 500; color: var(--ok);
}

/* Adım göstergesi */
.checkout-steps {
  display: flex; justify-content: center; align-items: center; gap: 8px;
  padding-top: 28px; font-size: 14px; font-weight: 500; color: var(--muted);
}
.checkout-steps li { display: flex; align-items: center; gap: 8px; }
.checkout-steps li + li::before {
  content: ""; width: 32px; height: 2px; border-radius: 2px; margin-right: 0; background: var(--line);
}
.checkout-steps .is-done, .checkout-steps .is-current { color: var(--text); }
.checkout-steps .is-done + li::before { background: var(--brand); }
.step-dot {
  display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%;
  font-size: 12px; font-weight: 700; background: var(--surface-2); border: 1px solid var(--line);
}
.step-dot .i { width: 13px; height: 13px; stroke-width: 3; }
.is-done .step-dot { background: var(--ok); border-color: var(--ok); color: #fff; }
.is-current .step-dot { background: var(--ink); border-color: var(--brand); color: var(--brand); }
@media (max-width: 560px) {
  .checkout-steps li:not(.is-current) .step-label { display: none; }
  .checkout-steps li + li::before { width: 18px; }
}

/* Sipariş alındı başlığı */
.order-hero { text-align: center; padding-block: 28px 32px; }
.order-hero__icon {
  display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 16px;
  border-radius: 50%; background: var(--ok); color: #fff;
  box-shadow: 0 0 0 8px var(--ok-soft);
}
.order-hero__icon .i { width: 32px; height: 32px; stroke-width: 2.6; }
.order-hero h1 { font-size: clamp(26px, 3.4vw, 36px); }
.order-hero p { color: var(--muted); margin-top: 8px; }
.order-no {
  display: inline-flex; align-items: center; gap: 12px; margin-top: 18px;
  padding: 6px 6px 6px 16px; border-radius: 12px;
  background: var(--surface); border: 1px solid var(--line); font-weight: 500;
}
.order-no b { font-family: var(--mono); font-size: 18px; font-weight: 700; letter-spacing: .04em; }

.pay-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: start; }
.pay-main { display: grid; gap: 16px; min-width: 0; }
.pay-layout > .panel + .panel { margin-top: 0; } /* yan yana panellerde dikey kayma olmasın */
.pay-aside .badges li { padding: 12px 6px; font-size: 12px; }

/* Dikkat çekici uyarı */
.notice {
  display: flex; gap: 14px; padding: 16px 18px; border-radius: 14px;
  background: var(--warn-soft); border: 1px solid color-mix(in srgb, var(--warn) 40%, transparent);
}
.notice__icon { color: var(--warn); margin-top: 1px; flex-shrink: 0; }
.notice__icon .i { width: 24px; height: 24px; }
.notice strong { display: block; font-weight: 600; margin-bottom: 2px; }
.notice p { font-size: 15px; color: var(--muted); }
.notice mark {
  padding: 1px 8px; border-radius: 6px; white-space: nowrap;
  background: var(--warn); color: #fff; font-family: var(--mono); font-weight: 700;
}
:root[data-theme="dark"] .notice mark { color: #1a1206; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .notice mark { color: #1a1206; } }

/* Banka bilgileri kartı */
.bank-card {
  position: relative; overflow: hidden;
  padding: clamp(20px, 3vw, 28px); border-radius: 20px;
  background: #0b0f12; color: #e8eef1; box-shadow: var(--shadow);
  border: 1px solid rgba(255, 255, 255, .08); /* koyu temada zeminden ayrışsın */
}
.bank-card::after {
  content: ""; position: absolute; top: -140px; right: -100px; width: 340px; height: 340px;
  background: radial-gradient(circle, rgba(26, 188, 156, .22), transparent 70%); pointer-events: none;
}
.bank-card > * { position: relative; z-index: 1; }
.bank-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.bank-logo { display: flex; align-items: center; gap: 12px; min-width: 0; }
.bank-logo__mark {
  display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; flex-shrink: 0;
  background: #fff; color: #0b0f12; overflow: hidden;
}
.bank-logo__mark img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.bank-logo strong { display: block; font-size: 18px; font-weight: 600; }
.bank-logo small { display: block; font-size: 13px; color: #93a2ab; }
.bank-card__tag {
  padding: 5px 12px; border-radius: 99px; white-space: nowrap;
  border: 1px solid rgba(26, 188, 156, .45); color: var(--brand); font-size: 13px; font-weight: 600;
}
.bank-rows { display: grid; gap: 10px; }
.bank-row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 12px 14px; border-radius: 12px;
  background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .08);
}
.bank-row__text { min-width: 0; }
.bank-row__label { display: block; font-size: 13px; color: #93a2ab; }
.bank-row__value { display: block; font-weight: 600; font-size: 16px; overflow-wrap: anywhere; }
.bank-row--iban { padding: 16px 14px; background: rgba(26, 188, 156, .1); border-color: rgba(26, 188, 156, .4); }
.bank-row--iban .bank-row__value {
  font-family: var(--mono); font-size: clamp(15px, 2.1vw, 19px); letter-spacing: .03em; color: #fff;
}
.bank-card__foot { margin-top: 16px; font-size: 13px; color: #93a2ab; display: flex; gap: 8px; align-items: flex-start; }
.bank-card__foot .i { color: var(--brand); flex-shrink: 0; }

/* Kopyala butonu (JS: data-copy) */
.copy-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; flex-shrink: 0;
  min-height: 40px; padding: 8px 14px; border-radius: 10px;
  background: rgba(255, 255, 255, .09); color: #e8eef1; font-size: 14px; font-weight: 600;
  transition: background-color .15s, color .15s;
}
.copy-btn:hover { background: rgba(255, 255, 255, .16); }
.copy-btn .i { width: 17px; height: 17px; }
.copy-btn .i-done { display: none; }
.copy-btn.is-copied .i-copy { display: none; }
.copy-btn.is-copied .i-done { display: block; stroke-width: 2.6; }
.copy-btn--primary, .copy-btn.is-copied { background: var(--brand); color: var(--on-brand); }
.copy-btn--primary:hover { background: var(--brand-600); }
.copy-btn--light { background: var(--surface-2); color: var(--text); }
.copy-btn--light:hover { background: var(--line); }

@media (max-width: 520px) {
  .bank-row--iban { flex-direction: column; align-items: stretch; }
  /* 32 karakterlik IBAN dar ekranda tek satıra sığsın */
  .bank-row--iban .bank-row__value { font-size: min(17px, calc((100vw - 104px) / 19.5)); letter-spacing: 0; white-space: nowrap; }
  .bank-row--iban .copy-btn { min-height: 46px; }
  .bank-row:not(.bank-row--iban) .copy-btn { padding: 8px 10px; }
  .bank-row:not(.bank-row--iban) .copy-btn [data-copy-label] {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
  }
  .bank-card__head { flex-wrap: wrap; }
}

/* WhatsApp dekont butonu */
.wa-cta { text-align: center; }
.wa-cta h2 { font-size: 20px; margin-bottom: 6px; }
.wa-cta > p { color: var(--muted); margin-bottom: 18px; }
.btn--wa {
  width: 100%; min-height: 66px; padding: 14px 20px; gap: 12px;
  font-size: clamp(16px, 2vw, 19px); border-radius: 14px; white-space: normal; text-align: left;
}
.btn--wa .i { width: 28px; height: 28px; stroke-width: 1.9; }
.wa-cta small { display: block; margin-top: 12px; font-size: 13px; color: var(--muted); }

/* Sipariş özeti */
.pay-aside { position: sticky; top: calc(var(--header-h) + 24px); }
.summary-item {
  display: flex; justify-content: space-between; gap: 12px;
  padding-block: 12px; border-bottom: 1px solid var(--line);
}
.summary-item:first-of-type { padding-top: 0; }
.summary-item small { display: block; font-size: 13px; color: var(--muted); }
.summary-item span:last-child { font-weight: 600; white-space: nowrap; }
.summary-total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 14px; font-weight: 600; }
.summary-total strong { font-size: 28px; letter-spacing: -.02em; }
.deliver-to {
  display: flex; gap: 10px; margin-top: 18px; padding: 14px; border-radius: 12px;
  background: var(--brand-soft); font-size: 14px; color: var(--muted);
}
.deliver-to .i { color: var(--brand-700); margin-top: 1px; }
.deliver-to b { display: block; color: var(--text); font-weight: 600; overflow-wrap: anywhere; }
.pay-aside .btn { margin-top: 16px; }

@media (max-width: 960px) {
  .pay-layout { grid-template-columns: minmax(0, 1fr); }
  .pay-aside { position: static; }
}

/* 19. TESLİMAT PORTALI ----------------------------------------------------
   semlisans.com/teslimat — bağımsız, sade sayfa.
   WP: page-teslimat.php (özel sayfa şablonu); doğrulama sunucuda yapılır.  */

/* Kopyalama durumunda ikon değişimi: tüm [data-copy] butonlarında geçerli */
[data-copy] .i-done { display: none; }
[data-copy].is-copied .i-copy { display: none; }
[data-copy].is-copied .i-done { display: block; }
.btn[data-copy].is-copied { background: var(--ok); color: #fff; }

.portal-header { border-bottom: 1px solid var(--line); background: var(--surface); }
.portal-header .header__bar { grid-template-columns: 1fr auto; grid-template-areas: "logo actions"; }
.portal-header .link-more { font-size: 15px; margin-right: 4px; }

.portal {
  display: grid; justify-items: center; align-content: start;
  min-height: calc(100vh - 150px); padding-block: clamp(32px, 7vh, 72px) 48px;
}
.portal__card {
  width: min(100%, 480px);
  padding: clamp(24px, 4vw, 36px); border-radius: 20px;
  background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow);
}
.portal__icon {
  display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 18px;
  border-radius: 16px; background: var(--brand-soft); color: var(--brand-700);
}
.portal__icon .i { width: 28px; height: 28px; }
.portal__icon--warn { background: var(--warn-soft); color: var(--warn); }
.portal h1 { font-size: clamp(24px, 3vw, 30px); outline: none; }
.portal__lead { color: var(--muted); margin-top: 6px; }

.field { display: grid; gap: 6px; margin-top: 18px; }
.field label { font-size: 14px; font-weight: 500; }
.field input { width: 100%; min-width: 0; }
.field input {
  height: 52px; padding: 0 16px; border-radius: 12px;
  border: 1px solid var(--line); background: var(--surface-2);
  font-size: 16px; /* 16px: iOS'ta odaklanınca sayfa yakınlaşmaz */
  transition: border-color .15s, background-color .15s;
}
.field input::placeholder { color: var(--muted); opacity: .7; }
.field input:focus { outline: none; border-color: var(--brand); background: var(--surface); }
.field small { font-size: 13px; color: var(--muted); }

.form-error {
  display: flex; gap: 10px; margin-top: 18px; padding: 12px 14px; border-radius: 12px;
  background: var(--err-soft); color: var(--err); font-size: 14px; font-weight: 500;
}
.form-error[hidden] { display: none; }
.form-error .i { margin-top: 1px; }
.portal form .btn { margin-top: 22px; }
.portal__note {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  margin-top: 16px; font-size: 13px; color: var(--muted); text-align: center;
}

/* Başarılı durum */
.portal__wide { width: min(100%, 760px); display: grid; gap: 16px; }
.success-head { text-align: center; margin-bottom: 8px; }
.success-head .order-hero__icon { width: 56px; height: 56px; }
.success-head .order-hero__icon .i { width: 28px; height: 28px; }

.license {
  text-align: center; padding: clamp(22px, 4vw, 32px); border-radius: 20px;
  background: var(--surface); border: 2px solid var(--brand); box-shadow: var(--shadow);
}
.license__meta { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 12px; border-radius: 99px; font-size: 13px; font-weight: 600;
  background: var(--surface-2); color: var(--muted);
}
.chip--brand { background: var(--brand-soft); color: var(--brand-700); }
.license__label { display: block; margin-top: 18px; font-size: 14px; color: var(--muted); }
.license__key {
  display: block; margin-block: 8px 18px; padding: 20px 12px; border-radius: 14px;
  background: var(--surface-2); border: 1px dashed var(--line);
  font-family: var(--mono); font-weight: 700; text-transform: uppercase;
  font-size: min(30px, calc((100vw - 96px) / 20)); letter-spacing: .06em;
  white-space: nowrap; overflow-x: auto; user-select: all; -webkit-user-select: all;
}
.license .btn { min-width: min(100%, 280px); }
.license__hint { margin-top: 12px; font-size: 13px; color: var(--muted); }

/* Kurulum talimatları — native <details> akordeon */
.guide__head { margin-bottom: 8px; }
.guide__head p { color: var(--muted); margin-top: 4px; }
.guide details { border-top: 1px solid var(--line); }
.guide details:first-of-type { border-top: 0; }
.guide summary {
  display: flex; align-items: center; gap: 14px; padding-block: 16px;
  font-weight: 600; cursor: pointer; list-style: none;
}
.guide summary::-webkit-details-marker { display: none; }
.guide__no {
  display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; flex-shrink: 0;
  background: var(--ink); color: var(--brand); font-size: 14px; font-weight: 700;
}
.guide summary > .i { margin-left: auto; color: var(--muted); transition: transform .2s; }
.guide details[open] summary > .i { transform: rotate(90deg); color: var(--brand-700); }
.guide__body { padding: 0 0 20px 46px; color: var(--muted); }
.guide__body p + p { margin-top: 8px; }
.guide__body strong { color: var(--text); font-weight: 600; }
.shot { margin-top: 14px; max-width: 560px; }
.shot img { width: 100%; height: auto; border-radius: 12px; border: 1px solid var(--line); }
/* Ekran görüntüsü yüklenene kadar yer tutucu */
.shot__ph {
  display: grid; place-content: center; justify-items: center; gap: 8px;
  aspect-ratio: 16 / 9; border-radius: 12px; border: 1px dashed var(--line);
  background: var(--surface-2); color: var(--muted); font-size: 13px; text-align: center; padding: 12px;
}
.shot__ph .i { width: 32px; height: 32px; stroke-width: 1.4; }
.shot figcaption { margin-top: 8px; font-size: 13px; color: var(--muted); }
kbd {
  display: inline-block; padding: 1px 7px; border-radius: 6px;
  border: 1px solid var(--line); border-bottom-width: 2px; background: var(--surface);
  font-family: var(--mono); font-size: .85em; color: var(--text); white-space: nowrap;
}
@media (max-width: 520px) {
  .guide__body { padding-left: 0; }
}

.support {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.support h2 { font-size: 18px; }
.support p { color: var(--muted); font-size: 15px; }
@media (max-width: 520px) { .support .btn { width: 100%; } }

.portal-footer { padding: 24px 16px; text-align: center; font-size: 14px; color: var(--muted); border-top: 1px solid var(--line); }
.portal-footer a { color: var(--brand-700); font-weight: 500; }

/* 20. SEPET + SİPARİŞ FORMU -----------------------------------------------
   Woo: woocommerce/cart/cart.php, cart-totals.php, checkout/form-checkout.php.
   Sınıflar Woo ile eşleşir: .woocommerce-cart-form, [name=update_cart],
   .checkout-button, #place_order, .wc_payment_methods                      */
.page-title { margin-block: 8px 20px; }
.page-title h1 { font-size: clamp(26px, 3.2vw, 34px); }
.page-title p { color: var(--muted); margin-top: 4px; }
.btn--sm { min-height: 44px; padding: 8px 16px; font-size: 14px; }
.btn:disabled { opacity: .45; cursor: not-allowed; }

.cart-item {
  display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 16px; align-items: center;
  padding-block: 18px; border-top: 1px solid var(--line);
}
.cart-item:first-child { border-top: 0; padding-top: 0; }
.cart-item__thumb { width: 72px; aspect-ratio: 1; border-radius: 12px; overflow: hidden; border: 1px solid var(--line); }
.cart-item__thumb .pthumb .i { width: 30px; height: 30px; }
.cart-item__thumb .pthumb span { display: none; }
.cart-item__name { font-size: 17px; font-weight: 600; }
.cart-item__name a:hover { color: var(--brand-700); }
.cart-item__meta { display: flex; align-items: center; gap: 6px; margin-top: 2px; font-size: 13px; color: var(--muted); }
.cart-item__meta .i { width: 14px; height: 14px; color: var(--ok); stroke-width: 2.4; }
.cart-item__controls { display: flex; align-items: center; gap: 14px; margin-top: 10px; }
.quantity--sm { height: 40px; border-radius: 10px; }
.quantity--sm button { width: 34px; font-size: 18px; }
.quantity--sm .qty { width: 30px; font-size: 15px; }
.remove { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; color: var(--muted); }
.remove:hover { color: var(--err); }
.cart-item__price .price { align-items: flex-end; }
.cart-item__price .price ins { font-size: 20px; }

.cart-actions {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap;
  margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line);
}
.coupon summary { cursor: pointer; list-style: none; padding-block: 10px; color: var(--brand-700); font-weight: 600; font-size: 15px; }
.coupon summary::-webkit-details-marker { display: none; }
.coupon__row { display: flex; gap: 8px; margin-top: 4px; }
.coupon__row input {
  flex: 1; min-width: 0; height: 44px; padding: 0 14px; border-radius: 10px;
  border: 1px solid var(--line); background: var(--surface-2); font-size: 16px;
}
.coupon__row input:focus { outline: none; border-color: var(--brand); }

.saving { color: var(--ok); }
.totals .btn--lg { margin-top: 18px; }
.totals .badges { margin-top: 14px; }
.continue { display: block; margin-top: 14px; text-align: center; font-size: 14px; font-weight: 500; color: var(--muted); }
.continue:hover { color: var(--brand-700); }

.cart-empty { text-align: center; padding-block: 24px; }
.cart-empty .portal__icon { margin-inline: auto; }
.cart-empty p { color: var(--muted); margin-block: 6px 20px; }

@media (max-width: 560px) {
  .cart-item { grid-template-columns: 56px minmax(0, 1fr); align-items: start; }
  .cart-item__thumb { width: 56px; }
  .cart-item__price { grid-column: 2; }
  .cart-item__price .price { align-items: flex-start; }
}

/* Sipariş formu */
.form-section ~ .form-section { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.form-section > h2 { display: flex; align-items: center; gap: 10px; font-size: 19px; margin-bottom: 4px; }
.form-section > h2 .guide__no { width: 28px; height: 28px; font-size: 13px; border-radius: 8px; }
.form-section > p { color: var(--muted); font-size: 15px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.field .req { color: var(--err); }
.field .opt { color: var(--muted); font-weight: 400; }
.field input:user-invalid { border-color: var(--err); }
@media (max-width: 560px) { .field-row { grid-template-columns: 1fr; } }

.invoice { margin-top: 18px; }
.invoice summary {
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer; list-style: none;
  font-size: 15px; font-weight: 600; color: var(--brand-700);
}
.invoice summary::-webkit-details-marker { display: none; }
.invoice summary .i { transition: transform .2s; }
.invoice[open] summary .i { transform: rotate(90deg); }

.wc_payment_methods { margin-top: 14px; }
.pay-option {
  display: flex; align-items: flex-start; gap: 14px; padding: 16px; cursor: pointer;
  border: 2px solid var(--brand); border-radius: 14px; background: var(--brand-soft);
}
.pay-option input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--brand); flex-shrink: 0; }
.pay-option strong { display: flex; align-items: center; gap: 8px; }
.pay-option strong .i { color: var(--brand-700); }
.pay-option p { font-size: 14px; color: var(--muted); margin-top: 2px; }

.check { display: flex; align-items: flex-start; gap: 12px; margin-top: 16px; font-size: 14px; color: var(--muted); cursor: pointer; }
.check input { width: 20px; height: 20px; margin-top: 1px; accent-color: var(--brand); flex-shrink: 0; }
.check a { color: var(--brand-700); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

.place-order { margin-top: 22px; }
.place-order__total { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; font-weight: 600; }
.place-order__total strong { font-size: 26px; letter-spacing: -.02em; }
.place-order .portal__note { margin-top: 12px; }

/* 21. KATEGORİ / MAĞAZA ---------------------------------------------------
   Woo: woocommerce/archive-product.php. Sıralama formu ve sayfalama
   Woo'nun kendi çıktısıdır (.woocommerce-ordering, .woocommerce-pagination) */
.cat-head { padding-block: 8px 24px; }
.cat-head h1 { font-size: clamp(28px, 3.6vw, 40px); }
.cat-head p { color: var(--muted); margin-top: 8px; max-width: 70ch; }
.shop-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
.chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.chips::-webkit-scrollbar { display: none; }
.chips a {
  padding: 8px 14px; border-radius: 99px; white-space: nowrap;
  border: 1px solid var(--line); background: var(--surface); font-size: 14px; font-weight: 500; color: var(--muted);
}
.chips a:hover { border-color: var(--brand); color: var(--text); }
.chips a[aria-current] { background: var(--ink); border-color: var(--ink); color: var(--brand); }
.chips small { margin-left: 4px; opacity: .7; }
.woocommerce-ordering { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--muted); }
.woocommerce-ordering select {
  height: 42px; padding: 0 12px; border-radius: 10px;
  border: 1px solid var(--line); background: var(--surface); color: var(--text); font: inherit; font-size: 14px;
}
.woocommerce-result-count { font-size: 14px; color: var(--muted); }

.woocommerce-pagination ul { display: flex; justify-content: center; gap: 6px; margin-top: 32px; }
/* Woo hem <ul>'ye hem numaralara .page-numbers verir; yalnızca a/span hedeflenir */
.woocommerce-pagination a.page-numbers,
.woocommerce-pagination span.page-numbers {
  display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px;
  border-radius: 10px; border: 1px solid var(--line); background: var(--surface); font-weight: 600;
}
.woocommerce-pagination a.page-numbers:hover { border-color: var(--brand); color: var(--brand-700); }
.woocommerce-pagination .current { background: var(--brand); border-color: var(--brand); color: var(--on-brand); }
.cat-seo { margin-top: clamp(40px, 6vw, 64px); }

/* 22. GENEL İÇERİK SAYFASI ------------------------------------------------
   Woo/WP: page.php — Hakkımızda, Mesafeli Satış, İade, KVKK vb.          */
.page-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 24px; align-items: start; padding-top: 16px; }
.page-article { padding: clamp(22px, 4vw, 48px); }
.page-article h1 { font-size: clamp(28px, 3.4vw, 38px); }
.page-article > .notice { margin-bottom: 24px; }
.page-meta { margin-top: 8px; padding-bottom: 20px; margin-bottom: 24px; border-bottom: 1px solid var(--line); font-size: 14px; color: var(--muted); }
.toc { margin-block: 24px 8px; padding: 18px 20px; border-radius: 14px; background: var(--surface-2); }
.toc strong { display: block; font-size: 15px; margin-bottom: 8px; }
.toc ol { list-style: decimal; padding-left: 20px; display: grid; gap: 6px; font-size: 15px; color: var(--muted); }
.toc a:hover { color: var(--brand-700); }
.prose--doc { color: var(--text); font-size: 17px; line-height: 1.75; max-width: 72ch; }
.prose--doc > * + * { margin-top: 16px; }
.prose--doc h2 { font-size: 21px; margin-top: 36px; scroll-margin-top: 140px; }
.prose--doc ul li::before { top: .7em; }
.page-aside { position: sticky; top: calc(var(--header-h) + 64px); display: grid; gap: 16px; }
.page-aside .panel { padding: 18px; }
.page-aside h2 { font-size: 15px; margin-bottom: 8px; color: var(--muted); font-weight: 500; }
.page-nav a {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 10px 12px; border-radius: 10px; font-size: 15px; font-weight: 500;
}
.page-nav a:hover { background: var(--surface-2); }
.page-nav a[aria-current] { background: var(--brand-soft); color: var(--brand-700); font-weight: 600; }
.page-nav .i { width: 16px; height: 16px; color: var(--muted); }
.page-aside .btn { margin-top: 12px; }
@media (max-width: 960px) {
  .page-layout { grid-template-columns: minmax(0, 1fr); }
  .page-aside { position: static; }
}

/* Doldurulacak alan işareti (yayın öncesi kendi bilginizle değiştirin) */
.ph { padding: 0 5px; border-radius: 5px; background: var(--warn-soft); color: var(--warn); font-weight: 600; }

/* Satıcı / iletişim bilgi listesi */
.info-list { display: grid; gap: 0; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.prose ul.info-list { gap: 0; }
.prose ul.info-list li { padding: 12px 16px; }
.prose ul.info-list li::before { content: none; }
.info-list li {
  display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 12px;
  padding: 12px 16px; border-top: 1px solid var(--line); font-size: 15px;
}
.info-list li:first-child { border-top: 0; }
.info-list span { color: var(--muted); }
.info-list b { font-weight: 500; color: var(--text); overflow-wrap: anywhere; }
@media (max-width: 520px) { .info-list li { grid-template-columns: 1fr; gap: 2px; } }

/* 23. İLETİŞİM, 404, ARAMA, BİLDİRİM -------------------------------------- */
.contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-block: 8px 28px; }
.contact-card {
  display: grid; gap: 6px; padding: 18px; border-radius: 14px;
  border: 1px solid var(--line); background: var(--surface-2);
}
.contact-card .trust__icon { margin-bottom: 4px; }
.contact-card strong { font-size: 16px; }
.contact-card p { font-size: 14px; color: var(--muted); }
.contact-card a.link-more { font-size: 15px; }
@media (max-width: 760px) { .contact-grid { grid-template-columns: 1fr; } }

.error-page { text-align: center; padding-block: clamp(40px, 8vh, 80px) 24px; }
.error-page__code {
  font-size: clamp(72px, 14vw, 140px); font-weight: 700; line-height: 1; letter-spacing: -.04em;
  color: var(--brand-700);
}
.error-page h1 { font-size: clamp(24px, 3vw, 32px); margin-top: 8px; }
.error-page p { color: var(--muted); margin-top: 8px; }
.error-page .search { margin: 24px auto 0; }
.error-page .hero__cta { justify-content: center; }

.search-empty { text-align: center; padding: 32px 16px; }
.search-empty .portal__icon { margin-inline: auto; }
.search-empty p { color: var(--muted); margin-block: 6px 18px; }

/* "Sepete eklendi" bildirimi — WP'de Woo'nun added_to_cart olayıyla gösterilebilir */
.toast {
  position: fixed; left: 50%; bottom: 24px; z-index: 80;
  display: flex; align-items: center; gap: 14px; max-width: calc(100% - 32px);
  padding: 12px 12px 12px 16px; border-radius: 14px;
  background: var(--ink); color: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
  transform: translate(-50%, 140%); transition: transform .25s;
  font-size: 15px;
}
.toast.is-visible { transform: translate(-50%, 0); }
.toast .tick { flex-shrink: 0; }
.toast span { min-width: 0; }
.toast a { flex-shrink: 0; padding: 8px 12px; border-radius: 10px; background: var(--brand); color: var(--on-brand); font-weight: 600; font-size: 14px; white-space: nowrap; }
.add_to_cart_button.added { background: var(--ok); color: #fff; }
@media (max-width: 860px) { .buy-bar-on .toast { bottom: 88px; } }

/* 24. UZAKTAN KURULUM HİZMETİ --------------------------------------------- */
/* Ürün sayfasındaki "Kurulumu biz yapalım" seçeneği */
.addon {
  display: flex; align-items: flex-start; gap: 12px; margin-top: 12px; padding: 14px;
  border: 1px solid var(--line); border-radius: 12px; cursor: pointer;
  transition: border-color .15s, background-color .15s;
}
.addon:hover { border-color: var(--brand); }
.addon:has(input:checked) { border-color: var(--brand); background: var(--brand-soft); }
.addon input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--brand); flex-shrink: 0; }
.addon__icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; flex-shrink: 0; background: var(--brand-soft); color: var(--brand-700); }
.addon:has(input:checked) .addon__icon { background: var(--surface); }
.addon__body { min-width: 0; }
.addon__body strong { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; font-weight: 600; }
.addon__price { color: var(--brand-700); white-space: nowrap; }
.addon__body small { display: block; margin-top: 2px; font-size: 13px; color: var(--muted); }
.addon__body a { color: var(--brand-700); font-weight: 600; }

/* Sepetteki öneri kartı */
.upsell {
  display: flex; align-items: center; gap: 14px; margin-top: 18px; padding: 14px 16px;
  border: 1px dashed color-mix(in srgb, var(--brand) 55%, var(--line)); border-radius: 14px; background: var(--brand-soft);
}
.upsell .trust__icon { background: var(--surface); }
.upsell__text { flex: 1; min-width: 0; }
.upsell__text strong { display: block; font-weight: 600; }
.upsell__text small { font-size: 13px; color: var(--muted); }
.upsell__text a { color: var(--brand-700); font-weight: 600; }
.upsell .btn { flex-shrink: 0; background: var(--surface); }
@media (max-width: 520px) { .upsell { flex-wrap: wrap; } .upsell .btn { width: 100%; } }

/* Anasayfa tanıtım bandı */
.service-band { display: flex; align-items: center; gap: 20px; }
.service-band__icon { width: 56px; height: 56px; border-radius: 16px; }
.service-band__text { flex: 1; min-width: 0; }
.service-band__text h2 { font-size: clamp(20px, 2.4vw, 24px); }
.service-band__text p { color: var(--muted); margin-top: 4px; max-width: 62ch; }
.service-band__cta { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.service-band__price { font-size: 26px; font-weight: 700; letter-spacing: -.02em; }
@media (max-width: 760px) {
  .service-band { flex-direction: column; align-items: flex-start; }
  .service-band__cta { width: 100%; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
  .service-band__cta .btn { flex: 1 1 auto; }
}

/* Ödeme ekranındaki marka renkli not */
.notice--brand { background: var(--brand-soft); border-color: color-mix(in srgb, var(--brand) 45%, transparent); }
.notice--brand .notice__icon { color: var(--brand-700); }

/* Hizmet sayfası: kapsam ve güvenlik */
.scope { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.scope h3 { font-size: 16px; margin-bottom: 10px; }
.scope__list { display: grid; gap: 10px; font-size: 15px; }
.scope__list li { display: flex; gap: 10px; align-items: flex-start; }
.scope__list .i { width: 18px; height: 18px; color: var(--ok); stroke-width: 2.4; margin-top: 2px; }
.scope__list--out li { color: var(--muted); }
.scope__list--out span { width: 18px; text-align: center; flex-shrink: 0; }
@media (max-width: 620px) { .scope { grid-template-columns: 1fr; } }
.safety { border-color: color-mix(in srgb, var(--ok) 45%, var(--line)); }
.safety h2 { display: flex; align-items: center; gap: 8px; }
.safety h2 .i { color: var(--ok); }
.safety .prose { font-size: 15px; }
.pdp-body .panel .mini-steps { margin-top: 4px; }

/* Güven şeridindeki bağlantılı kutu: tüm kutu tıklanabilir */
.trust__item { position: relative; }
.trust__link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.trust__item:has(.trust__link):hover { border-color: var(--brand); }
.trust__link:focus-visible { outline: none; }
.trust__item:has(.trust__link:focus-visible) { outline: 2px solid var(--brand); outline-offset: 2px; }

/* 25. WOOCOMMERCE UYUMU ---------------------------------------------------
   Woo'nun ürettiği işaretleme (form alanları, bildirimler, WP yardımcı sınıfları) */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }

/* Form alanları: woocommerce_form_field() → p.form-row.field */
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.field-grid > .form-row { grid-column: 1 / -1; }
.field-grid > .form-row-first, .field-grid > .form-row-last { grid-column: auto; }
@media (max-width: 560px) { .field-grid > .form-row-first, .field-grid > .form-row-last { grid-column: 1 / -1; } }
.form-row.field { margin-bottom: 0; }
.woocommerce-input-wrapper { display: grid; gap: 6px; min-width: 0; }
.field abbr.required { color: var(--err); text-decoration: none; border: 0; }
.field .optional { color: var(--muted); font-weight: 400; }
.field select, .field textarea {
  width: 100%; min-width: 0; padding: 12px 16px; border-radius: 12px;
  border: 1px solid var(--line); background: var(--surface-2); font-size: 16px; color: var(--text);
}
.field select { height: 52px; padding-block: 0; }
.field textarea { min-height: 110px; resize: vertical; }
.field select:focus, .field textarea:focus { outline: none; border-color: var(--brand); background: var(--surface); }
.field .description { font-size: 13px; color: var(--muted); }
.woocommerce-invalid input.input-text, .woocommerce-invalid select { border-color: var(--err); }
.woocommerce-validated input.input-text { border-color: color-mix(in srgb, var(--ok) 55%, var(--line)); }
.checkout-inline-error-message { font-size: 13px; color: var(--err); }

/* Bildirimler: notices/error.php, success.php, notice.php */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-error, .woocommerce-message, .woocommerce-info {
  display: grid; gap: 4px; margin-block: 0 18px; padding: 14px 16px; border-radius: 12px;
  font-size: 15px; font-weight: 500; border: 1px solid transparent; list-style: none;
}
.woocommerce-error { background: var(--err-soft); color: var(--err); border-color: color-mix(in srgb, var(--err) 30%, transparent); }
.woocommerce-message { background: var(--ok-soft); color: var(--ok); border-color: color-mix(in srgb, var(--ok) 30%, transparent); }
.woocommerce-info { background: var(--brand-soft); color: var(--text); border-color: color-mix(in srgb, var(--brand) 35%, transparent); }
.woocommerce-error a, .woocommerce-message a, .woocommerce-info a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-message .button, .woocommerce-info .button { float: right; margin-left: 12px; text-decoration: none; }
.woocommerce-NoticeGroup { grid-column: 1 / -1; }
.pay-layout > .woocommerce-NoticeGroup { margin-bottom: 0; }

/* Ödeme kutusu */
.wc_payment_method + .wc_payment_method { margin-top: 10px; }
.payment_box { font-size: 14px; color: var(--muted); margin-top: 2px; }
.payment_box p { margin: 0; }
#payment .place-order { margin-top: 0; }
#payment .check { margin-block: 18px 22px; }
.blockUI.blockOverlay { border-radius: inherit; }

/* Sipariş alındı: hata durumu */
.order-hero__icon--err { background: var(--err); box-shadow: 0 0 0 8px var(--err-soft); }
.order-hero__actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-top: 20px; }

/* Yedek şablon + yönetici notu */
.page-layout--single { grid-template-columns: minmax(0, 1fr); max-width: 860px; }
.post-item + .post-item { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.admin-hint { margin-top: 18px; font-size: 14px; }
.woo-page.container { padding-block: 24px 48px; }
.coupon-error-notice { margin-top: 8px; font-size: 14px; font-weight: 500; color: var(--err); }
.coupon__row input.has-error { border-color: var(--err); }
.prose ul.scope__list li { padding-left: 0; }
.prose ul.scope__list li::before { content: none; }
.prose .mini-steps, .prose .faq { margin-top: 12px; }
/* "… sepete eklendi  [Sepeti Gör]" tek satırda */
.woocommerce-message, .woocommerce-info { display: flow-root; line-height: 1.5; }
.woocommerce-message .button, .woocommerce-info .button {
  float: right; margin: -2px 0 0 12px; padding: 4px 12px; border-radius: 8px;
  background: var(--brand); color: #08251f; font-size: 14px; font-weight: 600; text-decoration: none;
}
.woocommerce-message a.restore-item { margin-left: 6px; }

/* Teslimat Portalı: siparişe özel not */
.license__note { margin-top: 14px; padding: 12px 14px; border-radius: 12px; background: var(--surface-2); border: 1px solid var(--line); font-size: 14px; }
.license__note p { margin-top: 4px; color: var(--muted); }
.guide__body p { overflow-wrap: anywhere; }
.guide__body a { color: var(--brand-700); text-decoration: underline; text-underline-offset: 2px; }