/* ==========================================================================
   CIPLEV Child — surcharges non destructives
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Logo / bloc-blason — CIPLEV jaune / header foncé
   -------------------------------------------------------------------------- */
.bloc-blason img {
	width: 100% !important;
	height: auto !important;
	display: block;
	object-fit: contain;
	object-position: center;
}
.nav-row .bloc-blason {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 2px;
}
.brand__logo {
	width: 44px;
	height: auto;
	object-fit: contain;
}
.custom-logo {
	max-width: 100%;
	height: auto;
	object-fit: contain;
}
@media (max-width: 760px) {
	.nav-row .bloc-blason { width: 60px !important; }
}

/* Header : CIPLEV jaune, autres textes blanc, icônes jaune — bleu logo #0093DD */
.gov-band { background: #0093DD !important; }
.gov-band__name strong { color: var(--yellow) !important; }
.gov-band__name span { color: var(--white) !important; }
.gov-band__contact a { color: var(--white) !important; }
.gov-band__contact a:hover { color: var(--yellow) !important; }
.gov-band__contact .icon { color: var(--yellow) !important; }

/* --------------------------------------------------------------------------
   2. Commentaires — style cohérent charte CIPLEV (responsive)
   -------------------------------------------------------------------------- */
.comments-area {
	margin-top: 56px;
	padding-top: 32px;
	border-top: 1px solid var(--line);
}

.comments-title,
.comment-reply-title {
	font-family: var(--font-head);
	color: var(--primary-dark);
	font-weight: 800;
	font-size: clamp(1.2rem, 2.5vw, 1.6rem);
	margin: 0 0 20px;
}

.comment-list {
	list-style: none;
	margin: 0 0 32px;
	padding: 0;
	display: grid;
	gap: 16px;
}
.comment-list .comment {
	padding: 20px 22px;
	background: var(--soft);
	border: 1px solid var(--line);
	border-radius: var(--radius);
}
.comment-list .comment .comment-meta {
	font-size: .88rem;
	color: var(--muted);
	margin-bottom: 8px;
}
.comment-list .comment .comment-meta a { color: var(--muted); text-decoration: none; }
.comment-list .comment .comment-content { color: var(--ink); }
.comment-list .comment .reply { margin-top: 10px; }
.comment-list .comment .reply a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
	font-size: .9rem;
	text-decoration: none;
	color: var(--primary);
}
.comment-list ol.children {
	list-style: none;
	margin: 16px 0 0 24px;
	padding: 0;
	display: grid;
	gap: 16px;
	border-left: 3px solid var(--primary-soft);
	padding-left: 16px;
}

/* Formulaire */
.comment-respond {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 28px;
	box-shadow: var(--shadow);
}
.comment-form {
	display: grid;
	gap: 16px;
}
.comment-form .comment-notes,
.comment-form .logged-in-as {
	font-size: .92rem;
	color: var(--muted);
	margin: 0;
}
.comment-form label {
	display: block;
	font-weight: 700;
	font-size: .92rem;
	color: var(--ink);
	margin-bottom: 6px;
}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	font-family: var(--font-body);
	font-size: 1rem;
	color: var(--ink);
	background: var(--white);
	transition: border-color .15s, box-shadow .15s;
}
.comment-form textarea { min-height: 140px; resize: vertical; }
.comment-form input:focus,
.comment-form textarea:focus {
	outline: none;
	border-color: var(--primary);
	box-shadow: 0 0 0 3px rgba(0,106,79,.12);
}
.comment-form .required { color: var(--red); }
.comment-form .form-submit { margin: 8px 0 0; }
.comment-form input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .85em 1.6em;
	border-radius: 999px;
	border: 2px solid transparent;
	background: var(--primary);
	color: var(--white);
	font-family: var(--font-head);
	font-weight: 700;
	font-size: .95rem;
	cursor: pointer;
	transition: background .2s, transform .2s;
}
.comment-form input[type="submit"]:hover {
	background: var(--primary-dark);
	transform: translateY(-1px);
}
.comment-form-cookies-consent {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	font-size: .9rem;
	color: var(--muted);
}
.comment-form-cookies-consent input { margin-top: 4px; }

@media (max-width: 600px) {
	.comment-respond { padding: 20px 16px; }
	.comment-list ol.children { margin-left: 12px; }
}

/* --------------------------------------------------------------------------
   3. Contact — 2 sous-menus style Police Nationale + grille régions
   -------------------------------------------------------------------------- */

