/* ==========================================================================
   SEPET → ÖDEME → SİPARİŞ ONAY akışı
   Kaynak tasarım: Sepet.dc.html · Ödeme.dc.html · Sipariş Onay.dc.html

   Bu dosya `templates/woocommerce/cart/*` ve `templates/woocommerce/checkout/*`
   şablonlarını giydirir. Kurallar:
   - Her seçici `.ses-app` ile başlar; token dışında renk YOK.
   - Buton hover'ları AÇIKÇA yazılır — armor.css'teki (0,3,0) nötrleyici aksi
     halde hover'da butonu şeffaf bırakır.
   - WooCommerce'in kendi markup'ı (payment.php, review-order.php) burada
     giydirilir; şablon tarafında DEĞİŞTİRİLMEZ.
   ========================================================================== */

.ses-app--page[data-page="cart"],
.ses-app--page[data-page="checkout"],
.ses-app--page[data-page="thankyou"] {
  padding-bottom: var(--ses-section);
}

/* --- 1) Sayfa başlığı bandı ---------------------------------------------- */
.ses-app .ses-pagehead {
  background: var(--ses-sky);
  border-bottom: 1px solid var(--ses-border);
}
.ses-app .ses-pagehead__inner { padding: 26px var(--ses-gutter) 40px; }

.ses-app .ses-pagehead .ses-breadcrumb { margin-bottom: 20px; }
.ses-app .ses-pagehead .ses-breadcrumb a { font-weight: 600; color: var(--ses-blue); }
.ses-app .ses-pagehead .ses-breadcrumb a:hover { color: var(--ses-blue-dark); }
.ses-app .ses-pagehead .ses-breadcrumb [aria-current="page"] {
  font-weight: 700;
  color: var(--ses-navy);
}

.ses-app .ses-pagehead__row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}
.ses-app .ses-pagehead__text { display: flex; flex-direction: column; gap: 12px; }

/* --- 2) Adım göstergesi (Sepet → Ödeme → Onay) --------------------------- */
.ses-app .ses-steps {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.ses-app .ses-steps__item { display: flex; align-items: center; gap: 9px; }

.ses-app .ses-steps__dot {
  width: 26px;
  height: 26px;
  border-radius: var(--ses-r-pill);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  flex: 0 0 auto;
}
.ses-app .ses-steps__item.is-done .ses-steps__dot,
.ses-app .ses-steps__item.is-current .ses-steps__dot {
  background: var(--ses-blue);
  color: var(--ses-on-blue);
}
.ses-app .ses-steps__item.is-todo .ses-steps__dot {
  border: 1.5px solid var(--ses-border-strong);
  color: var(--ses-muted);
}

.ses-app .ses-steps__label { font-size: 14px; font-weight: 600; color: var(--ses-muted); }
.ses-app .ses-steps__item.is-current .ses-steps__label { font-weight: 800; color: var(--ses-navy); }
.ses-app .ses-steps__item.is-done a.ses-steps__label { color: var(--ses-blue); }
.ses-app .ses-steps__item.is-done a.ses-steps__label:hover { color: var(--ses-blue-dark); }

.ses-app .ses-steps__bar {
  width: 28px;
  height: 2px;
  background: var(--ses-border-strong);
  flex: 0 0 auto;
}
.ses-app .ses-steps__bar.is-on { background: var(--ses-blue); }

/* --- 3) İki kolonlu akış ızgarası ---------------------------------------- */
.ses-app .ses-flow { padding-top: 40px; }
/* Kanca çıktısı boşsa boşluk da olmasın: dolgu kaba değil ÇOCUKLARA verilir. */
.ses-app .ses-flow__pre > * { margin-top: 24px; }

.ses-app .ses-flow__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 396px;
  gap: 40px;
  align-items: start;
}
.ses-app .ses-flow__main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.ses-app .ses-flow__aside {
  min-width: 0;
  position: sticky;
  top: var(--ses-sticky-top);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* --- 4) Metin butonu / geri bağlantısı ----------------------------------- */
.ses-app .ses-linkbtn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0;
  background: none;
  border: 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--ses-muted);
  cursor: pointer;
  transition: color var(--ses-t-link) var(--ses-ease);
}
.ses-app .ses-linkbtn:hover,
.ses-app .ses-linkbtn:focus {
  background: none;
  border-color: transparent;
  color: var(--ses-blue);
}
.ses-app .ses-linkbtn--danger:hover,
.ses-app .ses-linkbtn--danger:focus { color: var(--ses-red); }

.ses-app .ses-backlink {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--ses-blue);
  transition: color var(--ses-t-link) var(--ses-ease);
}
.ses-app .ses-backlink:hover { color: var(--ses-blue-dark); }
.ses-app .ses-backlink--fwd { font-weight: 800; }

