/* ===================================
   СТРАНИЦА ЦЕН НА УСЛУГИ
   pricelist.css
   =================================== */

.pricelist-page {
    padding: var(--space-12) 0 var(--space-10);
}

/* ── Обёртка таблицы ── */
.pricelist-table-wrap {
    background: var(--color-white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--color-border);
    overflow: hidden;
}

/* ── Лоадер ── */
.pricelist-loader {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-16) 0;
    color: var(--color-text-secondary);
}

/* ── Таблица ── */
.pricelist-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--fz-sm);
}

.pricelist-table thead th {
    background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
    color: var(--color-white);
    font-family: var(--font-heading), serif;
    font-weight: var(--fw-semibold);
    text-align: left;
    padding: var(--space-4) var(--space-5);
    white-space: nowrap;
}

.pricelist-table thead th:first-child {
    width: 56px;
    text-align: center;
}

.pricelist-table tbody tr {
    border-bottom: 1px solid var(--color-border);
    transition: background var(--transition-base);
    opacity: 0;
    transform: translateY(12px);
    animation: cardReveal 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.pricelist-table tbody tr:nth-child(even) {
    background: var(--color-bg-light);
}

.pricelist-table tbody tr:hover {
    background: var(--color-primary-light);
}

.pricelist-table tbody tr.hidden {
    display: none;
}

.pricelist-table td {
    padding: var(--space-4) var(--space-5);
    color: var(--color-text);
    vertical-align: top;
}

.pricelist-table td.pricelist-num {
    text-align: center;
    color: var(--color-text-light);
    font-weight: var(--fw-semibold);
    width: 56px;
}

.pricelist-table td.pricelist-title {
    font-weight: var(--fw-medium);
    color: var(--color-text);
    min-width: 220px;
}

.pricelist-table td.pricelist-price {
    color: var(--color-primary-dark);
    font-weight: var(--fw-semibold);
    white-space: nowrap;
}

.pricelist-table td.pricelist-note {
    color: var(--color-text-secondary);
    line-height: var(--lh-normal);
}

/* Несколько вариантов цены в одной ячейке */
.price-variant {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--space-2) 0;
}

.price-variant:not(:last-child) {
    border-bottom: 1px dashed var(--color-border);
    margin-bottom: var(--space-2);
}

.price-variant__label {
    font-size: var(--fz-xs);
    color: var(--color-text-light);
    font-weight: var(--fw-medium);
}

.price-variant__value {
    color: var(--color-primary-dark);
    font-weight: var(--fw-semibold);
}

.note-variant {
    padding: var(--space-2) 0;
}

.note-variant:not(:last-child) {
    border-bottom: 1px dashed transparent;
    margin-bottom: var(--space-2);
}

/* ── Категория-бейдж (мобильная карточка) ── */
.pricelist-category-badge {
    display: none;
}

/* ── Сноска под таблицей ── */
.pricelist-note {
    margin-top: var(--space-6);
    font-size: var(--fz-xs);
    color: var(--color-text-light);
    text-align: center;
    max-width: 720px;
    margin-inline: auto;
    line-height: var(--lh-loose);
}

/* ───────────────────────────────────────
   АДАПТИВ — превращаем таблицу в карточки
─────────────────────────────────────── */
@media (max-width: 768px) {
    .pricelist-page {
        padding: var(--space-8) 0 var(--space-10);
    }

    .pricelist-table-wrap {
        background: transparent;
        border: none;
        box-shadow: none;
        overflow: visible;
    }

    .pricelist-table {
        display: block;
    }

    .pricelist-table thead {
        display: none;
    }

    .pricelist-table tbody {
        display: flex;
        flex-direction: column;
        gap: var(--space-4);
    }

    .pricelist-table tbody tr {
        display: flex;
        flex-direction: column;
        background: var(--color-white);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-lg);
        box-shadow: var(--shadow-sm);
        padding: var(--space-4);
        position: relative;
    }

    .pricelist-table tbody tr:nth-child(even) {
        background: var(--color-white);
    }

    .pricelist-table td {
        padding: var(--space-1) 0;
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .pricelist-table td.pricelist-num {
        position: absolute;
        top: var(--space-4);
        right: var(--space-4);
        width: auto;
        color: var(--color-primary);
        font-size: var(--fz-xs);
    }

    .pricelist-table td.pricelist-title {
        font-family: var(--font-heading), serif;
        font-size: var(--fz-base);
        padding-right: var(--space-8);
        margin-bottom: var(--space-2);
    }

    .pricelist-table td.pricelist-price::before {
        content: "Стоимость";
        font-size: var(--fz-xs);
        color: var(--color-text-light);
        font-weight: var(--fw-normal);
    }

    .pricelist-table td.pricelist-note::before {
        content: "Примечание";
        font-size: var(--fz-xs);
        color: var(--color-text-light);
        font-weight: var(--fw-normal);
    }
}

/* ── Условия оплаты и посещения ── */
.pricelist-terms {
    max-width: 720px;
    margin: var(--space-6) auto 0;
    padding: var(--space-5) var(--space-6);
    background: var(--color-bg-light);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
}

.pricelist-terms__title {
    font-family: var(--font-heading), serif;
    font-size: var(--fz-base);
    font-weight: var(--fw-semibold);
    color: var(--color-text);
    margin-bottom: var(--space-3);
    text-align: center;
}

.pricelist-terms__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.pricelist-terms__list li {
    position: relative;
    padding-left: var(--space-5);
    font-size: var(--fz-xs);
    color: var(--color-text-secondary);
    line-height: var(--lh-loose);
}

.pricelist-terms__list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--color-primary);
    font-weight: var(--fw-semibold);
}

@media (max-width: 768px) {
    .pricelist-terms {
        margin-top: var(--space-8);
        padding: var(--space-4) var(--space-5);
    }
}
