/* ============================================================
   Rhyme Export — WooCommerce Checkout & Cart styling
   Tema dili: cream/ink/brand-orange, DM Sans + Fraunces
   Hedef: çıplak WooCommerce default'unu modern arayüze çevirmek
   ============================================================ */

:root {
  --wc-cream: #F5EFE4;
  --wc-cream-2: #FBF8F1;
  --wc-ink: #1A1410;
  --wc-mute: #6B6B6B;
  --wc-line: rgba(26,20,16,0.10);
  --wc-brand: #FF5F00;
  --wc-brand-700: #E55400;
  --wc-radius: 14px;
  --wc-radius-lg: 22px;
}

/* ---------- Genel sayfa ---------- */
body.woocommerce-checkout,
body.woocommerce-cart {
  background: var(--wc-cream);
}
/* Wrapper — .container zaten ortalıyor; çift max-width asimetri yaratır.
   Sadece dikey nefes + tipografi ver. */
.woocommerce-checkout .woocommerce,
.woocommerce-cart .woocommerce {
  padding: 32px 0 80px;
  font-family: 'DM Sans', -apple-system, Segoe UI, Roboto, sans-serif;
  color: var(--wc-ink);
}
/* Çıplak "Cart" / "Checkout" sayfa başlığını gizle —
   progress bar (checkout) veya sayfa bağlamı zaten yeterli */
body.woocommerce-cart .page-default__title,
body.woocommerce-checkout .page-default__title,
body.woocommerce-cart .page-default__header,
body.woocommerce-checkout .page-default__header {
  display: none;
}

/* ---------- Bildirimler ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
  border-radius: var(--wc-radius);
  border: 1px solid var(--wc-line);
  background: #fff;
  padding: 16px 20px;
  font-size: 14px;
  line-height: 1.5;
  box-shadow: 0 2px 16px rgba(26,20,16,0.04);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.woocommerce-message { border-left: 3px solid #1FA76A; }
.woocommerce-info    { border-left: 3px solid var(--wc-brand); }
.woocommerce-error   { border-left: 3px solid #C1342F; }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }
.woocommerce-message a.button,
.woocommerce-info a.button {
  margin-left: auto;
  background: var(--wc-ink);
  color: var(--wc-cream);
  border-radius: 999px;
  padding: 8px 20px;
  font-size: 13px;
  font-weight: 600;
  border: 0;
}
.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover { background: #000; }

/* ---------- Checkout 2 kolon layout ---------- */
.woocommerce form.checkout {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 32px;
  align-items: start;
}
@media (max-width: 900px) {
  .woocommerce form.checkout { grid-template-columns: 1fr; gap: 24px; }
}
#customer_details { grid-column: 1; }
#customer_details .col-1,
#customer_details .col-2 { width: 100%; float: none; margin: 0 0 24px; }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0 0 14px; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; }
@media (max-width: 900px) {
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review { grid-column: 1; }
}

/* ---------- Kart blokları ---------- */
#customer_details .col-1,
#customer_details .col-2,
.woocommerce-checkout #order_review,
.woocommerce-cart .cart_totals,
.woocommerce-cart-form {
  background: #fff;
  border: 1px solid var(--wc-line);
  border-radius: var(--wc-radius-lg);
  padding: 28px;
  box-shadow: 0 4px 32px rgba(26,20,16,0.04);
}

/* ---------- Başlıklar ---------- */
.woocommerce h3,
.woocommerce-checkout h3,
#order_review_heading {
  font-family: 'Fraunces', 'EB Garamond', Georgia, serif;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--wc-ink);
  margin: 0 0 18px;
}

