
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap");

#bloom-module-01-nuit {
  --bn-cream: #fff6e8;
  --bn-gold: #e7c384;
  --bn-ink: #151218;
  --bn-violet: #bb78e6;
  --bn-gutter: clamp(24px, 4vw, 64px);
  position: relative;
  isolation: isolate;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--bn-ink);
  color: var(--bn-cream);
  font: 400 15px/1.45 "Poppins", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

#bloom-module-01-nuit *,
#bloom-module-01-nuit *::before,
#bloom-module-01-nuit *::after {
  box-sizing: border-box;
}

#bloom-module-01-nuit [hidden] {
  display: none !important;
}

#bloom-module-01-nuit h1,
#bloom-module-01-nuit h2,
#bloom-module-01-nuit p {
  margin: 0;
  padding: 0;
}

#bloom-module-01-nuit button,
#bloom-module-01-nuit input {
  font: inherit;
}

#bloom-module-01-nuit button {
  cursor: pointer;
}

#bloom-module-01-nuit a {
  text-decoration: none;
}

#bloom-module-01-nuit :is(a, button, input):focus-visible {
  outline: 3px solid #f3d698;
  outline-offset: 5px;
}

#bloom-module-01-nuit .bn-shell {
  position: relative;
  z-index: 2;
  width: min(100%, 1440px);
  margin: 0 auto;
  padding-inline: var(--bn-gutter);
}

#bloom-module-01-nuit .bn-scene {
  position: relative;
  isolation: isolate;
  background: #141324;
}

#bloom-module-01-nuit .bn-landscape {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

#bloom-module-01-nuit .bn-landscape img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  border: 0;
  object-fit: cover;
  object-position: center 50%;
}

#bloom-module-01-nuit .bn-scene::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(
      ellipse 44% 28% at 50% 17%,
      rgba(14, 10, 27, .3),
      transparent 92%
    ),
    linear-gradient(
      180deg,
      rgba(15, 12, 24, .12),
      transparent 36%,
      rgba(13, 12, 21, .12) 70%,
      rgba(15, 13, 21, .56)
    );
  pointer-events: none;
}

#bloom-module-01-nuit .bn-scene::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  z-index: 3;
  height: 65px;
  background: linear-gradient(transparent, #151218);
  pointer-events: none;
}

/* INTRODUCTION */

#bloom-module-01-nuit .bn-intro {
  padding-top: clamp(32px, 3vw, 44px);
  padding-bottom: clamp(40px, 4vw, 56px);
  text-align: center;
}

#bloom-module-01-nuit .bn-hours {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  color: #fff5e4;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  text-shadow: 0 2px 12px #100b20;
}

#bloom-module-01-nuit .bn-hours::before,
#bloom-module-01-nuit .bn-hours::after {
  content: "";
  width: 38px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #e7c384);
}

#bloom-module-01-nuit .bn-hours::after {
  transform: rotate(180deg);
}

#bloom-module-01-nuit .bn-title {
  margin-top: 16px;
  color: var(--bn-cream);
  font: 700 clamp(46px, 6.2vw, 90px)/.99
    "Times New Roman", Times, Georgia, serif;
  letter-spacing: -.035em;
  text-align: center;
  text-shadow:
    0 2px 2px rgba(13, 8, 22, .65),
    0 8px 28px rgba(13, 8, 22, .45);
}

#bloom-module-01-nuit .bn-title span {
  display: block;
  white-space: nowrap;
}

#bloom-module-01-nuit .bn-title .bn-title-gold {
  padding-bottom: .04em;
  color: #f2d292;
}

@supports (-webkit-background-clip: text) {
  #bloom-module-01-nuit .bn-title .bn-title-gold {
    background: linear-gradient(
      180deg,
      #fff0c9 5%,
      #f0ce88 48%,
      #e0ae5d 82%,
      #ffe7b1
    );
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
    filter: drop-shadow(0 3px 8px rgba(15, 8, 22, .55));
  }
}

#bloom-module-01-nuit .bn-subtitle {
  margin-top: 12px;
  color: #fff7ee;
  font: 500 clamp(17px, 1.9vw, 27px)/1.35
    "Poppins", system-ui, sans-serif;
  text-align: center;
  text-shadow: 0 2px 15px #141020;
}

/* BOUTONS */

#bloom-module-01-nuit .bn-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 25px;
}