/* --- 5) Sepet paneli ------------------------------------------------------ */
.ses-app .ses-cart {
  border: 1px solid var(--ses-border);
  border-radius: var(--ses-r-card);
  background: var(--ses-white);
  overflow: hidden;
}
.ses-app .ses-cart__head {
  padding: 16px 24px;
  border-bottom: 1px solid var(--ses-border-soft);
  background: var(--ses-faint);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.ses-app .ses-cart__count { font-size: 14px; font-weight: 800; color: var(--ses-navy); }
.ses-app .ses-cart__clear { margin: 0; }

.ses-app .ses-cart__row {
  padding: 22px 24px;
  border-bottom: 1px solid var(--ses-border-soft);
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) auto;
  gap: 20px;
  align-items: start;
}

.ses-app .ses-cart__media {
  aspect-ratio: 1 / 1;
  border-radius: var(--ses-r-btn);
  background: var(--ses-ice);
  border: 1px solid var(--ses-border);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.ses-app .ses-cart__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: inherit;
}

.ses-app .ses-cart__info { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }

.ses-app .ses-cart__name {
  font-size: 17px;
  line-height: 1.35;
  font-weight: 800;
  color: var(--ses-navy);
}
.ses-app .ses-cart__name a { color: inherit; transition: color var(--ses-t-link) var(--ses-ease); }
.ses-app .ses-cart__name a:hover { color: var(--ses-blue); }
.ses-app .ses-cart__qty { font-size: 14px; font-weight: 700; color: var(--ses-muted); }

.ses-app .ses-cart__marks { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.ses-app .ses-cart__mark {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ses-muted);
}
.ses-app .ses-cart__remove { margin-top: 4px; }

.ses-app .ses-cart__price {
  text-align: right;
  white-space: nowrap;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}
.ses-app .ses-cart__now {
  font-size: 20px;
  font-weight: 800;
  color: var(--ses-navy);
  letter-spacing: -.015em;
}
.ses-app .ses-cart__now .woocommerce-Price-amount { font: inherit; color: inherit; }
.ses-app .ses-cart__was {
  font-size: 13px;
  font-weight: 600;
  color: var(--ses-muted);
  text-decoration: line-through;
}
.ses-app .ses-cart__off {
  margin-top: 4px;
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 9px;
  border-radius: var(--ses-r-badge);
  background: var(--ses-cream);
  border: 1px solid var(--ses-border-cream);
  color: var(--ses-navy);
  font-size: 11.5px;
  font-weight: 800;
}

.ses-app .ses-cart__foot {
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

/* --- 6) Kupon kartı ------------------------------------------------------- */
.ses-app .ses-coupon {
  border: 1px solid var(--ses-border);
  border-radius: var(--ses-r-card);
  background: var(--ses-white);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ses-app .ses-coupon__form {
  display: flex;
  gap: 12px;
  max-width: 460px;
  margin-top: 10px;
}
.ses-app .ses-coupon__input {
  flex: 1 1 auto;
  min-width: 0;
  font-weight: 600;
  letter-spacing: .02em;
}
.ses-app .ses-coupon__apply { flex: 0 0 auto; height: 48px; }

.ses-app .ses-coupon__applied { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 10px; }
.ses-app .ses-coupon__tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px 10px 14px;
  border-radius: var(--ses-r-sm);
  background: var(--ses-ice);
  border: 1px solid var(--ses-border);
  color: var(--ses-blue);
}
.ses-app .ses-coupon__label { font-size: 13.5px; font-weight: 700; color: var(--ses-navy); }
.ses-app .ses-coupon__remove {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ses-muted);
  transition: background var(--ses-t-btn) var(--ses-ease), color var(--ses-t-btn) var(--ses-ease);
}
.ses-app .ses-coupon__remove:hover { background: var(--ses-red-soft); color: var(--ses-red); }

/* --- 7) Yapışkan özet paneli --------------------------------------------- */
.ses-app .ses-sum {
  border: 1px solid var(--ses-border);
  border-radius: var(--ses-r-panel);
  background: var(--ses-white);
  box-shadow: var(--ses-shadow-sticky);
  padding: 24px;
}
.ses-app .ses-sum__title {
  font-size: 19px;
  font-weight: 800;
  color: var(--ses-navy);
  margin-bottom: 20px;
}
.ses-app .ses-sum__lines { display: flex; flex-direction: column; gap: 12px; font-size: 14.5px; }
.ses-app .ses-sum__line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.ses-app .ses-sum__line > span { color: var(--ses-muted); font-weight: 600; }
.ses-app .ses-sum__line > strong { color: var(--ses-navy); font-weight: 700; }
.ses-app .ses-sum__line--minus > strong { color: var(--ses-blue); }
.ses-app .ses-sum__line .woocommerce-Price-amount { font: inherit; color: inherit; }

