/*
 * Sphera — bouton Network + panneau déroulant
 *
 * Dans Gutenberg, les classes btn-network / btn-network-dropdown sont sur
 * le bloc « Titre d'accordéon » (.wp-block-accordion-heading).
 * Le panneau (.wp-block-accordion-panel) est frère du titre, dans
 * .wp-block-accordion-item — c'est ce conteneur qui sert de repère.
 */

/* Wrapper custom HTML (hors accordéon) */
.btn-network-dropdown:not(.wp-block-accordion-heading) {
	position: relative;
	display: inline-block;
	width: 173px;
	box-sizing: border-box;
}

/* Étoile — bouton custom ou toggle accordéon */
.btn-network:not(.wp-block-accordion-heading)::before,
.btn-network-dropdown__trigger::before,
.wp-block-accordion-heading.btn-network .wp-block-accordion-heading__toggle::before {
	content: "";
	flex-shrink: 0;
	margin-top: 3px;
	width: 13px;
	height: 14px;
	background: url("../svg/etoile.svg") center / contain no-repeat;
}

/* Bouton custom (hors accordéon) */
.btn-network:not(.wp-block-accordion-heading),
.btn-network-dropdown__trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 173px;
	box-sizing: border-box;
	padding: var(--micro, 6px) var(--rgulier, 24px);
	border: 0;
	border-radius: 6px;
	background: var(--wp--preset--color--network-mid-blue);
	color: var(--wp--preset--color--network-dark-blue);
	font-family: var(--wp--preset--font-family--massilia);
	font-size: var(--wp--preset--font-size--texte, 17px);
	font-weight: 500;
	line-height: 1.3;
	cursor: pointer;
	white-space: nowrap;
}

.btn-network:not(.wp-block-accordion-heading):hover,
.btn-network-dropdown__trigger:hover {
	background: color-mix(in srgb, var(--wp--preset--color--network-mid-blue) 85%, var(--wp--preset--color--network-dark-blue));
}

/* Panneau custom HTML — collé sous le bouton, sans ombre */
.btn-network__panel,
.btn-network-dropdown__panel {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	width: 173px;
	box-sizing: border-box;
	z-index: 100;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid var(--wp--preset--color--network-dark-blue);
	border-top: 0;
	border-radius: 0 0 6px 6px;
	background: var(--wp--preset--color--network-beige);
	box-shadow: none;
}

.btn-network-dropdown:not(.wp-block-accordion-heading).is-open
	.btn-network:not(.wp-block-accordion-heading),
.btn-network-dropdown:not(.wp-block-accordion-heading).is-open
	.btn-network-dropdown__trigger {
	border: 1px solid var(--wp--preset--color--network-dark-blue);
	border-bottom: 0;
	border-radius: 6px 6px 0 0;
}

.btn-network-dropdown:not(.wp-block-accordion-heading):not(.is-open) .btn-network__panel,
.btn-network-dropdown:not(.wp-block-accordion-heading):not(.is-open) .btn-network-dropdown__panel {
	display: none;
}

.btn-network-dropdown:not(.wp-block-accordion-heading).is-open .btn-network__panel,
.btn-network-dropdown:not(.wp-block-accordion-heading).is-open .btn-network-dropdown__panel {
	display: block;
}

.btn-network__panel a,
.btn-network-dropdown__panel a,
.btn-network__panel li {
	display: block;
	padding: 6px 12px;
	color: var(--wp--preset--color--network-dark-blue);
	text-decoration: none;
	font-family: var(--wp--preset--font-family--massilia);
	font-size: var(--wp--preset--font-size--menu, 20px);
	line-height: 1.3;
}

.btn-network__panel a:hover,
.btn-network-dropdown__panel a:hover {
	background: var(--wp--preset--color--network-light-blue);
}

/*
 * Accordéon Gutenberg — classes sur le Titre d'accordéon
 * Structure : .wp-block-accordion-item > .wp-block-accordion-heading.btn-network + .wp-block-accordion-panel
 */
.sphera-header .wp-block-group {
	overflow: visible !important;
}

.sphera-header .wp-block-group.is-layout-flex {
	align-items: center;
}

.sphera-header .wp-block-accordion {
	display: contents;
}

/* Repère de positionnement = l'élément d'accordéon (pas le titre) */
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network),
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network-dropdown),
.sphera-header .wp-block-accordion-item {
	position: relative;
	display: inline-block !important;
	align-self: center;
	width: 173px;
	max-width: 173px;
	border: 0;
	overflow: visible;
	box-sizing: border-box;
}

