/*
 * Czynne wyciągi (ski.it) – styl zgodny z valdisole.onsoft.pl (WinterEvent Search):
 * granat #18365b, czerwień #ff3f58/#d9233d, ostre rogi, etykiety wersalikami.
 * Font dziedziczony z motywu. Style dotyczą tylko elementów .skw.
 */
.skw{
	--skw-primary:#18365b; --skw-accent:#ff3f58; --skw-open:#167348; --skw-closed:#d9233d;
	--skw-line:rgba(24,54,91,.14); --skw-line-strong:rgba(24,54,91,.25);
	--skw-soft:#f2f6f8; --skw-bg-section:#f2f4f3; --skw-muted:#68778a; --skw-muted-2:#536579;
	box-sizing:border-box; width:min(calc(100% - 3rem),90rem); margin:clamp(2.5rem,5vw,5rem) auto; color:var(--skw-primary); font-family:var(--vds-font-family,inherit); line-height:1.45;
}
.skw *,.skw *::before,.skw *::after{box-sizing:border-box}
.skw [hidden]{display:none!important}

/* ---------- Nagłówek (jak .wes-academy-search__heading) ---------- */
.skw-head{
	display:grid; grid-template-columns:minmax(0,1.1fr) auto; align-items:end;
	gap:clamp(1.5rem,6vw,5rem); margin-bottom:2rem;
}
.skw-eyebrow{margin:0; font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--skw-primary)}
.skw .skw-title{margin:.45rem 0 0; font-size:clamp(2.2rem,4.3vw,4.6rem); font-weight:300; line-height:1.05; letter-spacing:-.04em; color:var(--skw-primary)}
.skw-summary{
	display:grid; gap:.35rem; padding:1rem 0 .2rem 1.75rem; border-left:1px solid rgba(24,54,91,.2);
}
.skw-summary-label{color:var(--skw-muted); font-size:.62rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase}
.skw-summary-num{font-size:2.6rem; font-weight:700; line-height:1; color:var(--skw-primary)}
.skw-summary-num small{font-size:.5em; font-weight:500; color:var(--skw-muted)}

/* ---------- Połączenia narciarskie ---------- */
.skw-connections{
	list-style:none; margin:0 0 1.5rem; padding:0;
	display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));
	border:1px solid var(--skw-line); background:#fff;
}
.skw-conn{
	display:flex; align-items:center; gap:.7rem; margin:0; padding:1rem 1.25rem;
	border-right:1px solid var(--skw-line); font-size:.85rem;
}
.skw-conn:last-child{border-right:0}
.skw-conn-name{flex:1; font-weight:600}
.skw-conn-status{font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--skw-muted)}
.skw-conn.is-open .skw-conn-status{color:var(--skw-open)}
.skw-conn.is-closed .skw-conn-status{color:var(--skw-closed)}