.ses-app .ses-sum__total {
  margin: 20px 0;
  padding-top: 18px;
  border-top: 1px solid var(--ses-border-soft);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.ses-app .ses-sum__total > span { font-size: 15px; font-weight: 800; color: var(--ses-navy); }
.ses-app .ses-sum__total > strong {
  font-size: 26px;
  font-weight: 800;
  color: var(--ses-navy);
  letter-spacing: -.02em;
}
.ses-app .ses-sum__total .woocommerce-Price-amount { font: inherit; color: inherit; }
.ses-app .ses-sum__total small { display: block; font-size: 12px; font-weight: 600; color: var(--ses-muted); }

.ses-app .ses-sum__note {
  margin-bottom: 18px;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--ses-muted);
}
.ses-app .ses-sum__second { margin-top: 10px; }

.ses-app .ses-trust {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--ses-border-soft);
  display: flex;
  flex-direction: column;
  gap: 13px;
}
.ses-app .ses-trust li {
  display: flex;
  gap: 11px;
  align-items: center;
  font-size: 14px;
  font-weight: 600;
  color: var(--ses-text);
}
.ses-app .ses-trust svg { flex: 0 0 auto; color: var(--ses-blue); }
.ses-app .ses-trust a { color: var(--ses-blue); font-weight: 800; }
.ses-app .ses-trust a:hover { color: var(--ses-blue-dark); }

