﻿
.loading-progress {
    position: relative;
    display: block;
    width: 8rem;
    height: 8rem;
    margin: 20vh auto 1rem auto;
}

    .loading-progress circle {
        fill: none;
        stroke: #e0e0e0;
        stroke-width: 0.6rem;
        transform-origin: 50% 50%;
        transform: rotate(-90deg);
    }

        .loading-progress circle:last-child {
            stroke: #1b6ec2;
            stroke-dasharray: calc(3.141 * var(--blazor-load-percentage, 0%) * 0.8), 500%;
            transition: stroke-dasharray 0.05s ease-in-out;
        }

.loading-progress-text {
    position: absolute;
    text-align: center;
    font-weight: bold;
    inset: calc(20vh + 3.25rem) 0 auto 0.2rem;
}

    .loading-progress-text:after {
        content: var(--blazor-load-percentage-text, "Loading");
    }





:root {
    --border: #e5e7eb;
    --header-bg: #f6f7fb;
    --text: #111827;
    --muted: #6b7280;
    --link: #1e66d0; /* sadece opsiyon satırları için gerekirse */
    --subtotal: #0b67c2;
    --row-bg: #fff;
}

/* ortak tablo */
.order-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

    .order-table th, .order-table td {
        border: 1px solid var(--border);
        padding: 12px 14px;
        font-size: 14px;
        color: var(--text);
        background: var(--row-bg);
        vertical-align: middle;
    }

    .order-table thead th {
        background: var(--header-bg);
        font-weight: 600;
        text-transform: uppercase;
        font-size: 12px;
        color: #374151;
        letter-spacing: .02em;
    }

.order-header {
    border: 1px solid var(--border);
    border-bottom: none;
    border-radius: 6px 6px 0 0;
    overflow: hidden;
}

/* grup blokları (başlıksız) */
.order-block {
    border: 1px solid var(--border);
    border-top: none; /* header’a bağlanmış görünür */
    border-radius: 0;
    margin: 8px 0 10px; /* aralarda az boşluk */
    box-shadow: 0 1px 0 rgba(17,24,39,.03);
    overflow: hidden;
}

/* ürün ana satırı */
.product-row td {
    font-weight: 600;
    color: var(--subtotal) !important;
}

    .product-row td a.product-link {
        color: var(--subtotal) !important;
    }

.product-link {
    color: var(--text);
    text-decoration: none;
}
    /* tek renk */
    .product-link:hover {
        text-decoration: none;
    }

/* alt (opsiyon) satırlar */
.option-row td:first-child {
    padding-left: 28px;
    color: var(--muted);
    font-weight: 500;
}

/* ara toplam */
.subtotal td {
    background: #fafbff;
    border-top: 2px solid var(--border);
}

.subtotal .subtotal-label {
    text-align: right;
    color: var(--subtotal);
    font-weight: 600;
    padding-right: 10px;
}

.subtotal .subtotal-value {
    text-align: right;
    font-weight: 700;
    color: var(--subtotal);
}

.ta-right {
    text-align: right;
}

.ta-center {
    text-align: center;
}

/* responsive: küçük ekranda yatay kaydırma */
@media (max-width: 768px) {
    .order-header, .order-block {
        border-radius: 4px;
    }

        .order-header .order-table, .order-block .order-table {
            display: block;
            overflow-x: auto;
            white-space: nowrap;
        }
}