/* Kropka statusu (jak .wes-academy-results__seats i) */
.skw-dot{width:.5rem; height:.5rem; border-radius:50%; background:#a5aaa7; flex:none; display:inline-block}
.skw-conn.is-open .skw-dot{background:#2b9b71; box-shadow:0 0 0 .25rem rgba(43,155,113,.11)}
.skw-conn.is-closed .skw-dot{background:var(--skw-closed)}

/* ---------- Pasek filtrów (jak .wes-academy-search__panel) ---------- */
.skw-toolbar{
	display:flex; flex-wrap:wrap; align-items:stretch; margin:0 0 2rem;
	border:1px solid rgba(24,54,91,.18); background:#fff; box-shadow:0 1.25rem 3.5rem rgba(24,54,91,.08);
}
.skw-tabs{display:flex; flex-wrap:wrap; flex:1 1 auto; min-width:0}
.skw .skw-tab{
	min-height:3.5rem; margin:0; padding:0 1.4rem; border:0; border-right:1px solid var(--skw-line); border-radius:0;
	background:transparent; color:var(--skw-primary); font:inherit; font-size:.7rem; font-weight:800;
	letter-spacing:.1em; line-height:1.2; text-transform:uppercase; cursor:pointer; box-shadow:none;
}
.skw .skw-tab:hover,.skw .skw-tab:focus-visible{background:rgba(24,54,91,.06); color:var(--skw-primary)}
.skw .skw-tab.is-active{background:var(--skw-primary); color:#fff}
.skw-tools{display:flex; align-items:stretch; flex:0 1 auto; margin-left:auto}
.skw .skw-search{
	min-width:14rem; min-height:3.5rem; margin:0; padding:0 1.25rem; border:0; border-left:1px solid var(--skw-line);
	border-radius:0; background:transparent; color:var(--skw-primary); font:inherit; font-size:.82rem; font-weight:700; box-shadow:none;
}
.skw .skw-search::placeholder{color:var(--skw-muted); font-weight:500}
.skw .skw-search:focus{outline:2px solid var(--skw-closed); outline-offset:-2px}
.skw-only-open{
	display:flex; align-items:center; gap:.55rem; margin:0; padding:0 1.4rem; border-left:1px solid var(--skw-line);
	font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; user-select:none; white-space:nowrap;
}
.skw-only-open input{width:1rem; height:1rem; margin:0; accent-color:var(--skw-accent)}

/* ---------- Grupa (jak .wes-academy-results) ---------- */
.skw-group{margin:0; border:1px solid rgba(24,54,91,.18); background:#fff}
.skw-group + .skw-group{margin-top:1.5rem}
.skw-group-meta{
	display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
	padding:1.35rem 1.75rem; background:var(--skw-primary); color:#fff; box-shadow:inset .38rem 0 0 var(--skw-accent);
}
.skw .skw-group-title{margin:0; font-size:clamp(1.4rem,2.2vw,1.9rem); font-weight:300; line-height:1.1; letter-spacing:-.03em; color:#fff}
.skw-group-count{color:#ff91a0; font-size:.65rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase}

/* ---------- Tabela (jak .wes-skipass-catalog__table) ---------- */
.skw-table-wrap{overflow-x:auto}
.skw .skw-table{width:100%; min-width:52rem; margin:0; border:0; border-collapse:collapse; font-size:.82rem; background:#fff}
.skw .skw-table th,.skw .skw-table td{
	padding:.8rem .75rem; border:0; border-bottom:1px solid rgba(24,54,91,.1); background:none;
	text-align:left; vertical-align:middle; color:var(--skw-primary);
}
.skw .skw-table thead th{
	background:var(--skw-soft); font-size:.68rem; font-weight:800; letter-spacing:.025em; line-height:1.25; text-transform:uppercase;
}
.skw .skw-table th:first-child,.skw .skw-table td:first-child{padding-left:1.75rem}
.skw .skw-table tbody tr:last-child td{border-bottom:0}
.skw .skw-table tbody tr:hover td{background:#fafbfc}
.skw .skw-table tr.is-closed td{color:var(--skw-muted-2)}
.skw .skw-table td.skw-col-name strong{font-size:.9rem; font-weight:700; color:var(--skw-primary)}
.skw-col-num{width:3.5rem; color:var(--skw-muted)!important; font-variant-numeric:tabular-nums}
.skw-col-hours,.skw-col-ride,.skw-col-altitude{white-space:nowrap; font-variant-numeric:tabular-nums}
.skw-col-slopes{font-size:.76rem; line-height:1.4}
.skw-type{display:inline-flex; align-items:center; gap:.5rem; white-space:nowrap}
.skw-icon{flex:none; color:var(--skw-primary)}
.skw-na{color:#a5aaa7}

/* Status (jak .wes-hotel-status) */
.skw-badge{
	display:inline-flex; align-items:center; min-height:1.55rem; padding:.25rem .5rem; border-radius:.2rem;
	font-size:.66rem; font-weight:800; line-height:1.1; letter-spacing:.025em; text-transform:uppercase; white-space:nowrap;
	color:var(--skw-muted-2); background:var(--skw-bg-section);
}
.skw-badge .skw-dot{display:none}
.skw-badge.is-open{color:#fff; background:var(--skw-open)}
.skw-badge.is-closed{color:#9b1c2e; background:#fdecef}

/* Stopka */
.skw-source{margin:.9rem 0 0; color:var(--skw-muted); font-size:.7rem; line-height:1.45}
.skw-source a{color:inherit}
.skw-empty,.skw-empty-filter{margin:0; padding:1rem 1.25rem; background:#f4f7f8; color:#3f4b54; font-size:.85rem}

/* ---------- Tablet ---------- */
@media (max-width:60rem){
	.skw-tools{width:100%; margin-left:0; border-top:1px solid var(--skw-line)}
	.skw .skw-search{flex:1; min-width:0; border-left:0}
}

/* Szerokość jak .vds-skipass__container na telefonie */
@media (max-width:540px){ .skw{width:calc(100% - 2.5rem)} }

/* ---------- Telefon: każdy wyciąg jako karta ---------- */
@media (max-width:40rem){
	.skw-head{grid-template-columns:1fr; gap:1.25rem; margin-bottom:1.5rem}
	.skw-summary{padding:1rem 0 0; border-left:0; border-top:1px solid rgba(24,54,91,.2)}
	.skw-conn{border-right:0; border-bottom:1px solid var(--skw-line)}
	.skw-conn:last-child{border-bottom:0}
	.skw-tabs{flex-direction:column; width:100%}
	.skw .skw-tab{min-height:3rem; border-right:0; border-bottom:1px solid var(--skw-line); text-align:left}
	.skw-tools{flex-direction:column; border-top:0}
	.skw .skw-search{min-height:3rem; border-bottom:1px solid var(--skw-line)}
	.skw-only-open{min-height:3rem; border-left:0}
	.skw-group-meta{padding:1.1rem 1.25rem 1.1rem 1.5rem; flex-direction:column; align-items:flex-start; gap:.4rem}

	.skw .skw-table{min-width:0}
	.skw .skw-table thead{display:none}
	.skw .skw-table,.skw .skw-table tbody,.skw .skw-table td{display:block; width:100%}
	.skw .skw-table tbody tr:not([hidden]){display:flex; flex-direction:column; padding:.9rem 0; border-bottom:1px solid var(--skw-line)}
	.skw .skw-table tbody tr:last-child{border-bottom:0}
	.skw .skw-table td,.skw .skw-table td:first-child{
		display:flex; justify-content:space-between; gap:1rem; padding:.3rem 1.25rem; border:0; text-align:right;
	}
	.skw .skw-table td::before{
		content:attr(data-label); flex:none; max-width:45%; text-align:left;
		color:var(--skw-muted); font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
	}
	.skw .skw-table td.skw-col-name{order:-1; padding-bottom:.5rem}
	.skw .skw-table td.skw-col-name strong{font-size:1.1rem}
	.skw .skw-table td.skw-col-name::before{content:none}
	.skw .skw-table td.skw-col-num{display:none}
	.skw .skw-table td:has(> .skw-na){display:none}
	.skw .skw-table tbody tr:hover td{background:none}
}
