/* Category list page composition. Shared primitives belong in css/components/. */
/* .breadcrumb-trail and .pagination live in css/components/navigation.css */

.page-category .category-header {
    padding: clamp(3rem, 5vw, 4.5rem) 0 clamp(1rem, 3vw, 2rem);
    border-bottom: 1px solid var(--color-border);
}

.page-category .category-header .section-header {
    margin-bottom: 0;
}

.page-category .services {
    padding-top: 0;
}

.page-category .services .container {
    padding-block: clamp(2rem, 4vw, 3rem);
}

.page-category .services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: clamp(1rem, 2.5vw, 1.5rem);
}

.page-category .service-card {
    display: grid;
    grid-template-rows: auto 1fr auto auto;
    gap: 0.75rem;
    padding: clamp(1rem, 2.5vw, 1.5rem);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface-1);
    transition: border-color var(--transition-base), background var(--transition-base);
}

.page-category .service-card:hover,
.page-category .service-card:focus-within {
    border-color: var(--color-border-strong);
    background: var(--color-surface-2);
}

.page-category .service-card h3 {
    margin: 0;
    font-size: var(--font-size-lg);
    line-height: 1.3;
}

.page-category .service-card p {
    margin: 0;
    color: var(--color-text-muted);
    font-size: var(--font-size-sm);
    line-height: 1.55;
}

.page-category .service-card .service-image {
    width: 100%;
    aspect-ratio: 16 / 9;
}

.page-category .service-card .service-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-category .service-card .service-meta {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.page-category .service-card .service-price {
    color: var(--color-text);
    font-family: var(--font-family-mono);
    font-size: var(--font-size-base);
}

.page-category .service-card .service-note {
    color: var(--color-text-subtle);
    font-size: var(--font-size-xs);
}

.page-category .empty-state {
    margin-block: clamp(2rem, 5vw, 3rem);
}