/* Sous-navigation interne (onglets Police) */
.ciplev-contact-tabs {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin: 0 0 28px;
	padding: 6px;
	background: var(--soft);
	border: 1px solid var(--line);
	border-radius: 999px;
	width: fit-content;
	max-width: 100%;
}
.ciplev-contact-tabs a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border-radius: 999px;
	font-family: var(--font-head);
	font-weight: 700;
	font-size: .95rem;
	text-decoration: none;
	color: var(--ink);
	transition: background .15s, color .15s;
}
.ciplev-contact-tabs a.is-active,
.ciplev-contact-tabs a[aria-current="page"] {
	background: var(--primary);
	color: var(--white);
}
.ciplev-contact-tabs a:hover { background: var(--primary-soft); color: var(--primary-dark); }
.ciplev-contact-tabs a.is-active:hover { background: var(--primary-dark); color: var(--white); }

/* Grille régions — responsive, cards institutionnelles */
.ciplev-regions {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 20px;
	margin: 24px 0;
}
.ciplev-region {
	background: var(--white);
	border: 1px solid var(--line);
	border-top: 4px solid var(--primary);
	border-radius: var(--radius);
	padding: 22px 24px;
	transition: box-shadow .2s, transform .2s;
}
.ciplev-region:nth-child(3n+2) { border-top-color: var(--yellow); }
.ciplev-region:nth-child(3n+3) { border-top-color: var(--red); }
.ciplev-region:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.ciplev-region__title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	font-family: var(--font-head);
	font-weight: 800;
	font-size: 1.15rem;
	color: var(--primary-dark);
}
.ciplev-region__title .icon { color: var(--primary); width: 22px; height: 22px; }
.ciplev-region__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}
.ciplev-region__list li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: .97rem;
	line-height: 1.5;
}
.ciplev-region__list .icon { color: var(--primary); margin-top: 3px; flex: none; }
.ciplev-region__list a { color: var(--primary-dark); font-weight: 700; text-decoration: none; }
.ciplev-region__list a:hover { color: var(--primary); text-decoration: underline; }
.ciplev-region__todo {
	margin-top: 10px;
	padding: 10px 12px;
	background: #fff6d6;
	border: 1px dashed #d4a800;
	border-radius: var(--radius-sm);
	color: #6b5200;
	font-size: .88rem;
}

/* Siège : adresse à gauche, carte collée juste à droite */
.ciplev-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(20px, 3vw, 36px);
	align-items: start;
}
.ciplev-contact-map .ciplev-map { margin-top: 0; }
.ciplev-contact-map p { margin-top: 10px; }
/* Formulaire sous la ligne adresse + carte, sur une largeur de lecture. */
.ciplev-contact-write { max-width: 760px; margin-top: clamp(24px, 3vw, 36px); }
@media (max-width: 860px) {
	.ciplev-contact-grid { grid-template-columns: 1fr; }
}

/* Breadcrumb secondaire pour contact */
.ciplev-subnav {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 20px;
	font-size: .9rem;
	font-weight: 600;
}
.ciplev-subnav a { color: var(--muted); text-decoration: none; }
.ciplev-subnav a[aria-current="page"] { color: var(--primary); text-decoration: underline; text-underline-offset: 4px; }

/* --------------------------------------------------------------------------
   3 bis. Numéros verts d'alerte — tableau régional
   -------------------------------------------------------------------------- */
.ciplev-dir {
	margin: 28px 0 0;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--white);
	box-shadow: var(--shadow);
	overflow: hidden;
}

/* En-tête */
.ciplev-dir__head {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	padding: 18px 22px;
	background: var(--soft);
	border-bottom: 1px solid var(--line);
}
.ciplev-dir__head-icon {
	display: grid;
	place-items: center;
	flex: none;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--primary);
	color: var(--white);
	box-shadow: 0 6px 16px rgba(0, 106, 79, .25);
}
.ciplev-dir__head-icon .icon { width: 22px; height: 22px; }
.ciplev-dir__head-text { flex: 1 1 240px; min-width: 0; }
.ciplev-dir__head-title {
	display: block;
	font-family: var(--font-head);
	font-weight: 800;
	font-size: 1.12rem;
	line-height: 1.3;
	color: var(--primary-dark);
}
.ciplev-dir__head-sub { display: block; font-size: .9rem; color: var(--muted); }

/* Tableau */
.ciplev-dir__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ciplev-dir__table {
	width: 100%;
	border-collapse: collapse;
	font-size: .97rem;
	line-height: 1.45;
}
.ciplev-dir__table caption {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
.ciplev-dir__table thead th {
	padding: 14px 18px;
	background: var(--primary-dark);
	color: var(--white);
	font-family: var(--font-head);
	font-size: .73rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	text-align: left;
	white-space: nowrap;
}

/* Bandeau de région */
.ciplev-dir__region th {
	padding: 13px 18px;
	background: var(--primary);
	color: var(--white);
	font-family: var(--font-head);
	font-size: .88rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-align: left;
	border-top: 1px solid var(--primary-dark);
}
.ciplev-dir__region-name { vertical-align: middle; }
.ciplev-dir__count {
	display: inline-block;
	vertical-align: middle;
	margin-left: 10px;
	padding: 2px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .18);
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: none;
	white-space: nowrap;
}