/* ---------- Form alanları ---------- */
.woocommerce form .form-row {
  padding: 0;
  margin: 0 0 16px;
}
.woocommerce form .form-row label {
  font-size: 13px;
  font-weight: 600;
  color: var(--wc-ink);
  margin-bottom: 6px;
  display: block;
}
.woocommerce form .form-row label .required,
.woocommerce form .form-row label .optional {
  color: var(--wc-brand);
  font-weight: 600;
}
.woocommerce form .form-row .optional { color: var(--wc-mute); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection,
.woocommerce-cart table.cart td.actions .coupon .input-text {
  width: 100%;
  box-sizing: border-box;
  padding: 13px 15px;
  border: 1px solid var(--wc-line);
  border-radius: 11px;
  font-family: inherit;
  font-size: 15px;
  color: var(--wc-ink);
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
  line-height: 1.4;
}
.woocommerce form .form-row textarea { min-height: 96px; resize: vertical; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce .select2-container--focus .select2-selection {
  outline: none;
  border-color: var(--wc-ink);
  box-shadow: 0 0 0 3px rgba(26,20,16,0.06);
}
/* Select2 (ülke/şehir dropdown) hizalama */
.woocommerce .select2-container .select2-selection--single {
  height: 49px;
  display: flex;
  align-items: center;
}
.woocommerce .select2-container .select2-selection__rendered {
  line-height: 1.4;
  padding: 0;
  color: var(--wc-ink);
}
.woocommerce .select2-container .select2-selection__arrow { height: 47px; }
.select2-dropdown {
  border-color: var(--wc-line);
  border-radius: 11px;
  overflow: hidden;
}
.select2-results__option--highlighted {
  background: var(--wc-brand) !important;
}
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
  border-color: #C1342F;
}

/* ---------- Sipariş özeti tablosu ---------- */
.woocommerce table.shop_table {
  border: 1px solid var(--wc-line);
  border-radius: var(--wc-radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  margin: 0 0 20px;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 14px 16px;
  border-top: 1px solid var(--wc-line);
  font-size: 14px;
}
.woocommerce table.shop_table thead th {
  background: var(--wc-cream-2);
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wc-mute);
  border-top: 0;
  white-space: nowrap;
}
.woocommerce table.shop_table thead th.product-total { text-align: right; }
.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td {
  background: var(--wc-cream-2);
}
.woocommerce table.shop_table tfoot tr:last-child th,
.woocommerce table.shop_table tfoot tr:last-child td {
  font-size: 17px;
  font-weight: 700;
  color: var(--wc-ink);
}
.woocommerce table.shop_table .product-name { font-weight: 600; color: var(--wc-ink); }
.woocommerce table.shop_table .amount { color: var(--wc-ink); font-weight: 600; }

/* ---------- Ödeme kutusu ---------- */
#payment {
  background: var(--wc-cream-2) !important;
  border: 1px solid var(--wc-line);
  border-radius: var(--wc-radius);
  margin-top: 8px;
}
#payment ul.payment_methods {
  border-bottom: 1px solid var(--wc-line) !important;
  padding: 18px !important;
}
#payment ul.payment_methods li {
  margin: 0 0 8px;
  font-size: 14px;
}
#payment ul.payment_methods li label {
  font-weight: 600;
  color: var(--wc-ink);
}
#payment .payment_box {
  background: #fff !important;
  border-radius: 10px;
  font-size: 13px;
  color: var(--wc-mute);
  line-height: 1.5;
}
#payment .payment_box::before { display: none !important; }
#payment div.form-row.place-order {
  padding: 18px !important;
}
#payment .woocommerce-privacy-policy-text {
  font-size: 12px;
  color: var(--wc-mute);
  line-height: 1.5;
}

/* ---------- Butonlar ---------- */
.woocommerce #place_order,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .checkout-button,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: var(--wc-brand);
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 15px 32px;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.005em;
  cursor: pointer;
  transition: background .2s, transform .15s;
  text-transform: none;
  line-height: 1.2;
}
.woocommerce #place_order:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .checkout-button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--wc-brand-700);
  transform: translateY(-1px);
}
.woocommerce #place_order {
  width: 100%;
  padding: 17px 32px;
  font-size: 16px;
}
/* İkincil butonlar (örn. sepeti güncelle) — ghost */
.woocommerce button.button[name="update_cart"],
.woocommerce a.button.wc-backward {
  background: transparent;
  color: var(--wc-ink);
  border: 1px solid var(--wc-line);
}
.woocommerce button.button[name="update_cart"]:hover,
.woocommerce a.button.wc-backward:hover {
  background: rgba(26,20,16,0.04);
  border-color: var(--wc-ink);
}