#bloom-module-01-nuit .bn-button {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  min-height: 62px;
  min-width: 278px;
  max-width: 100%;
  margin: 0;
  padding: 9px 13px 9px 25px;
  overflow: hidden;
  border: 1px solid #f9d799;
  border-radius: 14px;
  background: linear-gradient(
    115deg,
    #f6d58b 0%,
    #ffe9b6 24%,
    #edc477 58%,
    #dba554 100%
  );
  box-shadow:
    inset 0 1px 0 #fff8e9,
    inset 0 -2px 3px rgba(118, 67, 13, .22),
    0 0 0 1px rgba(231, 195, 132, .2),
    0 0 19px rgba(232, 177, 82, .28),
    0 8px 24px rgba(8, 5, 17, .34);
  color: #21151b !important;
  text-align: center;
  text-decoration: none !important;
  appearance: none;
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    filter .2s ease;
}

#bloom-module-01-nuit .bn-button::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: 12px;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, .32),
    transparent 42%,
    rgba(255, 255, 255, .06) 65%,
    transparent
  );
  pointer-events: none;
}

#bloom-module-01-nuit .bn-button::after {
  content: "";
  position: absolute;
  top: -45%;
  bottom: -45%;
  left: -65%;
  width: 40%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, .32),
    transparent
  );
  transform: skewX(-24deg);
  animation: bn-button-shine 8s ease-in-out infinite;
  pointer-events: none;
}

#bloom-module-01-nuit .bn-button-label {
  position: relative;
  z-index: 1;
  flex: 1;
  font: 700 23px/1.2 "Times New Roman", Times, Georgia, serif;
  white-space: nowrap;
}

#bloom-module-01-nuit .bn-arrow {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  flex: 0 0 39px;
  width: 39px;
  height: 39px;
  border: 1px solid rgba(255, 235, 180, .22);
  border-radius: 50%;
  background: linear-gradient(150deg, #211d27, #0c0a10);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .13),
    0 1px 2px rgba(85, 47, 7, .25);
  color: #ffdfa0;
}

#bloom-module-01-nuit .bn-button svg {
  position: static !important;
  display: block;
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  margin: 0 !important;
  transform: none !important;
}

#bloom-module-01-nuit .bn-button--address {
  min-width: 306px;
  padding: 15px 23px;
  border: 1px solid transparent;
  background:
    linear-gradient(125deg, #38213f, #21152e 48%, #17101f) padding-box,
    linear-gradient(115deg, #d49feb, #a767cd 38%, #e1bd82) border-box;
  box-shadow:
    inset 0 1px 0 rgba(246, 211, 255, .22),
    inset 0 -1px 0 rgba(0, 0, 0, .4),
    0 0 14px rgba(171, 101, 209, .2),
    0 8px 24px rgba(8, 5, 17, .34);
  color: #fff7ec !important;
}

#bloom-module-01-nuit .bn-button--address .bn-button-label {
  flex: initial;
  font: 600 16px/1.3 "Poppins", system-ui, sans-serif;
}

#bloom-module-01-nuit .bn-button--address > svg {
  position: relative !important;
  z-index: 1;
  width: 24px;
  height: 24px;
  color: #f2d094;
}

#bloom-module-01-nuit .bn-button--address::after {
  animation-delay: 1.4s;
}

@keyframes bn-button-shine {
  0%, 64% {
    left: -65%;
    opacity: 0;
  }
  68% {
    opacity: .8;
  }
  83% {
    left: 125%;
    opacity: .8;
  }
  84%, 100% {
    left: 125%;
    opacity: 0;
  }
}

/* CONDITIONS DE LIVRAISON */

#bloom-module-01-nuit .bn-facts {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 1fr 1fr 1.2fr;
  width: min(100%, 880px);
  margin: clamp(55px, 6vw, 82px) auto 0;
}

#bloom-module-01-nuit .bn-facts::before {
  content: "";
  position: absolute;
  inset: -18px -35px;
  z-index: -1;
  background: radial-gradient(
    ellipse,
    rgba(15, 12, 23, .7),
    rgba(15, 12, 23, .3) 45%,
    transparent 78%
  );
  filter: blur(10px);
  pointer-events: none;
}

#bloom-module-01-nuit .bn-fact {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-width: 0;
  padding: 5px 23px;
  text-align: left;
}

#bloom-module-01-nuit .bn-fact + .bn-fact {
  border-left: 1px solid rgba(231, 195, 132, .26);
}

