/* ACCUEIL — design validé */
.poster-hero{background:#061127;overflow:hidden;margin:0;padding:0}
.poster-wrap{position:relative;width:min(1024px,100%);margin:0 auto;overflow:hidden}
.poster-wrap>img{display:block;width:100%;height:auto}
.poster-cta{position:absolute;left:30%;top:45.2%;width:40%;height:6.8%;border-radius:999px}

@media not all and (min-width: 901px) {
.moments{padding:76px 0;background:radial-gradient(circle at 8% 30%,rgba(29,67,160,.30),transparent 28%),radial-gradient(circle at 90% 20%,rgba(146,31,117,.24),transparent 28%),#061127}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .moments{padding:76px 0;background:radial-gradient(circle at 8% 30%,rgba(29,67,160,.30),transparent 28%),radial-gradient(circle at 90% 20%,rgba(146,31,117,.24),transparent 28%),#061127}
}
.script-title{margin:0 0 14px;text-align:center;font-family:Georgia,serif;font-style:italic;font-size:46px;line-height:1.08;color:#fff}
.script-title span{color:#ff6d91}.section-lead{text-align:center;color:#d6ddeb;font-size:19px;margin:0 0 38px}
@media not all and (min-width: 901px) {
.occasion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1040px;margin:auto}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .occasion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1040px;margin:auto}
}
@media not all and (min-width: 901px) {
.occasion{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(137,164,210,.35);border-radius:22px;background:linear-gradient(180deg,#102448,#091a36);box-shadow:0 18px 40px rgba(0,0,0,.22);text-decoration:none;color:#fff}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .occasion{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(137,164,210,.35);border-radius:22px;background:linear-gradient(180deg,#102448,#091a36);box-shadow:0 18px 40px rgba(0,0,0,.22);text-decoration:none;color:#fff}
}
@media not all and (min-width: 901px) {
.occasion-media{width:100%;aspect-ratio:4/3;overflow:hidden;background:#09162d}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .occasion-media{width:100%;aspect-ratio:4/3;overflow:hidden;background:#09162d}
}
@media not all and (min-width: 901px) {
.occasion-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .occasion-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
}
@media not all and (min-width: 901px) {
.occasion-copy{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:108px;padding:16px;text-align:center}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .occasion-copy{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:108px;padding:16px;text-align:center}
}
@media not all and (min-width: 901px) {
.occasion-copy b{font-size:17px}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .occasion-copy b{font-size:17px}
}@media not all and (min-width: 901px) {
.occasion-copy small{margin-top:8px;color:#dbe3f2;font-size:13px;line-height:1.4}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .occasion-copy small{margin-top:8px;color:#dbe3f2;font-size:13px;line-height:1.4}
}

.prices{padding:84px 0 92px;background:radial-gradient(circle at 50% 0,rgba(117,36,122,.22),transparent 32%),#07142c}
.prices .eyebrow{text-align:center;color:#ff8a9d;letter-spacing:.16em;font-size:13px;font-weight:800;margin:0 0 12px}
.prices .script-title{font-size:44px;margin-bottom:42px}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1040px;margin:0 auto 28px}
.price-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:34px 24px 28px;text-align:center;border:1px solid rgba(148,171,216,.38);border-radius:26px;background:linear-gradient(160deg,#132a50 0%,#0a1832 72%);box-shadow:0 20px 48px rgba(0,0,0,.28);overflow:visible}
.price-card.featured{border:2px solid #ff6c91;box-shadow:0 20px 55px rgba(255,77,132,.20)}
.price-icon{font-size:34px;line-height:1;margin-bottom:8px}.price-card h3{margin:6px 0 8px;font-size:27px;color:#fff}.price{font-size:58px;line-height:1;font-weight:900;background:linear-gradient(90deg,#ff5d94,#ffa066);-webkit-background-clip:text;background-clip:text;color:transparent;margin:10px 0 18px}.price sup{font-size:24px}.price-card p{margin:0 0 18px;color:#dbe3f1;font-size:16px;line-height:1.45}.delivery{margin-top:auto;margin-bottom:18px;font-size:14px;font-weight:800;color:#fff}.price-btn{display:flex;width:100%;min-height:52px;align-items:center;justify-content:center;padding:13px 15px;border-radius:999px;background:linear-gradient(90deg,#ff347f,#ff965f);box-shadow:0 8px 24px rgba(255,66,127,.25);color:#fff;text-decoration:none;font-size:13px;font-weight:900;letter-spacing:.03em}.badge{position:absolute;top:-15px;left:50%;transform:translateX(-50%);padding:8px 16px;border-radius:99px;background:linear-gradient(90deg,#ff347f,#ff925d);box-shadow:0 8px 22px rgba(255,60,120,.30);font-size:11px;font-weight:900;white-space:nowrap;color:#fff}
.express{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:20px 24px;border:1px solid rgba(255,137,97,.45);border-radius:22px;background:linear-gradient(90deg,rgba(255,63,126,.11),rgba(255,150,95,.08))}.express>span{font-size:34px}.express strong,.express small{display:block}.express strong{font-size:18px;color:#fff}.express small{margin-top:3px;color:#d7dfed;font-size:13px}.express>b{font-size:26px;color:#ff9a74;white-space:nowrap}

@media not all and (min-width: 901px) {
.testimonial{padding:64px 20px;text-align:center;background:radial-gradient(circle,#17295c,#061127 68%)}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .testimonial{padding:64px 20px;text-align:center;background:radial-gradient(circle,#17295c,#061127 68%)}
}blockquote{max-width:760px;margin:0 auto 18px;font-size:20px;line-height:1.6}.stars{margin-top:8px;color:#ffc13b;font-size:25px;letter-spacing:3px}@media not all and (min-width: 901px) {
.final-cta{padding:90px 0;text-align:center;background:#061127}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .final-cta{padding:90px 0;text-align:center;background:#061127}
}@media not all and (min-width: 901px) {
.final-cta p{font-size:19px;color:#e3e9f4}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .final-cta p{font-size:19px;color:#e3e9f4}
}@media not all and (min-width: 901px) {
.final-cta .cta{margin-top:18px;min-width:300px}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .final-cta .cta{margin-top:18px;min-width:300px}
}

@media(max-width:760px){
  /* Le visuel validé est volontairement agrandi sur téléphone pour rendre ses textes lisibles. */
  .poster-wrap{width:100%;height:auto}
  .poster-wrap>img{width:100%;max-width:100%;margin-left:0}
  .poster-cta{left:23.5%;top:45.2%;width:53%;height:6.8%}
  .moments{padding:54px 0}.script-title{font-size:36px}.section-lead{font-size:17px;margin-bottom:30px}
  .occasion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .occasion{display:flex;flex-direction:column;min-height:0;border-radius:18px}
  .occasion-media{width:100%;height:auto;aspect-ratio:16/9;min-height:0}
  .occasion-media img{width:100%;height:100%;object-fit:cover;object-position:center}
  .occasion-copy{min-height:92px;padding:13px 10px;align-items:center;text-align:center}
  .occasion-copy b{font-size:14px}.occasion-copy small{font-size:11px;line-height:1.35}
  .prices{padding:64px 0 72px}.prices .eyebrow{font-size:11px}.prices .script-title{font-size:35px;margin-bottom:30px}
  .price-grid{grid-template-columns:1fr;gap:22px;margin-bottom:20px}.price-card{padding:29px 22px 24px;border-radius:24px}.price-card h3{font-size:26px}.price{font-size:56px}.price-card p{font-size:15px;max-width:300px}.delivery{font-size:14px}.price-btn{font-size:14px;min-height:54px}
  .express{grid-template-columns:auto 1fr;padding:18px;border-radius:20px}.express>b{grid-column:2;font-size:25px}.express strong{font-size:17px}.express small{font-size:12px}
}
@media(max-width:420px){.poster-wrap>img{width:100%;margin-left:0}.script-title{font-size:33px}.occasion-copy b{font-size:13px}.occasion-copy small{font-size:10.5px}}

/* Réalisations audio */
.realisations-page{padding:56px 18px;background:linear-gradient(180deg,#071329,#0b1834)}
@media not all and (min-width: 901px) {
.home-realisations-link{padding:56px 18px;background:linear-gradient(180deg,#071329,#0b1834)}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .home-realisations-link{padding:56px 18px;background:linear-gradient(180deg,#071329,#0b1834)}
}
@media not all and (min-width: 901px) {
.realisations-teaser{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:rgba(255,255,255,.045);box-shadow:0 18px 50px rgba(0,0,0,.2)}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .realisations-teaser{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:rgba(255,255,255,.045);box-shadow:0 18px 50px rgba(0,0,0,.2)}
}
@media not all and (min-width: 901px) {
.realisations-teaser .script-title{margin:5px 0 8px}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .realisations-teaser .script-title{margin:5px 0 8px}
}@media not all and (min-width: 901px) {
.realisations-teaser p{margin:0;color:#d8deee}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .realisations-teaser p{margin:0;color:#d8deee}
}@media not all and (min-width: 901px) {
.teaser-note{font-size:34px;color:#ff759d}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .teaser-note{font-size:34px;color:#ff759d}
}
@media not all and (min-width: 901px) {
.teaser-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;background:linear-gradient(90deg,#ff557f,#ff8b55);color:white;font-weight:800;text-decoration:none;white-space:nowrap;box-shadow:0 10px 28px rgba(255,85,127,.24)}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .teaser-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;background:linear-gradient(90deg,#ff557f,#ff8b55);color:white;font-weight:800;text-decoration:none;white-space:nowrap;box-shadow:0 10px 28px rgba(255,85,127,.24)}
}
.realisations-page{min-height:70vh;padding-top:64px}.realisations-page .script-title{text-align:center;margin:8px 0 10px}.realisations-page>.home-shell>.eyebrow{text-align:center}.realisations-intro{max-width:700px;margin:0 auto 34px;text-align:center;color:#d8deee;line-height:1.65}
.audio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.audio-card{position:relative;padding:22px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.035));box-shadow:0 14px 36px rgba(0,0,0,.18)}
.audio-note{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;margin-bottom:15px;background:linear-gradient(135deg,#ff557f,#ff9a57);font-size:23px}.audio-copy small{color:#ffb0c5;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.audio-copy h2{font-size:19px;margin:5px 0 16px;color:white}.audio-card audio{display:block;width:100%;height:42px}.realisations-cta{text-align:center;margin-top:38px}.realisations-cta p{color:#d8deee;margin-bottom:18px}
@media(max-width:800px){.realisations-teaser{flex-direction:column;text-align:center;padding:24px 18px}.teaser-btn{width:100%;white-space:normal}.audio-grid{grid-template-columns:1fr}.realisations-page{padding:42px 14px}.audio-card{padding:18px}}

/* Player audio personnalisé */
.custom-player{display:grid;grid-template-columns:48px 1fr;grid-template-areas:"play time" "play progress";gap:5px 12px;align-items:center;margin-top:16px;padding:12px 14px;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(3,12,30,.56);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.player-play{grid-area:play;width:48px;height:48px;border:0;border-radius:50%;background:linear-gradient(135deg,#ff3f80,#ff995d);color:#fff;font-size:18px;cursor:pointer;box-shadow:0 7px 20px rgba(255,72,125,.28)}
.player-time{grid-area:time;display:flex;justify-content:space-between;color:#bfc9df;font-size:12px;font-variant-numeric:tabular-nums}
.player-progress{grid-area:progress;width:100%;height:6px;appearance:none;-webkit-appearance:none;border-radius:99px;background:linear-gradient(90deg,#ff5c8a var(--progress,0%),rgba(255,255,255,.14) var(--progress,0%));cursor:pointer;outline:none}
.player-progress::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,91,139,.18)}
.player-progress::-moz-range-thumb{width:15px;height:15px;border:0;border-radius:50%;background:#fff}
.audio-card.is-playing{border-color:rgba(255,99,145,.55);box-shadow:0 16px 42px rgba(255,62,128,.12)}
.realisations-cta .cta{display:inline-flex;align-items:center;justify-content:center;min-width:300px;min-height:58px;padding:0 28px;border-radius:999px;background:linear-gradient(90deg,#ff347f,#ff965f);color:#fff;text-decoration:none;font-weight:900;box-shadow:0 10px 30px rgba(255,66,127,.28)}

/* Zone cliquable sur le hamburger déjà dessiné dans le poster d'accueil. */
.poster-wrap{position:relative}
.poster-menu-toggle{right:1.7%;top:.65%;width:8.5%;height:6.8%}
.poster-nav{top:7.4%;right:2%;}
@media(max-width:760px){.poster-menu-toggle{right:6.5%;top:.4%;width:16%;height:8%;min-width:52px;min-height:52px;touch-action:manipulation}.poster-nav{top:7.2%;right:10px}}

/* Styles musicaux — badges des réalisations */
.track-style{margin:0 0 10px;color:#dbe3f1;font-size:14px;font-weight:650}
.style-badges{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 4px}
.style-badges span{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border:1px solid rgba(255,116,151,.34);border-radius:999px;background:linear-gradient(90deg,rgba(255,67,126,.14),rgba(255,151,94,.10));color:#ffd3df;font-size:10px;font-weight:900;letter-spacing:.07em}

/* Avis clients vérifiés */
@media not all and (min-width: 901px) {
.testimonial .script-title{margin-top:8px}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .testimonial .script-title{margin-top:8px}
}@media not all and (min-width: 901px) {
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1050px;margin:28px auto 22px}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1050px;margin:28px auto 22px}
}.review-card{padding:22px;border:1px solid rgba(159,181,222,.2);border-radius:20px;background:linear-gradient(145deg,rgba(17,40,78,.82),rgba(6,17,39,.92));text-align:left}.review-card blockquote{font-size:16px;line-height:1.55;margin:12px 0 15px}.review-card strong,.review-card small{display:block}.review-card small{margin-top:5px;color:#9eabc5}.review-link{display:inline-block;margin-top:10px;color:#ff91ad;font-weight:800}.reviews-empty{max-width:650px;margin:24px auto;padding:20px;border:1px solid rgba(159,181,222,.18);border-radius:18px;color:#b9c5da;background:rgba(255,255,255,.035)}
/* Avis en une colonne sur mobile. */
@media(max-width:760px){.reviews-grid{grid-template-columns:1fr}}

/* Final CTA: fond Navy uni, sans image */
@media not all and (min-width: 901px) {
.final-cta{background:#061127!important;background-image:none!important;}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .final-cta{background:#061127!important;background-image:none!important;}
}
@media not all and (min-width: 901px) {
.final-cta .cta{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .final-cta .cta{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
}

/* Bouton principal visible du bloc final */
@media not all and (min-width: 901px) {
.final-cta .cta{
  display:inline-flex!important;
  width:auto!important;
  min-width:300px;
  min-height:58px;
  padding:16px 30px!important;
  border-radius:999px;
  background:linear-gradient(90deg,#ff347f,#ff965f)!important;
  color:#fff!important;
  font-weight:900;
  text-decoration:none;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 30px rgba(255,66,127,.28);
}
}
@media (min-width: 901px) {
:where(body:not(:has(#occasions.moments))) .final-cta .cta{
  display:inline-flex!important;
  width:auto!important;
  min-width:300px;
  min-height:58px;
  padding:16px 30px!important;
  border-radius:999px;
  background:linear-gradient(90deg,#ff347f,#ff965f)!important;
  color:#fff!important;
  font-weight:900;
  text-decoration:none;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 30px rgba(255,66,127,.28);
}
}
@media(max-width:700px){
  .final-cta .cta{width:min(100%,500px)!important;}
}

/* Illustrations des réalisations */
.track-cover{height:170px;margin:-18px -18px 18px;border-radius:18px 18px 12px 12px;overflow:hidden;position:relative;background:#0a1935}
.track-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(6,17,39,.78))}
.track-cover img{width:100%;height:100%;object-fit:cover;display:block}
@media(min-width:801px){.track-cover{margin:-22px -22px 18px;height:180px}}

/* Player signature Crée Ma Chanson */
.audio-card{overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.audio-card:hover{transform:translateY(-3px)}
.audio-card.is-featured{border-color:rgba(255,122,165,.42)}.signature-badge{position:absolute;z-index:3;top:14px;right:14px;padding:7px 10px;border-radius:999px;background:rgba(6,17,39,.82);backdrop-filter:blur(8px);border:1px solid rgba(255,174,198,.45);font-size:9px;font-weight:900;letter-spacing:.09em;color:#ffd2df}
.custom-player{position:relative;grid-template-columns:52px 1fr 34px;grid-template-areas:"play time volume" "play wave volume" "play progress volume";padding:14px 15px;background:linear-gradient(145deg,rgba(4,13,34,.92),rgba(16,31,67,.76));border-color:rgba(153,178,226,.2);overflow:hidden}
.custom-player:before{content:"";position:absolute;inset:auto -30% -70% -30%;height:110px;background:radial-gradient(circle,rgba(255,67,126,.18),transparent 66%);pointer-events:none}.player-play{width:52px;height:52px;position:relative;z-index:1}.player-time{position:relative;z-index:1}.player-wave{grid-area:wave;height:24px;display:flex;align-items:center;gap:3px;overflow:hidden;position:relative;z-index:1}.player-wave i{display:block;width:3px;flex:1;max-width:5px;border-radius:99px;background:linear-gradient(to top,#ff4b87,#ff9a66);opacity:.26}.player-wave i:nth-child(3n){height:85%}.player-wave i:nth-child(3n+1){height:42%}.player-wave i:nth-child(3n+2){height:66%}.is-playing .player-wave i{animation:cmcWave .85s ease-in-out infinite alternate}.is-playing .player-wave i:nth-child(2n){animation-delay:-.3s}.is-playing .player-wave i:nth-child(3n){animation-delay:-.55s}@keyframes cmcWave{from{transform:scaleY(.45);opacity:.38}to{transform:scaleY(1);opacity:1}}
.player-progress{position:relative;z-index:2}.player-volume{grid-area:volume;align-self:center;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.07);color:#fff;cursor:pointer;position:relative;z-index:2}.audio-card.is-playing .track-cover img{transform:scale(1.035)}.track-cover img{transition:transform 4s ease}.audio-card.is-playing .audio-note{box-shadow:0 0 0 7px rgba(255,84,134,.10),0 0 30px rgba(255,84,134,.35)}
@media(max-width:420px){.custom-player{grid-template-columns:48px 1fr 32px;padding:12px}.player-play{width:48px;height:48px}.player-wave{height:20px}}

/* Playlist signature - un lecteur unique */
.playlist-page .home-shell{max-width:760px}.playlist-hero{position:relative;margin-top:24px;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.03));box-shadow:0 20px 55px rgba(0,0,0,.24);overflow:hidden}.playlist-hero.is-featured{border-color:rgba(255,122,165,.45)}.playlist-cover.track-cover{height:285px;min-height:0;margin:-18px -18px 18px;border-radius:25px 25px 15px 15px;overflow:hidden;position:relative;background:#08152e}.playlist-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .2s ease,transform 4s ease}.playlist-hero.is-playing .playlist-cover img{transform:scale(1.035)}.playlist-main{position:relative;min-width:0}.playlist-main>small{display:block;color:#ff9dbb;text-transform:uppercase;letter-spacing:.09em;font-weight:850;margin-bottom:4px}.playlist-main h2{margin:0 0 5px;color:#fff;font-size:clamp(27px,5vw,36px)}.playlist-main .track-style{margin:0 0 10px}.playlist-featured{top:14px;right:14px}.playlist-player{display:grid;grid-template-columns:54px 1fr 72px 36px;grid-template-areas:"play time actions volume" "play wave actions volume" "play progress actions volume";gap:5px 10px;margin-top:18px;padding:14px 15px}.playlist-player .player-play{grid-area:play}.playlist-actions{grid-area:actions;display:flex;gap:7px;align-self:center;justify-content:center}.playlist-skip{width:32px;height:32px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(255,255,255,.07);color:#fff;font-size:24px;line-height:1;display:grid;place-items:center;cursor:pointer}.playlist-skip:hover{background:rgba(255,255,255,.14)}.playlist-list{margin-top:22px;border:1px solid rgba(255,255,255,.10);border-radius:20px;overflow:hidden;background:rgba(3,12,30,.34)}.playlist-list:before{content:"Liste des créations";display:block;padding:16px 16px 11px;color:#fff;font-size:20px;font-weight:800}.playlist-row{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto 34px;gap:10px;align-items:center;padding:12px 14px;border:0;border-top:1px solid rgba(255,255,255,.075);background:transparent;color:#fff;text-align:left;cursor:pointer;transition:.18s ease}.playlist-row:hover{background:rgba(255,255,255,.045)}.playlist-row.is-active{background:linear-gradient(90deg,rgba(255,63,127,.12),rgba(255,125,87,.035));box-shadow:inset 3px 0 #ff5b8e}.playlist-number{color:#8490aa;font-size:13px;font-variant-numeric:tabular-nums}.playlist-row.is-active .playlist-number,.playlist-row.is-active .playlist-row-copy strong{color:#ff7ba5}.playlist-row-copy{min-width:0}.playlist-row-copy strong,.playlist-row-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-row-copy strong{font-size:15px}.playlist-row-copy small{margin-top:3px;color:#9faac2;font-size:11px}.playlist-star{color:#ffc2d5}.playlist-row-play{display:grid;place-items:center;width:29px;height:29px;border:1px solid rgba(210,220,242,.55);border-radius:50%;color:#fff;font-size:10px}.playlist-row.is-active .playlist-row-play{border-color:#ff6b9a;color:#ff86aa}.realisations-cta{margin-top:28px}@media(max-width:700px){.playlist-page .home-shell{max-width:none}.playlist-hero{padding:14px;border-radius:22px}.playlist-cover.track-cover{height:220px;margin:-14px -14px 15px;border-radius:21px 21px 13px 13px}.playlist-main h2{font-size:26px}.playlist-player{grid-template-columns:48px minmax(0,1fr) 62px 32px;padding:12px 10px;gap:4px 7px}.playlist-player .player-play{width:48px;height:48px}.playlist-actions{gap:4px}.playlist-skip{width:28px;height:28px;font-size:21px}.playlist-list:before{font-size:18px}.playlist-row{grid-template-columns:30px minmax(0,1fr) auto 30px;padding:11px 10px;gap:7px}.playlist-row-copy strong{font-size:14px}.playlist-row-copy small{font-size:10px}.playlist-row-play{width:27px;height:27px}}

/* 2026-09-09 — player final validé : plus aéré, étoile après lecture */
.playlist-player{grid-template-columns:64px minmax(0,1fr) 78px 40px;gap:8px 16px;padding:18px 18px;min-height:118px}
.playlist-player .player-play{width:64px;height:64px}
.playlist-actions{gap:10px}.playlist-skip{width:36px;height:36px}
.playlist-row{grid-template-columns:42px minmax(0,1fr) 36px 28px;gap:12px;padding:14px 16px}
.playlist-row-play{grid-column:3}.playlist-star{grid-column:4;text-align:center;font-size:18px}.playlist-row-copy{grid-column:2}.playlist-number{grid-column:1}
@media(max-width:700px){
 .playlist-player{grid-template-columns:56px minmax(0,1fr) 74px 36px;gap:7px 10px;padding:16px 12px;min-height:106px}
 .playlist-player .player-play{width:56px;height:56px}
 .playlist-actions{gap:7px}.playlist-skip{width:32px;height:32px}
 .playlist-row{grid-template-columns:34px minmax(0,1fr) 32px 24px;gap:8px;padding:13px 11px}
 .playlist-star{font-size:17px}
}


/* 2026-09-09 — rendu playlist validé, commandes aérées */
.playlist-player{
 display:grid!important;
 grid-template-columns:46px 70px 38px minmax(150px,1fr) 46px 40px!important;
 grid-template-areas:
   "prev play fav time next volume"
   "prev play fav wave next volume"
   ". progress progress progress . ."!important;
 column-gap:12px!important;row-gap:7px!important;
 align-items:center!important;padding:20px 18px!important;min-height:132px!important
}
.playlist-prev{grid-area:prev}.playlist-player .player-play{grid-area:play;width:70px!important;height:70px!important}.player-favorite{grid-area:fav;color:#ff86aa;font-size:36px;line-height:1;text-align:center}.playlist-player .player-time{grid-area:time}.playlist-player .player-wave{grid-area:wave}.playlist-player .player-progress{grid-area:progress}.playlist-next{grid-area:next}.playlist-player .player-volume{grid-area:volume}.playlist-skip{width:42px!important;height:42px!important;font-size:27px!important}
.playlist-row{grid-template-columns:42px minmax(0,1fr) 38px 30px!important;gap:12px!important;padding:14px 16px!important;min-height:72px}.playlist-row-play{grid-column:3!important;grid-row:1!important}.playlist-star{grid-column:4!important;grid-row:1!important;text-align:center;font-size:20px}.playlist-row-copy{grid-column:2!important}.playlist-number{grid-column:1!important}
@media(max-width:700px){
 .playlist-player{grid-template-columns:34px 64px 30px minmax(90px,1fr) 34px 34px!important;column-gap:7px!important;padding:18px 10px!important;min-height:124px!important}
 .playlist-player .player-play{width:64px!important;height:64px!important}.player-favorite{font-size:30px}.playlist-skip{width:34px!important;height:34px!important;font-size:23px!important}.playlist-player .player-volume{width:34px;height:34px}.playlist-row{grid-template-columns:34px minmax(0,1fr) 34px 26px!important;gap:8px!important;padding:13px 11px!important;min-height:68px}
}
@media(max-width:390px){
 .playlist-player{grid-template-columns:30px 58px 26px minmax(76px,1fr) 30px 32px!important;column-gap:5px!important;padding:16px 8px!important}.playlist-player .player-play{width:58px!important;height:58px!important}.player-favorite{font-size:26px}.playlist-skip{width:30px!important;height:30px!important;font-size:21px!important}
}

/* 2026-09-09 — correction finale mobile du lecteur uniquement.
   La playlist validée reste inchangée. */
@media (max-width:700px){
  .playlist-player{
    display:grid!important;
    grid-template-columns:34px 64px 30px minmax(0,1fr) 34px!important;
    grid-template-areas:
      "prev play fav time next"
      "prev play fav wave next"
      ". progress progress progress volume"!important;
    column-gap:8px!important;
    row-gap:8px!important;
    align-items:center!important;
    padding:18px 12px 16px!important;
    min-height:136px!important;
    overflow:hidden!important;
  }
  .playlist-player .playlist-prev{grid-area:prev!important}
  .playlist-player .player-play{grid-area:play!important;width:64px!important;height:64px!important}
  .playlist-player .player-favorite{grid-area:fav!important;font-size:30px!important;justify-self:center!important}
  .playlist-player .player-time{grid-area:time!important;width:100%!important;min-width:0!important;padding:0 2px!important}
  .playlist-player .player-wave{grid-area:wave!important;width:100%!important;min-width:0!important;height:24px!important}
  .playlist-player .player-progress{grid-area:progress!important;width:100%!important;min-width:0!important;margin:0!important}
  .playlist-player .playlist-next{grid-area:next!important}
  .playlist-player .player-volume{grid-area:volume!important;width:34px!important;height:34px!important;justify-self:end!important;margin:0!important}
  .playlist-player .playlist-skip{width:34px!important;height:34px!important;font-size:23px!important}
}
@media (max-width:380px){
  .playlist-player{
    grid-template-columns:30px 58px 26px minmax(0,1fr) 30px!important;
    column-gap:6px!important;
    padding:16px 9px 14px!important;
  }
  .playlist-player .player-play{width:58px!important;height:58px!important}
  .playlist-player .player-favorite{font-size:27px!important}
  .playlist-player .playlist-skip{width:30px!important;height:30px!important;font-size:21px!important}
  .playlist-player .player-volume{width:32px!important;height:32px!important}
}

/* 2026-09-09 — lecteur conforme à la maquette définitive.
   Playlist inchangée : photo uniquement dans le lecteur, aucune flèche ni étoile dans les commandes. */
.playlist-player{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr) 190px!important;
  grid-template-areas:
    "play time volume"
    "play wave volume"
    "progress progress volume"!important;
  gap:8px 18px!important;
  align-items:center!important;
  min-height:160px!important;
  padding:24px 22px!important;
  overflow:hidden!important;
}
.playlist-player .player-play{grid-area:play!important;width:92px!important;height:92px!important;font-size:30px!important;justify-self:center!important}
.playlist-player .player-time{grid-area:time!important;width:100%!important;display:flex!important;justify-content:space-between!important;padding:0 4px!important}
.playlist-player .player-wave{grid-area:wave!important;width:100%!important;min-width:0!important;height:42px!important}
.playlist-player .player-progress{grid-area:progress!important;width:100%!important;margin:0!important}
.player-volume-wrap{grid-area:volume;display:flex;align-items:center;gap:10px;min-width:0}
.playlist-player .player-volume{position:static!important;width:48px!important;height:48px!important;flex:0 0 48px!important;font-size:20px!important;background:rgba(255,255,255,.08)!important}
.player-volume-range{width:100%;min-width:70px;accent-color:#ff5b8e;cursor:pointer}
@media(max-width:700px){
 .playlist-player{
   grid-template-columns:92px minmax(0,1fr)!important;
   grid-template-areas:
    "play time"
    "play wave"
    "progress progress"
    "volume volume"!important;
   gap:9px 14px!important;
   min-height:190px!important;
   padding:20px 16px!important;
 }
 .playlist-player .player-play{width:78px!important;height:78px!important;font-size:27px!important}
 .playlist-player .player-wave{height:38px!important}
 .player-volume-wrap{justify-self:end;width:min(210px,58%);gap:8px}
 .playlist-player .player-volume{width:42px!important;height:42px!important;flex-basis:42px!important}
}
@media(max-width:390px){
 .playlist-player{grid-template-columns:82px minmax(0,1fr)!important;padding:18px 12px!important;gap:8px 11px!important}
 .playlist-player .player-play{width:72px!important;height:72px!important}
 .player-volume-wrap{width:62%}
}
/* Definitive player layout: no arrows, no star inside player. */
.playlist-player{display:grid!important;grid-template-columns:112px minmax(0,1fr) 190px!important;grid-template-areas:"play time volume" "play wave volume" "progress progress volume"!important;gap:8px 18px!important;align-items:center!important;min-height:160px!important;padding:24px 22px!important;overflow:hidden!important}
.playlist-player .player-play{grid-area:play!important;width:92px!important;height:92px!important;font-size:30px!important;justify-self:center!important}.playlist-player .player-time{grid-area:time!important;width:100%!important;display:flex!important;justify-content:space-between!important;padding:0 4px!important}.playlist-player .player-wave{grid-area:wave!important;width:100%!important;min-width:0!important;height:42px!important}.playlist-player .player-progress{grid-area:progress!important;width:100%!important;margin:0!important}.player-volume-wrap{grid-area:volume;display:flex;align-items:center;gap:10px;min-width:0}.playlist-player .player-volume{position:static!important;width:48px!important;height:48px!important;flex:0 0 48px!important;font-size:20px!important;background:rgba(255,255,255,.08)!important}.player-volume-range{width:100%;min-width:70px;accent-color:#ff5b8e;cursor:pointer}
@media(max-width:700px){.playlist-player{grid-template-columns:92px minmax(0,1fr)!important;grid-template-areas:"play time" "play wave" "progress progress" "volume volume"!important;gap:9px 14px!important;min-height:190px!important;padding:20px 16px!important}.playlist-player .player-play{width:78px!important;height:78px!important;font-size:27px!important}.playlist-player .player-wave{height:38px!important}.player-volume-wrap{justify-self:end;width:min(210px,58%);gap:8px}.playlist-player .player-volume{width:42px!important;height:42px!important;flex-basis:42px!important}}
@media(max-width:390px){.playlist-player{grid-template-columns:82px minmax(0,1fr)!important;padding:18px 12px!important;gap:8px 11px!important}.playlist-player .player-play{width:72px!important;height:72px!important}.player-volume-wrap{width:62%}}


/* 2026-09-10 — rendu final du lecteur, conforme à la maquette validée */
.playlist-player{display:grid!important;grid-template-columns:110px minmax(0,1fr) 175px!important;grid-template-areas:"play time volume" "play wave volume" "progress progress volume"!important;gap:7px 18px!important;align-items:center!important;min-height:154px!important;padding:22px!important;overflow:hidden!important}
.playlist-player .player-play{grid-area:play!important;width:92px!important;height:92px!important;border:0!important;border-radius:50%!important;background:linear-gradient(135deg,#ff3f7f,#ff9864)!important;color:#fff!important;font-size:31px!important;box-shadow:0 12px 30px rgba(255,65,127,.28)!important;justify-self:center!important}
.playlist-player .player-time{grid-area:time!important;display:flex!important;justify-content:space-between!important;width:100%!important;color:#bdc7db!important;font-variant-numeric:tabular-nums!important}
.playlist-player .player-wave{grid-area:wave!important;width:100%!important;height:44px!important;min-width:0!important}
.playlist-player .player-progress{grid-area:progress!important;width:100%!important;margin:0!important}
.player-volume-wrap{grid-area:volume!important;display:grid!important;grid-template-columns:48px minmax(80px,1fr)!important;align-items:center!important;gap:12px!important;width:100%!important}
.playlist-player .player-volume{width:48px!important;height:48px!important;border-radius:50%!important;background:rgba(255,255,255,.08)!important;font-size:20px!important}
.player-volume-range{width:100%!important;height:6px!important;appearance:none!important;-webkit-appearance:none!important;border-radius:99px!important;background:linear-gradient(90deg,#ff5c8a 0%,#ff8a67 100%)!important;outline:none!important;cursor:pointer!important}
.player-volume-range::-webkit-slider-thumb{-webkit-appearance:none!important;width:18px!important;height:18px!important;border-radius:50%!important;background:#fff!important;box-shadow:0 0 0 4px rgba(255,91,139,.15)!important}
.player-volume-range::-moz-range-thumb{width:18px!important;height:18px!important;border:0!important;border-radius:50%!important;background:#fff!important}
@media(max-width:700px){
 .playlist-player{grid-template-columns:104px minmax(0,1fr) 46px!important;grid-template-areas:"play time volume" "play wave volume" "progress progress progress" "blank volrange volrange"!important;gap:8px 14px!important;min-height:180px!important;padding:20px 16px!important}
 .playlist-player .player-play{width:88px!important;height:88px!important;font-size:29px!important}
 .playlist-player .player-wave{height:40px!important}
 .player-volume-wrap{display:contents!important}
 .playlist-player .player-volume{grid-area:volume!important;width:44px!important;height:44px!important;justify-self:end!important}
 .player-volume-range{grid-area:volrange!important;width:100%!important;justify-self:end!important}
}
@media(max-width:390px){
 .playlist-player{grid-template-columns:92px minmax(0,1fr) 42px!important;gap:7px 10px!important;padding:18px 12px!important}
 .playlist-player .player-play{width:80px!important;height:80px!important}
}


/* Lecteur audio unifié — même identité que Nos réalisations */
.cmc-pro-player{display:grid!important;grid-template-columns:96px minmax(0,1fr) 165px!important;grid-template-areas:"play time volume" "play wave volume" "progress progress volume"!important;gap:7px 16px!important;align-items:center!important;min-height:142px!important;padding:20px!important;margin-top:14px!important;background:linear-gradient(145deg,rgba(4,13,34,.96),rgba(16,31,67,.84))!important;border:1px solid rgba(153,178,226,.2)!important;border-radius:18px!important;overflow:hidden!important}
.cmc-pro-player .player-play{grid-area:play!important;width:78px!important;height:78px!important;border:0!important;border-radius:50%!important;background:linear-gradient(135deg,#ff3f7f,#ff9864)!important;color:#fff!important;font-size:27px!important;box-shadow:0 12px 30px rgba(255,65,127,.25)!important;justify-self:center!important}
.cmc-pro-player .player-time{grid-area:time!important;display:flex!important;justify-content:space-between!important;width:100%!important;color:#bdc7db!important;font-variant-numeric:tabular-nums!important}
.cmc-pro-player .player-wave{grid-area:wave!important;width:100%!important;height:38px!important;min-width:0!important}
.cmc-pro-player .player-progress{grid-area:progress!important;width:100%!important;margin:0!important}
.cmc-pro-player .player-volume-wrap{grid-area:volume!important;display:grid!important;grid-template-columns:44px minmax(70px,1fr)!important;align-items:center!important;gap:10px!important;width:100%!important}
.cmc-pro-player .player-volume{position:static!important;width:44px!important;height:44px!important;border-radius:50%!important;background:rgba(255,255,255,.08)!important;font-size:18px!important}
.cmc-pro-player .player-volume-range{width:100%!important;height:6px!important;appearance:none!important;-webkit-appearance:none!important;border-radius:99px!important;background:linear-gradient(90deg,#ff5c8a,#ff8a67)!important;outline:none!important}
.cmc-pro-player .player-volume-range::-webkit-slider-thumb{-webkit-appearance:none!important;width:17px!important;height:17px!important;border-radius:50%!important;background:#fff!important}
.admin-creation-cover{position:relative;margin:14px 0 4px;border-radius:16px;overflow:hidden;aspect-ratio:16/8;background:#08152f}.admin-creation-cover img{width:100%;height:100%;object-fit:cover;display:block}.admin-creation-cover .signature-badge{position:absolute;right:12px;top:12px}
@media(max-width:700px){.cmc-pro-player{grid-template-columns:88px minmax(0,1fr) 42px!important;grid-template-areas:"play time volume" "play wave volume" "progress progress progress" "blank volrange volrange"!important;gap:8px 12px!important;min-height:170px!important;padding:17px 14px!important}.cmc-pro-player .player-play{width:74px!important;height:74px!important}.cmc-pro-player .player-wave{height:36px!important}.cmc-pro-player .player-volume-wrap{display:contents!important}.cmc-pro-player .player-volume{grid-area:volume!important;justify-self:end!important}.cmc-pro-player .player-volume-range{grid-area:volrange!important}}

/* Transitions de page discrètes et rapides */
.cmc-js main{opacity:0;transform:translateY(18px);transition:opacity .42s ease,transform .42s ease}.cmc-js body.cmc-page-ready main{opacity:1;transform:translateY(0)}.cmc-js body.cmc-page-leaving main{opacity:0;transform:translateY(12px);pointer-events:none}@media(prefers-reduced-motion:reduce){.cmc-js main{transition:none!important;transform:none!important}}

/* 2026-09-10 — animation visuelle fiable des égaliseurs des lecteurs client/admin */
.cmc-pro-player .player-wave i{transform-origin:center;transition:height .11s ease,opacity .11s ease,transform .11s ease;animation:none!important}
.cmc-pro-player:not(.is-playing) .player-wave i{opacity:.28}
.cmc-pro-player.is-playing .player-wave i{opacity:.9}

/* Barre d'actions compacte — Admin > Nos créations */
.admin-selected-actions{margin-top:14px}
.admin-track-actions{padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(5,15,38,.55)}
.admin-track-actions>details{display:inline-block;margin:0 6px 8px 0;vertical-align:top}
.admin-track-actions>details>summary{list-style:none;cursor:pointer}
.admin-track-actions>details>summary::-webkit-details-marker{display:none}
.admin-track-actions>.admin-actions{display:inline-flex!important;flex-wrap:wrap;gap:8px!important;align-items:center!important;margin:0!important;vertical-align:top}
.admin-track-actions>.admin-actions form{margin:0!important;width:auto!important}
.admin-track-actions .btn,.admin-track-actions summary.btn{width:auto!important;min-height:38px!important;padding:8px 13px!important;border-radius:10px!important;font-size:13px!important;font-weight:750!important;line-height:1.15!important;box-shadow:none!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.13)!important;color:#eef3ff!important}
.admin-track-actions .btn:hover,.admin-track-actions summary.btn:hover{background:rgba(255,255,255,.12)!important;border-color:rgba(255,121,165,.35)!important}
.admin-track-actions .btn-danger{background:rgba(210,54,82,.10)!important;border-color:rgba(255,91,118,.28)!important;color:#ff9bae!important}
.admin-track-actions .btn-danger:hover{background:rgba(210,54,82,.20)!important}
.admin-edit-form{margin-top:12px;padding:14px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}
@media(max-width:600px){.admin-track-actions{padding:10px}.admin-track-actions>details{display:block;margin:0 0 8px}.admin-track-actions>details>summary.btn{display:flex!important;width:100%!important;justify-content:center!important}.admin-track-actions>.admin-actions{display:grid!important;grid-template-columns:1fr 1fr;width:100%!important}.admin-track-actions>.admin-actions .btn{width:100%!important;height:100%!important}.admin-track-actions>.admin-actions form:last-child{grid-column:1/-1}}

/* Admin — navigation compacte + page statistiques */
.admin-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 26px}.admin-menu a{min-height:58px;padding:10px 14px;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.045);color:#eef3ff;text-decoration:none;box-shadow:none;transition:.18s ease}.admin-menu a:hover{transform:translateY(-1px);background:rgba(255,255,255,.08);border-color:rgba(255,91,139,.35)}.admin-menu a span{font-size:19px}.admin-menu a strong{font-size:14px;line-height:1.15}.admin-menu .admin-menu-stats{border-color:rgba(255,91,139,.3);background:linear-gradient(135deg,rgba(255,63,127,.12),rgba(255,152,100,.08))}.admin-orders-title{margin:8px 0 12px;font-size:24px}.admin-page-heading{margin:18px 0 22px}.admin-page-heading h1{margin:4px 0 5px}.admin-kicker{font-size:12px;font-weight:800;letter-spacing:.12em;color:#ff759c}.admin-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-stat-card{min-height:126px;padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:linear-gradient(145deg,rgba(18,40,78,.7),rgba(7,19,45,.86));display:flex;flex-direction:column;justify-content:center}.admin-stat-card span{font-size:13px;color:#bfc9dc}.admin-stat-card strong{font-size:29px;margin:7px 0 2px;color:#fff}.admin-stat-card small{color:#8997b2}.admin-stat-primary{border-color:rgba(255,91,139,.28);background:linear-gradient(145deg,rgba(255,63,127,.12),rgba(13,29,61,.9))}.admin-status-panel{margin-top:16px}.admin-status-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-status-head h2{margin:0}.admin-status-head>span{font-size:12px;color:#9aa8c1}.admin-status-list{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-status-list>div{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-radius:11px;background:rgba(255,255,255,.04);color:#cbd4e5}.admin-status-list strong{color:#fff;font-size:18px}
@media(max-width:760px){.admin-menu{grid-template-columns:1fr 1fr;gap:8px}.admin-menu a{min-height:52px;padding:9px 11px;border-radius:12px}.admin-menu a strong{font-size:13px}.admin-menu .admin-menu-stats{grid-column:1/-1}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-stat-card{min-height:108px;padding:14px}.admin-stat-card strong{font-size:24px}.admin-status-list{grid-template-columns:1fr}}

/* Suivi de production + priorites admin */
.admin-todo{margin:10px 0 24px;padding:16px;border:1px solid rgba(255,91,139,.25);border-radius:16px;background:linear-gradient(145deg,rgba(255,63,127,.09),rgba(7,19,45,.82))}.admin-todo-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-todo-head h2{margin:3px 0 0;font-size:21px}.admin-notif-total{display:grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border-radius:999px;background:linear-gradient(90deg,#ff3b86,#ff9857);color:#fff;font-weight:900}.admin-todo-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.admin-todo-list a,.admin-todo-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.04);color:#eaf0fb;text-decoration:none}.admin-todo-list a:hover{background:rgba(255,255,255,.075)}.admin-todo-list strong{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:999px;background:rgba(255,91,139,.16);color:#ff8caf}.order-progress{position:relative;margin-top:18px}.order-progress-step{position:relative;display:grid;grid-template-columns:34px 1fr;gap:11px;min-height:62px;color:#8492aa}.order-progress-step:not(:last-child):before{content:"";position:absolute;left:16px;top:29px;bottom:-4px;width:2px;background:rgba(255,255,255,.1)}.order-progress-dot{position:relative;z-index:1;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:2px solid rgba(255,255,255,.16);background:#09162d;font-size:13px;font-weight:900}.order-progress-step strong{display:block;padding-top:6px;color:#9aa7bc}.order-progress-step small{display:block;margin-top:3px;color:#77859e}.order-progress-step.is-done .order-progress-dot{border-color:#2fa873;background:#1d8054;color:#fff}.order-progress-step.is-done:not(:last-child):before{background:#2b8e65}.order-progress-step.is-done strong{color:#dce7e2}.order-progress-step.is-active .order-progress-dot{border-color:#ff5b8b;background:linear-gradient(135deg,#ff3b86,#ff9857);color:#fff;box-shadow:0 0 0 5px rgba(255,91,139,.1)}.order-progress-step.is-active strong{color:#fff}.order-progress-note{margin-top:8px}@media(max-width:760px){.admin-todo-list{grid-template-columns:1fr}.admin-todo{padding:13px}.order-progress-step{min-height:58px}}

/* Accueil mobile v2 — même confort tactile/visuel que les pages secondaires. */
@media(max-width:760px){
  .poster-menu-toggle{
    right:10.5%;
    top:1.5%;
    width:64px;
    height:64px;
    min-width:64px;
    min-height:64px;
    color:#fff;
    font-size:40px;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    text-indent:0;
    border-radius:14px;
    background:rgba(6,17,39,.38);
    -webkit-tap-highlight-color:transparent;
  }
  .poster-nav{right:18px;top:8.4%}
}

/* Accueil mobile v3 — masque le hamburger imprimé dans l'affiche et affiche un seul vrai bouton. */
@media(max-width:760px){
  .poster-wrap::after{
    content:"";
    position:absolute;
    z-index:54;
    right:0;
    top:0;
    width:10.5%;
    height:4.7%;
    background:rgba(6,17,39,.96);
    border-bottom-left-radius:14px;
    pointer-events:none;
  }
  .poster-menu-toggle{
    right:13.5%;
    top:2.7%;
    width:62px;
    height:62px;
    min-width:62px;
    min-height:62px;
    font-size:38px;
    border:1px solid rgba(255,255,255,.28);
    background:rgba(6,17,39,.88);
    box-shadow:0 8px 24px rgba(0,0,0,.38);
  }
  .poster-nav{right:18px;top:10.2%}
}

/* Accueil mobile v4 — bouton rapproché du bord droit et placé sur l'ancien pictogramme. */
@media(max-width:760px){
  .poster-wrap::after{display:none!important;content:none!important}
  .poster-menu-toggle{
    right:2.6%!important;
    top:2.7%!important;
    width:62px!important;
    height:62px!important;
    min-width:62px!important;
    min-height:62px!important;
    font-size:38px!important;
    background:rgba(6,17,39,.90)!important;
    border:1px solid rgba(255,255,255,.28)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.38)!important;
  }
  .poster-nav{right:14px!important;top:10.2%!important}
}

/* Tarifs : lecture cumulative claire des prestations. */
.formula-benefits .benefit-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:11px;text-align:left}
.formula-benefits .benefit-list li{position:relative;padding-left:27px;color:#f5f7ff;font-weight:800;line-height:1.35}
.formula-benefits .benefit-list li:before{content:'✓';position:absolute;left:0;top:-1px;font-size:18px;font-weight:950;background:linear-gradient(135deg,#ff3f87,#ff9857);-webkit-background-clip:text;background-clip:text;color:transparent}

/* V9 — pochettes verticales : cadrage complet dans le grand lecteur */
.playlist-cover.track-cover img{object-fit:contain;object-position:center center;background:#08152e}
.playlist-hero.is-playing .playlist-cover img{transform:none}
@media(max-width:700px){.playlist-cover.track-cover{height:250px}}



/* Accueil desktop : source unique. Les regles historiques ci-dessus ne
   s’appliquent qu’au mobile ou aux autres pages. */
@media (min-width: 901px) {
  :where(body:has(#occasions.moments)) .moments {
    padding-top: 76px;
    padding-right: 0px;
    padding-bottom: 76px;
    padding-left: 0px;
    background-color: rgb(6, 17, 39);
  }
  :where(body:has(#occasions.moments)) .occasion-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    row-gap: 22px;
    column-gap: 22px;
    max-width: 1040px;
    margin-top: auto;
    margin-right: auto;
    margin-bottom: auto;
    margin-left: auto;
  }
  :where(body:has(#occasions.moments)) .occasion {
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: hidden;
    border-top-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
    border-top-style: solid;
    border-right-style: solid;
    border-bottom-style: solid;
    border-left-style: solid;
    border-top-color: rgba(137, 164, 210, 0.35);
    border-right-color: rgba(137, 164, 210, 0.35);
    border-bottom-color: rgba(137, 164, 210, 0.35);
    border-left-color: rgba(137, 164, 210, 0.35);
    border-image-source: none;
    border-image-slice: 100%;
    border-image-width: 1;
    border-image-outset: 0;
    border-image-repeat: stretch;
    border-top-left-radius: 22px;
    border-top-right-radius: 22px;
    border-bottom-right-radius: 22px;
    border-bottom-left-radius: 22px;
    background-image: linear-gradient(rgb(16, 36, 72), rgb(9, 26, 54));
    background-position-x: initial;
    background-position-y: initial;
    background-size: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: initial;
    box-shadow: rgba(0, 0, 0, 0.22) 0px 18px 40px;
    text-decoration-line: none;
    text-decoration-thickness: initial;
    text-decoration-style: initial;
    text-decoration-color: initial;
    color: rgb(255, 255, 255);
  }
  :where(body:has(#occasions.moments)) .occasion-media {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow-x: hidden;
    overflow-y: hidden;
    background-image: initial;
    background-position-x: initial;
    background-position-y: initial;
    background-size: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: rgb(9, 22, 45);
  }
  :where(body:has(#occasions.moments)) .occasion-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }
  :where(body:has(#occasions.moments)) .occasion-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 108px;
    padding-top: 16px;
    padding-right: 16px;
    padding-bottom: 16px;
    padding-left: 16px;
    text-align: center;
  }
  :where(body:has(#occasions.moments)) .occasion-copy b {
    font-size: 17px;
  }
  :where(body:has(#occasions.moments)) .occasion-copy small {
    margin-top: 8px;
    color: rgb(219, 227, 242);
    font-size: 13px;
    line-height: 1.4;
  }
  :where(body:has(#occasions.moments)) .testimonial {
    padding-top: 32px;
    padding-right: 0px;
    padding-bottom: 32px;
    padding-left: 0px;
    text-align: center;
    background-image: radial-gradient(circle, rgb(23, 41, 92), rgb(6, 17, 39) 68%);
    background-position-x: initial;
    background-position-y: initial;
    background-size: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: initial;
    width: 100%;
    max-width: none;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    box-sizing: border-box;
  
    background: transparent !important;
}
  :where(body:has(#occasions.moments)) .final-cta {
    padding-top: 34px;
    padding-right: 0px;
    padding-bottom: 34px;
    padding-left: 0px;
    text-align: center;
    background-image: none !important;
    background-position-x: initial !important;
    background-position-y: initial !important;
    background-size: initial !important;
    background-repeat: initial !important;
    background-attachment: initial !important;
    background-origin: initial !important;
    background-clip: initial !important;
    background-color: rgb(6, 17, 39) !important;
    width: 100%;
    max-width: none;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    box-sizing: border-box;
  
    background: transparent !important;
}
  :where(body:has(#occasions.moments)) .final-cta p {
    font-size: 19px;
    color: rgb(227, 233, 244);
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 18px;
    margin-left: auto;
    text-align: center;
  }
  :where(body:has(#occasions.moments)) .final-cta .cta {
    margin-top: 0px;
    min-width: 300px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-decoration-line: none;
    text-decoration-thickness: initial;
    text-decoration-style: initial;
    text-decoration-color: initial;
    min-height: 58px;
    border-top-left-radius: 999px;
    border-top-right-radius: 999px;
    border-bottom-right-radius: 999px;
    border-bottom-left-radius: 999px;
    font-weight: 900;
    box-shadow: rgba(255, 66, 127, 0.28) 0px 10px 30px;
    width: auto !important;
    padding-top: 16px !important;
    padding-right: 30px !important;
    padding-bottom: 16px !important;
    padding-left: 30px !important;
    background-image: linear-gradient(90deg, rgb(255, 52, 127), rgb(255, 150, 95)) !important;
    background-position-x: initial !important;
    background-position-y: initial !important;
    background-size: initial !important;
    background-repeat: initial !important;
    background-attachment: initial !important;
    background-origin: initial !important;
    background-clip: initial !important;
    background-color: initial !important;
    color: rgb(255, 255, 255) !important;
  }
  :where(body:has(#occasions.moments)) .home-realisations-link {
    padding-top: 24px;
    padding-right: 0px;
    padding-bottom: 24px;
    padding-left: 0px;
    background-image: linear-gradient(rgb(7, 19, 41), rgb(11, 24, 52));
    background-position-x: initial;
    background-position-y: initial;
    background-size: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: initial;
    width: 100%;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    box-sizing: border-box;
  
    background: transparent !important;
}
  :where(body:has(#occasions.moments)) .realisations-teaser {
    display: flex;
    align-items: center;
    justify-content: space-between;
    row-gap: 28px;
    column-gap: 28px;
    padding-top: 24px;
    padding-right: 28px;
    padding-bottom: 24px;
    padding-left: 28px;
    border-top-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
    border-top-style: solid;
    border-right-style: solid;
    border-bottom-style: solid;
    border-left-style: solid;
    border-top-color: rgba(255, 255, 255, 0.14);
    border-right-color: rgba(255, 255, 255, 0.14);
    border-bottom-color: rgba(255, 255, 255, 0.14);
    border-left-color: rgba(255, 255, 255, 0.14);
    border-image-source: none;
    border-image-slice: 100%;
    border-image-width: 1;
    border-image-outset: 0;
    border-image-repeat: stretch;
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
    border-bottom-right-radius: 24px;
    border-bottom-left-radius: 24px;
    background-image: initial;
    background-position-x: initial;
    background-position-y: initial;
    background-size: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: rgba(255, 255, 255, 0.043);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 50px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    min-height: 0px;
  }
  :where(body:has(#occasions.moments)) .realisations-teaser .script-title {
    margin-top: 5px;
    margin-right: 0px;
    margin-bottom: 8px;
    margin-left: 0px;
  
    font-size: clamp(30px, 3vw, 40px);
}
  :where(body:has(#occasions.moments)) .realisations-teaser p {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    color: rgb(216, 222, 238);
  }
  :where(body:has(#occasions.moments)) .teaser-note {
    font-size: 34px;
    color: rgb(255, 117, 157);
  }
  :where(body:has(#occasions.moments)) .teaser-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding-top: 0px;
    padding-right: 22px;
    padding-bottom: 0px;
    padding-left: 22px;
    border-top-left-radius: 999px;
    border-top-right-radius: 999px;
    border-bottom-right-radius: 999px;
    border-bottom-left-radius: 999px;
    background-image: linear-gradient(90deg, rgb(255, 85, 127), rgb(255, 139, 85));
    background-position-x: initial;
    background-position-y: initial;
    background-size: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: initial;
    color: white;
    font-weight: 800;
    text-decoration-line: none;
    text-decoration-thickness: initial;
    text-decoration-style: initial;
    text-decoration-color: initial;
    white-space-collapse: collapse;
    text-wrap-mode: nowrap;
    box-shadow: rgba(255, 85, 127, 0.24) 0px 10px 28px;
  }
  :where(body:has(#occasions.moments)) .testimonial .script-title {
    margin-top: 7px;
    margin-bottom: 14px;
    text-align: center;
  }
  :where(body:has(#occasions.moments)) .reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0px, 1fr));
    row-gap: 16px;
    column-gap: 16px;
    max-width: 1080px;
    margin-top: 16px;
    margin-right: auto;
    margin-bottom: 16px;
    margin-left: auto;
    width: 100%;
  }
  :where(body:has(#occasions.moments)) .home-price-compact {
    padding-top: 26px !important;
    padding-right: 0px !important;
    padding-bottom: 26px !important;
    padding-left: 0px !important;
  }
  :where(body:has(#occasions.moments)) .home-price-card {
    display: grid;
    grid-template-columns: auto minmax(0px, 1fr) auto;
    align-items: center;
    row-gap: 22px;
    column-gap: 22px;
    padding-top: 24px;
    padding-right: 26px;
    padding-bottom: 24px;
    padding-left: 26px;
    border-top-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
    border-top-style: solid;
    border-right-style: solid;
    border-bottom-style: solid;
    border-left-style: solid;
    border-top-color: rgba(255, 96, 143, 0.28);
    border-right-color: rgba(255, 96, 143, 0.28);
    border-bottom-color: rgba(255, 96, 143, 0.28);
    border-left-color: rgba(255, 96, 143, 0.28);
    border-image-source: none;
    border-image-slice: 100%;
    border-image-width: 1;
    border-image-outset: 0;
    border-image-repeat: stretch;
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
    border-bottom-right-radius: 24px;
    border-bottom-left-radius: 24px;
    background-image: linear-gradient(145deg, rgba(18, 40, 78, 0.88), rgba(8, 20, 45, 0.96));
    background-position-x: initial;
    background-position-y: initial;
    background-size: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: initial;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 18px 40px;
  }
  :where(body:has(#occasions.moments)) .home-price-note {
    width: 58px;
    height: 58px;
    display: grid;
    align-items: center;
    justify-items: center;
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
    border-bottom-right-radius: 18px;
    border-bottom-left-radius: 18px;
    background-image: linear-gradient(135deg, rgba(255, 47, 135, 0.22), rgba(255, 152, 87, 0.16));
    background-position-x: initial;
    background-position-y: initial;
    background-size: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: initial;
    font-size: 28px;
  }
  :where(body:has(#occasions.moments)) .home-price-copy .eyebrow {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 5px;
    margin-left: 0px;
  }
  :where(body:has(#occasions.moments)) .home-price-copy h2 {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 6px;
    margin-left: 0px;
    font-size: 26px;
  }
  :where(body:has(#occasions.moments)) .home-price-copy p {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 6px;
    margin-left: 0px;
    color: rgb(216, 223, 235);
  }
  :where(body:has(#occasions.moments)) .home-price-copy small {
    color: rgb(147, 162, 187);
  }
  :where(body:has(#occasions.moments)) .home-price-action {
    text-align: right;
  }
  :where(body:has(#occasions.moments)) .home-price-action > span {
    display: block;
    color: rgb(155, 169, 191);
    font-size: 12px;
  }
  :where(body:has(#occasions.moments)) .home-price-action > strong {
    display: block;
    margin-top: 1px;
    margin-right: 0px;
    margin-bottom: 10px;
    margin-left: 0px;
    font-size: 34px;
  }
  :where(body:has(#occasions.moments)) .home-price-action .price-btn {
    white-space-collapse: collapse;
    text-wrap-mode: nowrap;
  }
  :where(body:has(#occasions.moments)) .testimonial .review-link {
    display: inline-flex;
    padding-top: 10px;
    padding-right: 16px;
    padding-bottom: 10px;
    padding-left: 16px;
    border-top-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
    border-top-style: solid;
    border-right-style: solid;
    border-bottom-style: solid;
    border-left-style: solid;
    border-top-color: rgba(255, 102, 142, 0.35);
    border-right-color: rgba(255, 102, 142, 0.35);
    border-bottom-color: rgba(255, 102, 142, 0.35);
    border-left-color: rgba(255, 102, 142, 0.35);
    border-image-source: none;
    border-image-slice: 100%;
    border-image-width: 1;
    border-image-outset: 0;
    border-image-repeat: stretch;
    border-top-left-radius: 999px;
    border-top-right-radius: 999px;
    border-bottom-right-radius: 999px;
    border-bottom-left-radius: 999px;
    background-image: initial;
    background-position-x: initial;
    background-position-y: initial;
    background-size: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: rgba(255, 70, 132, 0.07);
    text-decoration-line: none;
    text-decoration-thickness: initial;
    text-decoration-style: initial;
    text-decoration-color: initial;
  }
  :where(body:has(#occasions.moments)) .occasion-new-cover .occasion-copy {
    font-weight: 700;
  }
  :where(body:has(#occasions.moments)) #occasions .occasion-new-cover .occasion-media {
    aspect-ratio: 470 / 145 !important;
    height: auto !important;
    background-image: initial !important;
    background-position-x: initial !important;
    background-position-y: initial !important;
    background-size: initial !important;
    background-repeat: initial !important;
    background-attachment: initial !important;
    background-origin: initial !important;
    background-clip: initial !important;
    background-color: rgb(7, 21, 46) !important;
    position: relative;
    z-index: 1;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    border-top-left-radius: 19px !important;
    border-top-right-radius: 19px !important;
    border-bottom-right-radius: 0px !important;
    border-bottom-left-radius: 0px !important;
    width: 100% !important;
    min-height: 0px;
  }
  :where(body:has(#occasions.moments)) #occasions .occasion-new-cover .occasion-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    background-image: initial !important;
    background-position-x: initial !important;
    background-position-y: initial !important;
    background-size: initial !important;
    background-repeat: initial !important;
    background-attachment: initial !important;
    background-origin: initial !important;
    background-clip: initial !important;
    background-color: transparent !important;
    display: block !important;
    transform: none !important;
  }
  :where(body:has(#occasions.moments)) #occasions.moments {
    position: relative;
    overflow-x: hidden;
    overflow-y: hidden;
    background-image: radial-gradient(at 0% 3%, rgba(0, 132, 255, 0.22), transparent 33%), radial-gradient(at 100% 3%, rgba(255, 31, 164, 0.24), transparent 34%), linear-gradient(rgb(6, 21, 46) 0%, rgb(4, 19, 41) 100%) !important;
    background-color: initial !important;
    padding-top: 38px !important;
    padding-right: 0px !important;
    padding-bottom: 28px !important;
    padding-left: 0px !important;
  
    background: transparent !important;

    padding: 36px 0 24px;
}
  :where(body:has(#occasions.moments)) #occasions.moments::before {
    content: "\266a" !important;
    position: absolute;
    top: 45px !important;
    font-size: 64px !important;
    font-weight: 800;
    line-height: 1;
    color: rgb(65, 191, 255) !important;
    text-shadow: currentcolor 0px 0px 16px, currentcolor 0px 0px 34px;
    opacity: 1 !important;
    pointer-events: none;
    left: max(26px, 50% - 490px) !important;
    transform: rotate(-12deg);
    filter: drop-shadow(currentcolor 0px 0px 8px);
  }
  :where(body:has(#occasions.moments)) #occasions.moments::after {
    content: "\266a" !important;
    position: absolute;
    top: 45px !important;
    font-size: 64px !important;
    font-weight: 800;
    line-height: 1;
    color: rgb(255, 88, 173) !important;
    text-shadow: currentcolor 0px 0px 16px, currentcolor 0px 0px 34px;
    opacity: 1 !important;
    pointer-events: none;
    left: auto;
    right: max(26px, 50% - 490px) !important;
    transform: rotate(12deg);
    filter: drop-shadow(currentcolor 0px 0px 8px);
  }
  :where(body:has(#occasions.moments)) #occasions .script-title {
    text-shadow: rgba(255, 70, 150, 0.18) 0px 2px 18px;
    font-size: 46px !important;
    line-height: 1.05 !important;
    color: rgb(255, 255, 255) !important;
    text-align: center !important;
    margin-bottom: 5px !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-style: italic !important;
    font-weight: 700 !important;
    margin-top: 0px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
  }
  :where(body:has(#occasions.moments)) #occasions .section-lead {
    position: relative;
    margin-bottom: 28px !important;
    text-align: center !important;
    font-size: 20px !important;
    color: rgb(219, 228, 242) !important;
    margin-top: 0px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    font-weight: 400 !important;
  }
  :where(body:has(#occasions.moments)) #occasions .section-lead::before {
    content: "â™¡";
    display: none !important;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 14px !important;
    margin-left: auto;
    color: rgb(255, 108, 168);
    font-size: 42px !important;
    line-height: 1;
    text-shadow: rgba(255, 70, 150, 0.65) 0px 0px 16px;
  }
  :where(body:has(#occasions.moments)) #occasions .occasion-grid {
    row-gap: 18px !important;
    column-gap: 22px !important;
    max-width: 1080px !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    display: grid !important;
    margin-top: 0px !important;
    margin-right: auto !important;
    margin-bottom: 0px !important;
    margin-left: auto !important;
    width: 100%;
  
    gap: 20px !important;
}
  :where(body:has(#occasions.moments)) #occasions .occasion-new-cover {
    position: relative;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 8px 18px !important;
    transition-behavior: normal, normal, normal;
    transition-duration: 0.22s, 0.22s, 0.22s;
    transition-timing-function: ease, ease, ease;
    transition-delay: 0s, 0s, 0s;
    transition-property: transform, border-color, box-shadow;
    border-top-width: 1.5px !important;
    border-right-width: 1.5px !important;
    border-bottom-width: 1.5px !important;
    border-left-width: 1.5px !important;
    border-top-style: solid !important;
    border-right-style: solid !important;
    border-bottom-style: solid !important;
    border-left-style: solid !important;
    border-top-color: rgb(67, 141, 255) !important;
    border-right-color: rgb(67, 141, 255) !important;
    border-bottom-color: rgb(67, 141, 255) !important;
    border-left-color: rgb(67, 141, 255) !important;
    border-image-source: none !important;
    border-image-slice: 100% !important;
    border-image-width: 1 !important;
    border-image-outset: 0 !important;
    border-image-repeat: stretch !important;
    border-top-left-radius: 21px !important;
    border-top-right-radius: 21px !important;
    border-bottom-right-radius: 21px !important;
    border-bottom-left-radius: 21px !important;
    background-image: initial !important;
    background-position-x: initial !important;
    background-position-y: initial !important;
    background-size: initial !important;
    background-repeat: initial !important;
    background-attachment: initial !important;
    background-origin: initial !important;
    background-clip: initial !important;
    background-color: rgb(7, 27, 60) !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    transform: none !important;
    min-height: 0px;
  }
  :where(body:has(#occasions.moments)) #occasions .occasion-new-cover::before {
    content: "";
    position: absolute;
    top: -1px;
    right: -1px;
    bottom: -1px;
    left: -1px;
    z-index: 2;
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
    border-bottom-right-radius: inherit;
    border-bottom-left-radius: inherit;
    pointer-events: none;
    background-image: linear-gradient(120deg, rgba(55, 174, 255, 0.26), transparent 32%, transparent 68%, rgba(255, 54, 157, 0.24));
    background-position-x: initial;
    background-position-y: initial;
    background-size: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: initial;
    opacity: 0.45;
    display: none !important;
  }
  :where(body:has(#occasions.moments)) #occasions .occasion-new-cover:hover {
    transform: translateY(-4px);
    box-shadow: rgba(0, 0, 0, 0.3) 0px 16px 34px, rgba(255, 57, 150, 0.13) 0px 0px 22px;
    border-top-color: rgba(255, 89, 164, 0.75) !important;
    border-right-color: rgba(255, 89, 164, 0.75) !important;
    border-bottom-color: rgba(255, 89, 164, 0.75) !important;
    border-left-color: rgba(255, 89, 164, 0.75) !important;
  }
  :where(body:has(#occasions.moments)) #occasions .occasion-new-cover:focus-visible {
    transform: translateY(-4px);
    box-shadow: rgba(0, 0, 0, 0.3) 0px 16px 34px, rgba(255, 57, 150, 0.13) 0px 0px 22px;
    border-top-color: rgba(255, 89, 164, 0.75) !important;
    border-right-color: rgba(255, 89, 164, 0.75) !important;
    border-bottom-color: rgba(255, 89, 164, 0.75) !important;
    border-left-color: rgba(255, 89, 164, 0.75) !important;
  }
  :where(body:has(#occasions.moments)) #occasions .occasion-new-cover .occasion-media::after {
    content: "";
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    pointer-events: none;
    background-image: linear-gradient(transparent 55%, rgba(3, 13, 34, 0.45) 100%) !important;
    background-position-x: initial !important;
    background-position-y: initial !important;
    background-size: initial !important;
    background-repeat: initial !important;
    background-attachment: initial !important;
    background-origin: initial !important;
    background-clip: initial !important;
    background-color: initial !important;
    z-index: 1;
    display: none !important;
  }
  :where(body:has(#occasions.moments)) #occasions .occasion-new-cover .occasion-copy {
    position: relative;
    z-index: 3;
    background-image: linear-gradient(rgb(11, 45, 96) 0%, rgb(7, 27, 60) 100%) !important;
    background-position-x: initial !important;
    background-position-y: initial !important;
    background-size: initial !important;
    background-repeat: initial !important;
    background-attachment: initial !important;
    background-origin: initial !important;
    background-clip: initial !important;
    background-color: initial !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    min-height: 76px !important;
    padding-top: 9px !important;
    padding-right: 12px !important;
    padding-bottom: 11px !important;
    padding-left: 12px !important;
    display: flex !important;
    justify-content: center !important;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: rgba(255, 255, 255, 0.04);
    height: auto !important;
  }
  :where(body:has(#occasions.moments)) #occasions .occasion-new-cover .occasion-copy b {
    letter-spacing: 0.01em !important;
    color: rgb(255, 255, 255) !important;
    text-shadow: rgba(255, 255, 255, 0.08) 0px 1px 8px;
    font-size: 15px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
  }
  :where(body:has(#occasions.moments)) #occasions .occasion-new-cover .occasion-copy small {
    color: rgb(238, 243, 251) !important;
    margin-top: 7px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
  }
  :where(body:has(#occasions.moments)) #occasions .home-shell {
    max-width: 1080px !important;
    padding-top: 0px !important;
    padding-right: 0px !important;
    padding-bottom: 0px !important;
    padding-left: 0px !important;
    width: min(1080px, 100% - 40px);
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
  }
  :where(body:has(#occasions.moments)) #occasions .script-title span {
    color: rgb(255, 111, 159) !important;
    text-shadow: none !important;
  }
  :where(body:has(#occasions.moments)) #occasions .occasion-new-cover:nth-child(2n) {
    border-top-color: rgb(163, 77, 155) !important;
    border-right-color: rgb(163, 77, 155) !important;
    border-bottom-color: rgb(163, 77, 155) !important;
    border-left-color: rgb(163, 77, 155) !important;
  }
  :where(body:has(#occasions.moments)) #occasions .occasion-new-cover .occasion-media::before {
    content: "";
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    z-index: 2;
    background-image: linear-gradient(110deg, transparent 25%, rgba(255, 255, 255, 0.11) 46%, transparent 63%);
    background-position-x: initial;
    background-position-y: initial;
    background-size: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: initial;
    transform: translateX(-130%);
    transition-behavior: normal;
    transition-duration: 0.65s;
    transition-timing-function: ease;
    transition-delay: 0s;
    transition-property: transform;
    pointer-events: none;
    display: none !important;
  }
  :where(body:has(#occasions.moments)) #occasions .occasion-new-cover:hover .occasion-media::before {
    transform: translateX(130%);
  }
  :where(body:has(#occasions.moments)) #occasions .occasion-grid .occasion:last-child {
    grid-column-start: 1 !important;
    grid-column-end: -1 !important;
    width: 100% !important;
    justify-self: stretch !important;
  
    grid-column: auto !important;
}
  :where(body:has(#occasions.moments)) #occasions .wow-heart {
    position: relative;
    width: 280px;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 8px;
    margin-left: auto;
    color: rgb(255, 112, 168);
    font-size: 45px;
    line-height: 1;
    text-align: center;
    text-shadow: rgba(255, 73, 157, 0.55) 0px 0px 12px;
  }
  :where(body:has(#occasions.moments)) #occasions .wow-heart::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 105px;
    height: 1px;
    background-image: linear-gradient(90deg, transparent, rgb(62, 169, 255));
    background-position-x: initial;
    background-position-y: initial;
    background-size: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: initial;
    left: 0px;
  }
  :where(body:has(#occasions.moments)) #occasions .wow-heart::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 105px;
    height: 1px;
    background-image: linear-gradient(90deg, transparent, rgb(255, 79, 163));
    background-position-x: initial;
    background-position-y: initial;
    background-size: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: initial;
    right: 0px;
    transform: scaleX(-1);
  }
  :where(body:has(#occasions.moments)) #occasions .wow-title .wow-title-white {
    display: block !important;
    white-space-collapse: collapse !important;
    text-wrap-mode: nowrap !important;
    color: rgb(255, 255, 255) !important;
  }
  :where(body:has(#occasions.moments)) #occasions .wow-title .wow-title-pink {
    display: block !important;
    white-space-collapse: collapse !important;
    text-wrap-mode: nowrap !important;
    color: rgb(255, 111, 159) !important;
  }
  :where(body:has(#occasions.moments)) .home-realisations-link .home-shell {
    width: min(1080px, 100% - 40px);
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
  }
  :where(body:has(#occasions.moments)) .prices.home-price-compact > .home-shell {
    width: min(1080px, 100% - 40px);
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
  }
  :where(body:has(#occasions.moments)) .testimonial > .home-shell {
    width: min(1080px, 100% - 40px);
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
  }
  :where(body:has(#occasions.moments)) .testimonial .reviews-grid:not(:has(> *)) {
    display: none;
  }
  :where(body:has(#occasions.moments)) .final-cta > .home-shell {
    width: min(1080px, 100% - 40px);
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
  }
  :where(body:has(#occasions.moments)) .final-cta .script-title {
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 12px;
    margin-left: auto;
    text-align: center;
  }

  /* Les reglages communs du site desktop sont dans style.css. */





  body:has(#occasions.moments) .prices.home-price-compact {
    background: transparent;
  }




  body:has(#occasions.moments) .realisations-teaser > div,
  body:has(#occasions.moments) .home-price-copy {
    min-width: 0;
  }
}