/* ---------- Kupon ---------- */
.woocommerce-form-coupon-toggle .woocommerce-info {
  border-left-color: var(--wc-brand);
}
.checkout_coupon,
.woocommerce-cart table.cart td.actions .coupon {
  border: 1px solid var(--wc-line);
  border-radius: var(--wc-radius);
  padding: 16px;
  background: #fff;
}
.checkout_coupon .form-row { margin-bottom: 0; }

/* Kupon kutusu — input + buton yan yana hizalı */
.woocommerce-cart table.cart td.actions .coupon {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.woocommerce-cart table.cart td.actions .coupon .input-text {
  flex: 1;
  min-width: 160px;
  margin: 0;
}
.woocommerce-cart table.cart td.actions .coupon button {
  flex-shrink: 0;
  white-space: nowrap;
}
/* td.actions genel — kupon solda, "Sepeti güncelle" sağda */
.woocommerce-cart table.cart td.actions {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: wrap;
}
.woocommerce-cart table.cart td.actions .coupon { flex: 1; min-width: 280px; }

/* ============================================================
   CART — modern 2 kolon layout
   ============================================================ */
.rhx-cart-grid {
  display: grid;
  grid-template-columns: 1.5fr 0.85fr;
  gap: 28px;
  align-items: start;
}
@media (max-width: 860px) {
  .rhx-cart-grid { grid-template-columns: 1fr; gap: 20px; }
}

/* Sol kolon — ürün listesi kartı */
.woocommerce-cart .woocommerce-cart-form {
  background: #fff;
  border: 1px solid var(--wc-line);
  border-radius: var(--wc-radius-lg);
  padding: 8px 24px 16px;
  box-shadow: 0 4px 32px rgba(26,20,16,0.04);
  margin: 0;
}

/* Boş MIKTAR sütununu gizle — ürün "tek adet" */
.woocommerce-cart table.cart th.product-quantity,
.woocommerce-cart table.cart td.product-quantity { display: none; }

/* "Sepeti güncelle" — miktar sabit, işlevsiz */
.woocommerce-cart table.cart td.actions button[name="update_cart"] { display: none; }

/* Kupon form'dan taşındı → td.actions artık boş, gizle */
.woocommerce-cart table.cart td.actions {
  display: none;
}

/* Ürün satırı — kompakt, hizalı */
.woocommerce-cart table.cart { margin-bottom: 0; }
.woocommerce-cart table.cart td {
  padding: 18px 12px;
  vertical-align: middle;
}
.woocommerce-cart table.cart td.product-thumbnail { width: 84px; padding-right: 0; }
.woocommerce-cart table.cart img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid var(--wc-line);
}
.woocommerce-cart table.cart td.product-name {
  font-weight: 600;
  color: var(--wc-ink);
  font-size: 15px;
  line-height: 1.4;
}
.woocommerce-cart table.cart td.product-name a { color: var(--wc-ink); }
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal {
  font-weight: 600;
  color: var(--wc-ink);
}
.woocommerce-cart table.cart td.product-remove { width: 40px; text-align: center; }
.woocommerce a.remove {
  color: var(--wc-mute) !important;
  font-weight: 400;
  font-size: 20px;
  width: 26px; height: 26px; line-height: 24px;
  border-radius: 50%;
  transition: background .2s, color .2s;
}
.woocommerce a.remove:hover {
  background: #C1342F !important;
  color: #fff !important;
}

