/* Ładowarki Lubelskie – lista/tabela (responsywna) */
.cl-list-wrap {
	font: 400 15px/1.5 'Sora', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	color: #282828;
}
.cl-list-toolbar {
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px;
	margin: 0 0 14px;
}
.cl-list-toolbar .cl-geo-note { flex-basis: 100%; margin: 2px 0 0; }
.cl-list-empty { color: #6b7280; }

/* Wyszukiwarka miast/ulic */
.cl-city-search {
	position: relative;
	flex: 1 1 240px;
	min-width: 200px;
}
.cl-city-search .cl-search-ico {
	position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
	font-size: 14px; pointer-events: none; opacity: .7;
}
.cl-city-search input {
	width: 100%;
	padding: 11px 14px 11px 36px;
	border: 1px solid #d8dcce;
	border-radius: 10px;
	font: 400 15px/1.2 'Sora', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	color: #282828;
	background: #fff;
}
.cl-city-search input:focus {
	outline: none;
	border-color: #419133;
	box-shadow: 0 0 0 3px rgba(65,145,51,.18);
}
/* Podpowiedzi Google (pac-container) – dopasowanie do marki */
.pac-container { border-radius: 10px; margin-top: 4px; box-shadow: 0 6px 20px rgba(0,0,0,.12); font-family: 'Sora', system-ui, sans-serif; }
.pac-item { padding: 6px 12px; cursor: pointer; }
.pac-item-query { color: #282828; }

/* Układ dwukolumnowy: mapa + lista */
.cl-combo {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: 20px;
	align-items: start;
}
.cl-combo-list { min-width: 0; }
.cl-combo-map { min-width: 0; }

/* Desktop: mapa „przyklejona”, przewija się tylko lista (wyszukiwarka zostaje na górze) */
@media (min-width: 861px) {
	.cl-combo .cl-combo-map { position: sticky; top: 16px; align-self: start; }
	.cl-combo .cl-combo-list { max-height: var(--cl-map-h, 600px); display: flex; }
	.cl-combo .cl-combo-list > .cl-list-wrap { display: flex; flex-direction: column; min-height: 0; flex: 1; }
	.cl-combo .cl-combo-list .cl-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; padding-right: 6px; }
	.cl-combo .cl-combo-list .cl-list::-webkit-scrollbar { width: 8px; }
	.cl-combo .cl-combo-list .cl-list::-webkit-scrollbar-thumb { background: #d8dcce; border-radius: 8px; }
	.cl-combo .cl-combo-list .cl-list::-webkit-scrollbar-track { background: transparent; }
}

@media (max-width: 860px) {
	.cl-combo { grid-template-columns: 1fr; gap: 16px; }
}

/* W kolumnie (combo) lista zawsze jako karty – niezależnie od szerokości ekranu */
.cl-combo .cl-list { border: 0; background: transparent; overflow: visible; }
.cl-combo .cl-list-head { display: none; }
.cl-combo .cl-row {
	grid-template-columns: 64px 1fr;
	gap: 6px 12px; padding: 14px;
	border: 1px solid #e6e7e2; border-radius: 16px;
	margin-bottom: 12px; background: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.cl-combo .cl-c-photo { grid-column: 1; grid-row: 1; }
.cl-combo .cl-thumb, .cl-combo .cl-thumb-ph { width: 64px; height: 64px; }
.cl-combo .cl-c-name { grid-column: 2; grid-row: 1; align-self: center; }
.cl-combo .cl-c-adres, .cl-combo .cl-c-godz, .cl-combo .cl-c-stawka, .cl-combo .cl-c-dist {
	grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 12px;
	padding-top: 6px; border-top: 1px solid #f3f4f6; font-size: 14px;
}
.cl-combo .cl-c-adres::before, .cl-combo .cl-c-godz::before,
.cl-combo .cl-c-stawka::before, .cl-combo .cl-c-dist::before {
	content: attr(data-label); color: #6b6b6b; font-weight: 500;
}
.cl-combo .cl-c-actions { grid-column: 1 / -1; padding-top: 10px; }
.cl-combo .cl-act { flex: 1; padding: 12px; font-size: 14px; }

.cl-list {
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
}

/* Wiersz = siatka kolumn (desktop) */
.cl-row {
	display: grid;
	grid-template-columns: 72px minmax(140px, 1.6fr) minmax(120px, 1.4fr) 1fr .85fr .85fr max-content;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-bottom: 1px solid #f0f1f3;
}
.cl-row:last-child { border-bottom: 0; }

.cl-list-head {
	font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
	color: #6b7280; background: #f9fafb;
	border-bottom: 2px solid #e5e7eb;
}

.cl-nearest { background: #f7fbe8; }
.cl-nearest .cl-c-name strong::after {
	content: " · najbliżej";
	color: #419133; font-weight: 600; font-size: 12px;
}

/* Zdjęcie / logo */
.cl-c-photo { display: flex; }
.cl-thumb {
	width: 56px; height: 56px;
	border-radius: 12px; object-fit: cover;
	background: #f3f4f6; display: block;
}
.cl-thumb-ph {
	display: flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: 22px; color: #419133;
	background: #eef6d2;
}

.cl-c-name strong { display: block; font-size: 15px; }
.cl-status { font-size: 12px; font-weight: 600; }
.cl-status-czynny { color: #419133; }
.cl-status-nieczynny { color: #9ca3af; }

.cl-c-adres, .cl-c-godz { color: #4a4a4a; font-size: 14px; }
.cl-c-stawka { font-weight: 600; }
.cl-c-dist .cl-dist { font-weight: 600; color: #419133; }

/* Akcje */
.cl-c-actions { display: flex; flex-wrap: nowrap; gap: 8px; }
.cl-act {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 9px 12px; border-radius: 10px;
	font-size: 13px; font-weight: 600; text-decoration: none;
	white-space: nowrap;
}
.cl-act-route { background: #f2f8da; color: #3d6b14; border: 1px solid #dce9a6; }
.cl-act-route:hover { background: #eaf3c4; }
.cl-act-pay { background: #419133; color: #fff; }
.cl-act-pay:hover { background: #357a29; }
.cl-act-off { background: #f3f4f6; color: #9ca3af; padding: 9px 12px; border-radius: 10px; font-size: 13px; }

/* --- Telefon: wiersze stają się kartami --- */
@media (max-width: 780px) {
	.cl-list { border: 0; background: transparent; overflow: visible; }
	.cl-list-head { display: none; }
	.cl-row {
		grid-template-columns: 64px 1fr;
		gap: 6px 12px;
		padding: 14px;
		border: 1px solid #e5e7eb;
		border-radius: 16px;
		margin-bottom: 12px;
		background: #fff;
		box-shadow: 0 1px 3px rgba(0,0,0,.04);
	}
	.cl-c-photo { grid-column: 1; grid-row: 1; }
	.cl-thumb, .cl-thumb-ph { width: 64px; height: 64px; }
	.cl-c-name { grid-column: 2; grid-row: 1; align-self: center; }

	.cl-c-adres, .cl-c-godz, .cl-c-stawka, .cl-c-dist {
		grid-column: 1 / -1;
		display: flex; justify-content: space-between; gap: 12px;
		padding-top: 6px; border-top: 1px solid #f3f4f6;
		font-size: 14px;
	}
	.cl-c-adres::before, .cl-c-godz::before, .cl-c-stawka::before, .cl-c-dist::before {
		content: attr(data-label);
		color: #6b7280; font-weight: 500;
	}
	.cl-c-actions { grid-column: 1 / -1; padding-top: 10px; }
	.cl-act { flex: 1; padding: 12px; font-size: 14px; }

	.cl-nearest { background: #fff; border-color: #419133; }
}

/* ====== Sekcja z lokalizacjami: kafelki [punkty_ladowarek] ====== */
.cl-points{
  --cl-cols:3;
  font-family:'Sora',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:#282828;
}
.cl-points-head{max-width:680px;margin:0 0 36px}
.cl-points-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#419133;
}
.cl-points-eyebrow::before{content:"";width:28px;height:2px;background:#B2D828;border-radius:2px}
.cl-points-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.08;margin:14px 0 0}
.cl-points-head p{color:#6c6f64;font-size:18px;margin:12px 0 0}

.cl-points-grid{
  display:grid;
  grid-template-columns:repeat(var(--cl-cols),1fr);
  gap:24px;
}

.cl-pt-card{
  background:#fff;border:1px solid #e4e8d8;border-radius:18px;overflow:hidden;
  box-shadow:0 4px 16px rgba(31,51,24,.06);
  transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease,border-color .22s ease;
  will-change:transform;
}
.cl-pt-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(31,51,24,.14);
  border-color:#B2D828;
}

.cl-pt-head{
  position:relative;height:120px;
  background:linear-gradient(135deg,#dfeac0,#bcd97f);
  display:flex;align-items:center;justify-content:center;
}
.cl-pt-head-img{background-size:cover;background-position:center}
.cl-pt-pin{width:46px;height:46px;filter:drop-shadow(0 4px 8px rgba(31,51,24,.18))}
.cl-pt-badge{
  position:absolute;top:12px;left:12px;
  display:inline-flex;align-items:center;gap:7px;
  background:#fff;border-radius:999px;padding:5px 11px;
  font-size:12px;font-weight:700;color:#419133;
  box-shadow:0 2px 8px rgba(31,51,24,.12);
}
.cl-pt-badge i{width:7px;height:7px;border-radius:50%;background:#419133;display:block}
.cl-pt-badge-nieczynny{color:#9ca3af}
.cl-pt-badge-nieczynny i{background:#9ca3af}

.cl-pt-body{padding:20px}
.cl-pt-body h3{font-size:18px;font-weight:800;letter-spacing:-.01em;margin:0 0 4px}
.cl-pt-addr{color:#6c6f64;font-size:14px;margin:0 0 12px}
.cl-pt-hours{color:#4a4a4a;font-size:14px;margin:0 0 14px}
.cl-pt-foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border-top:1px solid #eef0e7;padding-top:14px;
}
.cl-pt-rate{font-weight:800;font-size:17px;color:#282828}
.cl-pt-rate span{font-weight:500;color:#6c6f64;font-size:13px}
.cl-pt-route{font-size:14px;font-weight:700;color:#419133;text-decoration:none;white-space:nowrap}
.cl-pt-route:hover{color:#2f6c22}

@media(max-width:900px){.cl-points-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cl-points-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.cl-pt-card{transition:none}.cl-pt-card:hover{transform:none}}