/* Bandeau de préfecture */
.ciplev-dir__sub th {
	padding: 10px 18px 10px 34px;
	background: var(--yellow-soft);
	color: #6b5200;
	font-family: var(--font-head);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-align: left;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.ciplev-dir__sub .ciplev-dir__count { background: rgba(0, 0, 0, .08); }

/* Lignes de données */
.ciplev-dir__table td,
.ciplev-dir__table .ciplev-dir__unit {
	padding: 12px 18px;
	border-top: 1px solid var(--line);
	vertical-align: middle;
	text-align: left;
}
.ciplev-dir__unit {
	font-family: var(--font-head);
	font-weight: 800;
	font-size: 1rem;
	color: var(--ink);
	white-space: nowrap;
}
.ciplev-dir__name {
	font-weight: 700;
	letter-spacing: .04em;
	color: var(--primary-dark);
	text-transform: uppercase;
	white-space: nowrap;
}
.ciplev-dir__first { color: var(--muted); }
.ciplev-dir__contact { white-space: nowrap; }
.ciplev-dir__table tbody tr:not(.ciplev-dir__region):not(.ciplev-dir__sub):hover { background: var(--primary-soft); }
.ciplev-dir__table tbody tr:not(.ciplev-dir__region):not(.ciplev-dir__sub):hover .ciplev-dir__unit { color: var(--primary-dark); }

/* Pastille téléphone */
.ciplev-dir__tel {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--primary-soft);
	color: var(--primary-dark);
	font-family: var(--font-head);
	font-weight: 700;
	font-size: .92rem;
	font-variant-numeric: tabular-nums;
	text-decoration: none;
	white-space: nowrap;
	transition: background .15s, color .15s, transform .15s;
}
.ciplev-dir__tel .icon { width: 15px; height: 15px; }
.ciplev-dir__tel:hover {
	background: var(--primary);
	border-color: var(--primary-dark);
	color: var(--white);
	transform: translateY(-1px);
}

/* Pastilles des numéros verts d'alerte */
.ciplev-dir__green-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}
.ciplev-dir__green {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 18px;
	border-radius: 999px;
	background: var(--green);
	color: var(--white);
	font-family: var(--font-head);
	font-weight: 800;
	font-size: 1.05rem;
	letter-spacing: .06em;
	font-variant-numeric: tabular-nums;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: 0 4px 12px rgba(0, 106, 79, .22);
	transition: background .15s, box-shadow .15s, transform .15s;
}
.ciplev-dir__green .icon { width: 16px; height: 16px; }
.ciplev-dir__green:hover,
.ciplev-dir__green:focus-visible {
	background: var(--primary-dark);
	color: var(--white);
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(0, 106, 79, .3);
}

/* Note sous le tableau */
.ciplev-dir__foot {
	margin: 0;
	padding: 18px 22px;
	background: var(--soft);
	border-top: 1px solid var(--line);
	font-size: .92rem;
	color: var(--muted);
}
.ciplev-dir__foot a { color: var(--primary-dark); font-weight: 700; text-decoration: none; }
.ciplev-dir__foot a:hover { text-decoration: underline; }
.ciplev-dir__foot strong { color: var(--ink); }

/* Version mobile : chaque contact devient une carte */
@media (max-width: 760px) {
	.ciplev-dir__head { padding: 16px; gap: 12px; }
	.ciplev-dir__table thead {
		position: absolute !important;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(1px, 1px, 1px, 1px);
		white-space: nowrap;
	}
	.ciplev-dir__table,
	.ciplev-dir__table tbody,
	.ciplev-dir__table tr,
	.ciplev-dir__table th,
	.ciplev-dir__table td { display: block; width: auto; }
	.ciplev-dir__table tr:not(.ciplev-dir__region) {
		margin: 12px;
		border: 1px solid var(--line);
		border-radius: var(--radius-sm);
		background: var(--white);
		overflow: hidden;
	}
	.ciplev-dir__table tr:not(.ciplev-dir__region):not(.ciplev-dir__sub):hover { background: var(--white); }
	.ciplev-dir__region th { margin: 0; border-top: 0; }
	.ciplev-dir__sub th { margin: 0; }
	.ciplev-dir__table .ciplev-dir__unit {
		padding: 12px 14px 6px;
		border-top: 0;
		background: var(--soft);
		font-size: 1.05rem;
		white-space: normal;
	}
	.ciplev-dir__table td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
		padding: 9px 14px;
		white-space: normal;
	}
	.ciplev-dir__table td::before {
		content: attr(data-label);
		flex: none;
		font-family: var(--font-head);
		font-size: .7rem;
		font-weight: 700;
		letter-spacing: .1em;
		text-transform: uppercase;
		color: var(--muted);
	}
	.ciplev-dir__table td + td { border-top: 1px dashed var(--line); }
	.ciplev-dir__tel { padding: 6px 12px; }
	.ciplev-dir__foot { padding: 16px; }
}

