/* ==========================================================
   VIGIGLE - PAGE INDIVIDUELLE D'UNE REFERENCE
   ========================================================== */

.vig-ref-single-article .page-content{
	padding-top:42px;
	padding-bottom:60px;
}

.vig-ref-single{
	--vig-green:#1686e8;
	--vig-green-dark:#0f67b7;
	--vig-green-deep:#0a4f8f;
	--vig-green-soft:#eef6fd;
	--vig-border:#d9e8f5;
	--vig-text:#34495e;
	--vig-muted:#718096;
	--vig-white:#ffffff;
	max-width:1120px;
	margin:0 auto;
	color:var(--vig-text);
	font-family:inherit;
}

.vig-ref-single-cats{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:0 0 16px;
}

.vig-ref-single-cat{
	display:inline-flex;
	align-items:center;
	gap:7px;
	padding:6px 11px;
	border:1px solid rgba(22,134,232,.16);
	border-radius:999px;
	background:var(--vig-green-soft);
	color:var(--vig-green-dark);
	font-size:12px;
	font-weight:600;
}

.vig-ref-single-cat img{
	width:22px;
	height:22px;
	object-fit:cover;
	border-radius:50%;
}

.vig-ref-single-header{
	position:relative;
	padding:28px 30px;
	margin:0 0 22px;
	border:1px solid var(--vig-border);
	border-radius:14px;
	background:linear-gradient(135deg,#fff 0%,#f6fbff 100%);
	box-shadow:0 10px 30px rgba(22,134,232,.08);
	overflow:hidden;
}

.vig-ref-single-header::before{
	content:"";
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	width:5px;
	background:var(--vig-green);
}

.vig-ref-single-kicker{
	margin:0 0 8px;
	color:var(--vig-green-dark);
	font-size:12px;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.vig-ref-single-title{
	margin:0 0 12px!important;
	color:var(--porto-dark-color,#1f2d3d);
	font-size:clamp(27px,3vw,40px);
	line-height:1.18;
	font-weight:700;
	letter-spacing:-.025em;
}

.vig-ref-single-authors{
	color:var(--vig-text);
	font-size:16px;
	font-weight:500;
	line-height:1.55;
}

.vig-ref-single-grid{
	display:grid;
	grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);
	gap:22px;
	align-items:start;
}

.vig-ref-single-main,
.vig-ref-single-side{
	display:grid;
	gap:22px;
}

.vig-ref-single-card{
	margin:0;
	padding:24px 26px;
	border:1px solid var(--vig-border);
	border-radius:12px;
	background:#fff;
	box-shadow:0 6px 22px rgba(22,134,232,.06);
}

.vig-ref-single-card h2{
	margin:0 0 17px!important;
	color:var(--porto-dark-color,#1f2d3d);
	font-size:19px;
	line-height:1.3;
	font-weight:700;
}

.vig-ref-single-meta{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:0;
	margin:0;
}

.vig-ref-single-meta > div{
	padding:14px 16px 14px 0;
	border-top:1px solid #eaf1f7;
}

.vig-ref-single-meta > div:nth-child(-n+2){
	border-top:0;
	padding-top:0;
}

.vig-ref-single-meta dt{
	margin:0 0 4px;
	color:var(--vig-muted);
	font-size:12px;
	font-weight:700;
	letter-spacing:.04em;
	text-transform:uppercase;
}

.vig-ref-single-meta dd{
	margin:0;
	color:var(--vig-text);
	font-size:15px;
	line-height:1.45;
}

.vig-ref-single-meta a{
	color:var(--vig-green-dark)!important;
	text-decoration:none!important;
	word-break:break-word;
}

.vig-ref-single-meta a:hover{
	color:var(--vig-green)!important;
	text-decoration:underline!important;
}

.vig-ref-single-comment{
	display:grid;
	grid-template-columns:42px minmax(0,1fr);
	gap:15px;
	background:linear-gradient(135deg,#f8fcff 0%,#eef6fd 100%);
	border-color:#cfe4f6;
}

.vig-ref-single-section-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:42px;
	height:42px;
	border-radius:50%;
	background:var(--vig-green);
	color:#fff;
	font-size:18px;
	box-shadow:0 5px 14px rgba(22,134,232,.18);
}

.vig-ref-single-section-icon i{
	line-height:1;
}

.vig-ref-single-comment-text > :last-child,
.vig-ref-single-extra > :last-child{
	margin-bottom:0;
}

.vig-ref-single-citation p{
	margin:0 0 15px;
	padding:14px;
	border-radius:8px;
	background:#f6f9fc;
	color:#4f6170;
	font-size:13px;
	line-height:1.6;
}

.vig-ref-single-copy{
	width:100%;
}

.vig-ref-single-actions{
	display:grid;
	gap:9px;
}

.vig-ref-single-actions h2{
	margin-bottom:8px!important;
}

.vig-ref-single-action{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:42px;
	padding:9px 13px;
	border:1px solid var(--vig-green);
	border-radius:7px;
	background:#fff;
	color:var(--vig-green-deep)!important;
	text-decoration:none!important;
	font-size:13px;
	font-weight:700;
	transition:.2s ease;
}

.vig-ref-single-action:hover,
.vig-ref-single-action-primary{
	background:var(--vig-green);
	border-color:var(--vig-green);
	color:#fff!important;
}

.vig-ref-single-action-primary:hover{
	background:var(--vig-green-dark);
	border-color:var(--vig-green-dark);
}

.vig-ref-single-back{
	display:inline-flex;
	align-items:center;
	color:var(--vig-green-dark)!important;
	font-size:14px;
	font-weight:600;
	text-decoration:none!important;
}

.vig-ref-single-back:hover{
	color:var(--vig-green)!important;
	text-decoration:underline!important;
}

@media(max-width:900px){
	.vig-ref-single-grid{
		grid-template-columns:1fr;
	}

	.vig-ref-single-side{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.vig-ref-single-back{
		grid-column:1/-1;
	}
}

@media(max-width:620px){
	.vig-ref-single-article .page-content{
		padding-top:24px;
		padding-bottom:40px;
	}

	.vig-ref-single-header{
		padding:22px 20px;
	}

	.vig-ref-single-card{
		padding:20px;
	}

	.vig-ref-single-meta{
		grid-template-columns:1fr;
	}

	.vig-ref-single-meta > div:nth-child(2){
		border-top:1px solid #eaf1f7;
		padding-top:14px;
	}

	.vig-ref-single-side{
		grid-template-columns:1fr;
	}

	.vig-ref-single-comment{
		grid-template-columns:1fr;
	}
}

/* ==========================================================
   VIGIGLE - LARGEUR DU CONTENU SUR LES PAGES DE REFERENCES
   La page reste en pleine largeur côté Porto, mais le contenu
   est recentré pour conserver une présentation structurée.
   ========================================================== */

body.post-type-archive-vig_ref #content,
body.single-vig_ref #content{
	width:100%;
}

body.post-type-archive-vig_ref .vig-ref-archive > .page-content,
body.single-vig_ref .vig-ref-single-article > .page-content{
	width:100%;
	max-width:1180px;
	margin-left:auto;
	margin-right:auto;
	padding-left:24px;
	padding-right:24px;
	box-sizing:border-box;
}

body.post-type-archive-vig_ref .vig-ref-directory{
	max-width:1180px;
	margin-left:auto;
	margin-right:auto;
}

body.post-type-archive-vig_ref .vig-ref-grid{
	gap:24px;
}

body.post-type-archive-vig_ref .vig-ref-card{
	padding:24px;
}

body.single-vig_ref .vig-ref-single{
	max-width:1120px;
	margin-left:auto;
	margin-right:auto;
}

@media(max-width:767px){
	body.post-type-archive-vig_ref .vig-ref-archive > .page-content,
	body.single-vig_ref .vig-ref-single-article > .page-content{
		padding-left:16px;
		padding-right:16px;
	}
}
