/**
 * Ürün özellik kutusu (tablo / badge) — ön yüz
 */

.product-specifications .product-specs-block,
.product-specifications .specs-table {
    margin-top: 4px;
}

/* Dış çerçeve — tek kaynak; köşeler buradan */
.product-specs-block.psb {
    --psb-label: #0f172a;
    --psb-value: #475569;
    --psb-border: #d1d5db;
    --psb-border-strong: #94a3b8;
    --psb-box-bg: #ffffff;
    --psb-row-label-bg: #f1f5f9;
    --psb-row-value-bg: #ffffff;
    --psb-row-alt-label-bg: #e8eef4;
    --psb-row-alt-value-bg: #f8fafc;
    --psb-badge-bg: #e0f2fe;
    --psb-badge-text: #0369a1;
    --psb-badge-border: #7dd3fc;
    --psb-badge-row-bg: #ffffff;
    width: 100%;
    max-width: 100%;
    border: 1px solid var(--psb-border);
    border-radius: var(--psb-radius, 12px);
    overflow: hidden;
    background: var(--psb-box-bg);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    box-sizing: border-box;
    font-size: var(--psb-font-value, 14px);
}

/* Boyutlar — vitrin + admin önizleme (belirgin farklar) */
.product-specifications .product-specs-block.psb.psb--sm,
.product-specs-block.psb.psb--sm {
    --psb-font-label: 11px;
    --psb-font-value: 11px;
    --psb-pad-cell-y: 6px;
    --psb-pad-cell-x: 10px;
    --psb-label-width: 32%;
    --psb-radius: 8px;
    --psb-badge-pad-y: 3px;
    --psb-badge-pad-x: 8px;
}

.product-specifications .product-specs-block.psb.psb--md,
.product-specs-block.psb.psb--md {
    --psb-font-label: 14px;
    --psb-font-value: 14px;
    --psb-pad-cell-y: 12px;
    --psb-pad-cell-x: 16px;
    --psb-label-width: 38%;
    --psb-radius: 12px;
    --psb-badge-pad-y: 6px;
    --psb-badge-pad-x: 14px;
}

.product-specifications .product-specs-block.psb.psb--lg,
.product-specs-block.psb.psb--lg {
    --psb-font-label: 17px;
    --psb-font-value: 17px;
    --psb-pad-cell-y: 16px;
    --psb-pad-cell-x: 22px;
    --psb-label-width: 42%;
    --psb-radius: 14px;
    --psb-badge-pad-y: 9px;
    --psb-badge-pad-x: 18px;
}

.product-specifications .product-specs-block.psb.psb--xl,
.product-specs-block.psb.psb--xl {
    --psb-font-label: 20px;
    --psb-font-value: 20px;
    --psb-pad-cell-y: 20px;
    --psb-pad-cell-x: 28px;
    --psb-label-width: 44%;
    --psb-radius: 16px;
    --psb-badge-pad-y: 11px;
    --psb-badge-pad-x: 22px;
}

/* Tablo stili — dış kenar .psb'den; hücreler sadece iç çizgi */
.psb--table .psb__table {
    width: 100%;
    border-collapse: collapse;
    border: none;
    background: transparent;
    margin: 0;
}

.psb--table .psb__cell {
    border: none;
    padding: var(--psb-pad-cell-y) var(--psb-pad-cell-x);
    vertical-align: middle;
    text-align: left;
}

.psb--table .psb__row:not(:last-child) .psb__cell {
    border-bottom: 1px solid var(--psb-border);
}

.psb--table .psb__table tbody tr.psb__row .psb__cell--label,
.psb--table .psb__table tbody tr.psb__row th.psb__cell--label {
    background-color: var(--psb-row-label-bg);
}

.psb--table .psb__table tbody tr.psb__row .psb__cell--value,
.psb--table .psb__table tbody tr.psb__row td.psb__cell--value {
    background-color: var(--psb-row-value-bg);
}

.psb--table .psb__table tbody tr.psb__row.psb__row--alt .psb__cell--label,
.psb--table .psb__table tbody tr.psb__row.psb__row--alt th.psb__cell--label {
    background-color: var(--psb-row-alt-label-bg);
}

.psb--table .psb__table tbody tr.psb__row.psb__row--alt .psb__cell--value,
.psb--table .psb__table tbody tr.psb__row.psb__row--alt td.psb__cell--value {
    background-color: var(--psb-row-alt-value-bg);
}

.psb--table .psb__cell--label {
    width: var(--psb-label-width, 38%);
    min-width: 88px;
    font-size: var(--psb-font-label);
    font-weight: 600;
    line-height: 1.35;
    color: var(--psb-label);
    border-right: 1px solid var(--psb-border-strong);
}

.psb--table .psb__cell--value {
    font-size: var(--psb-font-value);
    line-height: 1.45;
    color: var(--psb-value);
    word-break: break-word;
    overflow-wrap: anywhere;
}

.psb__label-text,
.psb__value-text {
    display: inline;
}

.psb__cell i,
.psb__badge-label i,
.psb__badge i {
    margin-right: 6px;
    opacity: 0.85;
}

/* Badge stili — tablo ile aynı sütun hizası; yalnızca değer pill olarak görünür */
.psb--badge .psb__badge-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    background: var(--psb-box-bg);
}

.psb--badge .psb__badge-row {
    display: grid;
    grid-template-columns: var(--psb-label-width, 38%) minmax(0, 1fr);
    align-items: stretch;
    padding: 0;
    border: none;
    border-bottom: 1px solid var(--psb-border);
    border-radius: 0;
    background: transparent;
}

.psb--badge .psb__badge-row:last-child {
    border-bottom: none;
}

