.ski-kamenec {
    --ski-blue: #145f9e;
    color: inherit;
    font: inherit;
    font-variant-numeric: tabular-nums;
    min-width: 0;
}
.ski-kamenec ::selection { background: #cce4fa; color: #102f4c; }
.ski-summary {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .3rem;
    padding: 1.15rem .65rem;
    min-height: 10.5rem;
    background: var(--ski-blue);
    color: #fff;
    text-align: center;
    text-decoration: none;
}
.ski-summary:hover { color: #fff; background: #104e83; }
.ski-summary:focus-visible { outline: 3px solid #142b44; outline-offset: 3px; }
.ski-summary__number { font-size: 2rem; line-height: 1.2; }
.ski-summary__number span { color: #d3ecff; }
.ski-summary__label { font-weight: 700; max-width: 100%; overflow-wrap: anywhere; }
.ski-operation-hours { max-width: 100%; overflow-wrap: anywhere; }
.ski-kamenec--operation .ski-summary__number { max-width: 100%; overflow-wrap: anywhere; }
[data-ski-hours-focus]:focus-visible { outline: 2px solid #145f9e; outline-offset: 3px; }
.ski-status { display: block; box-sizing: border-box; width: 9em; margin-inline: auto; padding: .35rem .65rem; text-align: center; font-weight: 700; white-space: nowrap; }
.ski-status--open { background: #1b713a; color: #fff; }
.ski-status--closed { background: #aa2636; color: #fff; }
.ski-status--partial { background: #ffdd89; color: #49320b; }
.ski-status--scheduled { background: #614087; color: #fff; }
.ski-status--unknown { background: #e7ebef; color: #354352; }
.ski-table { width: 100%; border-collapse: collapse; margin: 0; font: inherit; }
.ski-table caption { color: inherit; caption-side: top; font-size: 1.15rem; font-weight: 700; padding-block: .6rem; }
.ski-table th, .ski-table td { border-bottom: 1px solid #c8d1da; padding: .5rem; font-size: inherit; line-height: inherit; white-space: nowrap; }
.ski-table th { text-align: start; }
.ski-table td { text-align: center; }
.ski-table tbody th { font-weight: inherit; }
.ski-table thead th { background: #c2e0f4; color: #19374b; }
.ski-table tbody tr { background: #ecf0f1; color: #243746; }
.ski-table-scroll { max-width: 100%; overflow-x: auto; margin-bottom: 1.5rem; scrollbar-color: #145f9e #ecf0f1; }
.ski-table-scroll:focus-visible { outline: 2px solid var(--ski-blue); outline-offset: 2px; }
.ski-table--technical { min-width: 44rem; table-layout: fixed; }
.ski-table--single { min-width: 22rem; }
.ski-table--technical th, .ski-table--technical td { text-align: center; }
.ski-table--technical tbody th { text-align: start; }
.ski-table--technical .ski-status { padding: .3rem; }
.ski-technical { container: ski-technical / inline-size; }
.ski-technical__tables { display: none; }
.ski-technical__device { margin-bottom: 1.5rem; }
.ski-technical__name { margin: 0; padding: .6rem .5rem; background: #c2e0f4; color: #19374b; font: inherit; font-weight: 700; overflow-wrap: anywhere; }
.ski-technical__properties { margin: 0; }
.ski-technical__property { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .25rem .5rem; padding: .5rem; border-bottom: 1px solid #c8d1da; background: #ecf0f1; color: #243746; }
.ski-technical__property dt { font-weight: inherit; }
.ski-technical__property dd { margin: 0 0 0 auto; text-align: end; overflow-wrap: anywhere; min-width: 0; }
.ski-technical__property .ski-status { padding: .3rem; }
@container ski-technical (min-width: 44rem) {
    .ski-technical__devices { display: none; }
    .ski-technical__tables { display: block; }
}
.card-body:has(> .ski-kamenec--list) { padding-inline: .4rem; }
.ski-list { min-width: 0; margin-bottom: 1rem; }
.ski-table--list { table-layout: fixed; }
.ski-table--list th, .ski-table--list td { padding: .4rem .25rem; white-space: normal; overflow-wrap: anywhere; }
.ski-table--list tbody tr { background: transparent; color: inherit; }
.ski-table--list th:last-child, .ski-table--list td:last-child { width: 44%; }
.ski-table--list .ski-table__type { width: 2.4rem; }
.ski-table--list .ski-status { width: 100%; padding: .25rem .4rem; white-space: normal; overflow-wrap: anywhere; }
.ski-difficulty { display: inline-flex; vertical-align: middle; }
.ski-difficulty svg { width: 24px; height: 24px; }
.ski-difficulty--blue { color: #164fc4; }
.ski-difficulty--red { color: #c32232; }
.ski-difficulty--black { color: #202830; }
.ski-difficulty--unknown { color: #657280; }
.ski-facts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: .5rem 1rem; }
.ski-facts dd { margin: 0; overflow-wrap: anywhere; white-space: pre-line; }
@media (max-width: 480px) {
    .ski-summary { min-height: 9rem; }
    .ski-table th, .ski-table td { padding: .35rem .2rem; }
}