.ses-app .ses-aside-card {
  border: 1px solid var(--ses-border);
  border-radius: var(--ses-r-panel);
  background: var(--ses-white);
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ses-app[data-page="cart"] .ses-aside-card { background: var(--ses-ice); }
.ses-app .ses-aside-card .ses-trust { margin-top: 0; padding-top: 0; border-top: 0; }
.ses-app .ses-address { font-style: normal; line-height: 1.75; }

/* --- 8) Boş sepet --------------------------------------------------------- */
.ses-app .ses-cartempty__panel {
  max-width: 560px;
  margin: 0 auto;
  text-align: center;
  padding: 56px 40px;
  border: 1px solid var(--ses-border);
  border-radius: var(--ses-r-panel);
  background: var(--ses-faint);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.ses-app .ses-cartempty__icon {
  width: 72px;
  height: 72px;
  margin-bottom: 10px;
  border-radius: var(--ses-r-panel);
  background: var(--ses-white);
  border: 1px solid var(--ses-border);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ses-app .ses-cartempty__cta {
  margin-top: 14px;
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* --- 9) Öneri bölümü ------------------------------------------------------ */
.ses-app .ses-suggest .ses-eyebrow--dash::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 3px;
  border-radius: var(--ses-r-pill);
  background: var(--ses-orange);
  margin-right: 10px;
  vertical-align: middle;
}
.ses-app .ses-suggest .ses-section-head { margin-bottom: 28px; }
.ses-app .ses-suggest .ses-section-head__text { gap: 10px; }

/* --- 10) Ödeme: numaralı panel ------------------------------------------- */
.ses-app .ses-panel {
  border: 1px solid var(--ses-border);
  border-radius: var(--ses-r-card);
  background: var(--ses-white);
  padding: 28px 30px;
}
.ses-app .ses-panel__head { display: flex; align-items: center; gap: 12px; margin-bottom: 6px; }
.ses-app .ses-panel__num {
  width: 28px;
  height: 28px;
  border-radius: var(--ses-r-xs);
  background: var(--ses-ice);
  color: var(--ses-blue);
  font-size: 14px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.ses-app .ses-panel__title { font-size: 20px; font-weight: 800; color: var(--ses-navy); }
.ses-app .ses-panel__lead {
  margin-bottom: 22px;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--ses-muted);
}
.ses-app .ses-panel__lead strong { color: var(--ses-navy); font-weight: 800; }

/* --- 11) Form alanları ---------------------------------------------------- */
.ses-app .ses-fieldgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.ses-app .ses-fieldgrid + .ses-fieldgrid { margin-top: 18px; }
.ses-app .ses-field { min-width: 0; }
/* NOT: WooCommerce'in `form-row-wide` sınıfı neredeyse TÜM billing alanlarında
   vardır; tam genişlik yalnız kendi `--full` modifier'ımızla verilir. */
.ses-app .ses-field--full { grid-column: 1 / -1; }

.ses-app .ses-field .ses-label { margin-bottom: 8px; }
.ses-app .ses-field .woocommerce-input-wrapper { display: block; }
.ses-app .ses-field .ses-input,
.ses-app .ses-field .ses-select { height: 50px; }
.ses-app .ses-field .ses-textarea { min-height: 96px; }

.ses-app .ses-select {
  appearance: none;
  padding-right: 40px;
  font-weight: 600;
  cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, var(--ses-muted) 50%),
                    linear-gradient(135deg, var(--ses-muted) 50%, transparent 50%);
  background-position: calc(100% - 20px) 22px, calc(100% - 15px) 22px;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.ses-app .ses-field.woocommerce-invalid .ses-input,
.ses-app .ses-field.woocommerce-invalid .ses-select,
.ses-app .ses-field.woocommerce-invalid .ses-textarea { border-color: var(--ses-red); }

/* Ek alanlar paneli — `woocommerce_checkout_shipping` kancasının kendi markup'ı
   (sipariş notu ve eklenti alanları). Tasarımda yeri yok ama alan kaybolmasın. */
.ses-app .ses-panel--extra h3 {
  font-size: 18px;
  font-weight: 800;
  color: var(--ses-navy);
  margin-bottom: 12px;
}
.ses-app .ses-panel--extra .form-row { margin-bottom: 16px; }
.ses-app .ses-panel--extra .form-row:last-child { margin-bottom: 0; }
.ses-app .ses-panel--extra label {
  display: block;
  margin-bottom: 7px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--ses-muted);
}
.ses-app .ses-panel--extra .input-text,
.ses-app .ses-panel--extra select {
  width: 100%;
  min-height: 50px;
  padding: 13px 15px;
  border-radius: var(--ses-r-btn);
  border: 1px solid var(--ses-border);
  background: var(--ses-white);
  font-size: 15px;
  line-height: 1.6;
  color: var(--ses-text);
}
.ses-app .ses-panel--extra abbr.required { color: var(--ses-red); text-decoration: none; border: 0; }

/* Bireysel / Kurumsal geçişi — görsel radiogroup */
.ses-app .ses-toggle { display: flex; gap: 12px; margin-bottom: 20px; }
.ses-app .ses-toggle__input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.ses-app .ses-toggle__label {
  flex: 1 1 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 50px;
  border-radius: var(--ses-r-btn);
  border: 1.5px solid var(--ses-border);
  background: var(--ses-white);
  color: var(--ses-muted);
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  transition: border-color var(--ses-t-btn) var(--ses-ease),
              background var(--ses-t-btn) var(--ses-ease),
              color var(--ses-t-btn) var(--ses-ease);
}
.ses-app .ses-toggle__label:hover { border-color: var(--ses-blue-light); }
.ses-app .ses-toggle__input:checked + .ses-toggle__label {
  border-color: var(--ses-blue);
  background: var(--ses-ice);
  color: var(--ses-navy);
}
.ses-app .ses-toggle__input:focus-visible + .ses-toggle__label {
  outline: 3px solid var(--ses-blue-light);
  outline-offset: 2px;
}

/* Kurumsal alanlar yalnız "Kurumsal" seçiliyken. :has() desteklenmiyorsa
   alanlar HER ZAMAN görünür — bilgi kaybı olmaz (progressive enhancement). */
.ses-app .ses-billing__corp { display: none; }
.ses-app .ses-billing:has(#ses-invoice-company:checked) .ses-billing__corp {
  display: grid;
  margin-bottom: 18px;
}
@supports not selector(:has(*)) {
  .ses-app .ses-billing__corp { display: grid; margin-bottom: 18px; }
}

/* --- 12) Ödeme yöntemi (WooCommerce payment.php markup'ı) ---------------- */
.ses-app .ses-pay .payment_methods {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ses-app .ses-pay .wc_payment_method {
  border: 1.5px solid var(--ses-border);
  border-radius: var(--ses-r-btn-lg);
  background: var(--ses-white);
  padding: 18px 20px;
  transition: border-color var(--ses-t-btn) var(--ses-ease), background var(--ses-t-btn) var(--ses-ease);
}
.ses-app .ses-pay .wc_payment_method:hover { border-color: var(--ses-border-strong); }
.ses-app .ses-pay .wc_payment_method:has(input[type="radio"]:checked) {
  border-color: var(--ses-blue);
  background: var(--ses-faint);
}

.ses-app .ses-pay .wc_payment_method > label {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 15.5px;
  font-weight: 800;
  color: var(--ses-navy);
  cursor: pointer;
  margin: 0;
}
.ses-app .ses-pay .wc_payment_method > label img {
  max-height: 26px;
  width: auto;
  margin-left: auto;
}

.ses-app .ses-pay input[type="radio"] {
  appearance: none;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  margin: 0;
  border-radius: var(--ses-r-pill);
  border: 2px solid var(--ses-border-strong);
  background: var(--ses-white);
  display: grid;
  place-content: center;
  cursor: pointer;
  box-shadow: none;
}
.ses-app .ses-pay input[type="radio"]::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: var(--ses-r-pill);
  background: transparent;
}
.ses-app .ses-pay input[type="radio"]:checked { border-color: var(--ses-blue); }
.ses-app .ses-pay input[type="radio"]:checked::before { background: var(--ses-blue); }

.ses-app .ses-pay .payment_box {
  margin-top: 14px;
  padding: 16px 18px;
  border-radius: var(--ses-r-btn);
  background: var(--ses-ice);
  border: 1px solid var(--ses-border);
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--ses-muted);
}
.ses-app .ses-pay .payment_box p:not(:last-child) { margin-bottom: 8px; }

