/** Shopify CDN: Minification failed

Line 40:0 Unexpected "{"
Line 40:1 Expected identifier but found "%"
Line 40:54 Expected identifier but found "%"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:byob-bundle-info (INDEX:7) */
.byob-text-center {
  text-align: center;
}
.byob-text-left {
  text-align: left;
}
.byob-text-right {
  text-align: right;
}
/* Whole */
.medium-up--one-whole {
    width: 100%;
}
/* Halves */
.medium-up--one-half {
	width: 50%;
}
/* Thirds */
.medium-up--one-third {
	width: 33.33333%;
}
.medium-up--two-thirds {
    width: 66.66667%;
}
.byob-content-center {
  margin: 0 auto;
}
{%- comment %}Set top banner to full width for mobile{% endcomment -%}
@media screen and (max-width: 600px) {
.medium-up--one-half {
	width: 100%;
}
/* Thirds */
.medium-up--one-third {
	width: 100%;
}
.medium-up--two-thirds {
    width: 100%;
}
.byob-bundle-description {
    line-height: normal;
}
}
/* END_SECTION:byob-bundle-info */

/* START_SECTION:yodi-cadeau-offert (INDEX:91) */
.ycg {
    padding: var(--ycg-pt) 0 var(--ycg-pb);
    font-family: 'Poppins', sans-serif;
  }

  .ycg__frame {
    padding: var(--ycg-frame);
    background: var(--ycg-frame-bg) center / cover no-repeat;
  }

  .ycg__card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: var(--ycg-min-h);
    max-width: 1440px;
    margin: 0 auto;
    background: var(--ycg-card-bg);
    color: var(--ycg-text);
  }

  .ycg--img-left .ycg__media { order: -1; }

  .ycg__media {
    position: relative;
    overflow: hidden;
  }

  .ycg__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .ycg__placeholder { background: #f3f3f1; }

  .ycg__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: var(--ycg-inner);
  }

  .ycg--align-center .ycg__content {
    align-items: center;
    text-align: center;
  }

  .ycg__eyebrow {
    margin: 0 0 16px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .2em;
    text-transform: uppercase;
    opacity: .7;
  }

  .ycg .ycg__title {
    margin: 0 0 32px;
    font-family: var(--ycg-title-font);
    font-weight: var(--ycg-title-weight);
    font-size: var(--ycg-h-d);
    line-height: 1.15;
    letter-spacing: .01em;
    color: var(--ycg-text);
  }

  .ycg--caps .ycg__title { text-transform: uppercase; }

  .ycg__text {
    max-width: 46ch;
    margin-bottom: 40px;
    font-size: var(--ycg-txt);
    line-height: 1.7;
  }

  .ycg__text p { margin: 0 0 .8em; }
  .ycg__text p:last-child { margin-bottom: 0; }
  .ycg__text a { color: inherit; text-decoration: underline; }

  .ycg__btn {
    display: inline-block;
    padding: 15px 36px;
    border: 1px solid var(--ycg-btn-bg);
    border-radius: 0;
    background: var(--ycg-btn-bg);
    color: var(--ycg-btn-text);
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .25s, color .25s;
  }

  .ycg__btn:hover {
    background: transparent;
    color: var(--ycg-btn-bg);
  }

  .ycg__note {
    margin-top: 32px;
    font-size: 11px;
    line-height: 1.5;
    opacity: .7;
  }

  .ycg__note p { margin: 0; }

  @media (max-width: 749px) {
    .ycg__frame { padding: var(--ycg-frame-my) var(--ycg-frame-mx); }

    .ycg__card {
      grid-template-columns: 1fr;
      min-height: 0;
    }

    .ycg__media {
      order: -1;
      aspect-ratio: var(--ycg-ratio-m);
    }

    .ycg__content { padding: 32px 20px 40px; }

    .ycg .ycg__title {
      margin-bottom: 20px;
      font-size: var(--ycg-h-m);
    }

    .ycg__text { margin-bottom: 28px; }
  }
/* END_SECTION:yodi-cadeau-offert */

