/* === w2dc-custom-styles.css — annuaire W2DC aligné sur la charte ============
 * Périmètre : listes d'actions bénévoles (et autres vues W2DC).
 * Même vocabulaire que les pages EM : wide, cartes cadre sable + barre bleue,
 * radius 5/14/14/5, labels 600. */

/* --- Wide : les blocs W2DC posés dans le contenu s'étendent à la wide-size. */
.wp-block-post-content > div[class*="w2dc"],
.wp-block-post-content > .w2dc-container-fluid {
	max-width: var(--wp--style--global--wide-size);
	margin-left: auto;
	margin-right: auto;
}

/* --- Cartes des fiches ----------------------------------------------------- */
.w2dc-listings-block article.w2dc-listing {
	border: 1px solid var(--wp--preset--color--lpo-warm-100);
	border-left: 6px solid var(--wp--preset--color--lpo-blue);
	border-radius: 5px 14px 14px 5px;
	padding: 16px 20px;
	margin-bottom: 16px;
}
.w2dc-listings-block article.w2dc-listing .w2dc-listing-header h2 {
	font-size: 26px;
	line-height: 1.15;
	margin: 0 0 12px;
}
.w2dc-listings-block article.w2dc-listing .w2dc-listing-header h2 a {
	color: var(--wp--preset--color--lpo-blue);
	text-decoration: none;
}
article.w2dc-listing .w2dc-field {
	margin-bottom: 6px;
}
article.w2dc-listing .w2dc-field-name {
	font-weight: 600;
}
/* Vignette : coins doux comme les cartes EM. */
article.w2dc-listing .w2dc-listing-logo-img,
article.w2dc-listing .w2dc-listing-logo-img img {
	border-radius: 6px;
	overflow: hidden;
}

/* --- Pastilles catégories & mots-clés (style maison) ----------------------- */
.w2dc-field-output-block-categories .w2dc-field-content a,
.w2dc-field-output-block-tags .w2dc-field-content a {
	display: inline-block;
	margin: 0 6px 6px 0;
	text-decoration: none !important;
	border: 0 !important;
}
.w2dc-field-output-block-categories .w2dc-label,
.w2dc-field-output-block-tags .w2dc-label {
	display: inline-block;
	background: var(--wp--preset--color--lpo-warm-50) !important;
	border: 1px solid var(--wp--preset--color--lpo-warm-100) !important;
	color: var(--wp--preset--color--lpo-ink) !important;
	border-radius: 999px;
	padding: 3px 12px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
	white-space: normal;
}
.w2dc-field-output-block-categories a:hover .w2dc-label,
.w2dc-field-output-block-tags a:hover .w2dc-label {
	border-color: var(--wp--preset--color--lpo-blue) !important;
	color: var(--wp--preset--color--lpo-blue) !important;
}

/* --- Formulaire de recherche et boutons : arrondis charte ------------------ */
.wcsearch-content.wcsearch-search-form {
	border-radius: 14px;
}
.wcsearch-content input[type="text"],
.wcsearch-content select,
.wcsearch-content .wcsearch-form-field {
	border-radius: 8px;
}
input.wcsearch-search-input-button,
.wcsearch-btn {
	border-radius: 999px !important;
	background: var(--wp--preset--color--lpo-blue) !important;
	border-color: transparent !important;
	color: var(--wp--preset--color--lpo-paper) !important;
	font-weight: 700;
}
.w2dc-btn {
	border-radius: 999px !important;
}
body a.w2dc-favourites-link.w2dc-btn.w2dc-btn-primary,
a.w2dc-btn.w2dc-btn-primary,
div.w2dc-btn.w2dc-btn-primary,
.w2dc-listings-options-links .w2dc-btn.w2dc-btn-primary,
.w2dc-listings-orderby .w2dc-listings-orderby-dropbtn {
	background: var(--wp--preset--color--lpo-blue) !important;
	background-image: none !important;
	border-color: transparent !important;
	color: var(--wp--preset--color--lpo-paper) !important;
	text-shadow: none !important;
}