/* Gerçek "siparişi ver" alanı sağdaki panelde yeniden basılır; buradaki
   blok (nonce + koşullar) DOM'da KALIR, yalnız gizlenir. */
.ses-app .ses-pay .place-order { display: none; }

/* Kart / havale bilgi kutuları */
.ses-app .ses-pay__note {
  margin-top: 12px;
  padding: 20px 22px;
  border-radius: var(--ses-r-btn-lg);
  background: var(--ses-faint);
  border: 1px solid var(--ses-border);
}
.ses-app .ses-pay__note--transfer { display: none; }
.ses-app .ses-pay__note-title {
  display: block;
  margin-bottom: 12px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--ses-muted);
}
.ses-app .ses-pay__inst {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.ses-app .ses-pay__inst li {
  padding: 11px 10px;
  border-radius: 11px;
  border: 1.5px solid var(--ses-border);
  background: var(--ses-white);
  text-align: center;
  font-size: 13.5px;
  font-weight: 800;
  color: var(--ses-navy);
}

.ses-app .ses-pay:has(#payment_method_bacs:checked) .ses-pay__note--transfer,
.ses-app .ses-pay:has(#payment_method_cheque:checked) .ses-pay__note--transfer { display: block; }
.ses-app .ses-pay:has(#payment_method_bacs:checked) .ses-pay__note--card,
.ses-app .ses-pay:has(#payment_method_cheque:checked) .ses-pay__note--card { display: none; }

/* --- 13) Onay kutuları ---------------------------------------------------- */
.ses-app .ses-consents { display: flex; flex-direction: column; gap: 14px; }
.ses-app .ses-consents .ses-h3 { margin-bottom: 4px; }
.ses-app .ses-consent {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ses-text);
}
.ses-app .ses-consent input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  flex: 0 0 auto;
  accent-color: var(--ses-blue);
  cursor: pointer;
}
.ses-app .ses-consent a { color: var(--ses-blue); font-weight: 700; }
.ses-app .ses-consent a:hover { color: var(--ses-blue-dark); text-decoration: underline; }

/* --- 14) Ödeme özeti: WooCommerce review-order tablosu ------------------- */
.ses-app .ses-sum--checkout { padding: 22px 24px; }
.ses-app .ses-sum__review { display: block; }

.ses-app .woocommerce-checkout-review-order-table { width: 100%; }
.ses-app .woocommerce-checkout-review-order-table thead { display: none; }
.ses-app .woocommerce-checkout-review-order-table tbody,
.ses-app .woocommerce-checkout-review-order-table tfoot { display: block; }

.ses-app .woocommerce-checkout-review-order-table tbody tr {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--ses-border-soft);
}
.ses-app .woocommerce-checkout-review-order-table tbody td {
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--ses-navy);
  font-weight: 700;
}
.ses-app .woocommerce-checkout-review-order-table tbody td.product-total { white-space: nowrap; font-weight: 800; }
.ses-app .woocommerce-checkout-review-order-table .product-quantity { color: var(--ses-muted); font-weight: 600; }
.ses-app .woocommerce-checkout-review-order-table .variation,
.ses-app .woocommerce-checkout-review-order-table dl {
  margin-top: 4px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ses-muted);
}

.ses-app .woocommerce-checkout-review-order-table tfoot tr {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 0;
}
.ses-app .woocommerce-checkout-review-order-table tfoot th {
  font-size: 14px;
  font-weight: 600;
  color: var(--ses-muted);
  text-align: left;
}
.ses-app .woocommerce-checkout-review-order-table tfoot td {
  font-size: 14px;
  font-weight: 700;
  color: var(--ses-navy);
  text-align: right;
}
.ses-app .woocommerce-checkout-review-order-table tfoot tr:first-child { padding-top: 14px; }
.ses-app .woocommerce-checkout-review-order-table tfoot .cart-discount td { color: var(--ses-blue); }
.ses-app .woocommerce-checkout-review-order-table tfoot .order-total {
  margin-top: 10px;
  padding-top: 14px;
  border-top: 1px solid var(--ses-border);
}
.ses-app .woocommerce-checkout-review-order-table tfoot .order-total th {
  font-size: 15px;
  font-weight: 800;
  color: var(--ses-navy);
}
.ses-app .woocommerce-checkout-review-order-table tfoot .order-total td {
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -.02em;
}
.ses-app .woocommerce-checkout-review-order-table tfoot .order-total small {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--ses-muted);
}

.ses-app .ses-sum__meta {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 14px;
}
.ses-app .ses-sum__submit { margin-top: 18px; }
.ses-app .ses-sum__fine {
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.55;
  color: var(--ses-muted);
  text-align: center;
}