/* Sağ kolon — sipariş özeti, sticky */
.woocommerce-cart .cart-collaterals {
  width: 100%;
  margin: 0;
  position: sticky;
  top: 24px;
  float: none;
}
.woocommerce-cart .cart-collaterals .cart_totals {
  width: 100%;
  float: none;
  background: #fff;
  border: 1px solid var(--wc-line);
  border-radius: var(--wc-radius-lg);
  padding: 28px;
  box-shadow: 0 4px 32px rgba(26,20,16,0.04);
}
.woocommerce-cart .cart_totals h2 {
  font-family: 'Fraunces', 'EB Garamond', Georgia, serif;
  font-size: 20px;
  font-weight: 500;
  margin: 0 0 18px;
  color: var(--wc-ink);
}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout { padding: 16px 0 0; }
.woocommerce-cart .cart_totals .checkout-button {
  width: 100%;
  text-align: center;
}

/* ---- Kupon accordion (özet sütununa taşındı) ---- */
.rhx-coupon-acc {
  background: #fff;
  border: 1px solid var(--wc-line);
  border-radius: var(--wc-radius);
  margin-bottom: 16px;
  overflow: hidden;
}
.rhx-coupon-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: transparent;
  border: 0;
  padding: 16px 20px;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--wc-ink);
  cursor: pointer;
}
.rhx-coupon-chev {
  font-size: 18px;
  color: var(--wc-brand);
  line-height: 1;
}
.rhx-coupon-body {
  display: none;
  padding: 0 20px 20px;
}
.rhx-coupon-acc.is-open .rhx-coupon-body { display: block; }
.rhx-coupon-body .coupon {
  display: flex;
  gap: 8px;
  border: 0;
  padding: 0;
  background: transparent;
}
.rhx-coupon-body .coupon .input-text {
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 11px 13px;
}
.rhx-coupon-body .coupon button {
  flex-shrink: 0;
  padding: 11px 18px;
  font-size: 13px;
}

/* ---------- Login / kayıt promptları (gizle — friction azalt) ---------- */
.woocommerce-checkout .woocommerce-form-login-toggle { display: none; }

/* ---------- Loading overlay ---------- */
.woocommerce .blockUI.blockOverlay { border-radius: var(--wc-radius-lg); }

/* ============================================================
   MULTI-STEP CHECKOUT — Bilgiler → Ödeme → Onay
   ============================================================ */

/* multi-step aktifken grid layout'u iptal — paneller dikey akar */
.woocommerce form.checkout.rhx-ckt-ready {
  display: block;
  max-width: 720px;
  margin: 0 auto;
}
.woocommerce form.checkout.rhx-ckt-ready #customer_details .col-1,
.woocommerce form.checkout.rhx-ckt-ready #customer_details .col-2 {
  margin-bottom: 20px;
}

/* ---- Progress bar ---- */
.rhx-ckt-progress {
  max-width: 720px;
  margin: 0 auto 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rhx-ckt-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: 0;
  cursor: pointer;
  font-family: 'DM Sans', sans-serif;
  padding: 0;
  flex-shrink: 0;
}
.rhx-ckt-num {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 700;
  background: #fff;
  border: 2px solid var(--wc-line);
  color: var(--wc-mute);
  transition: background .35s var(--wc-ease, ease), border-color .35s ease, color .35s ease, transform .35s ease;
}
.rhx-ckt-label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--wc-mute);
  transition: color .35s ease;
}
.rhx-ckt-step.is-active .rhx-ckt-num {
  background: var(--wc-brand);
  border-color: var(--wc-brand);
  color: #fff;
  transform: scale(1.08);
  box-shadow: 0 4px 16px rgba(255,95,0,0.28);
}
.rhx-ckt-step.is-active .rhx-ckt-label { color: var(--wc-ink); }
.rhx-ckt-step.is-done .rhx-ckt-num {
  background: var(--wc-ink);
  border-color: var(--wc-ink);
  color: var(--wc-cream);
}
.rhx-ckt-step.is-done .rhx-ckt-num::before {
  content: "✓";
  font-size: 16px;
}
.rhx-ckt-step.is-done .rhx-ckt-num { font-size: 0; }
.rhx-ckt-line {
  flex: 1;
  max-width: 90px;
  height: 2px;
  background: var(--wc-line);
  margin: 0 8px;
  position: relative;
  top: -10px;
  transition: background .4s ease;
}
.rhx-ckt-line.is-done { background: var(--wc-ink); }
@media (max-width: 520px) {
  .rhx-ckt-label { font-size: 11px; }
  .rhx-ckt-line { max-width: 40px; }
  .rhx-ckt-num { width: 34px; height: 34px; }
}

