/* =========================================================================
   Парная — the modules' pages re-dressed: catalogue (projects), services,
   portfolio. Linked last, after the modules' own styles and site tokens.
   ========================================================================= */

/* Dark page heads of services: charcoal with grain, cream type. */
.svc-hero.cms-tone-soft:not(#pr) {
    --section-bg: var(--pr-ink-900);
    --c-bg: var(--pr-ink-900);
    --c-surface: var(--pr-ink-800);
    --c-text: #e9dfd0;
    --c-text-strong: #fffaf1;
    --c-text-muted: #b9ab98;
    --c-border: #4a4038;
    --c-border-strong: #e9dfd0;
    --c-link: var(--pr-cedar-hi);
    --c-mark: var(--pr-cedar-hi);
    --c-mark-text: var(--pr-cedar-hi);
    background-color: var(--pr-ink-900);
    background-image: var(--pr-grain-dark);
    color-scheme: dark;
}

.svc-hero.cms-tone-soft .svc-hero__title { color: #fffaf1; }
.svc-hero.cms-tone-soft .svc-hero__lead { color: #d9ccba; }
.svc-hero.cms-tone-soft .svc-fact__value { color: var(--pr-cedar-hi); }
.svc-hero.cms-tone-soft .svc-crumbs a { color: #d9ccba; }
.svc-hero.cms-tone-soft .cms-btn--ghost { border-color: rgb(255 250 241 / 0.5); color: #fffaf1; }

.cat-pros__item .cms-icon,
.svc-checklist .cms-icon,
.svc-order__facts .cms-icon,
.pf-checks .cms-icon,
.cat-tile__icon,
.pf-head__icon {
    background: var(--pr-cedar-soft) !important;
    color: var(--pr-cedar-deep) !important;
    border-radius: 50% !important;
}

.svc-card__icon { background: var(--pr-ink-900) !important; color: var(--pr-cedar-hi) !important; border-radius: 50% !important; }
.pf-review__initial { background: var(--pr-cedar) !important; color: #fffaf1 !important; font-family: var(--font-display); }

:is(.cat-card__title, .cat-tile__title, .svc-card__title, .pf-card__title, .cat-tree__title, .cat-section-title, .cat-related__title, .svc-h2, .pf-section__title, .pf-story__title, .cat-keyspecs__title, .svc-includes__title, .svc-pack__name, .svc-order__title) {
    font-family: var(--font-display);
    font-weight: 600;
}

:is(.cat-price__value, .svc-card__amount, .svc-fact__value, .svc-includes__amount, .svc-row__amount, .svc-pack__amount, .pf-metrics__value, .svc-sticky__price) {
    font-family: var(--font-display);
    font-weight: 700;
}

/* Catalogue */
.cat-head__count { background: var(--pr-ink-900) !important; color: var(--pr-cedar-hi) !important; border-radius: 999px; }
.cat-tree { border: 1px solid var(--pr-line) !important; border-top: 4px solid var(--pr-cedar) !important; border-radius: var(--pr-r); background: #fffaf1; }
.cat-tree__link { border-radius: var(--pr-r); text-decoration: none; }
.cat-tree__link:hover { background: var(--pr-cedar-soft); }
.cat-tree__link[aria-current] { background: var(--pr-ink-900) !important; color: #fffaf1 !important; font-weight: 600; }

.cat-card,
.cat-tile {
    overflow: hidden;
    border-radius: calc(var(--pr-r) * 1.5);
    transition: transform 0.25s, box-shadow 0.25s;
}

.cat-card:hover,
.cat-tile:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); }

html[data-parnaya-cards="arch"] .cat-card__media { margin: var(--s-3) var(--s-3) 0; border-radius: 999px 999px var(--pr-r) var(--pr-r); overflow: hidden; }
.cat-card__media { background: var(--pr-wood); }
.cat-card__title { font-size: 1.15rem; line-height: 1.2; }
.cat-badge { border-radius: 999px; }
.cat-tile__arrow { background: var(--pr-cedar) !important; color: #fffaf1 !important; }

.cat-buy {
    border: 1px solid var(--pr-line) !important;
    border-top: 6px solid var(--pr-cedar) !important;
    border-radius: calc(var(--pr-r) * 1.5);
    background: #fffaf1;
    box-shadow: var(--shadow-md);
}

.cat-tabs__tab { font-family: var(--font-display); font-weight: 600; }
.cat-gallery__stage, .cat-gallery__thumb { background: var(--pr-wood); border-radius: var(--pr-r); }
.cat-seo { border-top: 2px solid var(--pr-cedar); }
.cat-banner { border-bottom: 5px solid var(--pr-cedar); }

/* Services and portfolio */
.svc-card, .pf-card { overflow: hidden; border-radius: calc(var(--pr-r) * 1.5); transition: transform 0.25s, box-shadow 0.25s; }
.svc-card:hover, .pf-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); }
.pf-card__media, .pf-card img { background: var(--pr-wood); }
.pf-metrics__value { color: var(--pr-cedar-deep); }
.pf-review { border-top: 4px solid var(--pr-cedar); border-radius: var(--pr-r); }

@media (prefers-reduced-motion: reduce) {
    .cat-card, .cat-tile, .svc-card, .pf-card { transition: none; }
    .cat-card:hover, .cat-tile:hover, .svc-card:hover, .pf-card:hover { transform: none; }
}