#bloom-module-01-nuit .bn-fact svg {
  position: static !important;
  display: block;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  margin: 0 !important;
  color: #f3d293;
  transform: none !important;
  filter: drop-shadow(0 2px 5px rgba(10, 7, 19, .5));
}

#bloom-module-01-nuit .bn-fact strong {
  display: block;
  margin-bottom: 3px;
  color: #f5d99f;
  font: 700 22px/1.2 "Times New Roman", Times, Georgia, serif;
  text-shadow: 0 2px 9px #120d1a;
}

#bloom-module-01-nuit .bn-fact small {
  display: block;
  color: #fff5ec;
  font-size: 13px;
  line-height: 1.45;
  text-shadow: 0 2px 8px #120d1a;
}

/* PROCESS */

#bloom-module-01-nuit .bn-process {
  position: relative;
  z-index: 4;
  padding: 18px 0;
  border-top: 1px solid #cba66a;
  background:
    radial-gradient(
      ellipse at 50% 0%,
      rgba(83, 45, 87, .15),
      transparent 65%
    ),
    #151218;
}

#bloom-module-01-nuit .bn-process ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#bloom-module-01-nuit .bn-process li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  min-width: 0;
}

#bloom-module-01-nuit .bn-step-number {
  display: grid;
  place-items: center;
  flex: 0 0 43px;
  width: 43px;
  height: 43px;
  border: 1px solid #e7c384;
  border-radius: 50%;
  color: #f1d193;
  font: 700 26px/1 "Times New Roman", Times, Georgia, serif;
}

#bloom-module-01-nuit .bn-step-title {
  color: #f2d399;
  font: 700 23px/1.15 "Times New Roman", Times, Georgia, serif;
}

#bloom-module-01-nuit .bn-step-sub {
  margin-top: 5px;
  color: #ded3e2;
  font-size: 12px;
  line-height: 1.4;
}

#bloom-module-01-nuit .bn-step-arrow {
  position: absolute;
  right: -34px;
  top: 50%;
  width: 30px;
  height: 18px;
  color: #e7c384;
  transform: translateY(-50%);
}

/* VÉRIFICATION DE COMMUNE */

#bloom-module-01-nuit .bn-dialog {
  position: fixed;
  inset: 0;
  width: min(520px, calc(100% - 32px));
  max-height: calc(100dvh - 48px);
  margin: auto;
  padding: 30px;
  overflow: auto;
  border: 1px solid rgba(231, 195, 132, .55);
  border-radius: 22px;
  background:
    radial-gradient(
      ellipse at 100% 0%,
      rgba(119, 60, 144, .19),
      transparent 65%
    ),
    #1c1723;
  box-shadow:
    inset 0 1px 0 rgba(255, 238, 204, .12),
    0 24px 80px rgba(0, 0, 0, .55);
  color: #fff6e8;
  text-align: left;
}

#bloom-module-01-nuit .bn-dialog:not([open]) {
  display: none;
}

#bloom-module-01-nuit .bn-dialog::backdrop {
  background: rgba(9, 7, 15, .76);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

#bloom-module-01-nuit .bn-dialog--fallback {
  z-index: 100000;
}

#bloom-module-01-nuit .bn-dialog-title {
  margin-right: 45px;
  color: #f5d69d;
  font: 700 34px/1.1 "Times New Roman", Times, Georgia, serif;
}

#bloom-module-01-nuit .bn-dialog p {
  margin-top: 13px;
  color: #e6dce8;
  font-size: 13px;
  line-height: 1.65;
}

#bloom-module-01-nuit .bn-address-form {
  margin-top: 22px;
}

#bloom-module-01-nuit .bn-address-form label {
  display: block;
  margin-bottom: 8px;
  color: #fff4df;
  font-size: 13px;
  font-weight: 600;
}

#bloom-module-01-nuit .bn-address-form input {
  display: block;
  width: 100%;
  min-width: 0;
  height: 50px;
  padding: 12px 14px;
  border: 1px solid #9c7aab;
  border-radius: 12px;
  background: #fff8ef;
  color: #251b2c;
  font-size: 16px;
}

#bloom-module-01-nuit .bn-close {
  position: absolute;
  top: 18px;
  right: 18px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(231, 195, 132, .34);
  border-radius: 50%;
  background: rgba(255, 255, 255, .04);
  color: #f3d399;
  font-size: 27px;
  line-height: 1;
}

