/* ══════════════════════════════════════════════════════════════════
   Solestra — Sepet sayfası (templates/woocommerce/cart/*)
   Değişkenler checkout.css'ten gelir (bu dosyadan önce yüklenir).
   ══════════════════════════════════════════════════════════════════ */

body.woocommerce-cart .woocommerce,
body.woocommerce-cart .qodef--cart { display: block; }

/* Ürün listesinin siyah çizgisi bölümü açıyor — başlık altında ikinci çizgi gereksiz */
body.woocommerce-cart .solestra-page-head {
    margin-bottom: 36px;
    border-bottom: 0;
}

.sl-cart {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    column-gap: 72px;
    align-items: start;
}

/* ── Üst satır: etiket + alışverişe devam ── */
.sl-cart__bar {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 0 0 18px;
    border-bottom: 1px solid var(--sl-black);
}

.sl-cart__label,
.sl-summary__title {
    margin: 0;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: var(--sl-ls);
    text-transform: uppercase;
    color: var(--sl-black);
}

.sl-cart__continue {
    font-size: 12px;
    line-height: 1.4; /* tema 29px satır yüksekliği çizgiyi özet başlığından aşağı itiyor */
    letter-spacing: 0.08em;
    color: var(--sl-text);
    text-decoration: none;
    transition: color .15s;
}

.sl-cart__continue:hover { color: var(--sl-black); }

/* ── Ürün kartları ── */
.sl-cart__items {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sl-cart__item {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr) auto;
    gap: 28px;
    margin: 0;
    padding: 28px 0;
    border-bottom: 1px solid var(--sl-line);
}

.sl-cart__thumb a,
.sl-cart__thumb img {
    display: block;
    width: 132px;
    height: 176px;
}

.sl-cart__thumb img {
    object-fit: cover;
    background: var(--sl-soft);
}

.sl-cart__info {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    padding-top: 2px;
}

.sl-cart__brand {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: var(--sl-ls);
    text-transform: uppercase;
    color: var(--sl-muted);
}

.sl-cart__name,
.sl-cart__name a {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.55;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sl-black);
    text-decoration: none;
}

.sl-cart__name a:hover { text-decoration: underline; text-underline-offset: 4px; }

.sl-cart__meta,
.sl-cart__info dl.variation {
    margin: 2px 0 0;
    font-size: 13px;
    color: var(--sl-text);
}

.sl-cart__remove { margin-top: auto; padding-top: 16px; }

.sl-cart__remove a.remove {
    display: inline !important;
    width: auto !important;
    height: auto !important;
    padding: 0;
    background: none !important;
    border-radius: 0;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0.08em;
    color: var(--sl-text) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sl-cart__remove a.remove:hover { color: var(--sl-black) !important; }

.sl-cart__price {
    padding-top: 2px;
    font-size: 16px;
    font-weight: 600;
    color: var(--sl-black);
    white-space: nowrap;
}

/* ── İndirim kodu (açılır) ── */
.sl-cart__actions { padding: 24px 0 0; }

.sl-coupon summary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--sl-black);
    cursor: pointer;
    list-style: none;
}

.sl-coupon summary span { text-decoration: underline; text-underline-offset: 3px; }
.sl-coupon summary::-webkit-details-marker { display: none; }
.sl-coupon summary::after { content: "+"; font-size: 15px; }
.sl-coupon[open] summary::after { content: "\2013"; }

.sl-coupon__field {
    display: flex;
    max-width: 440px;
    margin-top: 14px;
}

.sl-coupon__field .input-text {
    flex: 1;
    min-width: 0;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 1px solid var(--sl-field) !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    font-size: 14px !important;
    color: var(--sl-black);
}

.sl-coupon__field .input-text:focus { outline: none; border-color: var(--sl-black) !important; }

.sl-coupon__field .button {
    height: 50px;
    margin: 0 !important;
    padding: 0 26px !important;
    border: 0;
    border-radius: 0;
    background: var(--sl-black) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 600;
    letter-spacing: var(--sl-ls);
    text-transform: uppercase;
}

.sl-coupon__field { flex-wrap: wrap; }

.sl-coupon__field .coupon-error-notice {
    flex: 0 0 100%;
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 1.5;
    color: #b3261e;
}

