/* Black Friday 2026 (black-friday.php, une-fois-black-friday.php) — 12/11/2026.
   L'étape de l'opération est sur la balise body : dp-bf-annonce (du 23 au 26/11), dp-bf-en-cours (du 27 au 29/11), dp-bf-fini. */

/* Bandeau d'annonce en haut des pages */
.dp-bf-bandeau { display: block; padding: 9px 16px; background: #111111; color: #FFFFFF !important; text-align: center; text-decoration: none !important;
	font: 500 14px/1.35 "Rubik", system-ui, sans-serif; }
.dp-bf-bandeau strong { color: #FFD23F; font-weight: 700; }
.dp-bf-bandeau:hover span, .dp-bf-bandeau:focus-visible span { margin-left: 4px; }
@media (max-width: 767px) { .dp-bf-bandeau { font-size: 13px; padding: 8px 12px; } }

/* Entrée « Black Friday » du menu : pastille noire, comme la pastille rose de Noël */
.e-n-menu-title:has(> a[href$="/black-friday/"]) a { padding: 6px 16px !important; border-radius: 999px; background: #111111; }
.e-n-menu-title:has(> a[href$="/black-friday/"]) .e-n-menu-title-text { color: #FFD23F !important; }

/* Ce qui ne s'affiche qu'à une étape */
.dp-bf-si-annonce, .dp-bf-si-en-cours, .dp-bf-si-fini { display: none !important; }
body.dp-bf-avant .dp-bf-si-annonce, body.dp-bf-annonce .dp-bf-si-annonce { display: block !important; }
body.dp-bf-en-cours .dp-bf-si-en-cours { display: block !important; }
body.dp-bf-fini .dp-bf-si-fini { display: block !important; }
body:not(.dp-bf-en-cours) .e-con.dp-bf-offres, body:not(.dp-bf-en-cours) .e-con.dp-bf-jouets { display: none !important; }

/* Haut de la page */
.e-con.dp-bf-hero { background: #111111; color: #FFFFFF; padding: 40px max(16px, env(safe-area-inset-left, 0px)) 36px !important; }
.dp-bf-hero-in { max-width: 1100px; margin: 0 auto; display: grid; gap: 14px; text-align: center; justify-items: center; }
.dp-bf-kicker { margin: 0; color: #FFD23F; font: 600 14px/1.2 "Rubik", system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.dp-bf-hero h1 { margin: 0; color: #FFFFFF; font: 800 clamp(40px, 7vw, 76px)/1 "Rubik", system-ui, sans-serif; letter-spacing: -.01em; text-wrap: balance; }
.dp-bf-hero h1 span { color: #FFD23F; }
.dp-bf-accroche { margin: 0; font: 600 clamp(18px, 2.6vw, 26px)/1.3 "Rubik", system-ui, sans-serif; text-wrap: balance; }
.dp-bf-texte { margin: 0; max-width: 62ch; color: #D9D9D9; font-size: 16px; line-height: 1.5; }
.dp-bf-pastilles { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 6px 0 0; padding: 0; list-style: none; }
.dp-bf-pastilles li { padding: 8px 14px; border-radius: 999px; background: #262626; font-size: 14px; }
.dp-bf-pastilles li strong { color: #FFD23F; }
.dp-bf-compte { display: flex; gap: 10px; justify-content: center; margin-top: 4px; font-variant-numeric: tabular-nums; }
.dp-bf-compte span { min-width: 64px; padding: 8px 6px; border-radius: 10px; background: #262626; font: 700 26px/1 "Rubik", system-ui, sans-serif; }
.dp-bf-compte small { display: block; margin-top: 4px; color: #BDBDBD; font: 400 11px/1 "Rubik", system-ui, sans-serif; text-transform: uppercase; letter-spacing: .08em; }

/* Sections de produits (même carte que la page Noël) */
.e-con.dp-bf-rayon { padding: 28px max(16px, env(safe-area-inset-left, 0px)) 8px !important; }
.e-con.dp-bf-entete { gap: 12px; margin-bottom: 14px; flex-wrap: wrap; align-items: center; }
.dp-bf-voir { flex-shrink: 0; }   /* sur téléphone, le bouton passe sous le titre au lieu de déborder */
.e-con.dp-bf-rayon .swiper-pagination { max-width: 100%; }   /* 24 jouets = 23 points : sans cette limite, ils dépassent de l'écran du téléphone */
.e-con.dp-bf-entete .elementor-heading-title { font: 700 clamp(20px, 2.4vw, 28px)/1.2 "Rubik", system-ui, sans-serif; color: #111111; }
.dp-bf-voir .elementor-button { border-radius: 999px; background: #111111 !important; color: #FFD23F !important; font-weight: 600; white-space: nowrap; }

/* Bas de page */
.e-con.dp-bf-bas { padding: 24px max(16px, env(safe-area-inset-left, 0px)) 40px !important; }
.dp-bf-infos { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; padding: 0; list-style: none; }
.dp-bf-infos li { padding: 16px; border-radius: 12px; background: #F4F6F9; color: #0B1D51; line-height: 1.45; }
.dp-bf-infos li strong { display: block; margin-bottom: 4px; }
.dp-bf-mentions { max-width: 1100px; margin: 16px auto 0; color: #52657A; font-size: 13px; line-height: 1.5; }