#bloom-module-01-nuit .bn-check {
  width: 100%;
  min-height: 49px;
  margin-top: 13px;
  padding: 12px 18px;
  border: 1px solid #f4d29a;
  border-radius: 12px;
  background: linear-gradient(115deg, #ffe6ad, #e6b76a);
  box-shadow: inset 0 1px 0 #fff7db;
  color: #251b23;
  font-weight: 600;
}

#bloom-module-01-nuit .bn-dialog .bn-result {
  padding: 13px 15px;
  border: 1px solid rgba(231, 195, 132, .25);
  border-radius: 12px;
  background: rgba(231, 195, 132, .08);
  color: #fff1d7;
  font-weight: 500;
}

#bloom-module-01-nuit .bn-dialog a {
  color: #f3d399;
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (hover: hover) {
  #bloom-module-01-nuit .bn-button:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
    box-shadow:
      inset 0 1px 0 #fff8e9,
      0 0 24px rgba(232, 177, 82, .4),
      0 12px 30px rgba(8, 5, 17, .4);
  }

  #bloom-module-01-nuit .bn-button--address:hover {
    box-shadow:
      inset 0 1px 0 rgba(246, 211, 255, .3),
      0 0 22px rgba(171, 101, 209, .34),
      0 12px 30px rgba(8, 5, 17, .4);
  }

}

@media (max-width: 980px) {
  #bloom-module-01-nuit {
    --bn-gutter: 28px;
  }

  #bloom-module-01-nuit .bn-title {
    font-size: clamp(40px, 6.2vw, 60px);
  }

  #bloom-module-01-nuit .bn-subtitle {
    font-size: 18px;
  }

  #bloom-module-01-nuit .bn-button {
    min-width: 235px;
    min-height: 56px;
  }

  #bloom-module-01-nuit .bn-button--address {
    min-width: 265px;
  }

  #bloom-module-01-nuit .bn-button-label {
    font-size: 21px;
  }

  #bloom-module-01-nuit .bn-button--address .bn-button-label {
    font-size: 14px;
  }

  #bloom-module-01-nuit .bn-facts {
    margin-top: 56px;
  }

  #bloom-module-01-nuit .bn-fact {
    gap: 10px;
    padding-inline: 12px;
  }

  #bloom-module-01-nuit .bn-fact strong {
    font-size: 19px;
  }

  #bloom-module-01-nuit .bn-fact small {
    font-size: 11px;
  }

  #bloom-module-01-nuit .bn-fact svg {
    width: 31px;
    height: 31px;
  }

  #bloom-module-01-nuit .bn-process ol {
    gap: 24px;
  }

  #bloom-module-01-nuit .bn-process li {
    gap: 10px;
  }

  #bloom-module-01-nuit .bn-step-title {
    font-size: 20px;
  }

  #bloom-module-01-nuit .bn-step-sub {
    font-size: 10px;
  }

  #bloom-module-01-nuit .bn-step-arrow {
    right: -23px;
    width: 21px;
  }
}