.sl-coupon__field .input-text.has-error { border-color: #b3261e !important; }

/* ── Sağ: Sipariş özeti (liste ile aynı hizadan başlar) ── */
.sl-cart__aside {
    position: sticky;
    top: 120px;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

.sl-summary {
    float: none !important;
    width: 100% !important;
    margin: 0 !important; /* tema .cart_totals'a 50px üst boşluk veriyor */
    padding: 0;
    background: #fff;
}

.sl-summary__title {
    padding: 0 0 18px;
    border-bottom: 1px solid var(--sl-black);
}

.sl-summary__rows { margin: 0; }

.sl-summary__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid var(--sl-line);
}

.sl-summary__row dt {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    color: var(--sl-text);
}

.sl-summary__row dd {
    margin: 0;
    font-size: 14px;
    color: var(--sl-black);
    text-align: right;
}

.sl-summary__row dd.sl-summary__muted { color: var(--sl-muted); font-size: 13px; }

.sl-summary__total { padding: 20px 0; border-bottom: 0; }

.sl-summary__total dt {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: var(--sl-ls);
    text-transform: uppercase;
    color: var(--sl-black);
}

.sl-summary__total dd,
.sl-summary__total dd strong {
    font-size: 22px;
    font-weight: 600;
}

.sl-summary__total dd small {
    display: block;
    font-size: 12px;
    font-weight: 400;
    color: var(--sl-muted);
}

.sl-summary__cta { padding: 4px 0 0 !important; }

.sl-summary__cta a.checkout-button {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 22px 32px !important;
    border-radius: 0 !important;
    background: var(--sl-black) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: var(--sl-ls) !important;
    text-align: center;
    text-transform: uppercase;
    transition: background-color .2s ease-out;
}

.sl-summary__cta a.checkout-button:hover { background: #2e2e2e !important; }

.sl-summary__trust {
    margin: 24px 0 0;
    padding: 20px 0 0;
    border-top: 1px solid var(--sl-line);
    list-style: none;
}

.sl-summary__trust li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 12px;
    font-size: 13px;
    color: var(--sl-text);
}

.sl-summary__trust li:last-child { margin-bottom: 0; }
.sl-summary__trust svg { flex: 0 0 auto; color: var(--sl-black); }

/* WooCommerce AJAX sırasında hafif bekleme perdesi */
.sl-cart .blockUI.blockOverlay { background: rgba(255, 255, 255, .7) !important; }

/* ── Boş sepet ── */
body.woocommerce-cart .cart-empty.woocommerce-info {
    margin: 0;
    padding: 56px 24px 20px;
    border: 0 !important;
    background: none !important;
    text-align: center;
    font-size: 13px !important;
    font-weight: 700;
    letter-spacing: var(--sl-ls);
    text-transform: uppercase;
    color: var(--sl-black) !important;
}

body.woocommerce-cart .return-to-shop { margin: 8px 0 24px; text-align: center; }

body.woocommerce-cart .return-to-shop .button {
    display: inline-block;
    padding: 18px 40px !important;
    border-radius: 0;
    background: var(--sl-black) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 600;
    letter-spacing: var(--sl-ls);
    text-transform: uppercase;
}

/* ══ Ödeme formu sayfası (order-pay) — özet kartı .sl-summary stillerini paylaşır ══ */
.sl-pay {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    column-gap: 72px;
    align-items: start;
}

.sl-pay__bar {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 0 0 18px;
    border-bottom: 1px solid var(--sl-black);
}

.sl-pay__label {
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: var(--sl-ls);
    text-transform: uppercase;
    color: var(--sl-black);
}

.sl-pay__brand { font-size: 12px; line-height: 1.4; letter-spacing: 0.08em; color: var(--sl-muted); }

.sl-pay__lead {
    max-width: 620px;
    margin: 24px 0 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--sl-text);
}

.sl-pay__gateway { margin: 28px 0 0; min-height: 120px; }

/* iyzico'nun kendi metni üstteki açıklamayla aynı şeyi söylüyor */
.sl-pay__gateway #infoBox { display: none !important; }

.sl-pay__gateway #loadingBar {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 28px 0;
    font-size: 13px;
    color: var(--sl-muted);
}

.sl-pay__gateway #loadingBar .loading {
    width: 18px;
    height: 18px;
    margin: 0;
    border: 1px solid var(--sl-field);
    border-top-color: var(--sl-black);
    border-radius: 50%;
    background: none;
    animation: sl-spin .8s linear infinite;
}