/* Le titre ne doit pas être stylé comme un bouton — seulement le toggle */
.wp-block-accordion-heading.btn-network,
.wp-block-accordion-heading.btn-network-dropdown {
	display: block;
	width: 173px;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	box-sizing: border-box;
}

.wp-block-accordion-heading.btn-network .wp-block-accordion-heading__toggle,
.wp-block-accordion-heading.btn-network-dropdown .wp-block-accordion-heading__toggle,
.sphera-header .wp-block-accordion-item .wp-block-accordion-heading__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 8px 12px;
	border: 0;
	border-radius: 6px;
	background: var(--wp--preset--color--network-mid-blue);
	color: var(--wp--preset--color--network-dark-blue);
	font-family: var(--wp--preset--font-family--massilia);
	font-size: var(--wp--preset--font-size--texte, 17px);
	font-weight: 500;
	line-height: 1.3;
	cursor: pointer;
	white-space: nowrap;
	width: 173px;
	box-sizing: border-box;
}

.wp-block-accordion-heading.btn-network .wp-block-accordion-heading__toggle:hover,
.wp-block-accordion-heading.btn-network-dropdown .wp-block-accordion-heading__toggle:hover {
	background: color-mix(in srgb, var(--wp--preset--color--network-mid-blue) 85%, var(--wp--preset--color--network-dark-blue));
}

.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network)
	.wp-block-accordion-heading__toggle-title,
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network-dropdown)
	.wp-block-accordion-heading__toggle-title,
.sphera-header
	.wp-block-accordion-item
	.wp-block-accordion-heading__toggle-title {
	flex: none;
}

/* Icône + / × remplacée par chevron bas (fermé) ou haut (ouvert) */
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network)
	.wp-block-accordion-heading__toggle-icon,
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network-dropdown)
	.wp-block-accordion-heading__toggle-icon,
.sphera-header
	.wp-block-accordion-item
	.wp-block-accordion-heading__toggle-icon {
	display: inline-flex;
	flex-shrink: 0;
	width: 14px;
	height: 8px;
	font-size: 0;
	line-height: 0;
	color: transparent;
	transform: none !important;
}

.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network)
	.wp-block-accordion-heading__toggle-icon::before,
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network-dropdown)
	.wp-block-accordion-heading__toggle-icon::before,
.sphera-header
	.wp-block-accordion-item
	.wp-block-accordion-heading__toggle-icon::before {
	content: "";
	display: block;
	margin-top: 6px;
	width: 14px;
	height: 8px;
	background: url("../svg/chevron-bas.svg") center / contain no-repeat;
}

.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network).is-open
	.wp-block-accordion-heading__toggle-icon::before,
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network-dropdown).is-open
	.wp-block-accordion-heading__toggle-icon::before,
.sphera-header
	.wp-block-accordion-item.is-open
	.wp-block-accordion-heading__toggle-icon::before,
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network)
	.wp-block-accordion-heading__toggle[aria-expanded="true"]
	.wp-block-accordion-heading__toggle-icon::before,
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network-dropdown)
	.wp-block-accordion-heading__toggle[aria-expanded="true"]
	.wp-block-accordion-heading__toggle-icon::before {
	background-image: url("../svg/chevron-top.svg");
}

/* Ouvert : bouton arrondi en haut, panneau collé en dessous */
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network).is-open
	.wp-block-accordion-heading__toggle,
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network-dropdown).is-open
	.wp-block-accordion-heading__toggle,
.sphera-header .wp-block-accordion-item.is-open
	.wp-block-accordion-heading__toggle {
	border: 1px solid var(--wp--preset--color--network-dark-blue);
	border-bottom: 0;
	border-radius: 6px 6px 0 0;
}

/* Panneau sous le titre, même largeur, sans ombre */
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network) .wp-block-accordion-panel,
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network-dropdown) .wp-block-accordion-panel,
.sphera-header .wp-block-accordion-item .wp-block-accordion-panel {
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	right: 0 !important;
	bottom: auto !important;
	z-index: 100;
	width: 173px !important;
	min-width: 173px !important;
	max-width: 173px !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	margin-block-start: 0 !important;
	padding: var(--wp--preset--spacing--petit, 12px) !important;
	height: auto !important;
	max-height: none !important;
	overflow: hidden !important;
	border: 1px solid var(--wp--preset--color--network-dark-blue);
	border-top: 0;
	border-radius: 0 0 6px 6px;
	background: var(--wp--preset--color--network-beige);
	box-shadow: none !important;
}