/* --- 15) WooCommerce bildirimleri ---------------------------------------- */
.ses-app .woocommerce-error,
.ses-app .woocommerce-message,
.ses-app .woocommerce-info,
.ses-app .woocommerce-notice {
  list-style: none;
  margin: 0 0 16px;
  padding: 14px 18px;
  border-radius: var(--ses-r-btn);
  border: 1px solid var(--ses-border);
  background: var(--ses-faint);
  font-size: 14px;
  line-height: 1.6;
  color: var(--ses-text);
}
.ses-app .woocommerce-error { border-color: var(--ses-red); background: var(--ses-red-soft); }
.ses-app .woocommerce-message { border-color: var(--ses-border-strong); background: var(--ses-ice); }
.ses-app .woocommerce-error li + li,
.ses-app .woocommerce-message li + li { margin-top: 6px; }
.ses-app .woocommerce-error a,
.ses-app .woocommerce-message a,
.ses-app .woocommerce-info a { color: var(--ses-blue); font-weight: 700; }

.ses-app .checkout_coupon,
.ses-app .woocommerce-form-login {
  margin: 0 0 16px;
  padding: 20px 22px;
  border: 1px solid var(--ses-border);
  border-radius: var(--ses-r-card);
  background: var(--ses-white);
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end;
}
.ses-app .checkout_coupon .form-row,
.ses-app .woocommerce-form-login .form-row { margin: 0; }
.ses-app .checkout_coupon .input-text,
.ses-app .woocommerce-form-login .input-text {
  height: 48px;
  padding: 0 14px;
  border-radius: var(--ses-r-btn);
  border: 1px solid var(--ses-border);
}
.ses-app .checkout_coupon .button,
.ses-app .woocommerce-form-login .button {
  height: 48px;
  padding: 0 22px;
  border-radius: var(--ses-r-btn);
  border: 1px solid var(--ses-blue);
  background: var(--ses-white);
  color: var(--ses-blue);
  font-size: 14.5px;
  font-weight: 800;
  cursor: pointer;
  transition: background var(--ses-t-btn) var(--ses-ease);
}
.ses-app .checkout_coupon .button:hover,
.ses-app .woocommerce-form-login .button:hover {
  background: var(--ses-ice);
  color: var(--ses-blue);
  border-color: var(--ses-blue);
}

/* --- 16) Sipariş onay ----------------------------------------------------- */
.ses-app .ses-pagehead--onay .ses-steps { margin-bottom: 32px; }
.ses-app .ses-onay__head { display: flex; gap: 22px; align-items: flex-start; }
.ses-app .ses-onay__head > div { display: flex; flex-direction: column; gap: 12px; }
.ses-app .ses-onay__mark {
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  border-radius: var(--ses-r-panel);
  background: var(--ses-white);
  border: 1px solid var(--ses-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ses-blue);
}
.ses-app .ses-onay__mark--fail { color: var(--ses-red); border-color: var(--ses-border-cream); }
.ses-app .ses-onay__head .ses-lead strong { color: var(--ses-navy); font-weight: 800; }
.ses-app .ses-onay__retry { display: flex; gap: 12px; flex-wrap: wrap; }

.ses-app .ses-onay__panel {
  border: 1px solid var(--ses-border);
  border-radius: var(--ses-r-card);
  background: var(--ses-white);
  overflow: hidden;
}
.ses-app .ses-facts {
  padding: 20px 24px;
  border-bottom: 1px solid var(--ses-border-soft);
  background: var(--ses-faint);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
}
.ses-app .ses-facts dt {
  display: block;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ses-muted);
  margin-bottom: 6px;
}
.ses-app .ses-facts dd {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  color: var(--ses-navy);
  overflow-wrap: anywhere;
}
.ses-app .ses-statuspill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 26px;
  padding: 0 10px;
  border-radius: var(--ses-r-badge);
  background: var(--ses-cream);
  border: 1px solid var(--ses-border-cream);
  color: var(--ses-navy);
  font-size: 12.5px;
  font-weight: 800;
}
.ses-app .ses-statuspill.is-paid { background: var(--ses-ice); border-color: var(--ses-border-strong); }
.ses-app .ses-statuspill__dot {
  width: 7px;
  height: 7px;
  border-radius: var(--ses-r-pill);
  background: var(--ses-orange);
}
.ses-app .ses-statuspill.is-paid .ses-statuspill__dot { background: var(--ses-blue); }

.ses-app .ses-onay__items { padding: 24px; }
.ses-app .ses-onay__list { display: flex; flex-direction: column; gap: 12px; }
.ses-app .ses-onay__item {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--ses-border);
  border-radius: var(--ses-r-btn-lg);
}
.ses-app .ses-onay__thumb {
  flex: 0 0 auto;
  width: 88px;
  height: 58px;
  border-radius: var(--ses-r-sm);
  background: var(--ses-ice);
  border: 1px solid var(--ses-border);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.ses-app .ses-onay__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ses-app .ses-onay__info { flex: 1 1 auto; min-width: 0; }
.ses-app .ses-onay__name {
  display: block;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
  color: var(--ses-navy);
}
.ses-app .ses-onay__meta {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ses-muted);
}
.ses-app .ses-onay__start { flex: 0 0 auto; height: 42px; }