.sl-pay__gateway #loadingBar .brand p { margin: 0; }
.sl-pay__gateway #loadingBar .brand p::before { content: "Güvenli ödeme formu yükleniyor · "; }

@keyframes sl-spin { to { transform: rotate(360deg); } }

.sl-pay__gateway #iyzipay-checkout-form.responsive { max-width: 620px; }

.sl-pay__error {
    max-width: 620px;
    margin: 28px 0 0;
    padding: 24px 26px;
    border: 1px solid var(--sl-error);
    font-size: 14px;
    line-height: 1.7;
    color: var(--sl-text);
}

.sl-pay__error p { margin: 0 0 14px; }

.sl-pay__error-title {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: var(--sl-ls);
    text-transform: uppercase;
    color: var(--sl-error) !important;
}

.sl-pay__retry {
    display: inline-block;
    padding: 16px 32px;
    background: var(--sl-black);
    color: #fff !important;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: var(--sl-ls);
    text-transform: uppercase;
    text-decoration: none;
}

.sl-pay__retry:hover { background: #2e2e2e; }

.sl-pay__error-detail { margin: 16px 0 0 !important; font-size: 12px; color: var(--sl-muted); }

.sl-pay__notes {
    margin: 32px 0 0;
    padding: 20px 0 0;
    border-top: 1px solid var(--sl-line);
    list-style: none;
}

.sl-pay__notes li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 12px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--sl-text);
}

.sl-pay__notes svg { flex: 0 0 auto; color: var(--sl-black); }

.sl-pay__aside { position: sticky; top: 120px; }

.sl-pay__meta {
    margin: 0;
    padding: 16px 0;
    border-bottom: 1px solid var(--sl-line);
    font-size: 13px;
    color: var(--sl-text);
}

.sl-pay__meta strong { color: var(--sl-black); font-weight: 600; }

.sl-pay__items { margin: 0; padding: 0; list-style: none; }

.sl-pay__item {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    margin: 0;
    padding: 16px 0;
    border-bottom: 1px solid var(--sl-line);
}

.sl-pay__thumb img {
    display: block;
    width: 56px;
    height: 74px;
    object-fit: cover;
    background: var(--sl-soft);
}

.sl-pay__name {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--sl-black);
}

.sl-pay__name small { font-weight: 400; color: var(--sl-muted); }
/* Sepet / ödeme kalem bilgileri (kiralama tarihleri vb.) — WooCommerce dl.variation */
.woocommerce-cart dl.variation,
.woocommerce-checkout dl.variation {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2px 8px;
    margin: 6px 0 0 !important;
    font-size: 13px;
    line-height: 1.5;
}

.woocommerce-cart dl.variation dt,
.woocommerce-checkout dl.variation dt { margin: 0 !important; padding: 0 !important; font-weight: 400 !important; color: var(--sl-muted, #8f8f8f); }

.woocommerce-cart dl.variation dd,
.woocommerce-checkout dl.variation dd { margin: 0 !important; padding: 0 !important; color: var(--sl-black, #000); }

.woocommerce-cart dl.variation dd p,
.woocommerce-checkout dl.variation dd p { margin: 0 !important; }

.sl-pay__item-meta { display: block; margin-top: 4px; font-size: 12px; font-weight: 400; line-height: 1.5; letter-spacing: 0; text-transform: none; color: var(--sl-muted); }

.sl-pay__price { font-size: 14px; font-weight: 600; color: var(--sl-black); white-space: nowrap; }

.sl-pay__aside .sl-summary__total { border-bottom: 1px solid var(--sl-line); }

.sl-pay__address { padding: 18px 0 0; }

.sl-pay__address-title {
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: var(--sl-ls);
    text-transform: uppercase;
    color: var(--sl-black);
}

.sl-pay__address address {
    margin: 0;
    font-size: 13px;
    font-style: normal;
    line-height: 1.7;
    color: var(--sl-text);
}

/* ══ Sipariş onayı (order-received) ══ */
.sl-done {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    margin: 28px 0 0;
}

.sl-done__icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--sl-black);
    border-radius: 50%;
    color: var(--sl-black);
}

.sl-done__title {
    margin: 0 0 6px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sl-black);
}

.sl-done__text {
    max-width: 580px;
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--sl-text);
}