/* --- Finitions (retours user 04/08) ---------------------------------------- */
/* Le conteneur gris de la recherche : arrondi sur toutes les couches. */
.wcsearch-content.wcsearch-search-form,
.wcsearch-search-form-border,
.wcsearch-content .wcsearch-form-inner,
.wcsearch-content > form,
.wcsearch-content > form > div:first-child {
	border-radius: 14px !important;
}
/* Boutons de vue liste/grille : pill segmentée (jointifs). */
.w2dc-views-links .w2dc-list-view-btn {
	border-radius: 999px 0 0 999px !important;
	margin-right: 0 !important;
}
.w2dc-views-links .w2dc-grid-view-btn {
	border-radius: 0 999px 999px 0 !important;
	margin-left: -1px !important;
}
/* Favoris + tri : plus de padding horizontal. */
body a.w2dc-favourites-link.w2dc-btn.w2dc-btn-primary,
.w2dc-listings-orderby .w2dc-listings-orderby-dropbtn {
	padding-left: 24px !important;
	padding-right: 24px !important;
}
/* De l'air entre la vignette et le texte des cartes. */
article.w2dc-listing .w2dc-listing-logo-wrap {
	margin-right: 22px;
}


/* --- Fiche action (single W2DC) -------------------------------------------- */
h2.w2dc-listing-single-title {
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 900;
	line-height: 1.1;
	margin: 6px 0 18px;
}
/* ⚠️ JAMAIS d'overflow:hidden sur .w2dc-slider / .w2dc-slider-wrapper :
 * en galerie multi-images bxSlider passe les slides en position:absolute,
 * le conteneur retombe à une hauteur nulle et TOUT est clippé (grande slide
 * vide). L'arrondi se pose donc uniquement sur les images elles-mêmes. */
.w2dc-listing-single .w2dc-listing-logo-img img,
.w2dc-listing-single .w2dc-slider img {
	border-radius: 12px;
}
.w2dc-listing-single .w2dc-single-listing-text-content-wrap .w2dc-field {
	margin-bottom: 10px;
}
.w2dc-listing-single .w2dc-field-description {
	font-size: 17px;
	line-height: 1.5;
}
/* Cases à cocher (listes de critères) : chevrons charte. */
.w2dc-listing-single ul.w2dc-field-content li {
	list-style: none;
	position: relative;
	padding-left: 18px;
}
.w2dc-listing-single ul.w2dc-field-content li::before {
	content: "\276F";
	position: absolute;
	left: 0;
	top: 2px;
	font-size: 11px;
	font-weight: 700;
	color: var(--wp--preset--color--lpo-blue);
}

/* --- Fiche action, passe 2 -------------------------------------------------- */
header.w2dc-listing-header h2.w2dc-listing-single-title {
	font-size: clamp(2rem, 3.5vw, 2.6rem) !important;
	font-weight: 900 !important;
	line-height: 1.08 !important;
}
/* Titres de sections (Information de contact, Infos pratiques…) : calibre EM. */
.w2dc-listing-single .w2dc-group-header,
.w2dc-listing-single h3.w2dc-group-title,
.w2dc-listing-single .w2dc-fields-group-title {
	font-size: 19px !important;
	font-weight: 700 !important;
	letter-spacing: 0;
}
/* Séparateurs gris épais → filet sable discret. */
.w2dc-listing-single hr,
.w2dc-listing-single .w2dc-fields-group-divider,
.w2dc-listing-single .w2dc-group-header + hr {
	border: 0;
	border-top: 1px solid var(--wp--preset--color--lpo-warm-100);
	background: none;
	height: 1px;
}
/* Onglets Carte / Contact / Rapport : pastilles charte. */
.w2dc-listing-single .w2dc-tabs li a,
.w2dc-listing-single [class*="w2dc-tab"] > li > a {
	border-radius: 999px 999px 0 0 !important;
	font-weight: 600;
}

/* --- Fiche action, passe 3 (retours user) ----------------------------------- */
/* 1) Police : W2DC impose sa famille — on rend la main au thème, titres en LPO. */
.w2dc-content {
	font-family: inherit !important;
}
h2.w2dc-listing-single-title,
.w2dc-fields-group-caption {
	font-family: var(--wp--preset--font-family--lpo), var(--wp--preset--font-family--sora), sans-serif !important;
}
/* 2) Image : plus grande, de l'air à droite. */
.w2dc-listing-single .w2dc-single-listing-logo-wrap {
	margin-right: 28px; /* largeur = réglage natif (w2dc_single_logo_width + w2dc-plugin.css régénéré) */
}

