/* Méga menu de l'en-tête (mu-plugin bp-skeditions-mega-menu.php), organisé et animé comme celui de Weba :
   la carte naît du bouton « Menu », s'étire, puis son contenu monte en cascade. */
.sk-mega { display: none; }

@media (min-width: 992px) {
	.sk-entete { position: relative; z-index: 100; }
	.sk-mega { display: block; position: absolute; top: 100%; left: 0; right: 0; z-index: 100; padding: 8px var(--sp-24) 0; pointer-events: none; }
	.sk-mega[hidden] { display: none; }
	/* Pont invisible entre le bouton et la carte : le survol ne se perd pas en chemin. */
	.sk-mega::before { content: ""; position: absolute; top: -21px; left: 0; right: 0; height: 29px; pointer-events: auto; }

	.sk-mega__carte { position: relative; width: 100%; max-width: 1280px; max-height: calc(100vh - 215px); margin-inline: auto; padding: var(--sp-24) 14px 14px; overflow-y: auto; border-radius: 22px; background: var(--color-white); box-shadow: 0 30px 70px -16px rgba(17, 20, 45, .35); pointer-events: auto; }
	.sk-mega__grille { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); } /* autant de colonnes que d'entrées de premier niveau */
	.sk-mega__col { display: flex; flex-direction: column; padding-inline: 14px; }
	.sk-mega__col + .sk-mega__col { border-left: 1px solid var(--color-grey-2); }
	.sk-mega__col ul { margin: 0; padding: 0; list-style: none; }

	.sk-mega strong { display: block; font: 700 var(--fs-16)/1.3 var(--font-heading); color: var(--color-dark); }
	.sk-mega small { display: block; margin-top: 2px; font: 400 var(--fs-14)/1.35 var(--font-body); color: var(--color-text-muted); }

	/* en-tête de colonne */
	.sk-mega__tete { display: flex; align-items: center; gap: var(--sp-12); margin-bottom: 6px; padding: 0 12px 14px; border-bottom: 1px solid var(--color-grey-2); text-decoration: none; }
	.sk-mega__tete strong { font-size: var(--fs-18); }
	.sk-mega__tete:hover strong { color: var(--color-primary); }
	.sk-mega__icone { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 12px; background: var(--color-primary-soft); }
	.sk-mega__icone .sk-ic-1 { stroke: var(--color-primary); }
	.sk-mega__icone .sk-ic-2 { stroke: var(--color-accent); }

	/* liens */
	.sk-mega__lien { position: relative; display: block; padding: 5px 12px; border-radius: 12px; text-decoration: none; transition: background-color .15s; }
	.sk-mega__lien strong::after { content: ""; display: inline-block; width: 14px; height: 14px; margin-left: 6px; vertical-align: -2px; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; opacity: 0; transform: translateX(-4px); transition: opacity .15s, transform .15s; }
	.sk-mega__lien:hover, .sk-mega__lien:focus-visible { background-color: var(--color-primary-soft); }
	.sk-mega__lien:hover strong, .sk-mega__lien:focus-visible strong, .sk-mega__lien--courant strong { color: var(--color-primary); }
	.sk-mega__lien:hover strong::after, .sk-mega__lien:focus-visible strong::after { opacity: 1; transform: none; }
	.sk-mega__groupe { padding: 12px 12px 3px; font: 700 var(--fs-12)/1.3 var(--font-heading); letter-spacing: .06em; text-transform: uppercase; color: var(--color-text-muted); }

	/* meilleure vente, au bas de la dernière colonne */
	.sk-mega__vente { display: flex; align-items: center; gap: var(--sp-12); margin-top: auto; padding: 10px 12px; border-radius: 12px; text-decoration: none; transition: background-color .15s; }
	.sk-mega__vente:hover { background-color: var(--color-primary-soft); }
	.sk-mega__vente img { flex: none; width: 54px; height: auto; border-radius: 6px; box-shadow: 0 6px 14px rgba(17, 20, 45, .2); }
	.sk-mega__vente em { display: block; margin-bottom: 2px; font: 700 var(--fs-12)/1.3 var(--font-heading); letter-spacing: .06em; text-transform: uppercase; font-style: normal; color: var(--color-accent-text); }
	.sk-mega__vente strong { font-size: var(--fs-14); }
	.sk-mega__vente small { color: var(--color-primary); font-weight: 600; }

	/* bandeau du bas */
	.sk-mega__promo { display: flex; align-items: center; gap: var(--sp-16); margin-top: var(--sp-12); padding: 12px var(--sp-16); border-radius: 14px; background: var(--color-primary-soft); text-decoration: none; }
	.sk-mega__promo .sk-mega__icone { background: var(--color-white); }
	.sk-mega__promo-texte { flex: 1 1 auto; min-width: 0; }
	.sk-mega__promo-texte .woocommerce-Price-amount { font: inherit; color: inherit; }
	.sk-mega__promo-lien { flex: none; font: 700 var(--fs-16)/1 var(--font-heading); color: var(--color-primary); }
	.sk-mega__promo-lien::after { content: "→"; display: inline-block; margin-left: 8px; transition: transform .2s; }
	.sk-mega__promo:hover .sk-mega__promo-lien::after { transform: translateX(3px); }

	/* animation : la carte est découpée, pas déformée, son contenu reste net */
	.sk-mega--entre { animation: sk-mega-entre .7s both, sk-mega-fondu .12s both; }
	.sk-mega--sort { animation: sk-mega-sort .5s both; pointer-events: none; }
	.sk-mega--entre .sk-mega__bloc { animation: sk-mega-monte .45s cubic-bezier(.16, 1, .3, 1) both; animation-delay: calc(140ms + var(--i, 0) * 55ms); }
	.sk-mega--sort .sk-mega__bloc { animation: sk-mega-descend .22s cubic-bezier(.5, 0, .75, 0) both; animation-delay: calc((var(--n, 1) - 1 - var(--i, 0)) * 35ms); }
}

@keyframes sk-mega-entre {
	0% { clip-path: inset(var(--sk-h) var(--sk-d) var(--sk-b) var(--sk-g) round var(--sk-r0)); transform: translateY(calc(-1 * var(--sk-dy))); animation-timing-function: cubic-bezier(.32, .72, 0, 1); }
	78% { clip-path: inset(0 0 0 0 round var(--sk-r1)); transform: none; animation-timing-function: linear; }
	100% { clip-path: inset(-60px -60px -100px -60px round var(--sk-r1)); transform: none; }
}
@keyframes sk-mega-fondu { 0% { opacity: 0; } }
@keyframes sk-mega-sort {
	0% { clip-path: inset(-60px -60px -100px -60px round var(--sk-r1)); transform: none; opacity: 1; animation-timing-function: linear; }
	18% { clip-path: inset(0 0 0 0 round var(--sk-r1)); transform: none; opacity: 1; animation-timing-function: cubic-bezier(.64, 0, .78, 0); }
	78% { opacity: 1; }
	100% { clip-path: inset(var(--sk-h) var(--sk-d) var(--sk-b) var(--sk-g) round var(--sk-r0)); transform: translateY(calc(-1 * var(--sk-dy))); opacity: 0; }
}
@keyframes sk-mega-monte { 0% { opacity: 0; transform: translateY(10px); } }
@keyframes sk-mega-descend { 100% { opacity: 0; transform: translateY(10px); } }

@media (prefers-reduced-motion: reduce) {
	.sk-mega--entre, .sk-mega--sort, .sk-mega--entre .sk-mega__bloc, .sk-mega--sort .sk-mega__bloc { animation: none; }
}
