/* Colourlock partner-/verkstedlokator – Cognac-profil */
.cl-partnere{
	--clp-accent:#A45A2A;
	--clp-ink:#1F1B16;
	--clp-bg:#FAF8F5;
	--clp-border:#E7E0D7;
	--clp-muted:#6B6157;
}

/* Filtre */
.clp-filters{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:1rem;
	margin-bottom:1.25rem;
}
.clp-types{display:flex;flex-wrap:wrap;gap:.5rem;}
.clp-type{
	font:inherit;
	cursor:pointer;
	padding:.5rem 1.1rem;
	border:1px solid var(--clp-border);
	border-radius:999px;
	background:#fff;
	color:var(--clp-ink);
	transition:background-color .15s ease,border-color .15s ease,color .15s ease;
}
.clp-type:hover{border-color:var(--clp-accent);}
.clp-type.is-active{
	background:var(--clp-accent);
	border-color:var(--clp-accent);
	color:#fff;
}
.clp-region-wrap{
	display:inline-flex;
	align-items:center;
	gap:.5rem;
	font-size:.95rem;
	color:var(--clp-muted);
	margin-left:auto;
}
.clp-region{
	font:inherit;
	padding:.45rem .7rem;
	border:1px solid var(--clp-border);
	border-radius:6px;
	background:#fff;
	color:var(--clp-ink);
}

/* Kart – isolert stacking-kontekst så Leaflet ikke legger seg over sticky header */
.clp-map{
	height:440px;
	border:1px solid var(--clp-border);
	border-radius:12px;
	overflow:hidden;
	margin-bottom:1.5rem;
	isolation:isolate;
	z-index:0;
}
.leaflet-container{font:inherit;}
.leaflet-popup-content{font-size:.92rem;line-height:1.5;}
.leaflet-popup-content a{color:var(--clp-accent);}

/* Liste */
.clp-list{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(270px,1fr));
	gap:1rem;
}
.clp-card{
	background:#fff;
	border:1px solid var(--clp-border);
	border-radius:10px;
	padding:1.3rem;
	cursor:pointer;
	transition:border-color .15s ease,box-shadow .15s ease;
}
.clp-card:hover{
	border-color:var(--clp-accent);
	box-shadow:0 6px 18px rgba(31,27,22,.08);
}
.clp-card.is-hidden{display:none;}
.clp-card-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:.6rem;
	margin-bottom:.5rem;
}
.clp-card-name{font-size:1.1rem;line-height:1.25;margin:0;}
.clp-badges{display:flex;flex-direction:column;gap:.25rem;flex:none;}
.clp-badge{
	font-size:.7rem;
	font-weight:700;
	letter-spacing:.04em;
	text-transform:uppercase;
	padding:.18rem .5rem;
	border-radius:4px;
	color:#fff;
	white-space:nowrap;
	text-align:center;
}
.clp-badge--for{background:var(--clp-accent);}
.clp-badge--tek{background:var(--clp-ink);}
.clp-line{margin:.15rem 0;}
.clp-addr{color:var(--clp-muted);font-size:.92rem;}
.clp-contact{
	display:flex;
	flex-wrap:wrap;
	gap:.25rem 1rem;
	margin:.6rem 0 0;
	font-size:.92rem;
}
.clp-contact a{color:var(--clp-accent);text-decoration:none;}
.clp-contact a:hover{text-decoration:underline;}
.clp-empty{color:var(--clp-muted);grid-column:1/-1;}

@media (max-width:600px){
	.clp-region-wrap{margin-left:0;}
	.clp-map{height:340px;}
}