/* 3) Saisons (cases à cocher) : inline. */
.w2dc-listing-single ul[class*="w2dc-checkboxes-columns"] {
	display: flex !important;
	flex-wrap: wrap;
	gap: 4px 28px;
	column-count: auto !important;
	columns: auto !important;
	margin: 0;
}
.w2dc-listing-single ul[class*="w2dc-checkboxes-columns"] li {
	margin: 0;
}
/* 4+5) Grille : méta pleine largeur, groupes contact/pratiques en 2 colonnes. */
.w2dc-listing-single .w2dc-single-listing-text-content-wrap {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 16px;
	align-items: start;
}
.w2dc-listing-single .w2dc-single-listing-text-content-wrap > * {
	grid-column: 1 / -1;
}
.w2dc-listing-single .w2dc-single-listing-text-content-wrap > .w2dc-fields-group {
	grid-column: auto;
}
/* 4) Carte méta (Saison + Responsable + Catégories = une seule carte). */
.w2dc-listing-single .w2dc-single-listing-text-content-wrap > .w2dc-field-output-block-checkbox,
.w2dc-listing-single .w2dc-single-listing-text-content-wrap > .w2dc-field-output-block-string,
.w2dc-listing-single .w2dc-single-listing-text-content-wrap > .w2dc-field-output-block-categories,
.w2dc-listing-single .w2dc-single-listing-text-content-wrap > .w2dc-field-output-block-tags {
	border-left: 6px solid var(--wp--preset--color--lpo-blue);
	border-right: 1px solid var(--wp--preset--color--lpo-warm-100);
	margin: 0 !important;
	padding: 8px 20px !important;
}
.w2dc-listing-single .w2dc-single-listing-text-content-wrap > .w2dc-field-output-block-checkbox {
	border-top: 1px solid var(--wp--preset--color--lpo-warm-100);
	border-radius: 5px 14px 0 0;
	padding-top: 14px !important;
	margin-top: 16px !important;
}
.w2dc-listing-single .w2dc-single-listing-text-content-wrap > .w2dc-field-output-block-categories,
.w2dc-listing-single .w2dc-single-listing-text-content-wrap > .w2dc-field-output-block-tags {
	border-bottom: 1px solid var(--wp--preset--color--lpo-warm-100);
	border-radius: 0 0 14px 5px;
	padding-bottom: 14px !important;
	margin-bottom: 22px !important;
}
/* Si des mots-clés suivent les catégories, ces dernières ne ferment plus la carte. */
.w2dc-listing-single .w2dc-single-listing-text-content-wrap > .w2dc-field-output-block-categories:has(+ .w2dc-field-output-block-tags) {
	border-bottom: 0;
	border-radius: 0;
	padding-bottom: 8px !important;
	margin-bottom: 0 !important;
}
/* 5) Groupes en cartes. */
.w2dc-listing-single .w2dc-fields-group {
	border: 1px solid var(--wp--preset--color--lpo-warm-100);
	border-left: 6px solid var(--wp--preset--color--lpo-blue);
	border-radius: 5px 14px 14px 5px;
	padding: 16px 20px;
	margin: 0 0 18px !important;
}
.w2dc-listing-single .w2dc-fields-group-caption {
	font-size: 19px !important;
	font-weight: 700 !important;
	margin-bottom: 10px;
}
.w2dc-listing-single .w2dc-fields-group hr {
	display: none; /* le filet gris W2DC sous les captions, inutile en carte */
}
/* 6) Boutons de formulaire (Obtenir l'itinéraire…) : pill + padding. */
.w2dc-listing-single input[type="button"],
.w2dc-listing-single input[type="submit"],
.w2dc-listing-single button.w2dc-btn {
	border-radius: 999px !important;
	padding: 8px 26px !important;
}
/* 7) Boutons d'action du haut : vrais cercles. */
.w2dc-listing-single .w2dc-directory-frontpanel .w2dc-btn {
	box-sizing: border-box !important;
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	min-height: 44px !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	line-height: 1 !important; /* équilibre hauteur/line-height : le line-height W2DC gonflait la pill */
	font-size: 16px !important;
	border-radius: 50% !important;
}
.w2dc-listing-single .w2dc-directory-frontpanel .w2dc-btn [class*="glyphicon"],
.w2dc-listing-single .w2dc-directory-frontpanel .w2dc-btn [class*="w2dc-fa"] {
	font-size: 16px !important;
	line-height: 1 !important;
}