/* ---- Paneller + geçiş animasyonu ---- */
.rhx-ckt-panel {
  display: none;
  animation: rhxCktIn .42s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.rhx-ckt-panel.is-active { display: block; }
@keyframes rhxCktIn {
  from { opacity: 0; transform: translateX(24px); }
  to   { opacity: 1; transform: translateX(0); }
}
.rhx-ckt-h {
  font-family: 'Fraunces', 'EB Garamond', Georgia, serif;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--wc-ink);
  margin: 0 0 18px;
}
.rhx-ckt-confirm-note {
  font-size: 14px;
  color: var(--wc-mute);
  line-height: 1.55;
  margin: 0 0 20px;
}

/* ---- Nav butonları ---- */
.rhx-ckt-nav {
  display: flex;
  gap: 12px;
  margin-top: 24px;
  align-items: center;
}
.rhx-ckt-btn {
  flex: 1;
  padding: 16px 28px;
  border-radius: 999px;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.005em;
  cursor: pointer;
  transition: background .2s, transform .15s, border-color .2s;
  border: 0;
  line-height: 1.2;
}
.rhx-ckt-btn--next {
  background: var(--wc-brand);
  color: #fff;
}
.rhx-ckt-btn--next:hover {
  background: var(--wc-brand-700);
  transform: translateY(-1px);
}
.rhx-ckt-btn--ghost {
  background: transparent;
  color: var(--wc-ink);
  border: 1px solid var(--wc-line);
  flex: 0 0 auto;
  padding: 16px 24px;
}
.rhx-ckt-btn--ghost:hover {
  background: rgba(26,20,16,0.04);
  border-color: var(--wc-ink);
}

/* ---- Panel 3'te place_order tam genişlik ---- */
.rhx-ckt-confirm-slot .place-order { padding: 0 !important; }
.rhx-ckt-confirm-slot #place_order { width: 100%; margin-top: 8px; }

/* ---- Ödeme yöntemi slotu — panel 2 ---- */
.rhx-ckt-payment-slot { margin-top: 20px; }
.rhx-ckt-payment-slot:empty { display: none; }

/* ---- Panel 2'ye taşınan kupon kutusu ---- */
.rhx-ckt-panel .woocommerce-form-coupon-toggle { margin-top: 20px; }
.rhx-ckt-panel .woocommerce-form-coupon-toggle .woocommerce-info {
  font-size: 13px;
  padding: 12px 16px;
}
.rhx-ckt-panel form.checkout_coupon { margin-top: 10px; }

/* ---- Progress bar sonrası notice'lar — nefes payı ---- */
.rhx-ckt-progress + .woocommerce-notices-wrapper,
.rhx-ckt-progress ~ .woocommerce-notices-wrapper {
  max-width: 720px;
  margin: 0 auto 20px;
}
.rhx-ckt-payment-slot ul.payment_methods {
  border: 1px solid var(--wc-line) !important;
  border-radius: var(--wc-radius);
  background: #fff !important;
  margin: 0;
}

/* multi-step modda eski #payment kutusu arka planını sıfırla */
.rhx-ckt-ready #payment {
  background: transparent !important;
  border: 0;
}
.rhx-ckt-ready #payment ul.payment_methods {
  border: 1px solid var(--wc-line) !important;
  border-radius: var(--wc-radius);
}