/* START_SECTION:yodi-cadeaux-budget (INDEX:92) */
/* Échelle commune : titres en serif, tout le reste en Poppins 11 à 14px */
  .ycb {
    padding: var(--ycb-pt) 0 var(--ycb-pb);
    font-family: 'Poppins', sans-serif;
    color: var(--ycb-ink);
  }

  .ycb__inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
  }

  .ycb__inner--full { max-width: none; padding: 0; }

  .ycb__sr {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  /* En-tête */
  .ycb__head {
    margin: 0 auto 40px;
    padding: 0 20px;
    text-align: center;
  }

  .ycb .ycb__heading {
    margin: 0;
    font-family: var(--ycb-font);
    font-weight: var(--ycb-weight);
    font-size: var(--ycb-h);
    line-height: 1.15;
    letter-spacing: .02em;
    color: var(--ycb-ink);
  }

  .ycb__intro {
    max-width: 52ch;
    margin: 12px auto 0;
    font-size: 14px;
    line-height: 1.6;
  }

  .ycb__intro p { margin: 0; }

  /* Piste : grille qui passe à la ligne, ou carrousel */
  .ycb__track {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ycb-gap);
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .ycb__item {
    flex: 0 0 calc((100% - (var(--ycb-cols) - 1) * var(--ycb-gap)) / var(--ycb-cols));
    min-width: 0;
    scroll-snap-align: start;
  }

  .ycb--slider-d .ycb__track {
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .ycb__track::-webkit-scrollbar { display: none; }

  /* Carte */
  .ycb__card { position: relative; height: 100%; }

  .ycb__media {
    position: relative;
    aspect-ratio: var(--ycb-ratio);
    overflow: hidden;
    background: #f3f3f1;
  }

  .ycb__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s ease;
  }

  .ycb__card:hover .ycb__img { transform: scale(1.03); }

  /* Alignement : sur-titre sur une ligne, titre sur une hauteur fixe,
     pour que budgets et boutons tombent au même niveau sur toutes les cartes */
  .ycb__eyebrow {
    margin: 0 0 8px;
    overflow: hidden;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .16em;
    text-transform: uppercase;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .ycb .ycb__title {
    min-height: calc(var(--ycb-lines) * 1.1em);
    margin: 0 0 18px;
    font-family: var(--ycb-font);
    font-weight: var(--ycb-weight);
    font-size: var(--ycb-t);
    line-height: 1.1;
    letter-spacing: .02em;
    color: inherit;
  }

  .ycb--caps .ycb__heading,
  .ycb--caps .ycb__title { text-transform: uppercase; }

  /* Bouton carré ; toute la carte est cliquable */
  .ycb__btn {
    display: inline-block;
    padding: 11px 26px;
    border: 1px solid currentColor;
    border-radius: 0;
    color: inherit;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .25s, color .25s, border-color .25s;
  }

  .ycb__btn::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
  }

  .ycb__btn--ghost { visibility: hidden; }

  .ycb__btn--hidden {
    position: absolute;
    inset: 0;
    padding: 0;
    border: 0;
    font-size: 0;
  }

  /* Style 1 : texte sur la photo, voile en bas pour la lisibilité */
  .ycb--overlay .ycb__card {
    display: grid;
    color: var(--ycb-on-photo);
  }

  .ycb--overlay .ycb__media,
  .ycb--overlay .ycb__body { grid-area: 1 / 1; }

  .ycb--overlay .ycb__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to top,
      rgba(0, 0, 0, var(--ycb-shade)) 0%,
      rgba(0, 0, 0, calc(var(--ycb-shade) * .55)) 30%,
      rgba(0, 0, 0, 0) 60%
    );
  }

  .ycb--overlay .ycb__body {
    z-index: 1;
    align-self: end;
    padding: 28px;
    text-shadow: 0 1px 14px rgba(0, 0, 0, .3);
  }

  .ycb--overlay .ycb__card:hover .ycb__btn {
    background: var(--ycb-on-photo);
    border-color: var(--ycb-on-photo);
    color: var(--ycb-ink);
    text-shadow: none;
  }

  /* Style 2 : texte sous la photo, idéal pour les photos chargées */
  .ycb--below .ycb__body { padding: 20px 0 4px; }

  .ycb--below .ycb__card:hover .ycb__btn {
    background: var(--ycb-ink);
    border-color: var(--ycb-ink);
    color: #fff;
  }

  /* Flèches */
  .ycb__nav {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
  }

  .ycb__nav[hidden] { display: none; }

  .ycb__arrow {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--ycb-ink);
    border-radius: 0;
    background: transparent;
    color: var(--ycb-ink);
    cursor: pointer;
    transition: background .25s, color .25s, opacity .25s;
  }

  .ycb__arrow:hover:not(:disabled) { background: var(--ycb-ink); color: #fff; }
  .ycb__arrow:disabled { opacity: .3; cursor: default; }

  /* Bouton « toute la sélection » */
  .ycb__cta-wrap {
    display: flex;
    justify-content: center;
    margin-top: 40px;
    padding: 0 20px;
  }

  .ycb__cta {
    display: inline-block;
    min-width: 280px;
    padding: 15px 40px;
    border: 1px solid var(--ycb-ink);
    border-radius: 0;
    background: var(--ycb-ink);
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .16em;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .25s, color .25s;
  }

  .ycb__cta:hover,
  .ycb__cta:focus-visible {
    background: transparent;
    color: var(--ycb-ink);
  }

  /* Mobile */
  @media (max-width: 749px) {
    .ycb__inner { padding: 0; }
    .ycb__head { margin-bottom: 24px; }
    .ycb .ycb__heading { font-size: var(--ycb-h-m); }

    .ycb__track {
      flex-wrap: nowrap;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
      padding: 0 20px;
      scroll-padding-inline: 20px;
    }

    .ycb__item { flex-basis: var(--ycb-w-m); }

    .ycb--stack-m .ycb__track {
      flex-direction: column;
      overflow: visible;
    }

    .ycb--stack-m .ycb__item { flex-basis: auto; }

    .ycb--overlay .ycb__body { padding: 22px 20px; }
    .ycb .ycb__title { margin-bottom: 14px; font-size: var(--ycb-t-m); }
    .ycb__eyebrow { font-size: 11px; }

    .ycb__cta-wrap { margin-top: 28px; }
    .ycb__cta { width: 100%; min-width: 0; }
  }
/* END_SECTION:yodi-cadeaux-budget */

/* START_SECTION:yodi-pourquoi-offrir (INDEX:123) */
.ypo {
    padding: var(--ypo-pt) 20px var(--ypo-pb);
    background: var(--ypo-bg);
    color: var(--ypo-ink);
    font-family: 'Poppins', sans-serif;
    text-align: center;
  }

  .ypo__inner {
    max-width: 1200px;
    margin: 0 auto;
  }

  .ypo .ypo__heading {
    margin: 0;
    font-family: var(--ypo-font);
    font-weight: var(--ypo-weight);
    font-size: var(--ypo-h);
    line-height: 1.15;
    letter-spacing: .02em;
    color: var(--ypo-ink);
  }

  .ypo--caps .ypo__heading { text-transform: uppercase; }

  .ypo__sub {
    margin: 10px 0 0;
    font-size: 14px;
    opacity: .8;
  }

  .ypo__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 40px;
    margin: 48px 0 0;
    padding: 0;
    list-style: none;
  }

  .ypo__icon {
    display: block;
    width: var(--ypo-icon);
    height: var(--ypo-icon);
    margin: 0 auto 16px;
    color: var(--ypo-ink);
  }

  .ypo__icon svg { display: block; width: 100%; height: 100%; }

  .ypo .ypo__title {
    margin: 0 0 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--ypo-ink);
  }

  .ypo__text {
    max-width: 30ch;
    margin: 0 auto;
    font-size: 13px;
    line-height: 1.6;
    opacity: .85;
  }

  @media (max-width: 749px) {
    .ypo .ypo__heading { font-size: var(--ypo-h-m); }
    .ypo__list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 32px 20px;
      margin-top: 32px;
    }
    .ypo__text { font-size: 12px; }
    .ypo__icon { width: calc(var(--ypo-icon) * .85); height: calc(var(--ypo-icon) * .85); margin-bottom: 12px; }
  }
/* END_SECTION:yodi-pourquoi-offrir */