.cl-wrap{
	--cl-navy:#002866;
	--cl-navy-dark:#08172c;
	--cl-gold:#BFB170;
	--cl-bg:#f8f7f4;
	--cl-white:#ffffff;
	--cl-text:#20242c;
	--cl-muted:#6b7280;
	--cl-radius:14px;
	--cl-shadow:0 2px 10px rgba(8,23,44,.08);
	--cl-shadow-hover:0 10px 28px rgba(8,23,44,.18);
	font-family:'Inter',-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;
	color:var(--cl-text);
	max-width:1280px;
	margin:0 auto;
	padding:0 16px;
	box-sizing:border-box;
}
.cl-wrap *{box-sizing:border-box;}
.cl-toolbar{
	display:grid;
	grid-template-columns:minmax(180px,1.6fr) minmax(140px,1fr) minmax(140px,1fr) minmax(140px,1fr) auto;
	gap:10px;
	align-items:center;
	background:var(--cl-white);
	border:1px solid #e8e6df;
	border-radius:var(--cl-radius);
	padding:14px;
	margin:0 0 22px;
	position:sticky;
	top:8px;
	z-index:20;
	box-shadow:var(--cl-shadow);
}
.cl-toolbar .cl-search{
	position:relative;
	width:100%;
}
.cl-toolbar input[type="search"],
.cl-toolbar select,
.cl-toolbar .cl-reset{
	box-sizing:border-box;
	height:42px;
	width:100% !important;
	max-width:100%;
	margin:0;
}
.cl-toolbar input[type="search"]{
	padding:10px 14px 10px 36px;
	border:1px solid #d7d5cd;
	border-radius:999px;
	font-size:14px;
	background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") no-repeat 12px center / 14px;
	font-family:inherit;
}
.cl-toolbar select{
	padding:10px 30px 10px 14px;
	border:1px solid #d7d5cd;
	border-radius:999px;
	background:#fff;
	font-size:14px;
	font-family:inherit;
	color:var(--cl-text);
	cursor:pointer;
	appearance:auto;
}
.cl-toolbar select:focus,.cl-toolbar input:focus{
	outline:none;
	border-color:var(--cl-gold);
	box-shadow:0 0 0 3px rgba(191,177,112,.3);
}
.cl-reset{
	border:1px solid var(--cl-navy);
	background:transparent;
	color:var(--cl-navy);
	border-radius:999px;
	padding:10px 16px;
	font-size:14px;
	cursor:pointer;
	font-family:inherit;
	white-space:nowrap;
}
.cl-reset:hover{background:var(--cl-navy);color:#fff;}
.cl-count{
	grid-column:1 / -1;
	font-size:13px;
	color:var(--cl-muted);
	padding-top:2px;
}
@media (max-width:900px){
	.cl-toolbar{grid-template-columns:1fr 1fr;}
	.cl-toolbar .cl-search{grid-column:1 / -1;}
}
@media (max-width:560px){
	.cl-toolbar{grid-template-columns:1fr;position:static;}
	.cl-toolbar .cl-search{grid-column:auto;}
}
.cl-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
	gap:22px;
	margin-bottom:40px;
}
.cl-section{margin-bottom:8px;}
.cl-section-title{
	font-size:19px;
	font-weight:700;
	color:var(--cl-navy-dark);
	margin:0 0 18px;
	padding-left:14px;
	border-left:4px solid var(--cl-gold);
}
.cl-section-title .cl-section-count{
	font-weight:400;
	font-size:14px;
	color:var(--cl-muted);
}
.cl-card{
	background:var(--cl-white);
	border-radius:var(--cl-radius);
	overflow:hidden;
	box-shadow:var(--cl-shadow);
	cursor:pointer;
	border:1px solid #eeece5;
	transition:transform .18s ease,box-shadow .18s ease;
	display:flex;
	flex-direction:column;
}
.cl-card:hover{transform:translateY(-4px);box-shadow:var(--cl-shadow-hover);}
.cl-card-img{
	aspect-ratio:2/3;
	width:100%;
	background:#eee repeating-linear-gradient(45deg,#eee,#eee 10px,#e4e4e4 10px,#e4e4e4 20px);
	overflow:hidden;
}
.cl-card-img img{width:100%;height:100%;object-fit:cover;display:block;}
.cl-card-body{padding:10px 12px 14px;flex:1;display:flex;flex-direction:column;gap:4px;}
.cl-card-cat{
	font-size:10.5px;
	text-transform:uppercase;
	letter-spacing:.04em;
	color:var(--cl-gold);
	font-weight:600;
}
.cl-card-title{
	font-size:14px;
	font-weight:600;
	line-height:1.3;
	color:var(--cl-navy-dark);
	margin:0;
}
.cl-card-author{font-size:12.5px;color:var(--cl-muted);margin:0;}
.cl-empty{
	text-align:center;
	padding:60px 20px;
	color:var(--cl-muted);
	font-size:15px;
}
.cl-modal-overlay{
	position:fixed;inset:0;
	background:rgba(8,23,44,.72);
	display:none;
	align-items:center;
	justify-content:center;
	z-index:9999;
	padding:20px;
}
.cl-modal-overlay.cl-open{display:flex;}
.cl-modal{
	background:#fff;
	border-radius:16px;
	max-width:820px;
	width:100%;
	max-height:88vh;
	overflow:auto;
	display:flex;
	position:relative;
	box-shadow:0 20px 60px rgba(0,0,0,.35);
}
.cl-modal-close{
	position:absolute;
	top:12px;right:12px;
	width:34px;height:34px;
	border-radius:50%;
	border:none;
	background:var(--cl-navy);
	color:#fff;
	font-size:18px;
	line-height:1;
	cursor:pointer;
	z-index:2;
}
.cl-modal-close:hover{background:var(--cl-navy-dark);}
.cl-modal-img{
	flex:0 0 280px;
	background:#f3f2ee;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:24px;
}
.cl-modal-img img{max-width:100%;max-height:60vh;border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.25);}
.cl-modal-body{padding:30px 30px 30px 10px;flex:1;min-width:0;}
.cl-modal-cat{
	display:inline-block;
	font-size:11px;
	text-transform:uppercase;
	letter-spacing:.05em;
	font-weight:700;
	color:var(--cl-navy);
	background:rgba(191,177,112,.22);
	padding:4px 10px;
	border-radius:999px;
	margin-bottom:10px;
}
.cl-modal-title{font-size:22px;font-weight:700;color:var(--cl-navy-dark);margin:0 0 4px;line-height:1.25;}
.cl-modal-author{font-size:15px;color:var(--cl-muted);margin:0 0 18px;}
.cl-modal-meta{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:8px 20px;
	font-size:13.5px;
	margin-bottom:18px;
	padding-bottom:18px;
	border-bottom:1px solid #eee;
}
.cl-modal-meta div span{display:block;}
.cl-modal-meta .cl-k{color:var(--cl-muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;}
.cl-modal-meta .cl-v{color:var(--cl-text);font-weight:500;}
.cl-modal-desc{font-size:14px;line-height:1.65;color:var(--cl-text);}
.cl-modal-price{
	display:inline-block;
	margin-top:18px;
	font-weight:700;
	font-size:16px;
	color:var(--cl-navy);
}
@media (max-width:640px){
	.cl-modal{flex-direction:column;max-height:92vh;}
	.cl-modal-img{flex:0 0 auto;padding:20px;}
	.cl-modal-img img{max-height:40vh;}
	.cl-modal-body{padding:10px 20px 26px;}
	.cl-modal-meta{grid-template-columns:1fr 1fr;}
	.cl-toolbar{position:static;}
}

/* ---- pagina categorie (landing) ---- */
.cl-cat-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
	gap:20px;
	margin:0 0 40px;
}
.cl-cat-card{
	position:relative;
	border-radius:var(--cl-radius);
	overflow:hidden;
	height:150px;
	display:flex;
	align-items:flex-end;
	background:linear-gradient(145deg,var(--cl-navy),var(--cl-navy-dark));
	color:#fff;
	text-decoration:none;
	box-shadow:var(--cl-shadow);
	transition:transform .18s ease,box-shadow .18s ease;
}
.cl-cat-card:hover{transform:translateY(-4px);box-shadow:var(--cl-shadow-hover);color:#fff;}
.cl-cat-card img{
	position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;
}
.cl-cat-card .cl-cat-inner{position:relative;padding:16px;z-index:1;}
.cl-cat-card .cl-cat-name{font-weight:700;font-size:16px;display:block;margin-bottom:2px;}
.cl-cat-card .cl-cat-n{font-size:12px;color:var(--cl-gold);}