/* Zaman çizelgesi */
.ses-app .ses-timeline { display: flex; flex-direction: column; }
.ses-app .ses-timeline__step {
  display: flex;
  gap: 18px;
  position: relative;
  padding-bottom: 22px;
}
.ses-app .ses-timeline__step.is-last { padding-bottom: 0; }
.ses-app .ses-timeline__step::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 40px;
  bottom: 6px;
  width: 2px;
  background: var(--ses-border);
}
.ses-app .ses-timeline__step.is-last::before { display: none; }
.ses-app .ses-timeline__num {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: var(--ses-r-pill);
  background: var(--ses-ice);
  border: 1.5px solid var(--ses-border-strong);
  color: var(--ses-blue);
  font-size: 14px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ses-app .ses-timeline__step.is-now .ses-timeline__num {
  background: var(--ses-blue);
  border-color: var(--ses-blue);
  color: var(--ses-on-blue);
}
.ses-app .ses-timeline__num--gold {
  background: var(--ses-cream);
  border-color: var(--ses-border-cream);
  color: var(--ses-navy);
}
.ses-app .ses-timeline__body { display: flex; flex-direction: column; gap: 6px; padding-top: 4px; }
.ses-app .ses-timeline__body .ses-h3 { font-size: 16px; }

/* Destek kartı */
.ses-app .ses-support {
  border: 1px solid var(--ses-border);
  border-radius: var(--ses-r-card);
  background: var(--ses-ice);
  padding: 26px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  flex-wrap: wrap;
}
.ses-app .ses-support > div:first-child { display: flex; flex-direction: column; gap: 6px; }
.ses-app .ses-support__cta { display: flex; gap: 12px; flex-wrap: wrap; }

.ses-app .ses-flow--hooks { padding-top: 0; }
.ses-app .ses-flow--hooks .ses-container > * { margin-top: 24px; }
.ses-app .ses-flow--hooks h2 { font-size: 19px; margin-bottom: 10px; color: var(--ses-navy); }
.ses-app .ses-flow--hooks .wc-bacs-bank-details { margin: 0; }
.ses-app .ses-flow--hooks .wc-bacs-bank-details li {
  padding: 6px 0;
  font-size: 14px;
  color: var(--ses-text);
}

/* --- 17) Kırılma noktaları ------------------------------------------------ */
@media (max-width: 1239px) {
  .ses-app .ses-flow__grid { grid-template-columns: minmax(0, 1fr); }
  .ses-app .ses-flow__aside { position: static; top: auto; }
  .ses-app .ses-flow__aside .ses-sum { box-shadow: none; }
  .ses-app .ses-pagehead__row { gap: 24px; }
}

@media (max-width: 939px) {
  .ses-app .ses-pagehead__inner { padding-bottom: 32px; }
  .ses-app .ses-h1--inner { font-size: 34px; }
  .ses-app .ses-fieldgrid { grid-template-columns: minmax(0, 1fr); }
  .ses-app .ses-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ses-app .ses-suggest .ses-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ses-app .ses-cart__row { grid-template-columns: 96px minmax(0, 1fr); }
  .ses-app .ses-cart__price {
    grid-column: 2;
    flex-direction: row;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
  }
  .ses-app .ses-cart__off { margin-top: 0; }
  .ses-app .ses-panel { padding: 22px 20px; }
  .ses-app .ses-onay__head { gap: 16px; }
}

@media (max-width: 700px) {
  .ses-app .ses-pagehead__inner { padding: 20px var(--ses-gutter) 26px; }
  .ses-app .ses-h1--inner { font-size: 28px; }
  .ses-app .ses-steps { gap: 8px; }
  .ses-app .ses-steps__bar { width: 16px; }
  .ses-app .ses-steps__label { font-size: 13px; }
  .ses-app .ses-flow__grid { gap: 24px; }
  .ses-app .ses-cart__head,
  .ses-app .ses-cart__row,
  .ses-app .ses-cart__foot { padding-left: 18px; padding-right: 18px; }
  .ses-app .ses-cart__row { grid-template-columns: 76px minmax(0, 1fr); gap: 14px; }
  .ses-app .ses-coupon,
  .ses-app .ses-sum,
  .ses-app .ses-aside-card { padding: 20px 18px; }
  .ses-app .ses-coupon__form { flex-direction: column; }
  .ses-app .ses-coupon__apply { width: 100%; }
  .ses-app .ses-facts { grid-template-columns: minmax(0, 1fr); }
  .ses-app .ses-suggest .ses-grid--4 { grid-template-columns: minmax(0, 1fr); }
  .ses-app .ses-cartempty__panel { padding: 40px 22px; }
  .ses-app .ses-onay__head { flex-direction: column; }
  .ses-app .ses-onay__item { flex-wrap: wrap; }
  .ses-app .ses-onay__start { width: 100%; justify-content: center; }
  .ses-app .ses-pay__inst { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ses-app .ses-support { padding: 22px 20px; }
  .ses-app .ses-toggle { flex-direction: column; }
}


/* ==========================================================================
   ÖDEME AKIŞI ZIRHI — ölçümle bulundu (390px canlı ölçüm, 20.08.2026)
   ========================================================================== */

/* --- 1) FORM ALANLARI ------------------------------------------------------
   Ölçülen: kenarlık `rgba(32,7,7,.8)` (kirli kırmızı), yarıçap 4px,
   dolgu 8px, yükseklik 40px. Yani `.ses-input` EZİLMİŞ.

   Sebep: WooCommerce'in `.woocommerce form .form-row input.input-text` gibi
   (0,3,2) seçicileri, bizim `.ses-app .ses-input` (0,2,0) kuralımızı yener.
   Zırhtaki gövde-sınıfı deyimiyle (0,3,2) yazılır → kaynak sırasından
   bağımsız kazanır, `!important` yok. */
body.ses-site .ses-app :is(
  .ses-input, .ses-select, .ses-textarea,
  .form-row input.input-text, .form-row select:not(.select2-hidden-accessible), .form-row textarea,
  .ses-panel--extra .input-text, .ses-panel--extra select
) {
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid var(--ses-border);
  border-radius: var(--ses-r-btn);
  background: var(--ses-white);
  color: var(--ses-text);
  line-height: 1.5;
}
body.ses-site .ses-app :is(.ses-textarea, .form-row textarea) {
  min-height: 132px;
  padding: 14px;
  line-height: 1.6;
}
body.ses-site .ses-app :is(.form-row input.input-text, .form-row select):focus {
  border-color: var(--ses-blue-light);
  outline: 3px solid var(--ses-blue-light);
  outline-offset: 1px;
}

/* --- 2) ÖZET TABLOSUNUN ÇİZGİLERİ -----------------------------------------
   "Siparişin" kartında üç ayrı gri/lacivert çizgi rengi ölçüldü; en belirgini
   `rgba(128,128,128,.5)` — hello-elementor reset.css'in `table td,th{border:…}`
   kuralı. Zırhtaki `:where()` (özgüllük 0) WooCommerce'in `.shop_table`
   kurallarını yenemiyordu. Tek ve tutarlı ayraç bırakılır. */
body.ses-site .ses-app .shop_table,
body.ses-site .ses-app .shop_table :is(td, th, tr, thead, tbody, tfoot) {
  border: 0;
  background: none;
}
body.ses-site .ses-app .shop_table :is(.cart_item, .order-total, tfoot tr) > :is(td, th) {
  border-top: 1px solid var(--ses-border-soft);
}
body.ses-site .ses-app .shop_table .order-total > :is(td, th) {
  border-top: 1px solid var(--ses-border);
}

/* --- 3) SELECT2 TAŞMASI ----------------------------------------------------
   Taşıran öğe, select2'nin GİZLEDİĞİ ORİJİNAL `<select>`ti
   (`.select2-hidden-accessible`). select2 normalde onu sr-only yapar; bu
   kural yüklenmediği için element 375px genişlikte akışta kalıyor ve sayfayı
   48px taşırıyordu. Üstelik yukarıdaki `min-height:48px` kuralımız onu daha
   da büyütüyordu — bu yüzden gizli select ÖNCE hariç tutulur, sonra
   erişilebilir biçimde gizlenir. */
/* ÖZGÜLLÜK NOTU — ilk denemede `clip` uygulandı ama `width` UYGULANMADI.
   Sebep: `woocommerce-smallscreen.css` mobilde
   `.woocommerce form .form-row select { width:100% !important }` (0,3,2)
   veriyor. İKİ `!important` çakıştığında kazananı ÖZGÜLLÜK belirler; bizim
   ilk seçicimiz (0,3,1) daha düşüktü. Form + element seçicisi eklenerek
   (0,4,3)'e çıkarıldı. */
body.ses-site .ses-app form .form-row select.select2-hidden-accessible,
body.ses-site .ses-app select.select2-hidden-accessible {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}
body.ses-site .ses-app :is(.select2, .select2-container) {
  max-width: 100%;
  min-width: 0;
  width: 100% !important;
}
body.ses-site .ses-app .form-row { min-width: 0; }

/* --- 4) MOBİLDE İKİ KOLONLU SATIRLAR TEK KOLONA ---------------------------
   `form-row-first` / `form-row-last` mobilde 128px'lik dar kutulara
   sıkışıyordu. */
@media (max-width: 700px) {
  body.ses-site .ses-app :is(.form-row-first, .form-row-last) {
    width: 100%;
    float: none;
  }
}