/* Footer sans blason Ministère */
.site-footer__bottom-inner { grid-template-columns: 1fr auto; }

/* --------------------------------------------------------------------------
   3 ter. Formulaire « Écrire au Secrétariat permanent »
   -------------------------------------------------------------------------- */
.ciplev-contact-write .ciplev-form { margin-top: 6px; }

.ciplev-form {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 22px 22px 20px;
	background: var(--white);
	border: 1px solid var(--line);
	border-top: 4px solid var(--primary);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
}
.ciplev-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
.ciplev-form__field { margin: 0; display: grid; gap: 6px; }
.ciplev-form__field label,
.ciplev-form__consent span {
	font-family: var(--font-head);
	font-size: .88rem;
	font-weight: 700;
	color: var(--ink);
}
.ciplev-form__req {
	border: 0;
	text-decoration: none;
	color: var(--red);
	cursor: help;
}
.ciplev-form input[type="text"],
.ciplev-form input[type="tel"],
.ciplev-form input[type="email"],
.ciplev-form select,
.ciplev-form textarea {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	background: var(--white);
	color: var(--ink);
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.4;
	transition: border-color .15s, box-shadow .15s;
}
.ciplev-form select {
	appearance: none;
	-webkit-appearance: none;
	background-color: var(--white);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2357636a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 18px 18px;
	padding-right: 38px;
}
.ciplev-form textarea { min-height: 130px; resize: vertical; }
.ciplev-form input:focus,
.ciplev-form select:focus,
.ciplev-form textarea:focus {
	outline: none;
	border-color: var(--primary);
	box-shadow: 0 0 0 3px rgba(0, 106, 79, .12);
}
.ciplev-form input:invalid:not(:placeholder-shown) { border-color: #e6b0bb; }
.ciplev-form ::placeholder { color: #9aa5a8; }

.ciplev-form__consent { margin: 0; }
.ciplev-form__consent label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
}
.ciplev-form__consent input {
	flex: none;
	width: 20px;
	height: 20px;
	margin: 1px 0 0;
	accent-color: var(--primary);
	cursor: pointer;
}
.ciplev-form__consent span { font-weight: 600; color: var(--muted); line-height: 1.5; }

.ciplev-form__actions { margin: 4px 0 0; }
.ciplev-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 50px;
	padding: 12px 24px;
	border: 2px solid transparent;
	border-radius: 999px;
	background: var(--primary);
	color: var(--white);
	font-family: var(--font-head);
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	transition: background .2s, transform .2s;
}
.ciplev-form__submit:hover { background: var(--primary-dark); transform: translateY(-1px); }
.ciplev-form__submit:focus-visible { outline: 3px solid var(--yellow); outline-offset: 2px; }

.ciplev-form__note {
	margin: 0;
	font-size: .88rem;
	line-height: 1.55;
	color: var(--muted);
}
.ciplev-form__note a { color: var(--primary-dark); font-weight: 700; text-decoration: none; }
.ciplev-form__note a:hover { text-decoration: underline; }

/* Champ-piège : masqué visuellement mais présent dans le HTML. */
.ciplev-form__trap {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Retour après envoi */
.ciplev-form__notice {
	display: grid;
	gap: 4px;
	margin: 0;
	padding: 14px 16px;
	border: 1px solid;
	border-left-width: 5px;
	border-radius: var(--radius-sm);
	font-size: .92rem;
	line-height: 1.55;
}
.ciplev-form__notice strong { font-family: var(--font-head); font-size: 1rem; }
.ciplev-form__notice--ok {
	background: var(--primary-soft);
	border-color: #b7dccd;
	color: var(--primary-dark);
}
.ciplev-form__notice--ko {
	background: #fdeef0;
	border-color: #f0c2ca;
	color: #7d1428;
}

@media (max-width: 520px) {
	.ciplev-form { padding: 18px 16px 16px; }
	.ciplev-form__row { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   4. FAQ — léger renfort (déjà en parent) : pas de plugin
   -------------------------------------------------------------------------- */
.entry-content .wp-block-details { scroll-margin-top: 90px; }

.ciplev-map{background:var(--soft);min-height:360px;position:relative;overflow:hidden}
.ciplev-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