@media (max-width: 600px) {
  #bloom-module-01-nuit {
    --bn-gutter: 20px;
    font-size: 14px;
  }

  #bloom-module-01-nuit .bn-landscape img {
    object-position: center 50%;
  }

  #bloom-module-01-nuit .bn-scene::before {
    background:
      radial-gradient(
        ellipse 85% 27% at 50% 17%,
        rgba(16, 11, 29, .24),
        transparent 94%
      ),
      linear-gradient(
        180deg,
        rgba(15, 12, 24, .08),
        transparent 42%,
        rgba(13, 12, 21, .2) 70%,
        rgba(15, 13, 21, .64)
      );
  }

  #bloom-module-01-nuit .bn-intro {
    padding-top: 26px;
    padding-bottom: 32px;
  }

  #bloom-module-01-nuit .bn-hours {
    gap: 14px;
    font-size: 12px;
  }

  #bloom-module-01-nuit .bn-hours::before,
  #bloom-module-01-nuit .bn-hours::after {
    width: 25px;
  }

  #bloom-module-01-nuit .bn-title {
    margin-top: 14px;
    font-size: clamp(28px, 9.4vw, 40px);
    line-height: 1.02;
    letter-spacing: -.035em;
  }

  #bloom-module-01-nuit .bn-subtitle {
    margin-top: 8px;
    font-size: clamp(11px, 3.6vw, 15px);
    line-height: 1.4;
    white-space: nowrap;
  }

  #bloom-module-01-nuit .bn-actions {
    flex-direction: column;
    gap: 11px;
    margin-top: 22px;
  }

  #bloom-module-01-nuit .bn-button {
    width: 100%;
    min-width: 0;
    min-height: 51px;
    padding: 7px 11px 7px 20px;
    border-radius: 11px;
  }

  #bloom-module-01-nuit .bn-button::before {
    border-radius: 9px;
  }

  #bloom-module-01-nuit .bn-button-label {
    font-size: 20px;
  }

  #bloom-module-01-nuit .bn-arrow {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
  }

  #bloom-module-01-nuit .bn-arrow svg {
    width: 19px;
    height: 19px;
  }

  #bloom-module-01-nuit .bn-button--address {
    min-width: 0;
    gap: 12px;
    padding: 13px 14px;
  }

  #bloom-module-01-nuit .bn-button--address .bn-button-label {
    font-size: 13px;
  }

  #bloom-module-01-nuit .bn-button--address > svg {
    width: 21px;
    height: 21px;
  }

  #bloom-module-01-nuit .bn-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    margin-top: 25px;
  }

  #bloom-module-01-nuit .bn-fact {
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
    padding: 0 5px;
    text-align: center;
  }

  #bloom-module-01-nuit .bn-fact svg {
    width: 28px;
    height: 28px;
  }

  #bloom-module-01-nuit .bn-fact strong {
    margin-bottom: 4px;
    font-size: 16px;
    line-height: 1.15;
  }

  #bloom-module-01-nuit .bn-fact small {
    font-size: 10px;
    line-height: 1.45;
  }

  #bloom-module-01-nuit .bn-fact:last-child strong {
    max-width: 90px;
    margin-inline: auto;
  }

  #bloom-module-01-nuit .bn-process {
    padding: 16px 0;
  }

  #bloom-module-01-nuit .bn-process ol {
    gap: 10px;
  }

  #bloom-module-01-nuit .bn-process li {
    flex-direction: column;
    gap: 7px;
    text-align: center;
  }

  #bloom-module-01-nuit .bn-step-number {
    flex-basis: 32px;
    width: 32px;
    height: 32px;
    font-size: 20px;
  }

  #bloom-module-01-nuit .bn-step-title {
    font-size: 16px;
  }

  #bloom-module-01-nuit .bn-step-sub,
  #bloom-module-01-nuit .bn-step-arrow {
    display: none;
  }

  #bloom-module-01-nuit .bn-dialog {
    padding: 25px 22px;
  }

  #bloom-module-01-nuit .bn-dialog-title {
    font-size: 30px;
  }

  #bloom-module-01-nuit .bn-close {
    top: 14px;
    right: 14px;
  }
}

@media (max-width: 359px) {
  #bloom-module-01-nuit {
    --bn-gutter: 16px;
  }

  #bloom-module-01-nuit .bn-fact strong {
    font-size: 15px;
  }

}

@media (prefers-reduced-motion: reduce) {
  #bloom-module-01-nuit *,
  #bloom-module-01-nuit *::before,
  #bloom-module-01-nuit *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }

  #bloom-module-01-nuit .bn-button::after {
    display: none;
  }
}

