/* Thèmes des fêtes & campagnes de l'année au Cameroun — voir App\Libraries\SeasonalTheme */

/* Bandeau Supérieur */
.vs-fete-bar { position: relative; z-index: 1031; color: #fff; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; }
.vs-fete-bar[hidden] { display: none !important; }

/* 1. Nouvel An */
.vs-fete-bar.is-nouvel-an { background: radial-gradient(rgba(245, 176, 65, .28) 1.2px, transparent 1.3px) 0 0 / 20px 20px, linear-gradient(90deg, #0a1128, #1c2541 55%, #3a506b); }
.is-nouvel-an .vs-fete-ico { color: #f5b041; }
.is-nouvel-an .vs-fete-code { border-color: #f5b041; color: #f7c873; }
.is-nouvel-an .vs-fete-link { background: #f5b041; color: #0a1128; }

/* 2. Jeunesse (11 Février) */
.vs-fete-bar.is-jeunesse { background: radial-gradient(rgba(252, 209, 22, .25) 1.2px, transparent 1.3px) 0 0 / 18px 18px, linear-gradient(90deg, #02381c, #056835 48%, #0d9488); }
.is-jeunesse .vs-fete-ico { color: #fcd116; }
.is-jeunesse .vs-fete-code { border-color: #fcd116; color: #fcd116; }
.is-jeunesse .vs-fete-link { background: #fcd116; color: #02381c; }

/* 3. Femme (8 Mars) */
.vs-fete-bar.is-femme { background: radial-gradient(rgba(251, 191, 36, .25) 1.2px, transparent 1.3px) 0 0 / 18px 18px, linear-gradient(90deg, #3b0764, #701a75 50%, #be185d); }
.is-femme .vs-fete-ico { color: #fbbf24; }
.is-femme .vs-fete-code { border-color: #fbbf24; color: #fbbf24; }
.is-femme .vs-fete-link { background: #fbbf24; color: #4a044e; }

/* 4. Fête du Travail (1er Mai) */
.vs-fete-bar.is-travail { background: radial-gradient(rgba(56, 189, 248, .25) 1.2px, transparent 1.3px) 0 0 / 20px 20px, linear-gradient(90deg, #0f172a, #1e293b 50%, #0369a1); }
.is-travail .vs-fete-ico { color: #38bdf8; }
.is-travail .vs-fete-code { border-color: #38bdf8; color: #38bdf8; }
.is-travail .vs-fete-link { background: #38bdf8; color: #0f172a; }

/* 5. Fête Nationale (20 Mai) */
.vs-fete-bar.is-20mai { background: radial-gradient(rgba(252, 209, 22, .28) 1.2px, transparent 1.3px) 0 0 / 18px 18px, linear-gradient(90deg, #043d22, #7f1d1d 50%, #854d0e); }
.is-20mai .vs-fete-ico { color: #fcd116; }
.is-20mai .vs-fete-code { border-color: #fcd116; color: #fcd116; }
.is-20mai .vs-fete-link { background: #fcd116; color: #02381c; }

/* 6. Grande Rentrée Scolaire */
.vs-fete-bar.is-rentree { background: radial-gradient(rgba(234, 88, 12, .25) 1.2px, transparent 1.3px) 0 0 / 18px 18px, linear-gradient(90deg, #091e42, #1e3a8a 50%, #ea580c); }
.is-rentree .vs-fete-ico { color: #ea580c; }
.is-rentree .vs-fete-code { border-color: #38bdf8; color: #fed7aa; }
.is-rentree .vs-fete-link { background: #ea580c; color: #ffffff; }

/* 7. Black Friday */
.vs-fete-bar.is-blackfriday { background: radial-gradient(rgba(245, 158, 11, .25) 1.2px, transparent 1.3px) 0 0 / 20px 20px, linear-gradient(90deg, #000000, #18181b 50%, #b45309); border-bottom: 1px solid rgba(245, 158, 11, 0.4); }
.is-blackfriday .vs-fete-ico { color: #f59e0b; }
.is-blackfriday .vs-fete-code { border-color: #f59e0b; color: #f59e0b; }
.is-blackfriday .vs-fete-link { background: #f59e0b; color: #000000; }

/* 8. Noël & Fêtes */
.vs-fete-bar.is-noel { background: radial-gradient(rgba(255, 255, 255, .18) 1.2px, transparent 1.3px) 0 0 / 18px 18px, linear-gradient(90deg, #8e1b14, #b3261e 45%, #1e6b3f); }
.is-noel .vs-fete-ico { color: #c9f2d6; }
.is-noel .vs-fete-code { border-color: #fcd116; color: #ffffff; }
.is-noel .vs-fete-link { background: #ffffff; color: #8e1b14; }

/* Éléments internes du bandeau */
.vs-fete-inner { display: flex; align-items: center; justify-content: center; gap: 12px 16px; flex-wrap: wrap; padding-top: 9px; padding-bottom: 9px; padding-right: 48px; position: relative; }
.vs-fete-ico { display: inline-flex; width: 30px; height: 30px; flex: 0 0 auto; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255, 255, 255, .16); font-size: 15px; }
.vs-fete-text { margin: 0; font-size: 14.5px; font-weight: 600; line-height: 1.4; text-align: center; min-width: 0; }
.vs-fete-code { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 1.5px dashed rgba(255, 255, 255, .7); border-radius: 8px; font-size: 13px; white-space: nowrap; transition: transform 0.15s ease; }
.vs-fete-code:hover { transform: scale(1.04); }
.vs-fete-code b { letter-spacing: .06em; }
.vs-fete-link { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; transition: filter 0.15s ease, transform 0.15s ease; }
.vs-fete-link:hover, .vs-fete-link:focus-visible { filter: brightness(1.08); transform: translateY(-1px); color: inherit; }
.vs-fete-close { position: absolute; right: max(10px, env(safe-area-inset-right, 0px)); top: 50%; transform: translateY(-50%); width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; font-size: 13px; cursor: pointer; }
.vs-fete-close:hover, .vs-fete-close:focus-visible { background: rgba(255, 255, 255, .28); }

/* Bonnet de Noël sur le logo */
.navbar-brand { position: relative; }
.vs-hat { position: absolute; z-index: 2; left: 23px; top: calc(50% - 21px); width: 19px; height: 16px; transform: rotate(-12deg); pointer-events: none; }
.vs-hat svg { width: 100%; height: 100%; display: block; }

/* Accueil : décor de l'illustration */
.vs-fete-garland { position: absolute; z-index: 3; left: 50%; top: 2%; width: min(340px, 82%); height: auto; transform: translateX(-50%); filter: drop-shadow(0 6px 10px rgba(23, 37, 52, .18)); pointer-events: none; }
.vs-fete-year { position: absolute; z-index: 3; left: 4%; top: 3%; display: grid; justify-items: center; padding: 12px 18px 10px; border-radius: 18px; color: #fff; background: linear-gradient(140deg, #1a252f, #2c3e50); box-shadow: 0 16px 40px rgba(23, 37, 52, .28); border: 2px solid #f5b041; transform: rotate(-5deg); }
.vs-fete-year span { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #f7c873; }
.vs-fete-year strong { font-family: 'Poppins', sans-serif; font-size: 34px; line-height: 1.05; font-weight: 800; background: linear-gradient(180deg, #ffe09a, #e6a531); -webkit-background-clip: text; background-clip: text; color: transparent; }
.vs-fete-sparkles { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; pointer-events: none; }

/* Flocons (accueil, Noël) */
.vs-snow { position: absolute; inset: 0; z-index: 2; overflow: hidden; pointer-events: none; }
.vs-snow i { position: absolute; top: -12px; display: block; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px rgba(150, 172, 198, .45), 0 1px 3px rgba(44, 62, 80, .15); animation: vsSnowFall linear infinite; }
.vs-snow i.is-flake { width: auto !important; height: auto !important; background: none; box-shadow: none; color: #b5c9de; font-style: normal; line-height: 1; }
@keyframes vsSnowFall {
    0% { transform: translate3d(0, -10px, 0); }
    50% { transform: translate3d(var(--vs-drift, 20px), 50vh, 0); }
    100% { transform: translate3d(0, 105vh, 0); }
}

/* Confettis (accueil, Nouvel An) */
.vs-confetti { position: fixed; inset: 0; z-index: 2000; pointer-events: none; }

@media (max-width: 575px) {
    .vs-fete-inner { justify-content: flex-start; padding-right: 44px; }
    .vs-fete-ico { display: none; }
    .vs-fete-text { text-align: left; font-size: 13.5px; }
    .vs-fete-year { padding: 9px 14px 8px; }
    .vs-fete-year strong { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) {
    .vs-snow, .vs-confetti { display: none; }
}
