/** Shopify CDN: Minification failed

Line 674:15 Expected identifier but found whitespace
Line 674:17 Unexpected "{"
Line 674:26 Expected ":"
Line 675:10 Expected identifier but found whitespace
Line 675:12 Unexpected "{"
Line 675:21 Expected ":"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:ocevia-product-reviews (INDEX:45) */
/* ===== Base ===== */
  .opr-section {
    color: #080c24;
    background: #f7eeee;
    padding: clamp(4rem, 7vw, 8rem) 2rem;
  }
  .opr-inner { width: min(1180px, 100%); margin: 0 auto; }

  .opr-heading {
    max-width: 760px;
    margin: 0 auto clamp(2.4rem, 5vw, 5rem);
    text-align: center;
  }
  .opr-eyebrow, .opr-form-card__eyebrow {
    margin: 0 0 1rem;
    color: #b76576;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.24em;
    text-transform: uppercase;
  }
  .opr-heading h2 {
    margin: 0;
    font-size: clamp(2.6rem, 4.6vw, 5.8rem);
    line-height: 0.98;
    font-weight: 800;
  }
  .opr-heading p:not(.opr-eyebrow),
  .opr-form-card > p:not(.opr-form-card__eyebrow) {
    max-width: 660px;
    margin: 1.4rem auto 0;
    color: rgba(8,12,36,0.64);
    font-size: 1.4rem;
    line-height: 1.65;
  }

  /* ===== Layout ===== */
  .opr-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(300px,0.42fr);
    grid-template-rows: auto auto;
    gap: 1.6rem;
    align-items: start;
  }
  .opr-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 1.6rem;
    grid-column: 1;
    grid-row: 1;
  }
  .opr-more-wrap {
    grid-column: 1;
    grid-row: 2;
  }
  .opr-form-card {
    grid-column: 2;
    grid-row: 1 / 3;
  }

  /* ===== Cards ===== */
  .opr-card, .opr-form-card {
    overflow: hidden;
    border: 1px solid rgba(8,12,36,0.08);
    border-radius: 8px;
    background: rgba(255,250,250,0.82);
    box-shadow: 0 14px 34px rgba(74,37,47,0.05);
  }

  /* --- Featured card (first, spans full width on desktop) --- */
  .opr-card--featured {
    grid-column: 1 / -1;
  }

  /* Desktop: first photo card — image left, text right */
  @media (min-width: 681px) {
    .opr-card--featured.opr-card--photo {
      display: grid;
      grid-template-columns: minmax(160px,0.48fr) minmax(0,1fr);
    }
    .opr-card--featured.opr-card--photo .opr-card__media {
      aspect-ratio: auto;
      min-height: 100%;
    }
    .opr-card--featured.opr-card--photo .opr-card__body {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: clamp(2.2rem, 3vw, 3.4rem);
    }
    .opr-card--featured.opr-card--photo .opr-card__title {
      font-size: clamp(2rem,2.4vw,2.8rem);
    }
    .opr-card--featured.opr-card--photo .opr-card__text {
      font-size: 1.38rem;
    }
    .opr-card--featured .opr-thread,
    .opr-card--featured .opr-comment {
      grid-column: 1 / -1;
    }
  }

  /* --- Photo card media --- */
  .opr-card__media {
    position: relative;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: linear-gradient(135deg, #f3dfe3, #fffafa);
  }
  .opr-card__media img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
  }

  /* --- Card body --- */
  .opr-card__body { padding: 1.8rem; }
  .opr-stars {
    display: inline-flex;
    gap: 0.18rem;
    color: rgba(8,12,36,0.18);
    font-size: 1.55rem;
    line-height: 1;
  }
  .opr-stars .is-filled { color: #d85f7d; }
  .opr-card__title {
    margin: 1rem 0 0.7rem;
    color: #080c24;
    font-size: 1.55rem;
    line-height: 1.2;
    font-weight: 800;
  }
  .opr-card__text {
    margin: 0;
    color: rgba(8,12,36,0.66);
    font-size: 1.24rem;
    line-height: 1.55;
  }
  .opr-card__date {
    margin: 0.8rem 0 0;
    font-size: 1.05rem;
    color: rgba(8,12,36,0.38);
  }
  .opr-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.4rem;
    padding-top: 1.2rem;
    border-top: 1px solid rgba(8,12,36,0.07);
  }
  .opr-card__footer strong,
  .opr-card__footer span { font-size: 1.15rem; }
  .opr-card__footer span { color: #b76576; font-weight: 800; }


  /* ===== Comments blog section ===== */
  .opr-comments {
    border-top: 1px solid rgba(8,12,36,0.07);
    padding: 1.2rem 1.6rem 1.4rem;
  }
  .opr-comments__count {
    font-size: 1.05rem;
    font-weight: 700;
    color: rgba(8,12,36,0.45);
    margin: 0 0 1rem;
    letter-spacing: 0.02em;
  }
  .opr-comments__list {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  /* Single comment entry */
  .opr-ce {
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(8,12,36,0.05);
  }
  .opr-ce:last-child { border-bottom: none; }
  .opr-ce__meta {
    display: flex;
    align-items: baseline;
    gap: 0.7rem;
    margin-bottom: 0.3rem;
  }
  .opr-ce__name {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1a1a1a;
  }
  .opr-ce__name--author {
    color: #8B2252;
  }
  .opr-ce__date {
    font-size: 0.95rem;
    color: rgba(8,12,36,0.38);
  }
  .opr-ce__text {
    margin: 0;
    font-size: 1.1rem;
    color: rgba(8,12,36,0.72);
    line-height: 1.5;
  }
  /* "See more" button */
  .opr-comments__more-btn {
    display: inline-block;
    margin-top: 0.8rem;
    background: none;
    border: none;
    padding: 0;
    font-size: 1.05rem;
    font-weight: 600;
    color: #8B2252;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  /* Add comment */
  .opr-comment-add {
    margin-top: 1.2rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(8,12,36,0.06);
  }
  .opr-comment-add__btn {
    background: none;
    border: 1px solid rgba(8,12,36,0.18);
    border-radius: 6px;
    padding: 6px 16px;
    font-size: 1.1rem;
    color: rgba(8,12,36,0.55);
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
  }
  .opr-comment-add__btn:hover {
    border-color: #8B2252;
    color: #8B2252;
  }
  .opr-comment-add__form {
    margin-top: 0.9rem;
    display: grid;
    gap: 0.7rem;
  }
  .opr-comment-add__form input,
  .opr-comment-add__form textarea {
    width: 100%;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(8,12,36,0.15);
    border-radius: 6px;
    background: #fff;
    color: #080c24;
    font: inherit;
    font-size: 1.1rem;
    resize: none;
  }
  .opr-comment-add__form button[type="submit"] {
    justify-self: start;
    padding: 0.65rem 1.8rem;
    border: 0;
    border-radius: 6px;
    background: #1a1a1a;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 700;
    cursor: pointer;
  }
  .opr-comment-add__success {
    font-size: 1.05rem;
    font-weight: 600;
    color: #080c24;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(139,34,82,0.25);
    border-radius: 6px;
    background: rgba(139,34,82,0.06);
    margin: 0;
  }

  /* ===== Placeholder ===== */
  .opr-card__placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    color: #b76576;
    background: linear-gradient(135deg, #fffafa, #f2dfe2);
  }
  .opr-card__placeholder span {
    display: grid;
    place-items: center;
    width: 6rem;
    height: 6rem;
    border-radius: 999px;
    background: #fff;
    font-size: 2.4rem;
    font-weight: 800;
  }

  /* ===== Form card ===== */
  .opr-form-card {
    position: sticky;
    top: 9rem;
    padding: clamp(2rem,3vw,2.8rem);
  }
  .opr-form-card h3 {
    margin: 0;
    color: #080c24;
    font-size: clamp(2.6rem,3vw,3.6rem);
    line-height: 1;
    font-weight: 800;
  }
  .opr-form {
    display: grid;
    grid-template-columns: 1fr 0.65fr;
    gap: 1.2rem;
    margin-top: 2rem;
  }
  .opr-form label {
    display: grid;
    gap: 0.7rem;
    color: #080c24;
    font-size: 1.15rem;
    font-weight: 800;
  }
  .opr-form__wide { grid-column: 1 / -1; }
  .opr-form input,
  .opr-form select,
  .opr-form textarea {
    width: 100%;
    min-height: 4.8rem;
    padding: 1.2rem 1.3rem;
    border: 1px solid rgba(8,12,36,0.18);
    border-radius: 8px;
    background: rgba(255,255,255,0.74);
    color: #080c24;
    font: inherit;
  }
  .opr-form textarea { resize: vertical; }
  .opr-form button {
    grid-column: 1 / -1;
    min-height: 5.2rem;
    border: 0;
    border-radius: 8px;
    background: #080c24;
    color: #fff;
    font-size: 1.35rem;
    font-weight: 800;
    cursor: pointer;
  }
  .opr-form__success {
    grid-column: 1 / -1;
    margin: 0;
    padding: 1.2rem 1.4rem;
    border: 1px solid rgba(183,101,118,0.3);
    border-radius: 8px;
    background: rgba(183,101,118,0.1);
    color: #080c24;
    font-size: 1.18rem;
    font-weight: 700;
    line-height: 1.45;
  }

  /* ===== See more reviews ===== */
  .opr-more-wrap {
    text-align: center;
  }
  .opr-more-btn {
    display: inline-block;
    padding: 0.85rem 2.4rem;
    background: none;
    border: 1.5px solid rgba(139,34,82,0.45);
    border-radius: 8px;
    font-size: 1.08rem;
    font-weight: 700;
    color: #8B2252;
    cursor: pointer;
    letter-spacing: 0.02em;
    transition: background 0.15s, color 0.15s;
  }
  .opr-more-btn:hover { background: #8B2252; color: #fff; }

  .opr-more-list[hidden] { display: none; }
  .opr-more-list {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    text-align: left;
  }
  .opr-mr {
    background: rgba(255,250,250,0.82);
    border: 1px solid rgba(8,12,36,0.07);
    border-radius: 8px;
    padding: 1rem 1.1rem 0.9rem;
    box-shadow: 0 4px 12px rgba(74,37,47,0.04);
  }
  .opr-mr-stars {
    color: #d85f7d;
    font-size: 0.95em;
    line-height: 1;
    margin-bottom: 0.5rem;
    letter-spacing: 0.05em;
  }
  .opr-mr-text {
    margin: 0 0 0.7rem;
    color: rgba(8,12,36,0.68);
    line-height: 1.45;
    font-size: 1em;
  }
  .opr-mr-footer {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    padding-top: 0.5rem;
    border-top: 1px solid rgba(8,12,36,0.06);
  }
  .opr-mr-footer strong { color: #1a1a1a; font-size: 0.95em; }
  .opr-mr-footer span { color: rgba(8,12,36,0.38); font-size: 0.85em; }
  .opr-mr-reply {
    margin-top: 0.5rem;
    padding: 0.4rem 0.6rem;
    background: rgba(8,12,36,0.03);
    border-left: 2px solid rgba(8,12,36,0.1);
    border-radius: 0 4px 4px 0;
    font-size: 0.9em;
  }
  .opr-mr-reply--author { border-left-color: #8B2252; }
  .opr-mr-reply__name {
    font-weight: 700;
    color: #1a1a1a;
    margin-right: 0.4rem;
  }
  .opr-mr-reply--author .opr-mr-reply__name { color: #8B2252; }
  .opr-mr-reply__date { color: rgba(8,12,36,0.35); font-size: 0.88em; }
  .opr-mr-reply p { margin: 0.2rem 0 0; color: rgba(8,12,36,0.65); line-height: 1.4; }

  @media (max-width: 780px) {
    .opr-more-list { grid-template-columns: repeat(2, 1fr); }
  }

  /* ===== Responsive ===== */
  @media (max-width: 990px) {
    .opr-layout { grid-template-columns: 1fr; grid-template-rows: auto; }
    .opr-grid, .opr-more-wrap, .opr-form-card { grid-column: 1; grid-row: auto; }
    .opr-form-card { position: static; }
  }

  @media (max-width: 680px) {
    .opr-section { padding: 3rem 1.2rem; }
    .opr-heading { text-align: left; margin-bottom: 1.8rem; }
    .opr-heading h2 { font-size: 2.2rem; }
    .opr-eyebrow { font-size: 0.85rem; }
    .opr-heading p:not(.opr-eyebrow),
    .opr-form-card > p:not(.opr-form-card__eyebrow) {
      font-size: 1.15rem;
      margin-top: 0.8rem;
    }
    .opr-grid, .opr-form { grid-template-columns: 1fr; gap: 1rem; }
    .opr-card { overflow: hidden; }
    .opr-card__body { padding: 1.1rem; }
    .opr-card__title { font-size: 1.25rem; margin: 0.6rem 0 0.4rem; }
    .opr-card__text { font-size: 1.05rem; line-height: 1.45; }
    .opr-card__footer { margin-top: 0.9rem; padding-top: 0.8rem; }
    .opr-card__footer strong,
    .opr-card__footer span { font-size: 1rem; }
    .opr-stars { font-size: 1.2rem; }
    .opr-comments { padding: 1rem 1.1rem 1.2rem; }

    /* Photos plus petites sur mobile */
    .opr-card__media {
      aspect-ratio: 4 / 3;
      max-height: 180px;
    }
  }
/* END_SECTION:ocevia-product-reviews */

/* START_SECTION:ocevia-testimonials-columns (INDEX:46) */
.oct-section {
    background: #f7eeee;
    color: #080c24;
    padding: clamp(5rem, 7vw, 8rem) 2rem 2rem;
    overflow: hidden;
  }

  .oct-inner {
    width: min(1120px, 100%);
    margin: 0 auto;
  }

  .oct-header {
    max-width: 620px;
    margin: 0 auto 3.6rem;
    text-align: center;
  }

  .oct-eyebrow {
    margin: 0 0 1rem;
    color: #b76576;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.24em;
    line-height: 1;
    text-transform: uppercase;
  }

  .oct-header h2 {
    margin: 0;
    font-size: clamp(3.2rem, 5vw, 5.8rem);
    line-height: 0.98;
    letter-spacing: 0;
    font-weight: 800;
  }

  .oct-header p:last-child {
    margin: 1.6rem auto 0;
    color: rgba(8, 12, 36, 0.64);
    font-size: 1.4rem;
    line-height: 1.6;
  }

  .oct-columns {
    display: flex;
    justify-content: center;
    gap: 1.6rem;
    max-height: 680px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
    mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
  }

  .oct-column {
    width: min(100%, 330px);
  }

  .oct-track {
    display: grid;
    gap: 1.6rem;
    padding-bottom: 1.6rem;
    animation: oct-scroll 18s linear infinite;
  }

  .oct-column--two .oct-track {
    animation-duration: 23s;
  }

  .oct-column--three .oct-track {
    animation-duration: 20s;
  }

  .oct-card {
    min-height: 220px;
    padding: 2rem;
    border: 1px solid rgba(8, 12, 36, 0.08);
    border-radius: 8px;
    background: rgba(255, 250, 250, 0.88);
    box-shadow: 0 14px 34px rgba(74, 37, 47, 0.06);
  }

  .oct-stars {
    color: #c95b78;
    font-size: 1.25rem;
    letter-spacing: 0.12em;
    line-height: 1;
  }

  .oct-card p {
    margin: 1.2rem 0 0;
    color: rgba(8, 12, 36, 0.72);
    font-size: 1.28rem;
    line-height: 1.6;
  }

  .oct-person {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1.8rem;
  }

  .oct-person > span {
    display: grid;
    place-items: center;
    width: 4rem;
    height: 4rem;
    flex: 0 0 auto;
    color: #fff;
    border-radius: 999px;
    background: linear-gradient(135deg, #b76576, #080c24);
    font-size: 1.15rem;
    font-weight: 800;
  }

  .oct-person strong,
  .oct-person small {
    display: block;
    line-height: 1.2;
  }

  .oct-person strong {
    font-size: 1.25rem;
  }

  .oct-person small {
    margin-top: 0.25rem;
    color: rgba(8, 12, 36, 0.56);
    font-size: 1.05rem;
  }

  @keyframes oct-scroll {
    to {
      transform: translateY(-50%);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .oct-track {
      animation: none;
    }
  }

  @media (max-width: 990px) {
    .oct-column--three {
      display: none;
    }
  }

  @media (max-width: 680px) {
    .oct-section {
      padding: 4.8rem 1.4rem 1rem;
    }

    .oct-header {
      text-align: left;
      margin-bottom: 2.8rem;
    }

    .oct-column--two,
    .oct-column--three {
      display: none;
    }

    .oct-columns {
      justify-content: flex-start;
      max-height: 590px;
    }

    .oct-column {
      width: 100%;
    }

    .oct-card {
      min-height: 190px;
      padding: 1.6rem;
    }
  }
/* END_SECTION:ocevia-testimonials-columns */

/* START_SECTION:ocevya-countdown-bar (INDEX:47) */
.ocevya-cbar {
    background: {{ section.settings.bg_color }};
    color: {{ section.settings.text_color }};
    padding: 0.9rem 1.5rem;
    text-align: center;
  }

  .ocevya-cbar__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.5rem;
    max-width: 900px;
    margin: 0 auto;
  }

  .ocevya-cbar__left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
  }

  .ocevya-cbar__label {
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    line-height: 1;
  }

  .ocevya-cbar__sub {
    font-size: 0.8rem;
    opacity: 0.85;
    letter-spacing: 0.03em;
    line-height: 1;
  }

  .ocevya-cbar__timer {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
  }

  .ocevya-cbar__unit {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
  }

  .ocevya-cbar__num {
    font-size: 2.1rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.02em;
    min-width: 2.2ch;
    display: inline-block;
    text-align: center;
  }

  .ocevya-cbar__unit-label {
    font-size: 0.52rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    opacity: 0.65;
  }

  .ocevya-cbar__sep {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    margin-top: 0.15rem;
    opacity: 0.55;
  }

  @media (max-width: 600px) {
    .ocevya-cbar__inner { flex-direction: row; gap: 1rem; align-items: center; }
    .ocevya-cbar__left { align-items: flex-start; }
    .ocevya-cbar__num { font-size: 1.75rem; }
    .ocevya-cbar__sep { font-size: 1.4rem; }
  }
/* END_SECTION:ocevya-countdown-bar */

/* START_SECTION:ocevya-formula (INDEX:48) */
.ocf-section {
    color: #080c24;
    background: #f7eeee;
    padding: clamp(5rem, 8vw, 8.5rem) 2rem;
  }

  .ocf-inner {
    width: min(1120px, 100%);
    margin: 0 auto;
  }

  .ocf-intro {
    max-width: 760px;
    margin: 0 auto clamp(3rem, 5vw, 5rem);
    text-align: center;
  }

  .ocf-intro__eyebrow,
  .ocf-kicker {
    margin: 0 0 1rem;
    color: #b76576;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.24em;
    line-height: 1;
    text-transform: uppercase;
  }

  .ocf-intro__title {
    margin: 0;
    font-size: clamp(3rem, 4.6vw, 5.8rem);
    line-height: 0.98;
    letter-spacing: 0;
    font-weight: 800;
  }

  .ocf-intro__sub {
    max-width: 650px;
    margin: 1.8rem auto 0;
    color: rgba(8, 12, 36, 0.64);
    font-size: 1.45rem;
    line-height: 1.65;
  }

  .ocf-featured {
    display: grid;
    grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr);
    align-items: center;
    gap: clamp(2rem, 4vw, 5rem);
    min-height: 320px;
    margin-bottom: 1.6rem;
    padding: clamp(2.2rem, 4vw, 4.2rem);
    overflow: hidden;
    border: 1px solid rgba(183, 101, 118, 0.22);
    border-radius: 8px;
    background: linear-gradient(135deg, #fffafa 0%, #f2dfe2 100%);
    box-shadow: 0 18px 50px rgba(96, 41, 54, 0.08);
  }

  .ocf-featured__media {
    display: grid;
    place-items: center;
    min-height: 260px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.48);
  }

  .ocf-featured__media img {
    width: min(70%, 230px);
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 18px 18px rgba(42, 82, 36, 0.18));
  }

  .ocf-featured__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.6rem;
    margin-bottom: 1.6rem;
  }

  .ocf-featured__heading h3 {
    margin: 0;
    font-size: clamp(2.8rem, 4vw, 4.8rem);
    line-height: 1;
    letter-spacing: 0;
    font-weight: 800;
  }

  .ocf-featured__heading span {
    flex: 0 0 auto;
    padding: 0.75rem 1rem;
    color: #fff;
    border-radius: 999px;
    background: #b76576;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1;
  }

  .ocf-featured__content p:not(.ocf-kicker) {
    max-width: 690px;
    margin: 0;
    color: rgba(8, 12, 36, 0.7);
    font-size: 1.45rem;
    line-height: 1.65;
  }

  .ocf-featured__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 2rem;
  }

  .ocf-featured__chips span {
    padding: 0.75rem 1rem;
    border: 1px solid rgba(183, 101, 118, 0.2);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.58);
    color: rgba(8, 12, 36, 0.72);
    font-size: 1.18rem;
    font-weight: 700;
    line-height: 1;
  }

  .ocf-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.6rem;
  }

  .ocf-card {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 1.5rem;
    min-height: 210px;
    padding: 1.8rem;
    border: 1px solid rgba(8, 12, 36, 0.08);
    border-radius: 8px;
    background: rgba(255, 250, 250, 0.76);
    box-shadow: 0 14px 34px rgba(74, 37, 47, 0.05);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
  }

  .ocf-card:hover {
    transform: translateY(-4px);
    border-color: rgba(183, 101, 118, 0.28);
    box-shadow: 0 18px 42px rgba(74, 37, 47, 0.1);
  }

  .ocf-card__media {
    display: grid;
    place-items: center;
    height: 112px;
    border-radius: 8px;
    background: #fff;
  }

  .ocf-card__media img {
    max-width: 86px;
    max-height: 96px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 10px 10px rgba(42, 82, 36, 0.12));
  }

  .ocf-card__media--botanical span,
  .ocf-card__media--rose span {
    width: 58px;
    height: 76px;
    border-radius: 999px 999px 18px 18px;
    background:
      radial-gradient(circle at 50% 18%, #e996aa 0 13px, transparent 14px),
      linear-gradient(150deg, #5f9a6a 0 26%, #2f6d4e 27% 45%, transparent 46%),
      linear-gradient(25deg, transparent 0 46%, #7cbd7a 47% 68%, transparent 69%),
      linear-gradient(#bbd88a, #6c995b);
  }

  .ocf-card__media--rose span {
    background:
      radial-gradient(circle at 50% 20%, #d85f7d 0 14px, transparent 15px),
      linear-gradient(150deg, #78ad67 0 28%, transparent 29%),
      linear-gradient(25deg, transparent 0 44%, #8abc75 45% 65%, transparent 66%),
      linear-gradient(#f2b4c2, #d85f7d);
  }

  .ocf-card__body {
    align-self: center;
  }

  .ocf-card__pct {
    display: inline-flex;
    margin-bottom: 0.9rem;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    background: rgba(183, 101, 118, 0.11);
    color: #b76576;
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1;
  }

  .ocf-card h3 {
    margin: 0 0 0.7rem;
    font-size: 1.45rem;
    line-height: 1.12;
    letter-spacing: 0;
    font-weight: 800;
  }

  .ocf-card p {
    margin: 0;
    color: rgba(8, 12, 36, 0.63);
    font-size: 1.2rem;
    line-height: 1.55;
  }

  .ocf-faq {
    display: grid;
    grid-template-columns: minmax(220px, 0.45fr) minmax(0, 1fr);
    gap: clamp(2rem, 4vw, 5rem);
    align-items: start;
    margin-top: clamp(4rem, 6vw, 6.5rem);
    padding-top: clamp(3rem, 5vw, 5rem);
    border-top: 1px solid rgba(183, 101, 118, 0.18);
  }

  .ocf-faq__header {
    position: sticky;
    top: 9rem;
  }

  .ocf-faq__header h2 {
    margin: 0;
    max-width: 360px;
    font-size: clamp(3rem, 4vw, 4.8rem);
    line-height: 0.98;
    letter-spacing: 0;
    font-weight: 800;
  }

  .ocf-faq__list {
    display: grid;
    gap: 1rem;
  }

  .ocf-faq__item {
    border: 1px solid rgba(8, 12, 36, 0.08);
    border-radius: 8px;
    background: rgba(255, 250, 250, 0.82);
    box-shadow: 0 14px 34px rgba(74, 37, 47, 0.04);
    overflow: hidden;
  }

  .ocf-faq__item summary {
    position: relative;
    display: block;
    padding: 1.8rem 5.2rem 1.8rem 2rem;
    color: #080c24;
    font-size: 1.45rem;
    line-height: 1.25;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
  }

  .ocf-faq__item summary::-webkit-details-marker {
    display: none;
  }

  .ocf-faq__item summary::after {
    content: '+';
    position: absolute;
    top: 50%;
    right: 2rem;
    display: grid;
    place-items: center;
    width: 2.6rem;
    height: 2.6rem;
    color: #b76576;
    border: 1px solid rgba(183, 101, 118, 0.22);
    border-radius: 999px;
    background: rgba(183, 101, 118, 0.08);
    font-size: 1.8rem;
    line-height: 1;
    transform: translateY(-50%);
  }

  .ocf-faq__item[open] summary::after {
    content: '-';
  }

  .ocf-faq__item div {
    padding: 0 2rem 1.9rem;
  }

  .ocf-faq__item p {
    margin: 0;
    color: rgba(8, 12, 36, 0.64);
    font-size: 1.28rem;
    line-height: 1.65;
  }

  @media (max-width: 990px) {
    .ocf-featured,
    .ocf-grid {
      grid-template-columns: 1fr 1fr;
    }

    .ocf-card {
      grid-template-columns: 96px minmax(0, 1fr);
    }

    .ocf-grid .ocf-card:last-child {
      grid-column: span 2;
    }
  }

  @media (max-width: 680px) {
    .ocf-section {
      padding: 4.8rem 1.4rem;
    }

    .ocf-intro {
      text-align: left;
      margin-bottom: 2.6rem;
    }

    .ocf-intro__title {
      font-size: clamp(3rem, 12vw, 4.4rem);
    }

    .ocf-intro__sub,
    .ocf-featured__content p:not(.ocf-kicker) {
      font-size: 1.32rem;
    }

    .ocf-featured,
    .ocf-grid,
    .ocf-faq {
      grid-template-columns: 1fr;
      gap: 2rem;
    }

    .ocf-faq__header {
      position: static;
    }

    .ocf-faq__header h2 {
      max-width: none;
    }

    .ocf-featured {
      padding: 1.6rem;
    }

    .ocf-featured__media {
      min-height: 210px;
    }

    .ocf-featured__heading {
      display: grid;
      gap: 1rem;
    }

    .ocf-featured__heading h3 {
      font-size: 3rem;
    }

    .ocf-grid .ocf-card:last-child {
      grid-column: auto;
    }

    .ocf-card {
      grid-template-columns: 88px minmax(0, 1fr);
      min-height: auto;
      padding: 1.4rem;
    }

    .ocf-card__media {
      height: 88px;
    }

    .ocf-card__media img {
      max-width: 70px;
      max-height: 78px;
    }

    .ocf-faq__item summary {
      padding: 1.55rem 4.8rem 1.55rem 1.5rem;
      font-size: 1.28rem;
    }

    .ocf-faq__item div {
      padding: 0 1.5rem 1.55rem;
    }
  }
/* END_SECTION:ocevya-formula */

/* START_SECTION:ocevya-photo-strip (INDEX:49) */
.ocevya-pstrip-wrap {
    padding: 3rem 0 1rem;
  }

  /* Header */
  .ocevya-pstrip-header {
    text-align: center;
    margin-bottom: 2rem;
    padding: 0 1.5rem;
  }

  .ocevya-pstrip-header__stars {
    color: #f0c040;
    font-size: 2.2rem;
    letter-spacing: 0.1em;
    line-height: 1;
    margin-bottom: 0.6rem;
  }

  .ocevya-pstrip-header__title {
    font-size: 2.6rem;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 0.5rem;
    line-height: 1.2;
  }

  .ocevya-pstrip-header__title span {
    color: #8B2252;
  }

  .ocevya-pstrip-header__sub {
    font-size: 1.4rem;
    color: #555;
    margin: 0;
  }

  @media screen and (max-width: 749px) {
    .ocevya-pstrip-header__title { font-size: 2rem; }
    .ocevya-pstrip-header__sub { font-size: 1.25rem; }
  }

  /* Photo strip */
  .ocevya-pstrip {
    overflow: hidden;
    width: 100%;
    padding: 0.4rem 0 1.6rem;
  }

  .ocevya-pstrip__track {
    display: flex;
    gap: 1rem;
    width: max-content;
    animation: ocevya-pstrip-scroll 42s linear infinite;
    will-change: transform;
  }

  @keyframes ocevya-pstrip-scroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
  }

  .ocevya-pstrip__item {
    flex: 0 0 auto;
    width: 12rem;
    height: 15.5rem;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09);
  }

  .ocevya-pstrip__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
  }

  @media screen and (max-width: 749px) {
    .ocevya-pstrip__item {
      width: 10rem;
      height: 13rem;
    }
    .ocevya-pstrip__track {
      gap: 0.75rem;
      animation-duration: 34s;
    }
  }
/* END_SECTION:ocevya-photo-strip */

/* START_SECTION:zoom-parallax (INDEX:58) */
.zp-header {
    position: absolute; top: 0; left: 0; right: 0;
    z-index: 10; text-align: center;
    padding: 3rem 2rem 1.5rem; pointer-events: none;
  }
  .zp-header__eyebrow {
    display: block; font-size: 0.65rem; letter-spacing: 0.4em;
    text-transform: uppercase; opacity: 0.5; margin: 0 0 0.75rem;
  }
  .zp-header__title {
    font-size: clamp(1.6rem, 3.5vw, 2.6rem); font-weight: 300;
    letter-spacing: 0.04em; margin: 0 0 0.75rem; line-height: 1.2;
  }
  .zp-header__sub { font-size: 0.9rem; opacity: 0.55; margin: 0; line-height: 1.7; }

  .zp-container { position: relative; height: 300vh; }

  .zp-sticky { position: sticky; top: 0; height: 100vh; overflow: hidden; }

  .zp-item {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    --zp-scale-end: 1;
    will-change: transform; transform-origin: center center;
  }

  .zp-inner { position: relative; flex-shrink: 0; overflow: visible; }
  .zp-inner img { width: 100%; height: 100%; object-fit: contain; display: block; image-rendering: auto; }

  /* Corps bouteille — flex-centré dans .zp-item */
  .zp-inner--serum {
    z-index: 2;
    width: 32vw;
    height: 76.8vh;
  }

  /*
    Pipette positionnée absolument dans .zp-item (100vw × 100vh).
    Bouteille : 20vw × 48vh centrée → goulot (haut bouteille) = 50vh - 24vh = 26vh du haut.
    Image serum-pipette.png : bouchon = top 40% de l'image, tube = bottom 60%.
    Pipette container 36vh : bouchon occupe ~14vh, tube ~22vh.
    On veut bouchon bottom = 26vh → pipette top = 26vh - 14vh = 12vh du haut.
    Tube (12→34vh) est DERRIÈRE la bouteille (26→74vh) → caché naturellement.
  */
  .zp-pipette {
    position: absolute;
    z-index: 1;
    width: 3vw;
    height: 22.5vh;
    top: 41.8vh;
    left: calc(50% - 1.5vw);
    transform-origin: 50% 0%;
    will-change: transform;
  }
  .zp-pipette img { width: 100%; height: 100%; object-fit: contain; display: block; }

  .zp-bouchon {
    position: absolute;
    z-index: 3;
    width: 6.6vw;
    height: 13.2vh;
    top: 31.8vh;
    left: calc(50% - 3.3vw);
    transform-origin: 50% 74%;
    will-change: transform;
  }
  .zp-bouchon img { width: 100%; height: 100%; object-fit: contain; display: block; }

  /* Ingrédients */
  .zp-inner--1 {
    width: 80vw;
    height: 100vh;
    top: -90vh;
    left: 70vw;
  }
  .zp-inner--2 {
    width: 100vw;
    height: 120vh;
    top: -80vh;
    left: -90vw;
  }
  .zp-inner--3 {
    width: 85vw;
    height: 90vh;
    left: 100vw;
    top: 20vh;
  }
  .zp-inner--4 {
    width: 108vw;
    height: 108vh;
    top: 120vh;
    left: 96vw;
  }
  .zp-inner--5 {
    width: 120vw;
    height: 96vh;
    top: 120vh;
    left: -108vw;
  }

  .zp-lbl {
    position: absolute; bottom: 0; left: 0;
    background: rgba(255,255,255,0.92);
    font-size: clamp(0.85rem, 1.6vw, 1.25rem);
    letter-spacing: 0.12em; text-transform: uppercase;
    padding: 0.55rem 1.2rem; color: #1c1c1c;
    white-space: nowrap; font-weight: 500;
    transform: scale(var(--zp-scale-end));
    transform-origin: left bottom;
  }

  @media (max-width: 768px) {
    .zp-inner--serum  {
      width: 70.4vw;
      height: 64vh;
    }
    .zp-inner--serum .zp-lbl {
      bottom: 17vh;
      left: 10vw;
    }
    .zp-inner--1      {
      width: 150vw;
      height: 80vh;
      top: -70vh;
      left: 90vw;
    }
    .zp-inner--2      {
      width: 170vw;
      height: 90vh;
      top: -60vh;
      left: -110vw;
    }
    .zp-inner--3      {
      width: 150vw;
      height: 75vh;
      left: 110vw;
      top: 15vh;
    }
    .zp-inner--3 .zp-lbl {
      left: 32vw;
      transform: translateX(7vw) scale(var(--zp-scale-end));
    }
    .zp-inner--4      {
      width: 192vw;
      height: 90vh;
      top: 96vh;
      left: 96vw;
    }
    .zp-inner--5      {
      width: 204vw;
      height: 84vh;
      top: 96vh;
      left: -120vw;
    }
    .zp-pipette {
      width: 5.7vw;
      height: 16.2vh;
      top: 41.8vh;
      left: calc(50% - 2.85vw);
    }
    .zp-bouchon {
      width: 12.4vw;
      height: 9.3vh;
      top: 38.1vh;
      left: calc(50% - 6.2vw);
      transform-origin: 50% 39.8%;
    }
  }
/* END_SECTION:zoom-parallax */