/* Rubans intégrés à la version finale nocturne. */
#bloom-module-01-nuit .bn-ribbons{position:relative;z-index:2;isolation:isolate;width:100%;margin:0;padding:10px 0 2px;overflow:hidden;color:#fff6e8;background:linear-gradient(180deg,#151218,#100b1960 30%,#100b1955 75%,#151218);--ribbon-products-duration:60s;--ribbon-places-duration:110s}
#bloom-module-01-nuit .bn-ribbons__ribbons{position:relative;height:136px}
#bloom-module-01-nuit .bn-ribbons__ribbon{position:absolute;left:-40px;width:calc(100% + 80px);display:flex;align-items:center;overflow:hidden;transform-origin:center}
#bloom-module-01-nuit .bn-ribbons__ribbon--products{top:18px;z-index:2;min-height:52px;transform:rotate(-1.2deg);color:#fff1df;background:linear-gradient(105deg,#2d173c,#69347c 35%,#713a85 65%,#32203f);border-block:1px solid #d6a9de99;box-shadow:inset 0 1px 12px #d6a9de12,0 5px 18px #09060e66}
#bloom-module-01-nuit .bn-ribbons__ribbon--places{top:87px;z-index:1;min-height:36px;transform:rotate(.65deg);color:#fff8ea;background:linear-gradient(105deg,#111516,#15231f 48%,#141319);border-block:1px solid #e7c38477;box-shadow:0 4px 12px #08060d66}
#bloom-module-01-nuit .bn-ribbons__track{display:flex;flex:0 0 auto;align-items:center;width:max-content}
#bloom-module-01-nuit .bn-ribbons__track--products{animation:bn-ribbons-forward var(--ribbon-products-duration) linear infinite}
#bloom-module-01-nuit .bn-ribbons__track--places{animation:bn-ribbons-backward var(--ribbon-places-duration) linear infinite}
#bloom-module-01-nuit .bn-ribbons .bn-ribbons__list{display:flex;flex:0 0 auto;align-items:center;justify-content:space-around;width:max-content;min-width:100vw;gap:32px;margin:0;padding:0 16px;list-style:none}
#bloom-module-01-nuit .bn-ribbons .bn-ribbons__list li{display:inline-flex;flex:0 0 auto;align-items:center;gap:32px;margin:0;padding:0;list-style:none;white-space:nowrap}
#bloom-module-01-nuit .bn-ribbons__list li::before{content:"✦";color:#e7c384;font-style:normal;font-size:12px}
#bloom-module-01-nuit .bn-ribbons__ribbon--products .bn-ribbons__list li{font:italic 700 clamp(25px,2.1vw,32px)/1.3 "Times New Roman",Times,serif;text-shadow:0 2px 6px #0a061b55}
#bloom-module-01-nuit .bn-ribbons__ribbon--places .bn-ribbons__list li{font:600 13px/1.35 "Poppins",system-ui,sans-serif;letter-spacing:.01em}
@keyframes bn-ribbons-forward{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes bn-ribbons-backward{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(hover:hover) and (pointer:fine){#bloom-module-01-nuit .bn-ribbons__ribbons:hover .bn-ribbons__track{animation-play-state:paused}}
@media(min-width:1600px){#bloom-module-01-nuit .bn-ribbons__ribbon--products{transform:rotate(-.6deg)}#bloom-module-01-nuit .bn-ribbons__ribbon--places{transform:rotate(.35deg)}}
@media(max-width:600px){
 #bloom-module-01-nuit .bn-title{font-size:clamp(28px,8.6vw,40px)}
 #bloom-module-01-nuit .bn-ribbons{margin-top:0;padding-top:5px}
 #bloom-module-01-nuit .bn-ribbons__ribbons{height:109px}
 #bloom-module-01-nuit .bn-ribbons__ribbon{left:0;width:100%;transform:none}
 #bloom-module-01-nuit .bn-ribbons__ribbon--products{top:9px;min-height:48px;clip-path:polygon(0 5px,100% 0,100% calc(100% - 5px),0 100%)}
 #bloom-module-01-nuit .bn-ribbons__ribbon--places{top:71px;min-height:35px;clip-path:polygon(0 0,100% 5px,100% 100%,0 calc(100% - 5px))}
 #bloom-module-01-nuit .bn-ribbons .bn-ribbons__list{gap:23px;padding-inline:11.5px}
 #bloom-module-01-nuit .bn-ribbons .bn-ribbons__list li{gap:23px}
 #bloom-module-01-nuit .bn-ribbons__ribbon--products .bn-ribbons__list li{font-size:26px}
 #bloom-module-01-nuit .bn-ribbons__ribbon--places .bn-ribbons__list li{font-size:12px}
 #bloom-module-01-nuit .bn-ribbons__list li::before{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
 #bloom-module-01-nuit .bn-ribbons__ribbons{height:auto}
 #bloom-module-01-nuit .bn-ribbons__ribbon{position:relative;top:auto;left:0;width:100%;transform:none;clip-path:none;padding:13px 16px}
 #bloom-module-01-nuit .bn-ribbons__ribbon--places{margin-top:10px}
 #bloom-module-01-nuit .bn-ribbons__track{width:100%;transform:none}
 #bloom-module-01-nuit .bn-ribbons .bn-ribbons__list{width:100%;min-width:0;flex-wrap:wrap;justify-content:center;gap:10px 18px;padding:0}
 #bloom-module-01-nuit .bn-ribbons .bn-ribbons__list[aria-hidden="true"]{display:none}
 #bloom-module-01-nuit .bn-ribbons .bn-ribbons__list li{gap:10px}
 #bloom-module-01-nuit .bn-ribbons__ribbon--products .bn-ribbons__list li{font-size:22px}
}
@media print{#bloom-module-01-nuit .bn-ribbons{display:none}}
