/* Wspólne karty usług i dostępny panel opisu. */
.c-services { padding-block: var(--space-7); background: var(--color-surface-page); }
.c-services__inner { display: flex; flex-direction: column; gap: var(--space-7); }
.c-services__intro { display: grid; gap: var(--space-5); }
.c-services__grid { display: grid; gap: var(--space-4); align-items: start; }
.c-services__intro .prose { max-inline-size: none; }
.c-service-card { min-inline-size: 0; border: var(--border-width-sm) solid var(--color-border-subtle); border-radius: var(--radius-sm); background: var(--color-surface); }
.c-service-card__summary { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-4) var(--space-4) var(--space-5); cursor: pointer; list-style: none; }
.c-service-card__summary::-webkit-details-marker { display: none; }
.c-service-card__heading { display: flex; align-items: center; gap: var(--space-2); padding-block: var(--space-2); min-block-size: 2.5rem; }
.c-service-icon { flex: none; display: block; object-fit: contain; }
.c-service-card__excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; block-size: calc(3 * var(--font-size-caption) * var(--line-height-sm)); }
.c-service-card__more { display: flex; align-items: center; gap: var(--space-1); margin-block-start: var(--space-2); }
.c-service-card__more > span { text-decoration: underline; text-underline-offset: .2em; }
.c-service-card__summary:hover .c-service-card__more { color: var(--color-action-hover); }
.c-services__action { display: flex; flex-direction: column; align-items: start; gap: var(--space-3); }
.c-services__action .t-caption, .c-service-panel__footer .t-caption { color: var(--color-text-muted); }
.c-service-dialog { position: fixed; inset: 0 0 0 auto; inline-size: min(100%, 37.5rem); max-inline-size: 100%; block-size: 100dvh; max-block-size: 100dvh; margin: 0 0 0 auto; padding: 0; border: 0; color: var(--color-text); background: var(--color-surface); }
.c-service-dialog::backdrop { background: var(--color-backdrop); backdrop-filter: blur(2px); }
.c-service-dialog[open], .c-service-dialog [data-service-dialog-slot] { display: flex; flex-direction: column; block-size: 100%; }
.c-service-panel { display: flex; flex-direction: column; min-block-size: 0; }
.c-service-dialog .c-service-panel { block-size: 100%; }
.c-service-panel__header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-5); border-block-end: var(--border-width-sm) solid var(--color-border-card); }
.c-service-panel__header .c-icon-button { inline-size: var(--space-6); block-size: var(--space-6); }
.c-service-panel__heading { display: flex; align-items: center; gap: var(--space-4); min-inline-size: 0; }
.c-service-panel__body { flex: 1; min-block-size: 0; overflow-y: auto; overscroll-behavior: contain; padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-5); }
.c-service-panel__body .prose { max-inline-size: none; }
.c-service-content { --stack-space: var(--space-5); }
.c-service-content h3 ~ h3 { margin-block-start: var(--space-4); }
.c-service-content h3 + p { margin-block-start: 0; }
.c-service-panel__footer { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); text-align: center; }
.c-service-panel__footer .c-button { inline-size: 100%; }
html.has-open-service { overflow: hidden; }
@media (min-width: 44rem) { .c-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 70rem) {
 .c-services { padding-block: var(--space-8) var(--space-9); }
 .c-services__inner { gap: var(--space-8); }
 .c-services__intro { grid-template-columns: minmax(0, 389fr) minmax(0, 694fr); gap: 7.25rem; }
 .c-services__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .c-service-panel__header { padding: var(--space-5) var(--space-6); }
 .c-service-panel__body { padding: var(--space-6); }
}

.c-service-card__availability { align-self: flex-start; padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); background: var(--color-surface-tint); color: var(--color-text-secondary); }