/* --- Fiche action, finitions ------------------------------------------------ */
.w2dc-listing-single ul[class*="w2dc-checkboxes-columns"] li {
	width: auto !important; /* les colonnes W2DC imposaient 33% */
	flex: 0 0 auto;
}
.w2dc-listing-single .w2dc-fields-group-caption {
	border-bottom: 0 !important;
	box-shadow: none !important;
}
.w2dc-listing-single .w2dc-fields-group-caption + hr,
.w2dc-listing-single .w2dc-fields-group .w2dc-hr {
	display: none !important;
}


/* --- Onglets Carte/Contact/Rapport : menu pill (façon Mon espace) ----------- */
.w2dc-listing-single ul.w2dc-listing-tabs {
	display: flex;
	gap: 10px;
	border-bottom: 0 !important;
	margin-bottom: 14px;
	padding: 0;
}
.w2dc-listing-single ul.w2dc-listing-tabs li {
	list-style: none;
	margin: 0 !important;
}
.w2dc-listing-single ul.w2dc-listing-tabs li a {
	display: inline-block;
	padding: 7px 22px !important;
	border: 1px solid var(--wp--preset--color--lpo-warm-100) !important;
	border-radius: 999px !important;
	background: var(--wp--preset--color--lpo-warm-50) !important;
	color: var(--wp--preset--color--lpo-ink) !important;
	font-weight: 600;
	text-decoration: none !important;
}
.w2dc-listing-single ul.w2dc-listing-tabs li.w2dc-active a,
.w2dc-listing-single ul.w2dc-listing-tabs li.active a {
	background: var(--wp--preset--color--lpo-blue) !important;
	border-color: var(--wp--preset--color--lpo-blue) !important;
	color: var(--wp--preset--color--lpo-paper) !important;
}

/* Carte (map) de l'onglet + conteneur d'onglets : coins arrondis. */
.w2dc-listing-single .w2dc-tab-content,
.w2dc-listing-single .w2dc-map-canvas,
.w2dc-listing-single [id*="w2dc-map"],
.w2dc-listing-single .w2dc-tab-content > div {
	border-radius: 12px !important;
	overflow: hidden;
}

/* Saison : valeur sur la même ligne que le libellé (comme Responsable). */
.w2dc-listing-single .w2dc-field-output-block-checkbox {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
}
.w2dc-listing-single .w2dc-field-output-block-checkbox > .w2dc-field-caption {
	flex: 0 0 auto;
}
.w2dc-listing-single .w2dc-field-output-block-checkbox ul[class*="w2dc-checkboxes-columns"] {
	flex: 1 1 auto;
}
.w2dc-listing-single .w2dc-field-output-block-checkbox li::before {
	display: none; /* le chevron faisait doublon en inline */
}
.w2dc-listing-single .w2dc-field-output-block-checkbox li {
	padding-left: 0 !important;
}

/* Grille interne du formulaire de recherche (fond gris) : arrondie aussi. */
.wcsearch-search-grid,
[id^="wcsearch-search-form"] .wcsearch-search-grid {
	border-radius: 12px !important;
}

/* --- Retouches du 02/09 (retours client) ------------------------------------ */
/* Cartes de la liste (vue liste ET grille) : le titre était collé à la vignette.
   Le padding va sur le wrap du texte, pas sur le h2 — en vue grille la vignette
   est au-dessus, en vue liste à gauche, et c'est le wrap qui suit dans les deux cas. */
article.w2dc-listing .w2dc-listing-text-content-wrap {
	padding-top: 1.5rem;
}