.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network):not(.is-open) .wp-block-accordion-panel,
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network-dropdown):not(.is-open) .wp-block-accordion-panel,
.sphera-header .wp-block-accordion-item:not(.is-open) .wp-block-accordion-panel {
	display: none !important;
	margin-block-start: 0 !important;
}

.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network).is-open .wp-block-accordion-panel,
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network-dropdown).is-open .wp-block-accordion-panel,
.sphera-header .wp-block-accordion-item.is-open .wp-block-accordion-panel {
	display: block !important;
}

.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network) .wp-block-accordion-panel a,
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network-dropdown) .wp-block-accordion-panel a,
.sphera-header .wp-block-accordion-item .wp-block-accordion-panel a {
	display: block;
	margin: 0;
	padding: 6px 0 12px;
	color: var(--wp--preset--color--network-dark-blue);
	text-decoration: none;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network) .wp-block-accordion-panel > p,
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network-dropdown) .wp-block-accordion-panel > p,
.sphera-header .wp-block-accordion-item .wp-block-accordion-panel > p,
.wp-block-accordion-panel > .wp-block-paragraph {
	margin: 0 0 6px !important;
	padding-top: 6px !important;
	padding-right: 0 !important;
	padding-bottom: 12px !important;
	padding-left: 0 !important;
	border-bottom: 2px solid var(--wp--preset--color--network-mid-blue, #66a0ff) !important;
}

.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network) .wp-block-accordion-panel > p:last-child,
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network-dropdown) .wp-block-accordion-panel > p:last-child,
.sphera-header .wp-block-accordion-item .wp-block-accordion-panel > p:last-child,
.wp-block-accordion-panel > .wp-block-paragraph:last-child {
	margin-bottom: 0 !important;
	border-bottom: none !important;
}

.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network) .wp-block-accordion-panel > p a,
.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network-dropdown) .wp-block-accordion-panel > p a,
.sphera-header .wp-block-accordion-item .wp-block-accordion-panel > p a {
	padding: 0;
	display: inline;
}

/*
 * Bouton avec flèche — classe optionnelle : sphera-btn-fleche sur le lien / bouton
 */