.psb--badge .psb__badge-label {
    font-size: var(--psb-font-label);
    font-weight: 600;
    line-height: 1.35;
    color: var(--psb-label);
    min-width: 88px;
    padding: var(--psb-pad-cell-y) var(--psb-pad-cell-x);
    border-right: 1px solid var(--psb-border-strong);
    background-color: var(--psb-row-label-bg);
    display: flex;
    align-items: center;
}

.psb--badge .psb__badge-value {
    min-width: 0;
    padding: var(--psb-pad-cell-y) var(--psb-pad-cell-x);
    background-color: var(--psb-row-value-bg);
    display: flex;
    align-items: center;
    font-size: var(--psb-font-value);
    line-height: 1.45;
    color: var(--psb-value);
    word-break: break-word;
    overflow-wrap: anywhere;
}

.psb--badge .psb__badge-row.psb__row--alt .psb__badge-label {
    background-color: var(--psb-row-alt-label-bg);
}

.psb--badge .psb__badge-row.psb__row--alt .psb__badge-value {
    background-color: var(--psb-row-alt-value-bg);
}

.psb__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: var(--psb-badge-pad-y, 6px) var(--psb-badge-pad-x, 14px);
    border-radius: 999px;
    border: 1px solid var(--psb-badge-border);
    background: var(--psb-badge-bg);
    color: var(--psb-badge-text);
    font-size: var(--psb-font-value);
    font-weight: 600;
    line-height: 1.3;
    max-width: 100%;
    word-break: break-word;
}

/* Eski JSON tablo (geriye uyumluluk — sabit varsayılan) */
.product-specifications .specs-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #d1d5db;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.product-specifications .specs-table tr {
    border-bottom: 1px solid #d1d5db;
}

.product-specifications .specs-table tr:last-child {
    border-bottom: none;
}

.product-specifications .specs-table .spec-label {
    padding: 12px 16px;
    font-weight: 600;
    color: #0f172a;
    width: 38%;
    min-width: 120px;
    vertical-align: middle;
    background: #f1f5f9;
    border-right: 2px solid #94a3b8;
    border-bottom: 1px solid #d1d5db;
}

.product-specifications .specs-table .spec-value {
    padding: 12px 16px;
    color: #475569;
    border-bottom: 1px solid #d1d5db;
}

.product-specifications .specs-table tr:nth-child(even) .spec-label {
    background: #e8eef4;
}

.product-specifications .specs-table tr:nth-child(even) .spec-value {
    background: #f8fafc;
}

@media (max-width: 640px) {
    .product-specifications .product-specs-block.psb,
    .product-specs-block.psb {
        --psb-label-width: 38%;
    }

    .psb--table .psb__table {
        table-layout: fixed;
    }

    .psb--table .psb__cell--label,
    .psb--badge .psb__badge-label {
        min-width: 0;
        width: var(--psb-label-width, 38%);
        padding-top: calc(var(--psb-pad-cell-y) * 0.82);
        padding-bottom: calc(var(--psb-pad-cell-y) * 0.82);
        padding-left: calc(var(--psb-pad-cell-x) * 0.72);
        padding-right: calc(var(--psb-pad-cell-x) * 0.55);
        font-size: clamp(11px, 3.1vw, var(--psb-font-label));
        line-height: 1.3;
        word-break: break-word;
        overflow-wrap: anywhere;
        hyphens: auto;
    }

    .psb--table .psb__cell--value,
    .psb--badge .psb__badge-value {
        padding-top: calc(var(--psb-pad-cell-y) * 0.82);
        padding-bottom: calc(var(--psb-pad-cell-y) * 0.82);
        padding-left: calc(var(--psb-pad-cell-x) * 0.55);
        padding-right: calc(var(--psb-pad-cell-x) * 0.72);
        font-size: clamp(11px, 3.1vw, var(--psb-font-value));
        line-height: 1.35;
    }

    .psb--badge .psb__badge-row {
        grid-template-columns: var(--psb-label-width, 38%) minmax(0, 1fr);
    }

    .psb__cell i,
    .psb__badge-label i,
    .psb__badge i {
        margin-right: 4px;
        font-size: 0.92em;
    }

    .psb__badge {
        max-width: 100%;
        padding: calc(var(--psb-badge-pad-y, 6px) * 0.82) calc(var(--psb-badge-pad-x, 14px) * 0.72);
        font-size: clamp(11px, 3vw, var(--psb-font-value));
        line-height: 1.25;
    }

    .product-specifications .specs-table {
        table-layout: fixed;
    }

    .product-specifications .specs-table .spec-label {
        width: 38%;
        min-width: 0;
        padding: 10px 8px;
        font-size: clamp(12px, 3.1vw, 14px);
        line-height: 1.3;
        word-break: break-word;
        overflow-wrap: anywhere;
        border-right: 2px solid #94a3b8;
    }

    .product-specifications .specs-table .spec-value {
        padding: 10px 8px;
        font-size: clamp(12px, 3.1vw, 14px);
        line-height: 1.35;
        word-break: break-word;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 380px) {
    .product-specifications .product-specs-block.psb,
    .product-specs-block.psb {
        --psb-label-width: 40%;
    }

    .psb--table .psb__cell--label,
    .psb--badge .psb__badge-label {
        padding-left: calc(var(--psb-pad-cell-x) * 0.62);
        padding-right: calc(var(--psb-pad-cell-x) * 0.45);
    }

    .psb--table .psb__cell--value,
    .psb--badge .psb__badge-value {
        padding-left: calc(var(--psb-pad-cell-x) * 0.45);
        padding-right: calc(var(--psb-pad-cell-x) * 0.62);
    }
}