.sl-done__text strong { color: var(--sl-black); font-weight: 600; }

.sl-done__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 28px;
    margin: 36px 0 0;
}

.sl-done__link {
    font-size: 12px;
    letter-spacing: 0.08em;
    color: var(--sl-text) !important;
    text-decoration: none;
}

.sl-done__link:hover { color: var(--sl-black) !important; }

/* Banka bilgileri kartı */
.sl-bank {
    max-width: 620px;
    margin: 32px 0 0;
    border: 1px solid var(--sl-black);
}

.sl-bank__title {
    margin: 0;
    padding: 16px 22px;
    border-bottom: 1px solid var(--sl-line);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: var(--sl-ls);
    text-transform: uppercase;
    color: var(--sl-black);
}

.sl-bank__rows { margin: 0; padding: 4px 22px; }

.sl-bank__row {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--sl-line);
}

.sl-bank__row:last-child { border-bottom: 0; }

.sl-bank__row dt {
    margin: 0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--sl-muted);
}

.sl-bank__row dd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    margin: 0;
}

.sl-bank__value {
    min-width: 0;
    font-size: 14px;
    color: var(--sl-black);
    overflow-wrap: anywhere;
}

.sl-bank__value.is-strong {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.04em;
    font-variant-numeric: tabular-nums;
}

.sl-copy {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    height: 32px;
    margin: 0;
    padding: 0 12px !important;
    border: 1px solid var(--sl-field) !important;
    border-radius: 0;
    background: #fff !important;
    color: var(--sl-black) !important;
    font-size: 11px !important;
    font-weight: 600;
    line-height: 1 !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: border-color .15s, background-color .15s, color .15s;
}

.sl-copy:hover { border-color: var(--sl-black) !important; }
.sl-copy.is-copied { border-color: var(--sl-black) !important; background: var(--sl-black) !important; color: #fff !important; }

.sl-bank__note,
.sl-bank__instructions {
    max-width: 620px;
    margin: 16px 0 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--sl-text);
}

.sl-bank__instructions p { margin: 0 0 8px; }

/* ── Duyarlı ── */
@media (max-width: 1024px) {
    .sl-cart { grid-template-columns: minmax(0, 1fr); }
    .sl-cart__aside { position: static; margin-top: 48px !important; }
    .sl-pay { grid-template-columns: minmax(0, 1fr); }
    .sl-pay__aside { position: static; margin-top: 48px !important; }
}

@media (max-width: 640px) {
    .sl-cart__bar { flex-direction: column; align-items: flex-start; gap: 6px; }
    .sl-pay__brand { display: none; }
    .sl-pay__error { padding: 20px; }
    .sl-bank__rows { padding: 4px 16px; }
    .sl-bank__title { padding: 14px 16px; }
    .sl-bank__row { grid-template-columns: minmax(0, 1fr); gap: 6px; }
    .sl-done__icon { width: 36px; height: 36px; }

    .sl-cart__item {
        grid-template-columns: 96px minmax(0, 1fr);
        grid-template-areas: "thumb info" "thumb price";
        gap: 6px 18px;
        padding: 22px 0;
    }

    .sl-cart__thumb { grid-area: thumb; }
    .sl-cart__info { grid-area: info; }
    .sl-cart__price { grid-area: price; align-self: end; font-size: 15px; }
    .sl-cart__thumb a,
    .sl-cart__thumb img { width: 96px; height: 128px; }
    .sl-cart__name,
    .sl-cart__name a { font-size: 13px; }
    .sl-cart__remove { padding-top: 8px; }
}

/* Ödeme sayfası: Solestra Cüzdan bakiyesi kullan */
.sl-wallet-pay { margin: 0 0 18px; }

.sl-wallet-pay__label {
    display: flex !important;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid var(--sl-field, #d6d6d6);
    cursor: pointer;
    transition: border-color .15s;
}

.sl-wallet-pay__label:hover,
.sl-wallet-pay__label:has(input:checked) { border-color: var(--sl-black, #000); }
.sl-wallet-pay__label input { margin: 0; accent-color: #000; }
.sl-wallet-pay__label span { display: flex; flex-direction: column; gap: 2px; }
.sl-wallet-pay__label b { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sl-black, #000); }
.sl-wallet-pay__label small { font-size: 12px; color: var(--sl-muted, #8f8f8f); }