.sphera-btn-fleche,
a.sphera-btn-fleche,
.wp-block-button__link.sphera-btn-fleche,
.wp-element-button.sphera-btn-fleche {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.sphera-btn-fleche::after,
a.sphera-btn-fleche::after,
.wp-block-button__link.sphera-btn-fleche::after,
.wp-element-button.sphera-btn-fleche::after {
	content: "";
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-top: 3px;
	background: url("../svg/fleche.svg") center / contain no-repeat;
	transition: transform 160ms ease;
}

.sphera-btn-fleche:hover::after,
a.sphera-btn-fleche:hover::after,
.wp-block-button__link.sphera-btn-fleche:hover::after,
.wp-element-button.sphera-btn-fleche:hover::after {
	transform: translateX(3px);
}

/*
 * Lien « Voir tout » + flèche — classe optionnelle : voir-tout sur le Groupe
 */
.wp-block-group.voir-tout,
.wp-block-group.is-horizontal.is-layout-flex:has(> .wp-block-paragraph + .wp-block-image) {
	display: inline-flex !important;
	align-items: center !important;
	gap: var(--wp--preset--spacing--micro, 6px);
}

.wp-block-group.voir-tout > .wp-block-paragraph,
.wp-block-group.is-horizontal.is-layout-flex:has(> .wp-block-paragraph + .wp-block-image) > .wp-block-paragraph {
	margin: 0;
	line-height: 1.3;
}

.wp-block-group.voir-tout > .wp-block-image,
.wp-block-group.is-horizontal.is-layout-flex:has(> .wp-block-paragraph + .wp-block-image) > .wp-block-image {
	margin: 0;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	line-height: 0;
}

.wp-block-group.voir-tout > .wp-block-image img,
.wp-block-group.is-horizontal.is-layout-flex:has(> .wp-block-paragraph + .wp-block-image) > .wp-block-image img {
	display: block;
	width: 18px;
	height: auto;
	/* Légèrement sous le centre optique du texte souligné */
	transform: translateY(2px);
}

/*
 * Bouton Partager (plugin / HTML custom) — .bg-share-btn
 * Surcharges optionnelles : --bg-share-btn-bg, --bg-share-btn-color,
 * --bg-share-btn-hover-bg, --bg-share-btn-hover-color
 */
.bg-share-btn {
	--bg-share-btn-bg: var(--wp--preset--color--network-deep-blue, #1352ff);
	--bg-share-btn-color: var(--wp--preset--color--network-light-blue, #e4eeff);
	--bg-share-btn-border: var(--wp--preset--color--network-dark-blue, #00133a);
	--bg-share-btn-shadow: var(--wp--preset--color--network-dark-blue, #00133a);
	--bg-share-btn-hover-bg: var(--bg-share-btn-bg);
	--bg-share-btn-hover-color: var(--wp--preset--color--network-deep-blue, #1352ff);

	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	margin: 0;
	padding: var(--wp--preset--spacing--micro, 6px) var(--wp--preset--spacing--regulier, 24px);
	border-radius: var(--wp--preset--spacing--micro, 6px);
	border: 1px solid var(--bg-share-btn-border);
	background: var(--bg-share-btn-bg);
	color: var(--bg-share-btn-color);
	box-shadow: 3px 4px 0 0 var(--bg-share-btn-shadow);
	font-family: var(--wp--preset--font-family--massilia);
	font-size: var(--wp--preset--font-size--button, 17px);
	font-style: normal;
	font-weight: 500;
	line-height: 1.3;
	cursor: pointer;
	white-space: nowrap;
	text-decoration: none;
	appearance: none;
	-webkit-appearance: none;
	transition:
		background 180ms ease-out,
		color 180ms ease-out,
		box-shadow 180ms ease-out,
		transform 180ms ease-out;
}

.bg-share-btn--icon-right {
	flex-direction: row;
}

.bg-share-label {
	line-height: 1.3;
}

.bg-share-btn__icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	line-height: 0;
	color: currentColor;
}

.bg-share-btn__icon svg {
	display: block;
	width: 20px;
	height: 22px;
}

.bg-share-btn:hover,
.bg-share-btn:focus-visible {
	background: var(--bg-share-btn-hover-bg);
	color: var(--bg-share-btn-hover-color);
}

.bg-share-btn:focus-visible {
	outline: none;
	box-shadow:
		3px 4px 0 0 var(--bg-share-btn-shadow),
		var(--wp--custom--focus--ring, 0 0 0 3px rgba(19, 82, 255, 0.35));
}

.bg-share-btn:active {
	transform: translate(2px, 3px);
	box-shadow: 1px 1px 0 0 var(--bg-share-btn-shadow);
}

/* Popup Partager — flèche alignée sur le bouton, contenu dans l’écran */
.wp-block-blocks-gutenberg-share-socials .bg-share-popup::after,
.wp-block-blocks-gutenberg-share-socials .bg-share-popup::before {
	left: var(--bg-share-arrow-left, 50%);
	transform: translateX(-50%);
}

@media (max-width: 768px) {
	.wp-block-blocks-gutenberg-share-socials .bg-share-popup {
		max-width: calc(100vw - 2 * var(--wp--custom--gouttiere--mobile, 20px));
	}

	.wp-block-blocks-gutenberg-share-socials .bg-share-networks--icons-only {
		flex-wrap: wrap;
		justify-content: center;
	}
}

/* Bouton Network (accordéon header) — pleine largeur sur mobile */
@media (max-width: 768px) {
	.sphera-header .wp-block-group:has(.wp-block-accordion-heading.btn-network),
	.sphera-header .wp-block-group:has(.wp-block-accordion-heading.btn-network-dropdown) {
		width: 100% !important;
		flex: 1 1 100% !important;
		align-self: stretch !important;
	}

	.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network),
	.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network-dropdown),
	.sphera-header .wp-block-accordion-item {
		display: block !important;
		align-self: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.wp-block-accordion-heading.btn-network,
	.wp-block-accordion-heading.btn-network-dropdown {
		width: 100% !important;
		max-width: 100% !important;
	}

	.wp-block-accordion-heading.btn-network .wp-block-accordion-heading__toggle,
	.wp-block-accordion-heading.btn-network-dropdown .wp-block-accordion-heading__toggle,
	.sphera-header .wp-block-accordion-item .wp-block-accordion-heading__toggle {
		display: flex !important;
		justify-content: center;
		width: 100% !important;
		max-width: 100% !important;
	}

	.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network) .wp-block-accordion-panel,
	.wp-block-accordion-item:has(> .wp-block-accordion-heading.btn-network-dropdown) .wp-block-accordion-panel,
	.sphera-header .wp-block-accordion-item .wp-block-accordion-panel {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}
}