/** Shopify CDN: Minification failed

Line 1656:2 Unexpected "{"
Line 1656:3 Expected identifier but found "%"
Line 1657:69 Expected identifier but found whitespace
Line 1661:82 Unterminated string token
Line 1662:79 Unterminated string token
Line 1663:21 Unterminated string token
Line 1664:3 Expected identifier but found "%"
Line 1666:2 Unexpected "{"
Line 1666:3 Expected identifier but found "%"
Line 1667:40 Unexpected "("
... and 14 more hidden warnings

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:announcement-bar (INDEX:0) */
.announcement-bar {
    width: 100%;
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
  }

  .announcement-bar__content {
    width: 100%;
  }

  .announcement-bar__content .splide__arrow {
    background: transparent;
    border: none;

    .icon {
      font-size: 20px !important;
    }
  }
/* END_SECTION:announcement-bar */

/* START_SECTION:blog-featured (INDEX:1) */
.blog-featured {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .blog-featured__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .blog-featured__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .blog-featured__grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:blog-featured */

/* START_SECTION:breadcrumbs (INDEX:2) */
.breadcrumbs {
    padding-top: var(--padding-md);
    padding-bottom: var(--padding-md);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .breadcrumbs__list {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--gap-xs);
  }

  .breadcrumbs__item {
    display: flex;
    font-size: var(--font-body--size);
    flex-direction: row;
    align-items: center;
    gap: var(--gap-xs);
  }

  .breadcrumbs__item:not(:last-child):after {
    content: '';
    display: inline-block;
    position: relative;
    vertical-align: middle;
  }

  .breadcrumbs--triangle .breadcrumbs__item:not(:last-child):after {
    border-style: solid;
    border-width: 0.1em 0.1em 0 0;
    height: 0.35em;
    width: 0.35em;
    transform: rotate(45deg);
  }

  .breadcrumbs--slash .breadcrumbs__item:not(:last-child):after {
    content: '/';
  }

  .breadcrumbs__link {
    cursor: pointer;
    display: inline-block;
    border: none;
    box-shadow: none;
    text-decoration: none;
    text-underline-offset: 0.3rem;
    transition: var(--animation-link-hover);
  }

  .breadcrumbs__link:hover {
    opacity: var(--opacity-link-hover);
  }
/* END_SECTION:breadcrumbs */

/* START_SECTION:cart-drawer (INDEX:3) */
:root {
    --cart-item-image-width: 80px;
  }

  cart-drawer {
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100%;
    display: flex;
    justify-content: flex-end;
    background: rgba(var(--color-shadow));
    opacity: 0;
    visibility: hidden;
    -webkit-backdrop-filter: brightness(1);
    backdrop-filter: brightness(1);
    transition: opacity var(--animation-speed) var(--animation-easing), visibility var(--animation-speed) var(--animation-easing);
  }

  cart-drawer.is-open {
    opacity: 1;
    visibility: visible;
    -webkit-backdrop-filter: brightness(0.75);
    backdrop-filter: brightness(0.75);
    transition: opacity var(--animation-speed) var(--animation-easing), visibility var(--animation-speed) var(--animation-easing),
      -webkit-backdrop-filter var(--animation-speed) var(--animation-easing), backdrop-filter var(--animation-speed) var(--animation-easing);
  }

  cart-drawer.is-open .cart-drawer__inner {
    animation: modalSlideInRight var(--animation-speed) var(--animation-easing) forwards;
  }

  cart-drawer.is-closing .cart-drawer__inner {
    animation: modalSlideOutRight var(--animation-speed) var(--animation-easing) forwards;
  }

  .cart-drawer__inner {
    height: 100%;
    width: var(--cart-drawer-width);
    max-width: calc(100vw - 30px);
    padding: 0 var(--padding-md);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    background-color: var(--color-background);
    color: var(--color-foreground);
    box-shadow: var(--modal-shadow);
  }

  @media (width <= 750px) {
    .cart-drawer__inner.cart-drawer--full-width-on-mobile {
      width: 100%;
      max-width: 100%;
    }
  }

  @media (width <= 350px) {
    .cart-drawer__inner {
      width: 100%;
    }
  }

  .cart-drawer .splide:not(.is-overflow) .splide__pagination {
    display: flex;
  }

  .cart-drawer .slider-block--with-pagination {
    padding-bottom: var(--margin-md);
  }

  .cart-drawer .splide__pagination {
    bottom: calc(-1 * var(--margin-md));
  }

  .cart-drawer--floating {
    margin: 15px;
    height: calc(100% - 30px);
  }

  .cart-drawer--rounded.card {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  .cart-drawer__inner-empty {
    height: 100%;
    padding: 0 var(--padding-sm);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--gap-lg);
  }

  .cart-drawer__inner-empty > p {
    text-align: center;
  }

  .cart-drawer__inner-empty .cart-drawer__close {
    right: var(--padding-sm);
    position: absolute;
    top: var(--padding-sm);
  }

  @media screen and (max-width: 350px) {
    .cart-drawer__inner {
      max-width: calc(100vw - 10px);
    }

    .cart-drawer--floating {
      margin: 5px;
      height: calc(100% - 10px);
    }
  }

  /* Cart Drawer Empty State */

  .cart-drawer--empty .cart-drawer__header,
  .cart-drawer--empty .cart-drawer__body,
  .cart-drawer--empty .cart-drawer__footer {
    display: none;
  }

  cart-drawer:not(.cart-drawer--empty) .cart-drawer__inner-empty {
    display: none;
  }

  /* Cart Drawer Header */

  .cart-drawer__header {
    position: relative;
    padding: var(--padding-md);
    border-bottom: var(--separator-border-width) solid var(--color-border);
    margin-left: calc(-1 * var(--padding-md));
    width: calc(100% + (2 * var(--padding-md)));
  }

  .cart-drawer__header_title {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .cart-drawer__header h2 {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 5px;
    color: rgb(var(--color-foreground));
  }

  .cart-drawer__close {
    display: inline-block;
    padding: 0;
    color: rgb(var(--color-foreground));
    background-color: transparent;
    border: none;
    cursor: pointer;
    height: 24px;
  }

  /* Cart Drawer Content */

  .cart-drawer__items {
    display: flex;
    flex-direction: column;
  }

  .cart-drawer__items--disabled {
    pointer-events: none;
  }

  /* Cart Drawer Footer */

  .cart-drawer__footer {
    border-top: var(--separator-border-width) solid var(--color-border);
    padding: var(--padding-md);
    position: sticky;
    bottom: 0;
    background-color: var(--color-background);
    width: calc(100% + (2 * var(--padding-md)));
    margin-left: calc(-1 * var(--padding-md));
  }

  .cart-drawer__footer > *:not(:last-child) {
    margin-bottom: var(--padding-sm);
  }

  .cart-drawer__footer .accordion__header {
    padding: 0;
  }

  .cart-drawer__footer .accordion__content {
    padding: var(--padding-sm) 0;
  }

  /* Totals */

  .cart-drawer__totals,
  .cart-drawer__reductions {
    display: flex;
    justify-content: center;
    align-items: center;
    justify-content: space-between;
  }

  .cart-drawer__totals > * {
    color: rgb(var(--color-foreground));
    margin: 0;
    line-height: 1;
  }

  .cart-drawer__reductions p,
  .cart-drawer__totals p {
    font-weight: 500;
    margin: 0;
    line-height: normal;
  }

  .cart-drawer__reductions p,
  .cart-drawer__totals p,
  .cart-drawer__reductions-value,
  .cart-drawer__totals-value {
    font-size: var(--font-body--size-emphasized);
  }

  /* CTAs */

  .cart-drawer__ctas {
    text-align: center;
    display: flex;
    gap: 10px;
  }

  .cart-drawer__ctas button {
    width: 100%;
  }

  /* Items */

  .cart-drawer__body {
    overflow-y: auto;
    overflow-x: hidden;
    flex: 1;
    padding-right: calc(var(--padding-sm) / 2);
    margin-right: calc(-1 * (var(--padding-sm) / 2));
    padding-top: var(--padding-md);
  }

  .cart-item__error {
    display: flex;
    align-items: flex-start;
    width: min-content;
    min-width: 100%;
  }

  .cart-drawer__body::-webkit-scrollbar {
    width: 3px;
  }

  /* Item */

  .cart-drawer__item {
    background-color: var(--color-background);
    color: var(--color-foreground);
    margin-bottom: var(--margin-lg);
    display: flex;
    gap: var(--gap-sm);
    align-items: flex-start;
    max-width: 100%;
  }

  .cart-drawer__item--loading {
    opacity: 0.5;
    pointer-events: none;
  }

  .cart-drawer__item:last-child {
    margin-bottom: var(--padding-sm);
  }

  .cart-drawer__item > a {
    display: flex;
    align-items: center;
  }

  .cart-drawer__item img {
    width: var(--cart-item-image-width);
    object-fit: cover;
    background-color: white;
    max-width: fit-content;
    border-radius: calc(var(--card-border-radius) - var(--padding-sm));
  }

  .cart-drawer__item.card {
    padding: var(--padding-sm);

    img {
      border-radius: calc(var(--card-border-radius) - var(--padding-sm));
    }
  }

  .cart-drawer__item-options,
  .cart-drawer__item-options p {
    line-height: normal;
    font-size: var(--font-body--size-small);
    word-break: break-word;
    color: rgba(var(--color-foreground), 0.8);
  }

  .cart-drawer__item-options .cart-drawer__item-option:not(:last-child) {
    margin-bottom: var(--padding-xs);
  }

  .cart-drawer__item-option {
    margin: 0;
  }

  .cart-drawer__item-content {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: 5px;
  }

  .cart-drawer__item-wrapper {
    display: flex;
    justify-content: space-between;
    width: 100%;
    min-height: var(--cart-item-image-width);
    gap: var(--gap-sm);
  }

  .cart-drawer__item-name {
    text-decoration: none;
    display: block;
    width: calc(100% + 60px);
    font-size: var(--font-body--size);
    color: rgb(var(--color-foreground));
    font-weight: 500;
    line-height: normal;
    margin-bottom: 0;
    transition: var(--animation-link-hover);

    &:hover {
      opacity: var(--opacity-link-hover);
    }
  }

  .cart-drawer__item-prices {
    position: relative;
    width: 100%;
  }

  .cart-drawer__item-prices.loading {
    width: max-content;
  }

  .cart-drawer__item-price {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
    flex-wrap: wrap;
    font-size: var(--font-body--size-small);
    color: rgb(var(--color-foreground));
  }

  .cart-drawer__item-price > * {
    display: block;
    margin: 0;
    padding: 0;
    line-height: normal;
  }

  .cart-drawer__item-discounted-prices {
    display: flex;
    align-self: center;
    gap: 6px;
    line-height: normal;
  }

  .cart-drawer__item-compare-price {
    opacity: 0.7;
  }

  .cart-drawer__item--no-remove-button .cart-drawer__item-actions-wrapper {
    justify-content: flex-end;
  }

  .cart-drawer__item--no-remove-button .cart-drawer__item-name {
    width: calc(100% + var(--cart-item-image-width));
  }

  @media screen and (max-width: 350px) {
    .cart-drawer__item--no-remove-button .cart-drawer__item-name {
      width: calc(100% + 75px);
    }
  }

  @media screen and (max-width: 350px) {
    .cart-drawer__item img {
      width: var(--cart-item-image-width);
      max-height: calc(var(--cart-item-image-width) * 1.2);
    }

    .cart-drawer__item-content {
      gap: 5px;
    }

    .cart-drawer__item-wrapper {
      min-height: calc(var(--cart-item-image-width) * 1.2);
    }
    .cart-drawer__item-name {
      width: calc(100% + 50px);
    }

    .cart-drawer__item-prices {
      width: 100%;
    }
  }

  /* Quantity & Remove Button */

  .cart-drawer__item-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .cart-drawer__item-actions-wrapper {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-direction: column;
    height: 100%;
    gap: 5px;
  }

  @media screen and (max-width: 749px) {
    .cart-drawer__item-actions-wrapper {
      flex-wrap: wrap;
    }
  }

  /* Discounts */

  .cart-drawer__discounts {
    margin-bottom: 0;
  }

  .cart-drawer__discount {
    margin-bottom: var(--padding-sm);
  }

  .cart-drawer__item-discounts,
  .cart-drawer__discounts {
    font-size: 12px;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }

  .cart-drawer__item-discount,
  .cart-drawer__discount {
    min-width: max-content;
    gap: var(--gap-xs);
  }

  .cart-drawer__item-discount .icon {
    font-size: 14px !important;
  }

  .icon-discount {
    color: rgb(var(--color-foreground));
    width: 12px;
    height: 12px;
    margin-right: 7px;
  }

  .cart-drawer__item-discount span {
    max-width: 70px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  @media screen and (max-width: 750px) {
    .cart-drawer__discounts {
      overflow: scroll;
      flex-wrap: nowrap;
    }

    .cart-drawer__discounts::-webkit-scrollbar {
      height: 3px;
    }
  }
/* END_SECTION:cart-drawer */

/* START_SECTION:cart (INDEX:4) */
.cart {
    display: block;
  }

  .cart__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  :root {
    --cart-item-image-width: 85px;
  }

  .cart__empty {
    border: var(--container-border-width) solid var(--color-border);
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--gap-sm);
  }

  .cart {
    padding-bottom: 3rem;
  }

  .cart__header {
    padding: var(--gap-md) 0;
  }

  .cart__form {
    display: grid;
    grid-template-columns: 100%;
    gap: var(--gap-md);
  }

  .cart__form--loading {
    opacity: 0.5;
    pointer-events: none;
  }

  @media (width > 750px) {
    .cart__header {
      padding: var(--gap-lg) 0;
    }

    .cart__form {
      grid-template-columns: 60% calc(40% - var(--gap-lg));
      gap: var(--gap-lg);
    }
  }

  .cart__items {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .cart__footer {
    height: fit-content;
  }

  .cart__footer > *:not(:last-child) {
    margin-bottom: var(--padding-sm);
  }

  .cart__footer .accordion__content,
  .cart__footer .accordion__header {
    padding: var(--padding-xxs) 0;
  }

  /* Totals */

  .cart__totals,
  .cart__reductions {
    display: flex;
    justify-content: center;
    align-items: center;
    justify-content: space-between;
  }

  .cart__totals > * {
    color: rgb(var(--color-foreground));
    margin: 0;
    line-height: 1;
  }

  .cart__reductions p,
  .cart__totals p {
    font-weight: 500;
    margin: 0;
    line-height: normal;
  }

  .cart__reductions p,
  .cart__totals p,
  .cart__reductions-value,
  .cart__totals-value {
    font-size: var(--font-body--size-emphasized);
  }

  /* CTAs */

  .cart__ctas {
    text-align: center;
    display: flex;
    gap: 10px;
    margin-bottom: 0;
  }

  .cart__ctas button {
    width: 100%;
  }

  /* Item */

  .cart__item {
    background-color: var(--color-background);
    color: var(--color-foreground);
    display: flex;
    gap: var(--gap-sm);
    align-items: flex-start;
    max-width: 100%;
  }

  .cart__item > a {
    display: flex;
    align-items: center;
  }

  .cart__item img {
    width: var(--cart-item-image-width);
    object-fit: cover;
    background-color: white;
    max-width: fit-content;
    border-radius: calc(var(--card-border-radius) - var(--padding-sm));
  }

  .cart__item.card {
    padding: var(--padding-sm);

    img {
      border-radius: calc(var(--card-border-radius) - var(--padding-sm));
    }
  }

  .cart__item-options {
    line-height: normal;
    font-size: var(--font-body--size-small);
    word-break: break-word;
    color: rgba(var(--color-foreground), 0.8);
  }

  .cart__item-options .cart__item-option:not(:last-child) {
    margin-bottom: var(--padding-xs);
  }

  .cart__item-option {
    margin: 0;
  }

  .cart__item-content {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: 5px;
  }

  .cart__item-wrapper {
    display: flex;
    justify-content: space-between;
    width: 100%;
    min-height: var(--cart-item-image-width);
    gap: var(--gap-sm);
  }

  .cart__item-name {
    text-decoration: none;
    display: block;
    width: calc(100% + 60px);
    font-size: var(--font-body--size);
    color: rgb(var(--color-foreground));
    font-weight: 500;
    line-height: normal;
    margin-bottom: 0;
    transition: var(--animation-link-hover);

    &:hover {
      opacity: var(--opacity-link-hover);
    }
  }

  .cart__item-prices {
    position: relative;
    width: 100%;
  }

  .cart__item-prices.loading {
    width: max-content;
  }

  .cart__item-price {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
    flex-wrap: wrap;
    font-size: var(--font-body--size-small);
    color: rgb(var(--color-foreground));
  }

  .cart__item-price > * {
    display: block;
    margin: 0;
    padding: 0;
    line-height: normal;
  }

  .cart__item-discounted-prices {
    display: flex;
    align-self: center;
    gap: 6px;
    line-height: normal;
  }

  .cart__item-compare-price {
    opacity: 0.7;
  }

  .cart__item--no-remove-button .cart__item-actions-wrapper {
    justify-content: flex-end;
  }

  .cart__item--no-remove-button .cart__item-name {
    width: calc(100% + var(--cart-item-image-width));
  }

  @media screen and (max-width: 350px) {
    .cart__item--no-remove-button .cart__item-name {
      width: calc(100% + 75px);
    }
  }

  @media screen and (max-width: 350px) {
    .cart__item img {
      width: var(--cart-item-image-width);
      max-height: calc(var(--cart-item-image-width) * 1.2);
    }

    .cart__item-content {
      gap: 5px;
    }

    .cart__item-wrapper {
      min-height: calc(var(--cart-item-image-width) * 1.2);
    }
    .cart__item-name {
      width: calc(100% + 50px);
    }

    .cart__item-prices {
      width: 100%;
    }
  }

  /* Quantity & Remove Button */

  .cart__item-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .cart__item-actions-wrapper {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-direction: column;
    height: 100%;
    gap: 5px;
  }

  .cart__item-actions-wrapper .button,
  .cart__item-actions-wrapper .quantity-selector {
    border: var(--inputs-border-width) solid var(--color-border);
  }

  @media screen and (max-width: 749px) {
    .cart__item-actions-wrapper {
      flex-wrap: wrap;
    }
  }

  /* Discounts */

  .cart__discounts {
    margin-bottom: 0;
  }

  .cart__discount {
    margin-bottom: var(--padding-sm);
  }

  .cart__item-discounts,
  .cart__discounts {
    font-size: 12px;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }

  .cart__item-discount,
  .cart__discount {
    min-width: max-content;
    gap: var(--gap-xs);
  }

  .icon-discount {
    color: rgb(var(--color-foreground));
    width: 12px;
    height: 12px;
    margin-right: 7px;
  }

  /* .cart__item-discount span {
  max-width: 70px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
} */

  @media screen and (max-width: 750px) {
    .cart__discounts {
      overflow: scroll;
      flex-wrap: nowrap;
    }

    .cart__discounts::-webkit-scrollbar {
      height: 3px;
    }
  }
/* END_SECTION:cart */

/* START_SECTION:collection-featured (INDEX:5) */
.collection-featured {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .collection-featured .splide__arrow {
    display: none !important;
  }

  .collection-featured__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .collection-featured__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .collection-featured__grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:collection-featured */

/* START_SECTION:collections-featured (INDEX:6) */
.collections-featured {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .collections-featured__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .collections-featured__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .collections-featured__grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:collections-featured */

/* START_SECTION:comparison-table (INDEX:7) */
.comparison-table {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .comparison-table__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .comparison-table__table-wrapper {
    overflow-x: auto;
  }

  .comparison-table__table {
    border-collapse: collapse;
    width: 100%;
    background-color: transparent;
    /* table-layout: fixed; */
  }
/* END_SECTION:comparison-table */

/* START_SECTION:custom-code (INDEX:8) */
.custom-code-section {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }
/* END_SECTION:custom-code */

/* START_SECTION:custom-section (INDEX:9) */
.section-custom-section {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }

  .section-custom-section .text-block[data-visual-preview-mode] {
    max-width: 100%;
  }

  .section-custom-section .image-card[data-visual-preview-mode] {
    width: 100%;
  }

  .custom-section {
    width: 100%;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    justify-content: center;
  }

  .custom-section .custom-section__inner {
    gap: var(--gap-mobile);
    width: 100%;
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .custom-section--flex .custom-section__inner {
    display: flex;
    flex-direction: var(--direction-mobile);
    flex-wrap: var(--wrap-mobile);
    justify-content: var(--justify-mobile);
    align-items: var(--align_items-mobile);
    height: 100%;
  }

  .custom-section:not(.custom-section--row-mobile) > div > .custom-section__inner > .text-block-center-mobile,
  .custom-section:not(.custom-section--row-mobile) > .custom-section__inner > .text-block-center-mobile {
    width: 100%;
  }

  .custom-section--grid .custom-section__inner {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    grid-template-rows: auto;
  }

  @media (width > 750px) {
    .custom-section .custom-section__inner {
      gap: var(--gap);
    }

    .custom-section--flex .custom-section__inner {
      flex-direction: var(--direction);
      flex-wrap: var(--wrap);
      justify-content: var(--justify);
      align-items: var(--align_items);
      height: auto;
    }

    .custom-section:not(.custom-section--row-desktop) > div > .custom-section__inner > .text-block-center-desktop,
    .custom-section:not(.custom-section--row-desktop) > .custom-section__inner > .text-block-center-desktop,
    .custom-section:not(.custom-section--row-desktop) > div > .custom-section__inner > .text-block-right-desktop,
    .custom-section:not(.custom-section--row-desktop) > .custom-section__inner > .text-block-right-desktop {
      width: 100%;
    }

    .custom-section--grid .custom-section__inner {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:custom-section */

/* START_SECTION:demo-design-system (INDEX:10) */
.highlights {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 1.5rem;
  }

  @media (width <= 1000px) {
    .highlights {
      grid-template-columns: 1fr;
    }
  }

  .highlight {
    display: flex;
    flex-direction: column;
  }

  .highlight > * + * {
    margin-top: 1rem;
  }

  .highlight-container {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
  }
/* END_SECTION:demo-design-system */

/* START_SECTION:footer (INDEX:11) */
.footer-section {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }

  .footer {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    margin-top: var(--margin-top);
  }

  .footer--top-border {
    border-top: var(--separator-border-width) solid var(--color-border);
  }

  .footer__content {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    grid-template-rows: auto;
    gap: var(--gap-mobile);
    width: 100%;
  }

  .footer--flex .footer__content {
    display: flex;
    flex-direction: var(--direction-mobile);
    flex-wrap: var(--wrap-mobile);
    justify-content: var(--justify-mobile);
    align-items: var(--align_items-mobile);
  }

  .footer--grid .footer__content {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    grid-template-rows: auto;
  }

  @media (width > 750px) {
    .footer__content {
      gap: var(--gap);
    }

    .footer--flex .footer__content {
      flex-direction: var(--direction);
      flex-wrap: var(--wrap);
      justify-content: var(--justify);
      align-items: var(--align_items);
    }

    .footer--grid .footer__content {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:footer */

/* START_SECTION:header (INDEX:12) */
.shopify-section-group-header-group {
    overflow: visible;
  }

  .section-header {
    position: relative;
  }

  header-component {
    display: flex;
    justify-content: center;
  }

  /* Header transparent */

  .section-header:has(.header--transparent):not(:has(.header--sticky)) {
    z-index: 3;
  }

  .header--transparent {
    margin-bottom: -100%;
  }

  .header--transparent[data-sticky-state='inactive']:not(:has(.header__menu-item--megamenu[data-open='true'])) {
    background-color: transparent;

    .header__layout {
      background-color: transparent;
      color: inherit;
      border-bottom: none;
    }

    .localization-form__language-select {
      background-color: transparent;
      color: inherit;
    }

    .header__logo-image--transparent {
      display: block;
    }

    &:has(.header__logo-image--transparent) .header__logo-image {
      display: none;
    }
  }

  .header__logo {
    display: flex;
    align-items: center;
  }

  .header__logo-image,
  .header__logo-image--transparent {
    height: var(--logo-height-mobile);
    width: var(--logo-width-mobile);
  }

  @media (width > 1000px) {
    .header__logo-image,
    .header__logo-image--transparent {
      height: var(--logo-height);
      width: var(--logo-width);
    }
  }

  .header__logo-image--transparent {
    display: none;
  }

  .header__logo-name {
    text-transform: uppercase;
    font-weight: bold;
  }

  .header__menu {
    display: flex;
    align-items: center;
    gap: 1rem;
  }

  .header__menu-mobile {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: flex-start;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: inherit;
  }

  header-component:not(:has(.header__mobile-menu-overlay)) .header__menu-mobile {
    display: none;
  }

  @media (width > 1000px) {
    .header__menu-mobile {
      display: none;
    }

    .search-popup-mobile {
      display: none;
    }
  }

  .header__menu a,
  .header__menu-mobile {
    transition: var(--animation-link-hover);
  }

  .header__menu a:hover,
  .header__menu-mobile:hover {
    opacity: var(--opacity-link-hover);
  }

  .header__menu a:not(.button) {
    text-decoration: none;
    color: inherit;
  }

  .header__menu a {
    font-size: var(--font-body--size);
  }

  /* Mise en page des headers */

  .header__layout {
    border-bottom: var(--separator-border-width) solid var(--color-border);
  }

  .header__layout-desktop {
    display: none;
  }

  .header__layout-mobile {
    display: flex;
    width: 100%;
    max-width: var(--page-width);
    padding: 0 var(--page-margin-mobile);
  }

  @media (width > 1000px) {
    .header__layout-desktop {
      display: flex;
      width: 100%;
    }

    .header__layout-mobile {
      display: none;
    }
  }

  .header__layout--logo-center,
  .header__layout--logo-left,
  .header__layout--logo-left-menu-left,
  .header__layout--logo-center-with-two-menus,
  .header__layout--logo-center-above-menu__logo-and-icons,
  .header__layout--logo-left-above-menu__logo-and-icons {
    height: var(--header-height);
  }

  .header__layout--logo-center,
  .header__layout--logo-left,
  .header__layout--logo-left-menu-left,
  .header__layout--logo-center-with-two-menus,
  .header__layout--logo-center-above-menu,
  .header__layout--logo-left-above-menu {
    width: 100%;
  }

  .header__layout--logo-center,
  .header__layout--logo-left,
  .header__layout--logo-left-menu-left,
  .header__layout--logo-center-with-two-menus {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1.5rem;
  }

  .header__layout--logo-left-menu-left {
    grid-template-columns: auto auto 1fr;
  }

  .header__layout--logo-center {
    .header__menu-desktop {
      justify-content: flex-start;
    }

    .header__logo {
      justify-content: center;
    }

    .header__actions {
      justify-content: flex-end;
    }
  }

  .header__layout--logo-left {
    .header__logo {
      justify-content: flex-start;
    }

    .header__menu-desktop {
      justify-content: center;
    }

    .header__actions {
      justify-content: flex-end;
    }
  }

  .header__layout--logo-left-menu-left {
    .header__logo {
      justify-content: flex-start;
    }

    .header__menu-desktop {
      justify-content: flex-start;
    }

    .header__actions {
      justify-content: flex-end;
    }
  }

  .header__layout--logo-center-above-menu {
    .header__layout--logo-center-above-menu__logo-and-icons {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      gap: 1.5rem;
      align-items: center;

      .header__logo {
        grid-column: 2;
        justify-content: center;
      }

      .header__actions {
        grid-column: 3;
        justify-content: flex-end;
      }
    }

    .header__menu-desktop {
      justify-content: center;
      width: 100%;
    }
  }

  .header__layout--logo-left-above-menu {
    .header__layout--logo-left-above-menu__logo-and-icons {
      display: grid;
      grid-template-columns: auto auto;

      .header__logo {
        grid-column: 1;
        justify-content: flex-start;
      }

      .header__actions {
        grid-column: 2;
        justify-content: flex-end;
      }
    }
  }

  .header__layout--logo-center-above-menu__menu,
  .header__layout--logo-left-above-menu__menu {
    padding-bottom: 1rem;
  }

  .header__layout--logo-center-above-menu__menu,
  .header__layout--logo-left-above-menu__menu:not(:has(.button)) {
    height: 2rem;
  }

  .header__layout--logo-center-with-two-menus {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1.5rem;

    .header__layout--logo-center-with-two-menus__logo-and-menus {
      grid-column: 2;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      gap: 2rem;

      & > .header__menu:first-of-type {
        justify-content: flex-end;
      }
    }

    .header__actions {
      grid-column: 3;
      justify-content: flex-end;
    }
  }

  .header__icon-count-bubble {
    position: absolute;
    bottom: -6px;
    right: -6px;
    border-radius: 10px;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
  }

  .header__icon-count-bubble-inner {
    background-color: var(--color-primary-button-background);
    color: var(--color-primary-button-text);
    width: 14px;
    height: 14px;
    font-size: 0.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 0.6rem;
  }

  .header__icon-count-bubble--long {
    width: 30px;
    right: -50%;
  }

  header-component:not(.header--transparent) .header__icon-count-bubble,
  .header--transparent[data-sticky-state='active'] .header__icon-count-bubble,
  .header--transparent[data-sticky-state='inactive']:has(.header__menu-item--megamenu[data-open='true']) .header__icon-count-bubble {
    background-color: var(--color-background);
  }
/* END_SECTION:header */

/* START_SECTION:image-banner (INDEX:13) */
.image-banner-wrapper {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .image-banner-wrapper__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .image-banner-wrapper--children-cards .image-banner {
    border-radius: var(--card-border-radius);
  }

  .image-banner-wrapper .splide__arrow {
    background-color: transparent;
    border: none;

    .icon {
      color: white;
    }
  }

  .image-banner-wrapper .splide__pagination {
    bottom: 5px;

    .splide__pagination__page,
    .splide__pagination__page.is-active {
      background: white;
    }
  }
/* END_SECTION:image-banner */

/* START_SECTION:lonamy-announcement (INDEX:14) */
.lnm-ann {
    --lnm-bg: var(--color-background);
    --lnm-fg: var(--color-foreground);
    /* Filet des cases du minuteur et du séparateur d'étiquette. Dérivé de la
       couleur de TEXTE de la barre, calculé en Liquid quand les couleurs sont
       forcées : un `rgb(from …)` ou un `color-mix()` serait purement ignoré par
       un navigateur qui ne les connaît pas, et le filet disparaîtrait sans
       bruit. Ici le repli couvre le cas « couleurs du thème ». */
    --lnm-line: rgb(var(--color-foreground-rgb, 42 36 32) / 0.24);
    position: relative;
    background: var(--lnm-bg);
    color: var(--lnm-fg);
    font-family: var(--font-body--family);
    font-size: var(--lnm-fs-m, 13px);
    font-weight: var(--lnm-fw, 500);
    letter-spacing: var(--lnm-ls, 0.5px);
    line-height: 1.3;
  }
  .lnm-ann[hidden] { display: none; }
  .lnm-ann--font-heading { font-family: var(--font-h2--family); }
  /* L'étiquette garde la police de labeur : la serif de la marque, en petites
     capitales espacées, devient illisible à cette taille. Son corps est aussi
     ramené de 0,8 à 0,7 em : la serif demande un texte plus grand pour tenir la
     ligne, et sans cela l'étiquette grossissait avec lui. */
  .lnm-ann--font-heading .lnm-ann__badge { font-family: var(--font-body--family); font-size: 0.7em; }
  /* En serif, la graisse ne suffit plus à détacher le chiffre : la ligne entière
     bascule sur la coupe grasse et le <strong> se fond dedans. On lui rend son
     relief par la couleur d'accent, celle de l'étiquette. */
  .lnm-ann--font-heading .lnm-ann__text strong,
  .lnm-ann--font-heading .lnm-ann__text b { color: var(--lnm-accent, currentColor); }
  .lnm-ann--case-upper .lnm-ann__text { text-transform: uppercase; }
  .lnm-ann--bordered { border-bottom: 1px solid var(--lnm-border, currentColor); }

  .lnm-ann__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding-block: var(--lnm-pt-m, 10px) var(--lnm-pb-m, 10px);
    padding-inline: 1.25rem;
    max-width: 100%;
    margin-inline: auto;
  }
  .lnm-ann--w-page .lnm-ann__inner { max-width: 120rem; padding-inline: max(1.25rem, var(--page-margin, 2.5rem)); }
  .lnm-ann--has-arrows .lnm-ann__inner { padding-inline: 2.75rem; }

  /* Centrage réel du message.
     POURQUOI : en simple flex, le bouton « J'en profite » occupe la droite et pousse le
     message vers la gauche — le message n'était donc pas centré dans la barre, alors que
     le groupe l'était. Trois colonnes 1fr / auto / 1fr : la colonne du milieu tombe
     exactement au centre quoi qu'il y ait à droite, et le bouton reste collé à droite.
     Réservé au cas sans flèches de navigation, qui ajouteraient d'autres colonnes. */
  .lnm-ann:not(.lnm-ann--has-arrows) .lnm-ann__inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    column-gap: 0.5rem;
  }
  {%- comment -%}
    Les trois zones sont posées sur LA MÊME rangée, explicitement. Sans
    `grid-row: 1`, la grille place le minuteur — qui demande la colonne 1 alors
    que le message occupe déjà la colonne 2 — sur une deuxième rangée : la barre
    passait de 48 à 96 px dès que le compte à rebours était allumé.
    Le bouton est ciblé par son conteneur `.lnm-ann__actions` : c'est lui qui est
    l'enfant de la grille, `.lnm-ann__cta` est un cran plus bas et la règle ne
    l'atteignait pas.
  {%- endcomment -%}
  .lnm-ann:not(.lnm-ann--has-arrows) .lnm-ann__viewport { grid-column: 2; grid-row: 1; justify-self: center; }
  {%- comment -%}
    Les colonnes latérales sont larges (1fr), mais leur contenu se colle au
    message : le minuteur se termine juste avant lui, le bouton commence juste
    après. La barre lit alors UN groupe centré, et non trois objets jetés aux
    deux bords. Le message, lui, reste calé sur l'axe de la barre : d'une
    annonce à l'autre, rien ne se déplace.
  {%- endcomment -%}
  .lnm-ann:not(.lnm-ann--has-arrows) .lnm-ann__count { grid-column: 1; grid-row: 1; justify-self: end; }
  .lnm-ann:not(.lnm-ann--has-arrows) .lnm-ann__actions { grid-column: 3; grid-row: 1; justify-self: start; }
  .lnm-ann:not(.lnm-ann--has-arrows) .lnm-ann__cta { justify-self: start; }

  .lnm-ann__viewport { position: relative; overflow: hidden; flex: 0 1 auto; min-width: 0; }
  .lnm-ann__track { list-style: none; margin: 0; padding: 0; display: grid; }
  .lnm-ann__item {
    grid-area: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--lnm-gap, 8px);
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.45s ease, transform 0.45s ease;
    white-space: normal;
    text-wrap: balance;
  }
  .lnm-ann__item[data-active] { opacity: 1; visibility: visible; }

  .lnm-ann--slide .lnm-ann__item { transform: translateY(0.6em); }
  .lnm-ann--slide .lnm-ann__item[data-active] { transform: translateY(0); }

  .lnm-ann__icon { display: inline-flex; flex: none; color: var(--lnm-accent, currentColor); }
  .lnm-ann__icon svg { width: 1.15em; height: 1.15em; display: block; }
  .lnm-ann__text { display: inline-block; }
  /* Par défaut la version courte n'existe pas : c'est le palier mobile qui
     l'échange. Déclaré ici, hors media query, pour qu'aucun navigateur ne
     puisse afficher les deux textes à la suite. */
  .lnm-ann__text--m { display: none; }
  .lnm-ann__text strong, .lnm-ann__text b { font-weight: 700; }
  .lnm-ann--accent-bold .lnm-ann__text strong,
  .lnm-ann--accent-bold .lnm-ann__text b { color: var(--lnm-accent, currentColor); }
  .lnm-ann__badge {
    flex: none;
    position: relative;
    display: inline-flex;
    align-items: center;
    background: var(--lnm-badge-bg, #B85C38);
    color: var(--lnm-badge-fg, #FFFFFF);
    border-radius: var(--lnm-badge-radius, 2px);
    padding: 0.34em 0.72em;
    font-size: 0.8em;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .lnm-ann--badge-pill .lnm-ann__badge { border-radius: 999px; padding-inline: 0.85em; }
  .lnm-ann--badge-tag .lnm-ann__badge {
    border-radius: 0;
    padding-left: 1.35em;
    clip-path: polygon(0.62em 0, 100% 0, 100% 100%, 0.62em 100%, 0 50%);
  }
  .lnm-ann--badge-tag .lnm-ann__badge::before {
    content: '';
    position: absolute;
    left: 0.72em;
    top: 50%;
    width: 0.28em;
    height: 0.28em;
    border-radius: 50%;
    background: var(--lnm-bg, #E4DCCF);
    transform: translateY(-50%);
  }
  .lnm-ann__text em { font-style: italic; }
  .lnm-ann__mark { display: inline-flex; align-items: center; }
  /* Emoji système : on le laisse dans sa police couleur, jamais en capitales ni espacé. */
  .lnm-ann__emoji { font-size: 1.05em; line-height: 1; letter-spacing: 0; text-transform: none;
    margin-inline-end: 0.18em;
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; }
  .lnm-ann__badge--normal { text-transform: none; letter-spacing: 0.02em; }
  .lnm-ann__mark svg { width: 1em; height: 1em; display: block; }
  .lnm-ann__link { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: var(--lnm-gap, 8px); }
  .lnm-ann__link:hover .lnm-ann__text { text-decoration: underline; text-underline-offset: 0.25em; }

  .lnm-ann__nav, .lnm-ann__close {
    appearance: none; background: none; border: 0; padding: 0.25rem;
    color: inherit; cursor: pointer; display: inline-flex; flex: none;
    opacity: 0.55; transition: opacity 0.2s ease;
  }
  .lnm-ann__nav:hover, .lnm-ann__close:hover { opacity: 1; }
  .lnm-ann__nav svg, .lnm-ann__close svg { width: 1.05em; height: 1.05em; display: block; }
  .lnm-ann__close { position: absolute; inset-inline-end: 0.75rem; top: 50%; transform: translateY(-50%); }

  .lnm-ann__count {
    margin: 0; flex: none; display: inline-flex; align-items: center; gap: 0.55em;
    font-family: var(--font-body--family);
    font-variant-numeric: tabular-nums;
  }
  .lnm-ann__count[hidden] { display: none; }
  .lnm-ann__count-label { opacity: 0.72; font-size: 0.78em; letter-spacing: 0.02em; }

  /* Les unités : chiffre au-dessus, unité en dessous, une case par unité.
     Largeur minimale figée pour que le passage de 09 à 10 ne décale rien, et
     chiffres tabulaires pour que la seconde qui tourne ne fasse pas respirer
     la ligne. */
  .lnm-ann__clock { display: inline-flex; align-items: stretch; gap: 5px; }
  .lnm-ann__u {
    display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
    min-width: 2.3em; padding: 3px 4px; line-height: 1;
    border: 1px solid var(--lnm-line);
    border-radius: 6px;
    /* Un fond très léger détache les cases du grège sans introduire de teinte :
       c'est ce qui leur donne l'air d'un objet posé plutôt que d'un cadre vide. */
    background: rgb(255 255 255 / 0.4);
  }
  .lnm-ann__u b { font-size: 1em; font-weight: 700; letter-spacing: 0.01em; font-variant-numeric: tabular-nums; }
  .lnm-ann__u i {
    font-style: normal; font-size: 0.56em; font-weight: 500;
    letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.68;
    margin-block-start: 2px;
  }
  /* Bouton d'appel : plein, arrondi comme les cases, calé sur la même échelle.
     Blanc sur terracotta = 4,54:1, la seule combinaison conforme du nuancier
     (IDENTITE.md §3, option A). */
  .lnm-ann__actions { flex: none; display: inline-flex; order: 3; }
  .lnm-ann__viewport { order: 1; }
  .lnm-ann__count { order: 2; }
  .lnm-ann__cta[hidden] { display: none; }
  .lnm-ann__cta {
    flex: none; display: inline-flex; align-items: center; justify-content: center;
    padding: 0.5em 0.95em; border-radius: 6px;
    background: var(--lnm-accent, #b85c38); color: #fff;
    font-size: 0.82em; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase;
    text-decoration: none; white-space: nowrap; line-height: 1.1;
    transition: background-color 0.2s ease;
  }
  .lnm-ann__cta:hover { background: #a4502f; color: #fff; }

  .lnm-ann__count-over { font-weight: 700; }
  .lnm-ann__count-over[hidden] { display: none; }

  /* Étiquette « sans fond » : le nom de l'opération en typographie, séparé du
     texte par un filet vertical. C'est la variante demandée pour French Days —
     la pastille pleine pesait plus lourd que l'offre elle-même. */
  .lnm-ann--badge-plain .lnm-ann__badge {
    background: none; color: inherit; padding: 0; border-radius: 0;
    clip-path: none; font-size: 0.86em; font-weight: 700; letter-spacing: 0.1em;
    padding-inline-end: 0.7em; border-inline-end: 1px solid var(--lnm-line);
    gap: 0.42em;
  }
  .lnm-ann--badge-plain .lnm-ann__badge::before { content: none; }

  .lnm-ann__progress {
    position: absolute; inset-inline: 0; bottom: 0;
    height: var(--lnm-progress-h, 3px);
    overflow: hidden;
  }
  .lnm-ann__progress::before {
    content: ''; position: absolute; inset: 0;
    background: currentColor;
    opacity: var(--lnm-progress-track, 0.18);
  }
  .lnm-ann__progress > span {
    position: relative; display: block; height: 100%; width: 0;
    background: var(--lnm-progress-color, var(--lnm-accent, currentColor));
  }
  .lnm-ann__progress > span.is-running { animation: lnm-ann-fill var(--lnm-speed, 5s) linear forwards; }
  .lnm-ann.is-paused .lnm-ann__progress > span { animation-play-state: paused; }
  @keyframes lnm-ann-fill { from { width: 0%; } to { width: 100%; } }

  /* Marquee */
  .lnm-ann--marquee .lnm-ann__track {
    display: flex; gap: 3rem; width: max-content;
    animation: lnm-ann-scroll var(--lnm-marquee, 40s) linear infinite;
  }
  .lnm-ann--marquee .lnm-ann__item { opacity: 1; visibility: visible; transform: none; white-space: nowrap; }
  .lnm-ann--marquee .lnm-ann__viewport { flex: 1 1 auto; }
  .lnm-ann--marquee.is-paused .lnm-ann__track { animation-play-state: paused; }
  @keyframes lnm-ann-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

  /* Visibilité par appareil */
  @media screen and (max-width: 749px) {
    .lnm-ann__item--vis-desktop { display: none; }
    .lnm-ann__inner { padding-inline: 1rem; gap: 0.25rem; }

    /* Sur mobile on empile : le texte garde sa ligne entière, le minuteur passe
       dessous. Tout mettre sur une seule ligne obligerait à réduire le corps au
       point de rendre l'offre illisible — et c'est justement l'offre qu'on veut
       faire lire. Les flèches et la croix restent en absolu, hors du flux, donc
       la colonne ne les déplace pas. */
    /* Deux lignes, pas trois : le minuteur et le bouton partagent la seconde.
       Le libellé « Se termine dans » leur cèderait la place s'il le fallait,
       mais mesuré, les trois tiennent dans 342 px. */
    /* ── Minuteur : deux lignes sur téléphone ─────────────────────────────
       `flex-direction: column` ne faisait plus rien : depuis le centrage réel
       du message, `.lnm-ann__inner` est une GRILLE (1fr / auto / 1fr), pas une
       flexbox. Le minuteur restait donc en colonne 1 à côté du message, qui se
       retrouvait dans 154 px et passait sur deux lignes — barre à 132 px de
       haut. On repasse la grille à une seule colonne quand le minuteur est
       affiché : message sur sa ligne, minuteur dessous, tous deux centrés. */
    .lnm-ann--stack .lnm-ann__inner { gap: 0.7rem; }
    .lnm-ann--stack:not(.lnm-ann--has-arrows) .lnm-ann__inner {
      grid-template-columns: 1fr;
      row-gap: 0.7rem;
    }

    {%- comment -%}
      ── Hauteur de la ligne du message ───────────────────────────────────────
      `lonamy-compat.css` donne 44 px de haut au lien de la barre pour en faire
      une cible au doigt correcte. Avec le minuteur dessous, ces 44 px pour un
      texte de 21 px ajoutaient 11 px de vide AU-DESSUS du message et rien en
      dessous : la barre montait à 89 px et l'espace du haut ne répondait plus
      à celui du bas.

      On rend donc au lien sa hauteur de texte : 21 px, et l'espace du haut
      répond à celui du bas.

      Cible tactile : essayé d'abord avec un pseudo-élément débordant de 11 px
      de chaque côté — SANS EFFET, `.lnm-ann__viewport` est en `overflow:hidden`
      et le rogne (vérifié en ligne avec `elementFromPoint`). On s'en tient donc
      aux 21 px, ce qui reste conforme : le lien fait 343 px de large et aucune
      autre cible n'est à moins de 24 px (exception d'espacement du critère
      2.5.8 ; les cases du minuteur ne sont pas cliquables). Sur ordinateur, où
      le message est sur une ligne unique, les 44 px de `lonamy-compat.css`
      restent en place.
    {%- endcomment -%}
    .lnm-ann--stack .lnm-ann__link { min-height: 0; }
    .lnm-ann--stack:not(.lnm-ann--has-arrows) .lnm-ann__viewport {
      grid-column: 1; grid-row: 1; justify-self: stretch;
    }
    .lnm-ann--stack:not(.lnm-ann--has-arrows) .lnm-ann__count {
      grid-column: 1; grid-row: 2; justify-self: center;
    }
    /* Pas de bouton sur mobile. Mesuré : étiquette 128 px + bouton 138 px sur
       342 px utiles ne laissaient que 60 px au texte, qui partait sur trois
       lignes, et le bouton lui-même était rogné. Le posant sur une troisième
       ligne, la barre montait à 99 px. La ligne du message est un lien vers la
       même destination : rien n'est perdu, et la barre reste à deux lignes. */
    .lnm-ann__actions { display: none; }
    .lnm-ann--stack .lnm-ann__viewport { width: 100%; }
    .lnm-ann--stack .lnm-ann__count { gap: 0.45em; }
    /* Cases resserrées sur mobile : la barre porte déjà deux lignes, chaque
       pixel gagné ici est un pixel rendu à la photo du hero. */
    /* Le « −20 % » passe à l'encre sur mobile. La règle de la barre met les
       mots en gras à la couleur d'accent : sur le grège, le terracotta tombe à
       3,3:1. À 22 px gras (ordinateur) c'est du « grand texte » au sens WCAG,
       seuil 3:1, donc conforme. À 16 px gras (mobile) le seuil remonte à 4,5:1
       et la règle ne passe plus — or c'est le chiffre de la remise, la chose la
       plus importante de la barre. Le nuancier verrouillé dit la même chose :
       « On NE met PAS le terracotta en couleur de texte » (IDENTITE.md §3). */
    .lnm-ann--font-heading .lnm-ann__text strong,
    .lnm-ann--font-heading .lnm-ann__text b { color: inherit; }

    /* Un mot souligné pour dire que la ligne est cliquable. Sur ordinateur le
       bouton « J'en profite » le dit déjà ; sur mobile il est masqué, et rien
       ne signalait que la barre menait quelque part. On souligne le mot mis en
       `<em>` dans le réglage — Malco peut donc déplacer le soulignement sans
       toucher au code. L'italique est neutralisé : ici la balise sert de
       marque-page, pas d'emphase. */
    .lnm-ann__text em {
      font-style: normal;
      text-decoration: underline;
      text-decoration-thickness: 1px;
      text-underline-offset: 0.22em;
    }

    .lnm-ann__item--twin .lnm-ann__text { display: none; }
    .lnm-ann__item--twin .lnm-ann__text--m { display: inline-block; }
    /* Étiquette resserrée sur téléphone : « Offre d'automne » en toutes lettres prenait
       163 px des 375 et faisait passer le message à la ligne. Corps, interlettrage et
       marges réduits, on gagne une trentaine de pixels et la ligne tient. */
    /* Étiquette et marges resserrées sur téléphone : avec 2 × 32 px de marge et une
       étiquette de 159 px, le message passait à la ligne. Les sélecteurs reprennent la
       spécificité des règles de style d'étiquette, sinon ils ne passent pas. */
    .lnm-ann__badge,
    .lnm-ann--badge-plain .lnm-ann__badge { font-size: 0.72em; letter-spacing: 0.03em; gap: 0.3em; }
    .lnm-ann--badge-plain .lnm-ann__badge { padding-inline-end: 0.5em; }
    .lnm-ann .lnm-ann__inner { padding-inline: 1rem; column-gap: 0.3rem; }
    .lnm-ann__item { gap: 6px; }
    .lnm-ann__mark svg { width: 0.95em; height: 0.95em; }
    .lnm-ann--stack .lnm-ann__u { min-width: 2em; padding: 1px 3px; }
    .lnm-ann--stack .lnm-ann__u i { font-size: 0.54em; margin-block-start: 1px; }
    /* Pas de `white-space: nowrap` ici : si le texte ne tenait pas, il
       déborderait latéralement au lieu de passer à la ligne. On préfère une
       ligne de trop — et on règle le corps de police pour que ça n'arrive pas
       (mesuré à 360 et 375 px). */
    .lnm-ann--has-arrows .lnm-ann__inner { padding-inline: 2.1rem; }
    .lnm-ann__close { inset-inline-end: 0.4rem; }
    .lnm-ann__nav { padding: 0.15rem; }
  }
  @media screen and (min-width: 750px) {
    .lnm-ann { font-size: var(--lnm-fs-d, 13px); }
    .lnm-ann__inner { padding-block: var(--lnm-pt-d, 12px) var(--lnm-pb-d, 12px); }
    .lnm-ann__item--vis-mobile { display: none; }

    /* « Se termine dans » ne sert que sur mobile, où le minuteur est sur sa
       propre ligne et a besoin d'être nommé. Sur une ligne unique, les unités
       J / H / MIN / S le disent déjà, et le libellé allongeait la barre sans
       rien apprendre. */
    .lnm-ann__count-label { display: none; }
    .lnm-ann__count { gap: 0; }
    /* Un filet sépare l'offre du minuteur, comme entre l'étiquette et l'offre :
       trois groupes sur une ligne se lisent mal sans ponctuation visuelle. */
    .lnm-ann__count::after {
      content: ''; align-self: stretch; inline-size: 1px; margin-inline-start: 0.85em;
      background: var(--lnm-line);
    }
    .lnm-ann--has-arrows .lnm-ann__count::after { margin-inline: 0.85em; }
  }

  {%- comment -%}
    Bande 750-899 px : message long + minuteur + bouton ne tiennent pas sur une
    ligne (mesuré à 760 px : 396 px pour un message qui en demande 468, donc
    deux lignes et une barre à 77 px). On y sert la version courte du message,
    celle déjà écrite pour le téléphone — rien de nouveau à rédiger.
  {%- endcomment -%}
  @media screen and (min-width: 750px) and (max-width: 899px) {
    .lnm-ann__item--twin .lnm-ann__text { display: none; }
    .lnm-ann__item--twin .lnm-ann__text--m { display: inline-block; }
  }

  @media (prefers-reduced-motion: reduce) {
    .lnm-ann__item { transition: none; }
    .lnm-ann__progress > span.is-running { animation: none; }
    .lnm-ann--marquee .lnm-ann__track { animation: none; }
  }

  /* RETOUCHE 20/09 — demande utilisateur : toute l'annonce a la MEME taille.
     Les suffixes du minuteur (h, min, s) restent plus petits : sur mobile la barre
     ne dispose que de 311 px utiles et les passer a 1em la ferait deborder. */
  /* RETOUCHE 20/09 (2e passe) — UNE SEULE TAILLE dans toute la barre, les deux
     annonces comprises. La regle precedente ne listait que quelques classes :
     sur mobile il restait 12 px pour « Offre d'automne », 16 px pour « −20 % » et
     « +900 avis », 13 px pour le bouton. On fait heriter TOUS les descendants. */
  /* `!important` assume : une dizaine de regles du fichier fixent une taille au
     badge, au libelle, au bouton, dont plusieurs a specificite 0-2-0 dans des media
     queries. Une regle simple perdait contre elles — d'ou deux tailles qui
     subsistaient (12 px pour « Offre d'automne » contre 13 px pour « −20 % »).
     Ici l'intention est explicite : UNE SEULE taille dans toute la barre. */
  .lnm-ann * { font-size: inherit !important; }

  /* Seule exception : les suffixes du minuteur (h, min, s). Sur mobile la barre ne
     dispose que de 311 px utiles et les passer a pleine taille la ferait deborder. */
  .lnm-ann__u i { font-size: .62em !important; }

  /* RETOUCHE 20/09 — barre moins haute : le bouton portait 0.5em de rembourrage
     vertical, ce qui ajoutait 16 px a la barre a lui seul. */
  .lnm-ann__cta { padding-block: .3em; }
/* END_SECTION:lonamy-announcement */

/* START_SECTION:lonamy-argument (INDEX:15) */
.larg{background:var(--color-background);color:var(--color-foreground)}
  .larg__in{max-width:80rem;margin-inline:auto;padding-inline:var(--page-margin,2.5rem);
    padding-block:clamp(3rem,7vw,6rem);display:grid;gap:clamp(1.6rem,4vw,3.6rem);align-items:center}
  @media screen and (min-width:990px){
    .larg__in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
    .larg--rev .larg__media{order:2}
  }
  .larg__media{position:relative;line-height:0;border-radius:4px;overflow:hidden;
    background:var(--color-surface-alt,#E4DCCF)}
  .larg__img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
  @media screen and (min-width:990px){ .larg__img{aspect-ratio:5/6} }
  .larg__img--ph{background:var(--color-surface-alt,#E4DCCF)}
  .larg__badge{position:absolute;left:14px;top:14px;background:var(--larg-accent,#B85C38);color:#fff;
    font-family:var(--font-body--family);font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;
    padding:5px 10px;border-radius:2px;line-height:1}

  .larg__body{display:flex;flex-direction:column;align-items:flex-start;gap:0}
  .larg__eb{margin:0 0 .8rem;font-family:var(--font-body--family);font-size:.68rem;
    letter-spacing:.16em;text-transform:uppercase;color:var(--larg-accent,#B85C38)}
  .larg__h{margin:0 0 .9rem;font-family:var(--font-h2--family,var(--font-primary--family));
    font-weight:var(--font-h2--weight,500);font-size:clamp(1.9rem,4vw,3rem);line-height:1.06;
    text-wrap:balance;letter-spacing:-.01em}
  .larg__tx{font-family:var(--font-body--family);font-size:.96rem;line-height:1.7;opacity:.85;max-width:46ch}
  .larg__tx > *{margin:0 0 .8rem}
  .larg__tx > *:last-child{margin-bottom:0}

  .larg__pts{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.8rem}
  .larg__pts li{display:flex;gap:.7rem;font-family:var(--font-body--family);font-size:.88rem;line-height:1.5}
  .larg__pts svg{flex:none;width:16px;height:16px;margin-top:3px;fill:none;
    stroke:var(--larg-accent,#B85C38);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .larg__pts b{font-weight:600}
  .larg__pts span{opacity:.85}
  .larg__pts b{opacity:1}

  .larg__cta{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.8rem;
    padding:14px 26px;background:var(--color-foreground);color:var(--color-background);
    text-decoration:none;border-radius:3px;font-family:var(--font-body--family);
    font-size:.82rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
    transition:background .2s ease,color .2s ease}
  .larg__cta:hover{background:var(--larg-accent,#B85C38);color:#fff}
  .larg__cta:focus-visible{outline:2px solid var(--larg-accent,#B85C38);outline-offset:3px}
  .larg__cta svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;
    stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
  .larg__cta:hover svg{transform:translateX(3px)}
  @media (prefers-reduced-motion:reduce){ .larg__cta,.larg__cta svg{transition:none} }
/* END_SECTION:lonamy-argument */

/* START_SECTION:lonamy-article (INDEX:16) */
/* 🔴 Le thème enveloppe chaque section dans `.shopify-section` avec
     `overflow-x: hidden`, ce qui fait passer `overflow-y` à `auto` et en fait un
     conteneur de défilement. `position: sticky` s'y accroche au lieu de s'accrocher
     à la fenêtre : le sommaire partait avec le texte. Constaté en ligne le 22/09,
     mesuré (`top` passait de 836 px à -1448 px au défilement). */
  .shopify-section:has(.lnb),
  .shopify-section:has(.lnbl) { overflow: visible; }

  .lnb {
    --lnb-ink: var(--color-foreground, #2a2420);
    --lnb-paper: var(--color-background, #f7f3ec);
    --lnb-accent: #b85c38;
    --lnb-soft: #e4dccf;
    --lnb-powder: #e9d3c5;
    --lnb-muted: rgb(var(--color-foreground-rgb, 42 36 32) / .62);
    --lnb-line: rgb(var(--color-foreground-rgb, 42 36 32) / .14);
    --lnb-measure: 700px;
    --lnb-side: 215px;
    --lnb-gut: clamp(1.75rem, 2.6vw, 2.9rem);
    --lnb-pad: var(--page-margin, 1.25rem);
    --lnb-grid-pt: clamp(2.5rem, 5vw, 4.5rem);
    --lnb-rail-gap: clamp(.9rem, 2vw, 1.6rem);
    /* La colonne de texte est centrée dans la fenêtre. Le sommaire se cale dans
       la marge de gauche, hors flux, et suit le défilement. */
    --lnb-group: var(--lnb-measure);
    /* débord d'une figure large vers la droite, plafonné à l'espace réellement libre */
    --lnb-bleed: clamp(0px, calc((100vw - var(--lnb-measure)) / 2 - var(--lnb-pad) - 28px), 210px);
    color: var(--lnb-ink);
    overflow-x: clip;
  }

  .lnb__progress { position: fixed; inset-block-start: 0; inset-inline: 0; height: 3px; z-index: 60; pointer-events: none; }
  .lnb__progress-fill { display: block; height: 100%; width: 0; background: var(--lnb-accent); }

  /* ---------- HERO ---------- */
  .lnb__hero {
    position: relative; display: flex; align-items: flex-end;
    min-height: clamp(340px, 58vw, 600px);
    padding: clamp(2rem, 5vw, 4rem) var(--lnb-pad);
    isolation: isolate; background: var(--lnb-soft); overflow: hidden;
  }
  .lnb__hero--plain { min-height: 0; padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(1.5rem, 3vw, 2.5rem); background: transparent; }
  .lnb__hero-img {
    position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover;
    animation: lnb-zoom 1.4s cubic-bezier(.2,.7,.25,1) both;
  }
  @keyframes lnb-zoom { from { transform: scale(1.06); } to { transform: scale(1); } }
  .lnb__hero-veil {
    position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, rgb(42 36 32 / .1) 0%, rgb(42 36 32 / .34) 46%, rgb(42 36 32 / .76) 100%);
  }
  .lnb__hero-inner { width: 100%; max-width: var(--lnb-measure); margin-inline: auto; }
  /* Le thème applique sa propre couleur aux h1 : elle bat la couleur héritée du
     conteneur. On la pose donc directement sur le titre, le sur-titre et la ligne
     d'informations. Constaté en ligne le 22/09 : titre en encre sur photo sombre. */
  .lnb__hero:not(.lnb__hero--plain) .lnb__hero-inner,
  .lnb__hero:not(.lnb__hero--plain) .lnb__title,
  .lnb__hero:not(.lnb__hero--plain) .lnb__kicker,
  .lnb__hero:not(.lnb__hero--plain) .lnb__meta { color: #fff; }
  .lnb__hero--plain .lnb__title { color: var(--lnb-ink); }

  .lnb__kicker {
    margin: 0 0 .9rem; font-family: var(--font-body--family);
    font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; opacity: .92;
  }
  .lnb__hero--plain .lnb__kicker { color: var(--lnb-accent); opacity: 1; }
  .lnb__title {
    margin: 0; font-family: var(--font-h1--family, var(--font-h2--family));
    font-weight: var(--font-h1--weight, 500);
    font-size: clamp(2rem, 1.1rem + 3.6vw, 4.1rem);
    line-height: 1.04; letter-spacing: -.012em; text-wrap: balance; max-width: 20ch;
  }
  .lnb__meta {
    display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; margin: 1.1rem 0 0;
    font-family: var(--font-body--family); font-size: 13px; letter-spacing: .02em; opacity: .88;
  }
  .lnb__dot { width: 4px; height: 4px; border-radius: 50%; background: currentColor; opacity: .6; }

  /* ---------- GRILLE ---------- */
  .lnb__grid {
    display: grid; grid-template-columns: minmax(0, var(--lnb-measure));
    justify-content: center; gap: var(--lnb-gut);
    padding: var(--lnb-grid-pt) var(--lnb-pad) 0;
  }
  /* Demande de Malco du 22/09 : texte centré dans la fenêtre, sommaire aligné à
     gauche. Le sommaire sort donc du flux et se cale sur la marge de page ; la
     colonne de texte reste exactement au centre. */
  .lnb__rail { display: none; }
  @media (min-width: 1280px) {
    .lnb__grid { position: relative; grid-template-columns: minmax(0, var(--lnb-measure)); }
    .lnb__aside {
      position: absolute;
      /* la marge de page, sinon le sommaire colle au bord de l'écran */
      inset-inline-start: var(--lnb-pad);
      /* le positionnement absolu se cale sur la boîte de remplissage : sans ce
         décalage, le sommaire démarrait au ras du hero, au-dessus du texte. */
      inset-block: calc(var(--lnb-grid-pt) + .75rem) auto;
      width: var(--lnb-side);
      height: calc(100% - var(--lnb-grid-pt) - .75rem);
    }
  }

  /* ---------- SOMMAIRE ---------- */
  .lnb__aside { min-width: 0; }
  .lnb__toc {
    position: sticky;
    top: clamp(70px, 10vh, 110px);
    max-height: calc(100vh - clamp(70px, 10vh, 110px) - 2rem);
    overflow-y: auto;
    scrollbar-width: none;
  }
  .lnb__toc::-webkit-scrollbar { display: none; }
  .lnb__toc-t {
    margin: 0 0 1rem; padding-bottom: .6rem; border-bottom: 1px solid var(--lnb-line);
    font-family: var(--font-body--family); font-size: 10px; font-weight: 700;
    letter-spacing: .18em; text-transform: uppercase; color: var(--lnb-muted);
  }
  .lnb__toc-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 0; counter-reset: lnbtoc; }
  .lnb__toc-list li { margin: 0; }

  /* Le sommaire replié est inséré dans le corps : les styles de lien, de puce et de
     paragraphe du corps l'atteignent. On les neutralise explicitement, sinon chaque
     entrée reçoit le soulignement terracotta des liens d'article. */
  .lnb__toc-a, .lnb__body .lnb__toc-a {
    display: block; padding: .42rem 0;
    font-family: var(--font-body--family); font-size: 13px; line-height: 1.38;
    color: var(--lnb-muted); text-decoration: none;
    background-image: none; padding-bottom: .42rem;
    transition: color .18s ease;
  }
  .lnb__toc-list li::before, .lnb__body .lnb__toc-list li::before { content: none; }
  .lnb__toc-list li { padding-inline-start: 0; position: static; }

  .lnb__toc-a:not(.lnb__toc-a--sub)::before {
    counter-increment: lnbtoc; content: counter(lnbtoc, decimal-leading-zero);
    display: inline-block; width: 1.85em;
    font-size: 10px; font-weight: 700; letter-spacing: .06em;
    color: rgb(var(--color-foreground-rgb, 42 36 32) / .34);
    font-variant-numeric: tabular-nums;
  }
  .lnb__toc-a:hover, .lnb__toc-a:focus-visible,
  .lnb__body .lnb__toc-a:hover, .lnb__body .lnb__toc-a:focus-visible { color: var(--lnb-ink); background-image: none; }
  .lnb__toc-a[aria-current='true'] { color: var(--lnb-ink); font-weight: 600; }
  .lnb__toc-a[aria-current='true']::before { color: var(--lnb-accent); }
  .lnb__toc-a--sub { padding-inline-start: 1.85em; font-size: 12.5px; color: rgb(var(--color-foreground-rgb, 42 36 32) / .5); }

  .lnb__fold { margin: 0 0 2.25rem; border-block: 1px solid var(--lnb-line); }
  .lnb__fold > summary {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    min-height: 52px; padding-block: .75rem; cursor: pointer; list-style: none;
    font-family: var(--font-body--family); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  }
  .lnb__fold > summary::-webkit-details-marker { display: none; }
  .lnb__fold > summary::after {
    content: ''; width: 9px; height: 9px;
    border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-2px); transition: transform .2s ease;
  }
  .lnb__fold[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
  .lnb__fold .lnb__toc { position: static; border: 0; padding: 0 0 .5rem; }
  .lnb__fold .lnb__toc-t { display: none; }
  .lnb__fold .lnb__toc-list { gap: 0; }
  .lnb__fold .lnb__toc-a, .lnb__body .lnb__fold .lnb__toc-a {
    display: flex; align-items: center; gap: .5rem;
    min-height: 44px; padding: .5rem 0; margin: 0;
    border-top: 1px solid var(--lnb-line); background-image: none;
  }
  .lnb__fold .lnb__toc-list li:first-child .lnb__toc-a { border-top: 0; }
  .lnb__fold .lnb__toc-a--sub { padding-inline-start: 1.85em; }

  /* ---------- CORPS ---------- */
  .lnb__body { min-width: 0; font-family: var(--font-body--family); }
  .lnb__body > * { margin-block: 0 1.3rem; }
  .lnb__body p { font-size: clamp(1rem, .96rem + .18vw, 1.115rem); line-height: 1.74; color: rgb(var(--color-foreground-rgb, 42 36 32) / .88); }

  /* ---------- CHAPÔ ÉDITORIAL ----------
     Le chapô est le teaser de l'article : il ne doit ressembler à aucun autre
     paragraphe. Traitement de tête de magazine : un tapis grège très clair qui
     déborde dans la colonne libre de droite, un micro-label terracotta, et le
     texte en serif de titrage, largement interligné, sur une ligne courte.
     ⚠️ La serif de titrage sort ici de son usage H1/H2 décrit dans IDENTITE.md.
     Elle reste très au-dessus du plancher de 20 px et ne touche pas au texte
     courant. Un réglage de section permet de revenir au chapô sobre. */
  .lnb__body .lnb-lede-box {
    position: relative;
    margin: 0 0 clamp(2.6rem, 4.5vw, 3.8rem);
    padding: clamp(1.7rem, 3.4vw, 2.6rem) clamp(1.5rem, 3vw, 2.4rem);
    background: rgb(228 220 207 / .5);
  }
  @media (min-width: 1280px) {
    .lnb__body .lnb-lede-box {
      width: calc(100% + var(--lnb-bleed));
      margin-inline-end: calc(-1 * var(--lnb-bleed));
      padding-inline: clamp(1.8rem, 3vw, 2.6rem);
    }
  }
  .lnb__body .lnb-lede-box::before {
    content: ''; position: absolute; inset-block: 0; inset-inline-start: 0;
    width: 2px; background: var(--lnb-accent);
  }
  .lnb__body .lnb-lede__k {
    display: block; margin: 0 0 .85rem;
    font-family: var(--font-body--family);
    font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
    color: var(--lnb-accent);
  }
  .lnb__body p.lnb-lede {
    margin: 0; max-width: 30ch;
    font-family: var(--font-h2--family);
    font-weight: var(--font-h2--weight, 500);
    font-size: clamp(1.32rem, 1.1rem + .72vw, 1.56rem);
    line-height: 1.34; letter-spacing: -.004em;
    color: var(--lnb-ink);
    text-wrap: pretty;
  }
  /* variante sobre, si le réglage de section la demande */
  .lnb--lede-plain .lnb__body .lnb-lede-box { background: none; padding: 1.4rem 0 0; }
  .lnb--lede-plain .lnb__body .lnb-lede-box::before { inset-block: 0 auto; inset-inline-start: 0; width: 40px; height: 2px; }
  .lnb--lede-plain .lnb__body p.lnb-lede {
    max-width: 38rem; font-family: var(--font-body--family); font-weight: 400;
    font-size: clamp(1.04rem, 1rem + .2vw, 1.16rem); line-height: 1.74; letter-spacing: 0;
  }
  @media (min-width: 1280px) {
    .lnb--lede-plain .lnb__body .lnb-lede-box { width: 100%; margin-inline-end: 0; padding-inline: 0; }
  }

  .lnb__body .lnb-lede-box + h2 { margin-top: clamp(2.2rem, 3.4vw, 3rem); }

  .lnb__body h2 {
    position: relative;
    margin-block: clamp(3rem, 5vw, 4.2rem) 1.1rem; padding-top: 1.6rem;
    font-family: var(--font-h2--family); font-weight: var(--font-h2--weight, 500);
    font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.35rem); line-height: 1.14; letter-spacing: -.006em;
    scroll-margin-top: clamp(70px, 12vh, 120px);
  }
  .lnb__body h2::before {
    content: ''; position: absolute; inset-block-start: 0; inset-inline-start: 0;
    width: 40px; height: 2px; background: var(--lnb-accent);
  }
  .lnb__body h3 {
    margin-block: 2.1rem .7rem; font-family: var(--font-body--family); font-weight: 600;
    font-size: clamp(1.08rem, 1rem + .42vw, 1.3rem); line-height: 1.3;
    scroll-margin-top: clamp(70px, 12vh, 120px);
  }
  .lnb__body h2 + h3 { margin-top: 1.2rem; }

  .lnb__body a {
    color: inherit; text-decoration: none;
    background-image: linear-gradient(var(--lnb-accent), var(--lnb-accent));
    background-repeat: no-repeat; background-position: 0 100%; background-size: 100% 1px;
    padding-bottom: 1px; transition: background-size .2s ease, color .2s ease;
  }
  .lnb__body a:hover, .lnb__body a:focus-visible { color: var(--lnb-accent); background-size: 100% 2px; }
  .lnb__body strong { font-weight: 600; }

  .lnb__body ul, .lnb__body ol { padding-inline-start: 1.15rem; display: grid; gap: .55rem; }
  .lnb__body li { line-height: 1.66; }
  .lnb__body ul { list-style: none; padding-inline-start: 0; }
  .lnb__body ul li { position: relative; padding-inline-start: 1.35rem; }
  .lnb__body ul li::before {
    content: ''; position: absolute; inset-inline-start: .15rem; inset-block-start: .72em;
    width: 5px; height: 5px; border-radius: 50%; background: var(--lnb-accent);
  }

  /* ---------- FIGURES ---------- */
  .lnb__body figure, .lnb__body .lnb-fig { margin: clamp(2.2rem, 4.5vw, 3.4rem) 0; }
  .lnb__body figure img, .lnb__body .lnb-fig img { display: block; width: 100%; height: auto; border-radius: 2px; margin: 0; }
  .lnb__body figcaption, .lnb__body .lnb-fig__c {
    margin-top: .75rem; padding-inline-start: .9rem; border-inline-start: 2px solid var(--lnb-accent);
    font-family: var(--font-body--family); font-size: .86rem; line-height: 1.5; color: var(--lnb-muted);
  }
  .lnb__body img { display: block; width: 100%; height: auto; margin-block: clamp(2rem, 4vw, 3rem); border-radius: 2px; }

  /* Figure élargie : elle déborde UNIQUEMENT vers la droite, dans la colonne libre
     prévue pour l'équilibre optique. Déborder aussi à gauche passerait sous le
     sommaire sticky et le recouvrirait. */
  @media (min-width: 1280px) {
    .lnb__body .lnb-fig--wide {
      width: calc(100% + var(--lnb-bleed));
      margin-inline-end: calc(-1 * var(--lnb-bleed));
    }
  }

  /* image + texte côte à côte */
  .lnb__body .lnb-split {
    display: grid; gap: clamp(1.2rem, 3vw, 2.2rem); align-items: center;
    margin: clamp(2.4rem, 5vw, 3.6rem) 0;
  }
  @media (min-width: 700px) { .lnb__body .lnb-split { grid-template-columns: 1fr 1fr; } }
  .lnb__body .lnb-split img { margin: 0; aspect-ratio: 4 / 5; object-fit: cover; }
  .lnb__body .lnb-split p { margin: 0; }
  .lnb__body .lnb-split p + p { margin-top: .8rem; }
  .lnb__body .lnb-split h3 { margin-top: 0; }

  /* chiffre clé */
  .lnb__body .lnb-stat {
    display: grid; gap: .3rem; margin: clamp(2.2rem, 4.5vw, 3rem) 0;
    padding: clamp(1.3rem, 3vw, 1.9rem) clamp(1.3rem, 3vw, 2rem);
    border: 1px solid var(--lnb-line); border-inline-start: 3px solid var(--lnb-accent);
  }
  .lnb__body .lnb-stat__n {
    font-family: var(--font-h2--family); font-weight: var(--font-h2--weight, 500);
    font-size: clamp(2.2rem, 1.6rem + 2.4vw, 3.4rem); line-height: 1; color: var(--lnb-accent);
  }
  .lnb__body .lnb-stat__l { font-size: .98rem; line-height: 1.5; color: var(--lnb-ink); }

  /* encadrés éditoriaux */
  .lnb__body .lnb-note {
    margin-block: clamp(2.2rem, 4.5vw, 3rem);
    padding: clamp(1.4rem, 3vw, 2rem); background: var(--lnb-powder); border-radius: 2px;
  }
  .lnb__body .lnb-note p { margin: 0; color: var(--lnb-ink); }
  .lnb__body .lnb-note p + p { margin-top: .7rem; }
  .lnb__body .lnb-note__t {
    margin: 0 0 .6rem; font-family: var(--font-body--family);
    font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--lnb-accent);
  }
  .lnb__body .lnb-note--dark { background: var(--lnb-ink); color: #fff; }
  .lnb__body .lnb-note--dark p { color: rgb(255 255 255 / .9); }
  .lnb__body .lnb-note--dark .lnb-note__t { color: var(--lnb-powder); }

  .lnb__body blockquote, .lnb__body .lnb-quote {
    margin-block: clamp(2.4rem, 5vw, 3.2rem); margin-inline: 0;
    padding-inline-start: 1.5rem; border-inline-start: 2px solid var(--lnb-accent);
    font-family: var(--font-h2--family); font-weight: var(--font-h2--weight, 500);
    font-size: clamp(1.25rem, 1.05rem + .8vw, 1.72rem); line-height: 1.32; color: var(--lnb-ink);
  }
  .lnb__body blockquote p, .lnb__body .lnb-quote p { font: inherit; color: inherit; margin: 0; }

  /* ---------- COMPARATEUR À ONGLETS ---------- */
  .lnb__body .lnb-tabs { margin-block: clamp(2.4rem, 5vw, 3.2rem); border: 1px solid var(--lnb-line); }
  .lnb__body .lnb-tabs__nav { display: flex; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--lnb-line); }
  .lnb__body .lnb-tabs__nav::-webkit-scrollbar { display: none; }
  .lnb__body .lnb-tabs__b {
    flex: 0 0 auto; min-height: 48px; padding-inline: 1.1rem;
    background: none; border: 0; border-bottom: 2px solid transparent; cursor: pointer;
    font-family: var(--font-body--family); font-size: 12px; font-weight: 700;
    letter-spacing: .09em; text-transform: uppercase; color: var(--lnb-muted);
    transition: color .18s ease, border-color .18s ease;
  }
  .lnb__body .lnb-tabs__b[aria-selected='true'] { color: var(--lnb-ink); border-bottom-color: var(--lnb-accent); }
  .lnb__body .lnb-tabs__p { padding: clamp(1.2rem, 3vw, 1.8rem); animation: lnb-fade .32s ease both; }
  .lnb__body .lnb-tabs__p[hidden] { display: none; }
  .lnb__body .lnb-tabs__p p:last-child { margin-bottom: 0; }
  @keyframes lnb-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

  /* ---------- TABLEAUX ---------- */
  .lnb__body table { width: 100%; border-collapse: collapse; margin-block: clamp(1.8rem, 3.5vw, 2.6rem); font-size: .95rem; }
  .lnb__body th, .lnb__body td { padding: .72rem .85rem; text-align: left; border-bottom: 1px solid var(--lnb-line); }
  .lnb__body thead th {
    font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
    color: var(--lnb-muted); border-bottom-color: rgb(var(--color-foreground-rgb, 42 36 32) / .3);
  }
  .lnb__body tbody tr:nth-child(even) { background: rgb(var(--color-foreground-rgb, 42 36 32) / .035); }
  .lnb__scroller {
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    background:
      linear-gradient(to right, var(--lnb-paper) 30%, rgb(247 243 236 / 0)) left center / 40px 100% no-repeat local,
      linear-gradient(to left, var(--lnb-paper) 30%, rgb(247 243 236 / 0)) right center / 40px 100% no-repeat local,
      radial-gradient(farthest-side at 0 50%, rgb(42 36 32 / .12), rgb(42 36 32 / 0)) left center / 16px 100% no-repeat scroll,
      radial-gradient(farthest-side at 100% 50%, rgb(42 36 32 / .12), rgb(42 36 32 / 0)) right center / 16px 100% no-repeat scroll;
  }

  /* ---------- BLOC GUIDE DES TAILLES ---------- */
  .lnbz {
    margin-block: clamp(2.6rem, 5vw, 3.6rem);
    background: var(--lnb-ink); color: #fff; border-radius: 2px;
    padding: clamp(1.6rem, 4vw, 2.6rem);
  }
  @media (min-width: 1280px) {
    .lnbz {
      width: calc(100% + var(--lnb-bleed));
      margin-inline-end: calc(-1 * var(--lnb-bleed));
      padding: clamp(2rem, 4vw, 3rem);
    }
  }
  /* Le bloc est inséré DANS le corps : .lnb__body p et .lnb__body a sont plus
     spécifiques que .lnbz__p et repeignaient tout en encre sur fond sombre. */
  .lnb__body .lnbz p, .lnb__body .lnbz th, .lnb__body .lnbz td { color: inherit; }
  .lnb__body .lnbz a { background-image: none; }
  .lnb__body .lnbz__p { color: rgb(255 255 255 / .8); }
  .lnb__body .lnbz__meas { color: rgb(255 255 255 / .72); }
  .lnb__body .lnbz__note { color: var(--lnb-powder); }
  .lnb__body .lnbz__fine { color: rgb(255 255 255 / .62); }
  .lnb__body .lnbz__tbl th, .lnb__body .lnbz__tbl td { color: rgb(255 255 255 / .82); border-bottom-color: rgb(255 255 255 / .1); }
  .lnb__body .lnbz__tbl thead th { color: rgb(255 255 255 / .55); }
  .lnb__body .lnbz__tbl tbody tr.is-reco th, .lnb__body .lnbz__tbl tbody tr.is-reco td { color: #fff; }
  .lnb__body .lnbz__tbl tbody tr:nth-child(even) { background: none; }

  .lnbz__in { display: grid; gap: clamp(1.4rem, 3vw, 2.4rem); }
  @media (min-width: 820px) { .lnbz__in { grid-template-columns: 1fr minmax(0, 27rem); align-items: center; } }
  .lnbz__eyebrow { margin: 0 0 .7rem; font-family: var(--font-body--family); font-size: 10.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--lnb-powder); }
  .lnbz__h { margin: 0; font-family: var(--font-h2--family); font-weight: var(--font-h2--weight, 500); font-size: clamp(1.5rem, 1.15rem + 1.3vw, 2.1rem); line-height: 1.12; color: #fff; }
  .lnbz__p { margin: .9rem 0 0; font-family: var(--font-body--family); font-size: .98rem; line-height: 1.62; color: rgb(255 255 255 / .8); max-width: 34rem; }

  .lnbz__card { background: rgb(255 255 255 / .06); border: 1px solid rgb(255 255 255 / .14); padding: clamp(1.1rem, 3vw, 1.6rem); }
  .lnbz__fields { display: grid; gap: .8rem; }
  @media (min-width: 520px) { .lnbz__fields { grid-template-columns: 1fr 1fr; } .lnbz__f:last-child { grid-column: 1 / -1; } }
  .lnbz__f { display: grid; gap: .35rem; font-family: var(--font-body--family); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgb(255 255 255 / .66); }
  .lnbz__in-f { position: relative; display: flex; align-items: center; }
  .lnbz__in-f input, .lnbz__in-f select {
    width: 100%; min-height: 48px; padding-inline: .85rem 2.2rem;
    background: rgb(255 255 255 / .06); border: 1px solid rgb(255 255 255 / .2); border-radius: 0;
    color: #fff; font-family: var(--font-body--family); font-size: 15px; font-weight: 400; letter-spacing: 0;
    -webkit-appearance: none; appearance: none;
  }
  .lnbz__in-f select { padding-inline-end: 2.2rem; background-image: none; }
  .lnbz__in-f input:focus-visible, .lnbz__in-f select:focus-visible { outline: 2px solid var(--lnb-powder); outline-offset: 1px; }
  .lnbz__in-f i { position: absolute; inset-inline-end: .85rem; font-style: normal; font-size: 12px; color: rgb(255 255 255 / .5); pointer-events: none; }
  .lnbz__in-f select + i { display: none; }

  .lnbz__out { margin-top: 1.2rem; }
  .lnbz__res { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
  .lnbz__res-lab { font-family: var(--font-body--family); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgb(255 255 255 / .6); }
  .lnbz__res-size {
    font-family: var(--font-h2--family); font-weight: var(--font-h2--weight, 500);
    font-size: clamp(2.4rem, 1.8rem + 2.4vw, 3.4rem); line-height: 1; color: var(--lnb-powder);
    transition: transform .28s cubic-bezier(.2,.8,.3,1);
  }
  .lnbz__res-size.is-pop { transform: scale(1.14); }
  .lnbz__scale { display: flex; gap: 3px; margin-top: .9rem; }
  .lnbz__scale span {
    flex: 1; height: 4px; background: rgb(255 255 255 / .16);
    transition: background .3s ease, transform .3s ease; transform-origin: bottom;
  }
  .lnbz__scale span.is-on { background: var(--lnb-accent); transform: scaleY(2.2); }
  .lnbz__meas { margin: .9rem 0 0; font-family: var(--font-body--family); font-size: .88rem; line-height: 1.5; color: rgb(255 255 255 / .72); }
  .lnbz__note { margin: .7rem 0 0; font-family: var(--font-body--family); font-size: .84rem; line-height: 1.5; color: var(--lnb-powder); }
  .lnbz__note[hidden] { display: none; }

  .lnbz__det { margin-top: 1.2rem; border-top: 1px solid rgb(255 255 255 / .14); }
  .lnbz__det > summary {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    min-height: 48px; cursor: pointer; list-style: none;
    font-family: var(--font-body--family); font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgb(255 255 255 / .8);
  }
  .lnbz__det > summary::-webkit-details-marker { display: none; }
  .lnbz__det > summary::after {
    content: ''; width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-2px); transition: transform .2s ease;
  }
  .lnbz__det[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
  .lnbz__tblwrap {
    overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: .6rem;
    /* ombre du côté où il reste à défiler, si la largeur ne suffit toujours pas */
    background:
      linear-gradient(to right, #2a2420 30%, rgb(42 36 32 / 0)) left center / 28px 100% no-repeat local,
      linear-gradient(to left, #2a2420 30%, rgb(42 36 32 / 0)) right center / 28px 100% no-repeat local,
      radial-gradient(farthest-side at 0 50%, rgb(0 0 0 / .45), rgb(0 0 0 / 0)) left center / 14px 100% no-repeat scroll,
      radial-gradient(farthest-side at 100% 50%, rgb(0 0 0 / .45), rgb(0 0 0 / 0)) right center / 14px 100% no-repeat scroll;
  }
  .lnbz__tbl { width: 100%; border-collapse: collapse; font-family: var(--font-body--family); font-size: .86rem; margin: 0; }
  .lnbz__tbl th, .lnbz__tbl td { padding: .55rem .7rem; text-align: left; white-space: nowrap; border-bottom: 1px solid rgb(255 255 255 / .1); color: rgb(255 255 255 / .82); }

  /* Sous 640 px, le tableau sort des marges de la carte pour récupérer la largeur
     perdue en rembourrage, et resserre ses cellules : il tient alors sans défiler. */
  @media (max-width: 639px) {
    .lnbz__det { margin-inline: calc(-1 * clamp(1.1rem, 3vw, 1.6rem)); padding-inline: clamp(1.1rem, 3vw, 1.6rem); }
    .lnbz__tblwrap { margin-inline: calc(-1 * clamp(1.1rem, 3vw, 1.6rem)); padding-inline: clamp(1.1rem, 3vw, 1.6rem); }
    .lnbz__tbl { font-size: .78rem; }
    .lnbz__tbl th, .lnbz__tbl td, .lnb__body .lnbz__tbl th, .lnb__body .lnbz__tbl td { padding: .5rem .35rem; }
    .lnbz__tbl th:first-child, .lnbz__tbl td:first-child { padding-inline-start: 0; }
    .lnbz__tbl th:last-child, .lnbz__tbl td:last-child { padding-inline-end: 0; }
  }
  .lnbz__tbl thead th { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgb(255 255 255 / .55); }
  .lnbz__tbl tbody tr.is-reco { background: rgb(184 92 56 / .3); }
  .lnbz__tbl tbody tr.is-reco th, .lnbz__tbl tbody tr.is-reco td { color: #fff; }
  .lnbz__fine { margin: .6rem 0 0; font-size: 11px; color: rgb(255 255 255 / .62); }


  /* ---------- QUIZ ----------
     Posé dans le corps de l'article, avant la conclusion. Le balisage est du HTML
     simple : sans JavaScript, les questions et leurs explications restent lisibles
     d'un bout à l'autre. Le script ne fait que masquer les réponses et animer. */
  .lnb__body .lnb-quiz {
    margin-block: clamp(2.6rem, 5vw, 3.6rem);
    padding: clamp(1.6rem, 4vw, 2.6rem);
    background: var(--lnb-ink); color: #fff; border-radius: 2px;
  }
  @media (min-width: 1280px) {
    .lnb__body .lnb-quiz {
      width: calc(100% + var(--lnb-bleed));
      margin-inline-end: calc(-1 * var(--lnb-bleed));
      padding: clamp(2rem, 4vw, 3rem);
    }
  }
  .lnb__body .lnb-quiz__k {
    margin: 0 0 .7rem; font-family: var(--font-body--family);
    font-size: 10.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
    color: var(--lnb-powder);
  }
  .lnb__body .lnb-quiz__t {
    margin: 0 0 .4rem; padding: 0; border: 0;
    font-family: var(--font-h2--family); font-weight: var(--font-h2--weight, 500);
    font-size: clamp(1.45rem, 1.15rem + 1.2vw, 2.05rem); line-height: 1.14; color: #fff;
  }
  .lnb__body .lnb-quiz__t::before { content: none; }
  .lnb__body .lnb-quiz__intro { margin: 0 0 1.6rem; font-size: .96rem; line-height: 1.6; color: rgb(255 255 255 / .74); max-width: 46ch; }

  .lnb__body .lnb-quiz__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 1.5rem; counter-reset: lnbq; }
  .lnb__body .lnb-quiz__q { margin: 0; padding: 0 0 1.5rem; border-bottom: 1px solid rgb(255 255 255 / .14); position: static; }
  .lnb__body .lnb-quiz__q:last-child { border-bottom: 0; padding-bottom: 0; }
  .lnb__body .lnb-quiz__q::before { content: none; }

  .lnb__body .lnb-quiz__ask {
    margin: 0 0 .9rem; color: #fff;
    font-family: var(--font-body--family); font-size: 1.02rem; line-height: 1.5; font-weight: 500;
  }
  .lnb__body .lnb-quiz__ask::before {
    counter-increment: lnbq; content: counter(lnbq, decimal-leading-zero);
    display: inline-block; margin-inline-end: .6rem;
    font-size: 10px; font-weight: 700; letter-spacing: .08em; color: var(--lnb-accent);
    vertical-align: .18em;
  }

  .lnb__body .lnb-quiz__opts { display: grid; gap: .5rem; }
  .lnb__body .lnb-quiz__opt {
    width: 100%; min-height: 48px; padding: .7rem 1rem; text-align: left;
    background: rgb(255 255 255 / .06); border: 1px solid rgb(255 255 255 / .2); border-radius: 0;
    color: #fff; cursor: pointer;
    font-family: var(--font-body--family); font-size: .95rem; line-height: 1.45;
    transition: background .18s ease, border-color .18s ease;
  }
  .lnb__body .lnb-quiz__opt:hover:not([disabled]) { background: rgb(255 255 255 / .12); border-color: rgb(255 255 255 / .38); }
  .lnb__body .lnb-quiz__opt:focus-visible { outline: 2px solid var(--lnb-powder); outline-offset: 2px; }
  .lnb__body .lnb-quiz__opt[disabled] { cursor: default; }
  .lnb__body .lnb-quiz__opt.is-bon {
    background: rgb(184 92 56 / .26); border-color: var(--lnb-accent);
  }
  .lnb__body .lnb-quiz__opt.is-choisi:not(.is-bon) { background: rgb(255 255 255 / .04); border-color: rgb(255 255 255 / .42); opacity: .85; }
  .lnb__body .lnb-quiz__opt.is-pale { opacity: .42; }
  .lnb__body .lnb-quiz__opt .lnb-quiz__mark { float: right; margin-inline-start: .8rem; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--lnb-powder); }

  .lnb__body .lnb-quiz__fb {
    margin: .85rem 0 0; padding-inline-start: .9rem;
    border-inline-start: 2px solid var(--lnb-accent);
    font-family: var(--font-body--family); font-size: .92rem; line-height: 1.6; color: rgb(255 255 255 / .82);
  }
  .lnb-quiz--js .lnb-quiz__fb[hidden] { display: none; }
  .lnb-quiz--js .lnb-quiz__fb { animation: lnb-fade .3s ease both; }

  .lnb__body .lnb-quiz__end { margin-top: 1.8rem; padding-top: 1.6rem; border-top: 1px solid rgb(255 255 255 / .18); }
  .lnb-quiz--js .lnb-quiz__end[hidden] { display: none; }
  .lnb__body .lnb-quiz__score {
    margin: 0 0 .5rem; font-family: var(--font-body--family);
    font-size: 10.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--lnb-powder);
  }
  .lnb__body .lnb-quiz__msg { margin: 0 0 1.2rem; font-size: 1.02rem; line-height: 1.6; color: #fff; max-width: 48ch; }
  .lnb-quiz--js .lnb-quiz__msg[hidden] { display: none; }
  .lnb__body .lnb-quiz__cta {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 48px; padding-inline: 1.7rem;
    background: var(--lnb-accent); color: #fff; border: 1px solid var(--lnb-accent);
    background-image: none;
    font-family: var(--font-body--family); font-size: 12px; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase; text-decoration: none;
    transition: background .2s ease, border-color .2s ease;
  }
  .lnb__body .lnb-quiz__cta:hover, .lnb__body .lnb-quiz__cta:focus-visible {
    background: transparent; color: #fff; border-color: rgb(255 255 255 / .55); background-image: none;
  }
  .lnb__body .lnb-quiz__again {
    display: inline-flex; align-items: center; min-height: 44px; margin-inline-start: 1rem;
    background: none; border: 0; color: rgb(255 255 255 / .7); cursor: pointer;
    font-family: var(--font-body--family); font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase;
    text-decoration: underline; text-underline-offset: 3px;
  }
  .lnb__body .lnb-quiz__again:hover { color: #fff; }
  @media (max-width: 479px) { .lnb__body .lnb-quiz__again { margin: .8rem 0 0; } }

  /* ---------- RAILS ---------- */
  .lnb__shelf { padding: clamp(3rem, 6vw, 5rem) var(--lnb-pad) 0; }
  .lnb__more { padding: clamp(3rem, 6vw, 5rem) var(--lnb-pad); }
  .lnb__shelf-in, .lnb__more-in { max-width: var(--lnb-measure); margin-inline: auto; }

  .lnb__rhead { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; }
  .lnb__rt { margin: 0; font-family: var(--font-h2--family); font-weight: var(--font-h2--weight, 500); font-size: clamp(1.4rem, 1.15rem + .9vw, 1.95rem); line-height: 1.16; }
  .lnb__rsub { margin: .4rem 0 0; font-family: var(--font-body--family); font-size: .92rem; color: var(--lnb-muted); }
  .lnb__rnav { display: flex; align-items: center; gap: .45rem; flex: 0 0 auto; }
  .lnb__arrow, .lnb__play {
    width: 44px; height: 44px; display: grid; place-items: center;
    background: transparent; border: 1px solid var(--lnb-line); color: inherit; cursor: pointer;
    transition: background .18s ease, border-color .18s ease, opacity .18s ease;
  }
  .lnb__arrow[hidden], .lnb__play[hidden] { display: none; }
  .lnb__arrow svg { width: 17px; height: 17px; }
  .lnb__arrow:hover, .lnb__play:hover { background: var(--lnb-soft); border-color: var(--lnb-soft); }
  .lnb__arrow[aria-disabled='true'] { opacity: .3; pointer-events: none; }
  /* pause : deux barres · lecture : un triangle */
  .lnb__play-i {
    width: 11px; height: 12px; box-sizing: border-box; background: transparent;
    border-inline: 3.5px solid currentColor;
  }
  .lnb__play[data-state='paused'] .lnb__play-i {
    border: 0; background: currentColor; width: 11px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
  .lnb__all {
    margin-inline-start: .35rem; display: inline-flex; align-items: center; min-height: 44px;
    font-family: var(--font-body--family); font-size: 11px; font-weight: 700; letter-spacing: .12em;
    text-transform: uppercase; color: inherit; text-decoration: none; border-bottom: 1px solid transparent;
  }
  .lnb__all:hover, .lnb__all:focus-visible { border-bottom-color: var(--lnb-accent); color: var(--lnb-accent); }
  @media (max-width: 599px) { .lnb__all { display: none; } }

  .lnb__cards, .lnb__rels {
    display: flex; gap: var(--lnb-rail-gap);
    margin: 0; padding: 0 0 .4rem; list-style: none;
    overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    scroll-padding-inline-start: 0;
  }
  .lnb__cards::-webkit-scrollbar, .lnb__rels::-webkit-scrollbar { display: none; }
  .lnb__card, .lnb__rel { flex: 0 0 auto; scroll-snap-align: start; width: calc((100% - 2 * var(--lnb-rail-gap)) / 3); min-width: 0; }
  @media (max-width: 899px) { .lnb__card, .lnb__rel { width: calc((100% - var(--lnb-rail-gap)) / 2); } }
  @media (max-width: 639px) { .lnb__card, .lnb__rel { width: 78%; } }

  .lnb__card-a, .lnb__rel-a { display: grid; gap: .25rem; color: inherit; text-decoration: none; }
  .lnb__card-th, .lnb__rel-th { display: block; overflow: hidden; background: var(--lnb-soft); }
  /* Les packshots de la boutique sont carrés (2048 x 2048). Un cadre en 3/4
     rognait donc le haut et le bas du vêtement. Cadre carré partout : l'image
     entre entière, rien n'est coupé. Constaté le 22/09 sur « À porter avec ». */
  .lnb__card-th { aspect-ratio: 1 / 1; }
  .lnb__rel-th { aspect-ratio: 16 / 9; }
  .lnb__card-img, .lnb__rel-img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
  .lnb__card-a:hover .lnb__card-img, .lnb__rel-a:hover .lnb__rel-img { transform: scale(1.03); }
  .lnb__card-n, .lnb__rel-n { display: block; margin-top: .75rem; font-family: var(--font-body--family); font-size: .95rem; line-height: 1.4; font-weight: 500; }
  .lnb__card-p { display: block; font-family: var(--font-body--family); font-size: .88rem; color: var(--lnb-muted); font-variant-numeric: tabular-nums; }
  .lnb__rel-tag { display: block; margin-top: .6rem; font-family: var(--font-body--family); font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--lnb-accent); }
  .lnb__rel-n { margin-top: .3rem; font-family: var(--font-h2--family); font-size: 1.08rem; font-weight: var(--font-h2--weight, 500); line-height: 1.22; }


  /* ---------- CONCLUSION ---------- */
  .lnb__end { margin-block: clamp(3.5rem, 7vw, 6rem) 0; padding: clamp(2.5rem, 6vw, 4.5rem) var(--lnb-pad); background: var(--lnb-ink); color: #fff; }
  .lnb__end-in { max-width: 44rem; margin-inline: auto; text-align: center; }
  .lnb__end-t { margin: 0 0 .9rem; font-family: var(--font-h2--family); font-weight: var(--font-h2--weight, 500); font-size: clamp(1.6rem, 1.25rem + 1.4vw, 2.4rem); line-height: 1.16; }
  .lnb__end-p { margin: 0 auto 1.8rem; max-width: 34rem; font-family: var(--font-body--family); font-size: 1.02rem; line-height: 1.66; color: rgb(255 255 255 / .82); }
  .lnb__btn {
    display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding-inline: 1.9rem;
    background: var(--lnb-accent); color: #fff; font-family: var(--font-body--family);
    font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; text-decoration: none;
    border: 1px solid var(--lnb-accent); transition: background .2s ease, color .2s ease;
  }
  .lnb__btn:hover, .lnb__btn:focus-visible { background: transparent; color: #fff; border-color: rgb(255 255 255 / .55); }

  /* ---------- RÉVÉLATION AU DÉFILEMENT ---------- */
  .lnb--anim .lnb__body > *, .lnb--anim .lnb__cards > *, .lnb--anim .lnb__rels > * {
    opacity: 0; transform: translateY(14px); transition: opacity .55s ease, transform .55s ease;
  }
  .lnb--anim .lnb-in { opacity: 1; transform: none; }

  @media (prefers-reduced-motion: reduce) {
    .lnb--anim .lnb__body > *, .lnb--anim .lnb__cards > *, .lnb--anim .lnb__rels > * { opacity: 1; transform: none; transition: none; }
    .lnb__progress { display: none; }
    .lnb__hero-img { animation: none; }
    .lnb__card-a:hover .lnb__card-img, .lnb__rel-a:hover .lnb__rel-img { transform: none; }
    .lnb__body .lnb-tabs__p { animation: none; }
  }
/* END_SECTION:lonamy-article */

/* START_SECTION:lonamy-atelier (INDEX:17) */
.lat { padding-block: clamp(2rem,5vw,3.4rem) clamp(2.6rem,6vw,4rem); }
  .lat__wrap { max-width: 122rem; margin-inline: auto; padding-inline: var(--page-margin,2rem); }

  .lat__head { max-width: 62rem; }
  .lat__eyebrow { font-family: var(--font-body--family); font-size: .7rem; text-transform: uppercase;
    letter-spacing: .2em; font-weight: 600; color: var(--lat-acc,#B85C38); margin: 0 0 .7rem; }
  .lat__h { font-family: var(--font-h1--family); font-weight: 400; margin: 0;
    font-size: clamp(2rem,4.4vw,3.4rem); line-height: 1.03; letter-spacing: -.01em; }
  .lat__intro { font-family: var(--font-body--family); font-size: 1rem; line-height: 1.55;
    opacity: .75; margin-top: .9rem; max-width: 56ch; }
  .lat__intro p { margin: 0; }

  .lat__meter { margin-top: 1.8rem; max-width: 44rem; }
  .lat__meter-track { position: relative; height: 3px; background: rgb(var(--color-foreground-rgb)/.16); }
  .lat__meter-fill { position: absolute; inset: 0 auto 0 0; width: 0; background: var(--lat-acc,#B85C38);
    transition: width .5s cubic-bezier(.4,0,.2,1); }
  .lat__meter-stops { list-style: none; display: flex; margin: .6rem 0 0; padding: 0; }
  .lat__meter-stops li { flex: 1; text-align: center; font-family: var(--font-body--family); }
  .lat__meter-stops li:first-child { text-align: left; }
  .lat__meter-stops li:last-child { text-align: right; }
  .lat__meter-stops b { display: block; font-size: .9rem; font-weight: 600; transition: color .3s ease; }
  .lat__meter-stops span { font-size: .7rem; opacity: .55; }
  /* Mention du palier : elle dit d'où vient la remise. Sans elle, on croit que
     le -20 % du prix barré dépend lui aussi de la quantité, alors qu'il porte
     déjà sur une seule pièce ; seuls les paliers (5 / 10 / 20 % de plus, dès
     2 / 3 / 4 pièces) sont liés au nombre de pièces. */
  .lat__meter-stops em { display: block; font-style: normal; font-size: .64rem;
    color: var(--lat-acc,#B85C38); margin-top: .12rem; }
  .lat__meter-stops li.is-on b { color: var(--lat-acc,#B85C38); }

  /* --- filtres --- */
  .lat__filters { display: flex; gap: .6rem; flex-wrap: wrap; align-items: flex-start;
    margin-top: 1.8rem; padding-block: 1rem; border-block: 1px solid rgb(var(--color-foreground-rgb)/.12); }
  .lat__filters[hidden] { display: none; }
  .lat__fbox { position: relative; }
  .lat__fbox summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: .45rem;
    border: 1px solid rgb(var(--color-foreground-rgb)/.22); padding: .48rem .9rem;
    font-family: var(--font-body--family); font-size: .78rem; }
  .lat__fbox summary::-webkit-details-marker { display: none; }
  .lat__fbox summary::after { content: '+'; font-size: 1rem; line-height: 1; opacity: .5; }
  .lat__fbox[open] summary::after { content: '–'; }
  .lat__fbox[open] summary { background: var(--color-foreground); color: var(--color-background);
    border-color: var(--color-foreground); }
  .lat__fcount { background: var(--lat-acc,#B85C38); color: #fff; border-radius: 10px;
    font-size: .64rem; font-weight: 700; padding: .05rem .38rem; }
  .lat__fcount[hidden] { display: none; }
  .lat__fopts { position: absolute; z-index: 6; top: calc(100% + .4rem); left: 0; min-width: 17rem;
    background: var(--color-background); border: 1px solid rgb(var(--color-foreground-rgb)/.18);
    box-shadow: 0 20px 44px -32px rgb(var(--color-foreground-rgb)/.7);
    padding: .7rem;
    /* RETOUCHE 20/09 — grille reguliere. En flex-wrap, 17 pastilles de largeurs
       differentes formaient un escalier (3 par rang, puis 2, puis 3). */
    display: grid; grid-template-columns: repeat(auto-fill, minmax(8.2rem, 1fr));
    gap: .35rem; min-width: 26rem; max-width: min(34rem, 92vw); }
  .lat__fopts button { cursor: pointer; color: inherit; background: none;
    border: 1px solid rgb(var(--color-foreground-rgb)/.22);
    font-family: var(--font-body--family); font-size: .74rem; padding: .32rem .6rem;
    display: inline-flex; align-items: center; gap: .38rem; }
  .lat__fopts button i { width: 12px; height: 12px; border-radius: 2px; display: block;
    border: 1px solid rgb(var(--color-foreground-rgb)/.18); }
  .lat__fopts button[aria-pressed="true"] { background: var(--color-foreground);
    color: var(--color-background); border-color: var(--color-foreground); font-weight: 600; }
  .lat__freset { cursor: pointer; background: none; border: 0; color: inherit;
    font-family: var(--font-body--family); font-size: .76rem; opacity: .6;
    text-decoration: underline; text-underline-offset: 2px; padding: .5rem 0; }
  .lat__freset[hidden] { display: none; }

  /* --- établi --- */
  .lat__bench { display: grid; grid-template-columns: minmax(0,22rem) minmax(0,1fr);
    gap: clamp(1.6rem,3vw,3rem); margin-top: 2rem; align-items: start; }

  .lat__look { position: sticky; top: 5.5rem; border: 1px solid rgb(var(--color-foreground-rgb)/.14); }
  .lat__look-h { display: flex; justify-content: space-between; align-items: center;
    padding: .85rem 1rem; border-bottom: 1px solid rgb(var(--color-foreground-rgb)/.12); }
  .lat__look-t { font-family: var(--font-body--family); font-size: .7rem; text-transform: uppercase;
    letter-spacing: .14em; font-weight: 600; }
  .lat__wipe { cursor: pointer; background: none; border: 0; color: inherit;
    font-family: var(--font-body--family); font-size: .72rem; opacity: .6;
    text-decoration: underline; text-underline-offset: 2px; }
  .lat__wipe:hover { opacity: 1; }
  .lat__wipe[hidden] { display: none; }

  .lat__look-list { display: flex; flex-direction: column; }
  .lat__lrow { display: flex; gap: .65rem; align-items: center; padding: .6rem .8rem;
    border-bottom: 1px solid rgb(var(--color-foreground-rgb)/.08); }
  .lat__lrow img { flex: 0 0 2.7rem; width: 2.7rem; height: 2.7rem; object-fit: contain; display: block;
    background: rgb(var(--color-foreground-rgb)/.05); }
  .lat__lrow-tx { display: flex; flex-direction: column; gap: .08rem; min-width: 0; flex: 1 1 auto; }
  .lat__lrow-n { font-family: var(--font-body--family); font-size: .78rem; line-height: 1.25;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .lat__lrow-o { font-family: var(--font-body--family); font-size: .7rem; opacity: .6; }
  .lat__lrow-p { font-family: var(--font-body--family); font-size: .78rem; font-weight: 600; }

  /* Règle de prix commune aux quatre rangées du module — corrigée le
     12/09/2026. Elle peignait TOUS les prix en terracotta, remise ou pas :
     « t'as mis les prix marrons partout, alors que je veux uniquement les prix
     qui sont soldé en marron et les prix qui ne sont pas en réduction je les
     veux en noir en gras ». Un terracotta posé partout ne signale plus rien.

     Donc : prix plein en encre et en gras, prix remisé en terracotta et en
     gras, barré dans l'encre atténuée du thème — les deux mêmes jetons que
     `snippets/price-styles.liquid`, ceux de la page collection.
     Le marqueur `is-sale` est posé par le Liquid sur la carte et par le JS sur
     les trois autres rangées (`classePrix`). Sans lui, pas de terracotta. */
  .lat__card-p, .lat__pick-p, .lat__lrow-p, .lat__mrow-p {
    display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap;
    font-variant-numeric: tabular-nums;
  }
  .lat__card-p s, .lat__pick-p s, .lat__lrow-p s, .lat__mrow-p s {
    color: rgb(var(--color-foreground-rgb, 42 36 32) / var(--opacity-subdued-text, .8));
    font-weight: 400;
    text-decoration-line: line-through;
    text-decoration-thickness: 1.5px;
    text-decoration-color: rgb(var(--color-foreground-rgb, 42 36 32) / var(--opacity-30, .3));
    white-space: nowrap;
  }
  .lat__card-p b, .lat__pick-p b, .lat__lrow-p b, .lat__mrow-p b {
    color: var(--color-foreground, #2a2420);
    font-weight: 700;
    white-space: nowrap;
  }
  .lat__card-p.is-sale b, .lat__pick-p.is-sale b,
  .lat__lrow-p.is-sale b, .lat__mrow-p.is-sale b {
    color: var(--lat-accent, #b85c38);
  }
  .lat__lrow-x { cursor: pointer; background: none; border: 0; color: inherit; opacity: .4;
    padding: .2rem; line-height: 0; flex: none; }
  .lat__lrow-x:hover { opacity: 1; }
  .lat__lempty { font-family: var(--font-body--family); font-size: .78rem; opacity: .5;
    padding: 1.4rem 1rem; text-align: center; margin: 0; }

  .lat__look-sum { padding: 1rem; display: flex; flex-direction: column; gap: .45rem;
    border-top: 1px solid rgb(var(--color-foreground-rgb)/.12); }
  .lat__row { display: flex; justify-content: space-between; align-items: baseline; margin: 0;
    font-family: var(--font-body--family); font-size: .84rem; }
  .lat__row--tot { border-top: 1px solid rgb(var(--color-foreground-rgb)/.12); padding-top: .7rem; margin-top: .2rem; }
  .lat__brut { opacity: .55; text-decoration: line-through; }
  .lat__save { color: var(--lat-acc,#B85C38); font-weight: 600; }
  .lat__save[hidden] { display: none; }
  .lat__net { font-family: var(--font-body--family); font-weight: 700; font-size: 1.7rem; line-height: 1; } /* RETOUCHE 20/09 : tous les prix en police de corps (Jost). */
  .lat__add { display: block; width: 100%; cursor: pointer; border: 0;
    background: var(--lat-acc,#B85C38); color: #fff;
    font-family: var(--font-body--family); font-size: .76rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .11em; padding: 1.05rem 1rem;
    transition: background .2s ease, opacity .2s ease; }
  .lat__add:hover:not([disabled]) { background: var(--color-foreground); }
  .lat__add[disabled] { opacity: .4; cursor: default; }
  .lat__hint { font-family: var(--font-body--family); font-size: .74rem; opacity: .62; margin: 0;
    padding: .75rem 1rem 1rem; border-top: 1px solid rgb(var(--color-foreground-rgb)/.12); }

  /* --- étapes --- */
  .lat__steps { display: flex; flex-direction: column; gap: 2rem; min-width: 0; }
  /* Les rails à marges négatives (-1,25 rem de chaque côté) dépassaient de leur
     conteneur quand la marge de page était plus petite que 1,25 rem : la page
     débordait de 32 px en 320 px de large. On rogne au niveau de l'étape. */
  .lat__step, .lat__group, .lat__bench { min-width: 0; max-width: 100%; }
  .lat__step { overflow-x: clip; }
  .lat__step { min-width: 0; }
  .lat__step-h { display: flex; align-items: center; gap: .6rem; margin-bottom: .75rem; flex-wrap: wrap; }
  .lat__step-n { flex: none; width: 1.55rem; height: 1.55rem; border-radius: 50%;
    background: var(--color-foreground); color: var(--color-background);
    display: inline-flex; align-items: center; justify-content: center;
    font-family: var(--font-body--family); font-size: .72rem; font-weight: 700; }
  .lat__step-t { font-family: var(--font-body--family); font-size: .84rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: .1em; }
  .lat__step-multi { font-family: var(--font-body--family); font-size: .68rem; opacity: .5; }

  .lat__tabs { display: flex; gap: .4rem; margin-bottom: .8rem; flex-wrap: wrap; }
  .lat__tab { cursor: pointer; color: inherit; background: none;
    border: 1px solid rgb(var(--color-foreground-rgb)/.22); padding: .4rem .85rem;
    font-family: var(--font-body--family); font-size: .74rem;
    transition: background .16s ease, color .16s ease, border-color .16s ease; }
  .lat__tab[aria-selected="true"] { background: var(--color-foreground); color: var(--color-background);
    border-color: var(--color-foreground); font-weight: 600; }
  .lat__group[hidden] { display: none; }

  .lat__railwrap { position: relative; min-width: 0; }
  .lat__rail { min-width: 0; display: flex; gap: .75rem; overflow-x: auto;
    scroll-snap-type: x proximity; scrollbar-width: none; scroll-behavior: smooth; padding-bottom: .3rem; }
  .lat__rail::-webkit-scrollbar { display: none; }
  .lat__arw { position: absolute; top: 38%; z-index: 2; width: 2rem; height: 2rem; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; cursor: pointer;
    background: var(--color-background); color: var(--color-foreground);
    border: 1px solid rgb(var(--color-foreground-rgb)/.18);
    box-shadow: 0 4px 14px -8px rgb(var(--color-foreground-rgb)/.6);
    opacity: 0; transition: opacity .18s ease, background .18s ease; }
  .lat__step:hover .lat__arw { opacity: 1; }
  .lat__arw:focus-visible { opacity: 1; }
  .lat__arw:hover { background: var(--color-foreground); color: var(--color-background); }
  .lat__arw[disabled] { opacity: 0 !important; pointer-events: none; }
  .lat__arw--p { left: -.9rem; }
  .lat__arw--n { right: -.9rem; }

  /* RETOUCHE 20/09 — demande utilisateur.
     Sur ordinateur, les deux flèches se posent en haut à droite de l'étape,
     côte à côte, et restent visibles en permanence : au survol seulement, on ne
     devinait pas que le rail défilait. Une flèche en bout de course reste
     affichée en retrait plutôt que de disparaître, pour que la paire ne bouge pas. */
  @media (width > 749px) {
    .lat__arw { top: -2.55rem; opacity: 1; }
    .lat__arw--p { left: auto; right: 2.45rem; }
    .lat__arw--n { right: 0; }
    .lat__arw[disabled] { opacity: .28 !important; }
  }

  /* RETOUCHE 20/09 — le libellé d'offre du palier passe en majuscules. */
  .lat__meter-stops li em { text-transform: uppercase; font-style: normal; letter-spacing: .06em; }


  .lat__card { flex: 0 0 9.4rem; scroll-snap-align: start; min-width: 0;
    background: none; border: 0; padding: 0; cursor: pointer; color: inherit; text-align: left;
    display: flex; flex-direction: column; gap: .35rem; }
  .lat__card[hidden] { display: none; }
  /* Les packshots sont carrés : cadre carré et `contain`, rien n'est jamais rogné. */
  .lat__card-img { position: relative; display: block; overflow: hidden; }
  .lat__card-img img { width: 100%; aspect-ratio: 1; object-fit: contain; display: block;
    transition: transform .45s cubic-bezier(.3,0,.2,1); }
  .lat__card:hover .lat__card-img img { transform: scale(1.04); }
  .lat__card-img::after { content: ''; position: absolute; inset: 0; border: 2px solid transparent;
    transition: border-color .18s ease; }
  .lat__card[aria-pressed="true"] .lat__card-img::after { border-color: var(--color-foreground); }
  .lat__tick { position: absolute; top: .45rem; right: .45rem; width: 1.4rem; height: 1.4rem;
    border-radius: 50%; background: var(--color-foreground); color: var(--color-background);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transform: scale(.6); transition: opacity .18s ease, transform .18s ease; }
  .lat__card[aria-pressed="true"] .lat__tick { opacity: 1; transform: scale(1); }
  .lat__card-t { font-family: var(--font-body--family); font-size: .78rem; line-height: 1.25; min-width: 0;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .lat__card-p { font-family: var(--font-body--family); font-size: .78rem; font-weight: 600; }

  .lat__dots { display: flex; justify-content: center; gap: 5px; padding-top: .6rem; }
  .lat__dots span { width: 5px; height: 5px; border-radius: 50%;
    background: rgb(var(--color-foreground-rgb)/.25); transition: background .2s ease, width .2s ease; }
  .lat__dots span.is-on { background: var(--color-foreground); width: 14px; border-radius: 4px; }

  .lat__vide { font-family: var(--font-body--family); font-size: .8rem; opacity: .7; margin: .8rem 0 0; }
  .lat__vide[hidden] { display: none; }
  .lat__vide button { background: none; border: 0; cursor: pointer; color: inherit;
    text-decoration: underline; text-underline-offset: 2px; font: inherit; }

  /* Chaque pièce retenue a sa propre ligne couleur / taille. */
  .lat__picks { display: flex; flex-direction: column; gap: .6rem; margin-top: .9rem; }
  .lat__picks:empty { display: none; }
  /* Filet plutôt qu'aplat : la teinte passait sous la photo et le fond blanc du
     packshot y découpait un rectangle. Le contour tient la ligne aussi bien. */
  .lat__pick { padding: .9rem; border: 1px solid rgb(var(--color-foreground-rgb)/.13); }
  .lat__pick-top { display: flex; gap: .8rem; align-items: center; }
  .lat__pick-img { flex: 0 0 3.4rem; width: 3.4rem; height: 3.4rem; object-fit: contain; display: block; }
  .lat__pick-tx { display: flex; flex-direction: column; gap: .14rem; min-width: 0; flex: 1 1 auto; }
  .lat__pick-n { font-family: var(--font-body--family); font-size: .86rem; line-height: 1.25;
    color: inherit; text-decoration: none; }
  .lat__pick-n:hover { text-decoration: underline; text-underline-offset: 2px; }
  .lat__pick-p { font-family: var(--font-body--family); font-size: .86rem; font-weight: 600; }
  .lat__pick-x { cursor: pointer; background: none; border: 0; color: inherit; opacity: .5; flex: none;
    font-family: var(--font-body--family); font-size: .72rem;
    text-decoration: underline; text-underline-offset: 2px; }
  .lat__pick-x:hover { opacity: 1; }
  .lat__opt { margin-top: .8rem; }
  .lat__opt[hidden] { display: none; }
  .lat__opt-l { display: block; font-family: var(--font-body--family); font-size: .7rem; opacity: .6; margin-bottom: .4rem; }
  .lat__opt-l b { font-weight: 600; opacity: .95; }
  .lat__sw { display: flex; flex-wrap: wrap; gap: 6px; }
  .lat__sw button { width: 26px; height: 26px; border-radius: 3px; cursor: pointer; padding: 0;
    border: 1px solid rgb(var(--color-foreground-rgb)/.25); background: rgb(var(--color-foreground-rgb)/.08); }
  .lat__sw button[aria-pressed="true"] { outline: 1.5px solid var(--color-foreground); outline-offset: 2px; }
  .lat__sizes { display: flex; flex-wrap: wrap; gap: 5px; }
  .lat__sizes button { min-width: 2.4rem; padding: .38rem .5rem; cursor: pointer; color: inherit;
    background: none; border: 1px solid rgb(var(--color-foreground-rgb)/.25);
    font-family: var(--font-body--family); font-size: .76rem; }
  .lat__sizes button[aria-pressed="true"] { background: var(--color-foreground);
    color: var(--color-background); border-color: var(--color-foreground); }
  .lat__sizes button.is-out { opacity: .3; cursor: not-allowed; text-decoration: line-through; }

  .lat__more { align-self: flex-start; cursor: pointer; color: inherit; background: none;
    border: 1px dashed rgb(var(--color-foreground-rgb)/.35); padding: .9rem 1.3rem;
    font-family: var(--font-body--family); font-size: .8rem; font-weight: 600;
    display: inline-flex; align-items: center; gap: .5rem;
    transition: border-color .18s ease, background .18s ease; }
  .lat__more:hover { border-color: var(--color-foreground); background: rgb(var(--color-foreground-rgb)/.04); }
  .lat__more[hidden] { display: none; }
  /* AJOUT 20/09 — retrait d'une etape supplementaire. */
  .lat__step-x { margin-inline-start: auto; cursor: pointer; border: 0; background: none;
    color: inherit; font-family: var(--font-body--family); font-size: .72rem;
    text-decoration: underline; text-underline-offset: 3px; opacity: .6;
    padding: .55rem .2rem; min-height: 44px; display: inline-flex; align-items: center; }
  .lat__step-x:hover, .lat__step-x:focus-visible { opacity: 1; }
  .lat__more span { font-size: 1.1rem; line-height: 1; }
  /* Sur mobile le bouton prend toute la largeur de l'étape : calé à gauche, il
     s'arrêtait 60 px avant le bord droit alors que le récapitulatif juste en
     dessous va d'un bord à l'autre, et l'écart se lisait comme un défaut. */
  @media screen and (max-width: 749px) {
    .lat__more { align-self: stretch; justify-content: center; }
  }

  /* --- barre mobile --- */
  .lat__sticky { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 5;
    align-items: center; gap: .8rem; padding: .7rem .9rem;
    background: var(--color-foreground); color: var(--color-background);
    box-shadow: 0 -8px 26px -18px rgb(var(--color-foreground-rgb)/.9); }
  .lat__sticky[hidden] { display: none !important; }
  .lat__sticky-l { display: flex; flex-direction: column; gap: .05rem; line-height: 1.2; min-width: 0; }
  .lat__sticky-l b { font-family: var(--font-body--family); font-size: .7rem; font-weight: 400; opacity: .7; }
  .lat__sticky-l span { font-family: var(--font-h2--family); font-size: 1.25rem; }
  .lat__sticky-b { margin-left: auto; flex: 0 0 auto; cursor: pointer; border: 0;
    background: var(--color-background); color: var(--color-foreground);
    font-family: var(--font-body--family); font-size: .74rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .1em; padding: .85rem 1.2rem; }
  .lat__sticky-b[disabled] { opacity: .45; }

  /* --- tenues prêtes --- */
  .lat__ready { margin-top: clamp(2.6rem,6vw,4rem); padding-top: 2rem;
    border-top: 1px solid rgb(var(--color-foreground-rgb)/.12); }
  .lat__ready-h h2 { font-family: var(--font-h2--family); font-weight: 400; margin: 0;
    font-size: clamp(1.5rem,2.8vw,2.1rem); line-height: 1.1; }
  .lat__ready-h p { font-family: var(--font-body--family); font-size: .9rem; opacity: .7; margin: .4rem 0 0; }
  .lat__ready-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-top: 1.4rem; }
  .lat__ready-c { cursor: pointer; color: inherit; background: none; text-align: left;
    border: 1px solid rgb(var(--color-foreground-rgb)/.14); padding: 1rem;
    display: flex; flex-direction: column; gap: .55rem;
    transition: border-color .18s ease, background .18s ease; }
  .lat__ready-c:hover { border-color: var(--color-foreground); background: rgb(var(--color-foreground-rgb)/.03); }
  .lat__ready-figs { display: flex; gap: .35rem; }
  .lat__ready-figs img { width: 100%; max-width: 4.8rem; aspect-ratio: 1; object-fit: contain;
    background: rgb(var(--color-foreground-rgb)/.045); display: block; }
  .lat__ready-n { font-family: var(--font-h2--family); font-size: 1.2rem; line-height: 1.1; }
  .lat__ready-m { font-family: var(--font-body--family); font-size: .78rem; opacity: .65; }
  .lat__ready-p { font-family: var(--font-body--family); font-size: .84rem; font-weight: 600; }
  .lat__ready-p s { font-weight: 400; opacity: .5; margin-left: .4rem; }
  .lat__ready-go { font-family: var(--font-body--family); font-size: .72rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: .1em; color: var(--lat-acc,#B85C38); }

  /* --- vous hésitez --- */
  .lat__helper { margin-top: clamp(2rem,4vw,3rem); padding: clamp(1.4rem,3vw,2rem);
    background: var(--color-foreground); color: var(--color-background);
    display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 1.6rem; align-items: center; }
  .lat__helper h2 { font-family: var(--font-h2--family); font-weight: 400; margin: 0;
    font-size: clamp(1.4rem,2.6vw,2rem); line-height: 1.1; }
  .lat__helper-tx p { font-family: var(--font-body--family); font-size: .88rem; opacity: .78; margin: .4rem 0 0; }
  .lat__helper-form { display: grid; grid-template-columns: repeat(3,1fr); gap: .7rem; align-items: end; }
  .lat__f { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
  .lat__f > span { font-family: var(--font-body--family); font-size: .7rem; opacity: .7; }
  .lat__f select { width: 100%; min-width: 0; appearance: none; cursor: pointer;
    background: transparent; color: inherit; border: 1px solid rgb(255 255 255 / .3);
    font-family: var(--font-body--family); font-size: .84rem; padding: .6rem .7rem; }
  .lat__f select option { color: #2a2420; background: #fff; }
  .lat__helper-go { grid-column: 1 / -1; cursor: pointer; border: 0;
    background: var(--color-background); color: var(--color-foreground);
    font-family: var(--font-body--family); font-size: .74rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .11em; padding: .85rem 1rem;
    transition: background .2s ease, color .2s ease; }
  .lat__helper-go:hover { background: var(--lat-acc,#B85C38); color: #fff; }

  /* --- fenêtre --- */
  .lat__modal { border: 0; padding: 0; max-width: 44rem; width: min(94vw,44rem);
    max-height: 88svh; background: var(--color-background); color: var(--color-foreground); }
  .lat__modal::backdrop { background: rgb(0 0 0 / .5); }
  .lat__modal-in { display: flex; flex-direction: column; max-height: 88svh; }
  .lat__modal-h { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem;
    padding: 1.2rem 1.3rem 1rem; border-bottom: 1px solid rgb(var(--color-foreground-rgb)/.12); }
  .lat__modal-u { display: block; font-family: var(--font-body--family); font-size: .66rem;
    text-transform: uppercase; letter-spacing: .16em; opacity: .55; margin-bottom: .25rem; }
  .lat__modal-t { font-family: var(--font-h2--family); font-size: 1.6rem; line-height: 1.1; }
  .lat__modal-x { cursor: pointer; background: none; border: 0; color: inherit; opacity: .6; line-height: 0; padding: .2rem; }
  .lat__modal-x:hover { opacity: 1; }
  .lat__modal-note { margin: 0; padding: .85rem 1.3rem; background: rgb(var(--color-foreground-rgb)/.05);
    font-family: var(--font-body--family); font-size: .8rem; line-height: 1.45; }
  .lat__modal-note[hidden] { display: none; }
  .lat__modal-list { overflow-y: auto; padding: .4rem 1.3rem 1rem; display: flex; flex-direction: column; }
  .lat__mrow { display: grid; grid-template-columns: 5.4rem minmax(0,1fr); gap: 1rem;
    padding: 1rem 0; border-bottom: 1px solid rgb(var(--color-foreground-rgb)/.09); }
  .lat__mrow:last-child { border-bottom: 0; }
  /* Cadre CARRÉ : les packshots le sont, un cadre 5,4 x 6,4 leur ajoutait
     deux bandes vides en haut et en bas. */
  .lat__mrow-fig { position: relative; width: 5.4rem; height: 5.4rem; flex: 0 0 auto;
    padding: 0; border: 0; display: block; background: none; }
  .lat__mrow-fig--z { cursor: zoom-in; }
  .lat__mrow-fig--z:focus-visible { outline: 2px solid var(--lat-acc,#B85C38); outline-offset: 2px; }
  .lat__mrow-fig--z:hover .lat__zoom { opacity: 1; transform: scale(1.08); }
  .lat__mrow-fig img { width: 100%; height: 100%; object-fit: contain; display: block; }
  .lat__zoom { position: absolute; right: .25rem; bottom: .25rem; width: 1.5rem; height: 1.5rem;
    border-radius: 50%; line-height: 0; pointer-events: none;
    background: var(--color-foreground); color: var(--color-background);
    display: flex; align-items: center; justify-content: center;
    opacity: .82; transition: opacity .16s ease, transform .16s ease; }

  /* --- visionneuse --- */
  .lat__ph { border: 0; padding: 0; background: var(--color-background); color: var(--color-foreground);
    width: min(94vw, 46rem); max-width: 46rem; position: relative; }
  .lat__ph::backdrop { background: rgb(0 0 0 / .72); }
  .lat__ph-rail { display: flex; overflow-x: auto; scroll-snap-type: x mandatory;
    scrollbar-width: none; scroll-behavior: smooth; }
  .lat__ph-rail::-webkit-scrollbar { display: none; }
  .lat__ph-rail img { flex: 0 0 100%; width: 100%; aspect-ratio: 1; object-fit: contain;
    scroll-snap-align: center; display: block; background: rgb(var(--color-foreground-rgb)/.04); }
  .lat__ph-x { position: absolute; top: .6rem; right: .6rem; z-index: 2; cursor: pointer;
    width: 2.2rem; height: 2.2rem; border: 0; border-radius: 50%; padding: 0; line-height: 0;
    background: var(--color-background); color: var(--color-foreground);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 14px -8px rgb(var(--color-foreground-rgb)/.7); }
  .lat__ph-a { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; cursor: pointer;
    width: 2.4rem; height: 2.4rem; border-radius: 50%; padding: 0;
    border: 1px solid rgb(var(--color-foreground-rgb)/.15);
    background: var(--color-background); color: var(--color-foreground);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 14px -8px rgb(var(--color-foreground-rgb)/.7); }
  .lat__ph-a[disabled] { opacity: 0; pointer-events: none; }
  .lat__ph-a--p { left: .7rem; }
  .lat__ph-a--n { right: .7rem; }
  .lat__ph-foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding: .85rem 1.1rem; border-top: 1px solid rgb(var(--color-foreground-rgb)/.1); }
  .lat__ph-t { font-family: var(--font-body--family); font-size: .86rem; }
  .lat__ph-dots { display: flex; gap: 5px; }
  .lat__ph-dots span { width: 5px; height: 5px; border-radius: 50%;
    background: rgb(var(--color-foreground-rgb)/.25); }
  .lat__ph-dots span.is-on { background: var(--color-foreground); width: 14px; border-radius: 4px; }
  .lat__mrow-b { display: flex; flex-direction: column; gap: .5rem; min-width: 0; }
  .lat__mrow-h { display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; }
  .lat__mrow-n { font-family: var(--font-body--family); font-size: .92rem; color: inherit; text-decoration: none; }
  .lat__mrow-n:hover { text-decoration: underline; text-underline-offset: 2px; }
  .lat__mrow-p { font-family: var(--font-body--family); font-size: .88rem; font-weight: 600; white-space: nowrap; }
  .lat__mrow-x { align-self: flex-start; cursor: pointer; background: none; border: 0; color: inherit;
    opacity: .55; font-family: var(--font-body--family); font-size: .74rem;
    text-decoration: underline; text-underline-offset: 2px; padding: 0; }
  .lat__mrow-x:hover { opacity: 1; }

  .lat__modal-f { border-top: 1px solid rgb(var(--color-foreground-rgb)/.12); padding: 1rem 1.3rem 1.2rem;
    display: flex; flex-direction: column; gap: .8rem; }
  .lat__modal-sum { display: flex; align-items: baseline; gap: .7rem; flex-wrap: wrap; }
  .lat__modal-brut { font-family: var(--font-body--family); font-size: .9rem; opacity: .5; text-decoration: line-through; }
  .lat__modal-net { font-family: var(--font-body--family); font-weight: 700; font-size: 1.7rem; line-height: 1; } /* RETOUCHE 20/09 : tous les prix en police de corps (Jost). */
  .lat__modal-save { font-family: var(--font-body--family); font-size: .74rem; font-weight: 700;
    background: var(--lat-acc,#B85C38); color: #fff; padding: .2rem .45rem; }
  .lat__modal-acts { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
  .lat__modal-edit { cursor: pointer; background: none; color: inherit;
    border: 1px solid rgb(var(--color-foreground-rgb)/.25);
    font-family: var(--font-body--family); font-size: .74rem; padding: .85rem 1rem; }
  .lat__modal-edit:hover { border-color: var(--color-foreground); }
  .lat__modal-add { flex: 1 1 14rem; cursor: pointer; border: 0;
    background: var(--lat-acc,#B85C38); color: #fff;
    font-family: var(--font-body--family); font-size: .76rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .11em; padding: .95rem 1rem;
    transition: background .2s ease; }
  .lat__modal-add:hover:not([disabled]) { background: var(--color-foreground); }
  .lat__modal-add[disabled] { opacity: .45; cursor: default; }

  @media screen and (max-width: 989px) {
    /* CORRECTIF 20/09 — `1fr` vaut `minmax(auto, 1fr)` : la colonne ne peut pas
       descendre sous la largeur minimale de son contenu. Le bloc « votre tenue »
       mesurait 416 px dans une grille de 335, il depassait de 61 px a droite.
       `minmax(0, 1fr)` autorise la colonne a se reduire ; `min-width:0` leve la
       meme limite sur l'element lui-meme. */
    .lat__bench { grid-template-columns: minmax(0, 1fr); }
    .lat__look { min-width: 0; }
    .lat__look-list, .lat__look-sum { min-width: 0; }
    .lat__look { position: static; order: 2; }
    .lat__steps { order: 1; }
    .lat__arw { display: none; }
    .lat__ready-grid { grid-template-columns: repeat(2,1fr); }
    .lat__helper { grid-template-columns: 1fr; }
  }
  @media screen and (max-width: 749px) {
    /* Marges symétriques : le contenu doit être centré, et le rail déborder des
       DEUX côtés avec un retrait de défilement, sinon la section paraît de travers. */
    .lat__wrap { padding-inline: 1.25rem; }
    .lat__railwrap { margin-inline: -1.25rem; }
    .lat__rail { padding-inline: 1.25rem; scroll-padding-inline-start: 1.25rem; }
    .lat__card { flex: 0 0 8.2rem; }
    /* RETOUCHE 20/09 — affichage progressif : seuls le palier atteint et le
       suivant restent visibles, cote a cote sur une ligne. Au depart (aucune
       piece choisie), `is-next` porte sur le premier palier : on voit donc
       « 1 piece » seul, et la liste se devoile au fur et a mesure. */
    .lat__meter { margin-top: 1.2rem; }
    .lat__meter-stops { gap: 1.1rem; align-items: baseline; }
    .lat__meter-stops li { display: none; flex: 0 1 auto; text-align: left; }
    .lat__meter-stops li.is-on,
    .lat__meter-stops li.is-next { display: block; }
    .lat__meter-stops li.is-next { opacity: .55; }
    .lat__meter-stops li:first-child,
    .lat__meter-stops li:last-child { text-align: left; }
    .lat__meter-stops b { display: inline; }
    .lat__meter-stops span { display: inline; margin-inline-start: .35rem; }
    /* Le libelle d'offre est deja dans la barre d'annonce, juste au-dessus :
       le repeter ici forcait un retour a la ligne sur 375 px. */
    .lat__meter-stops em { display: none; }
    .lat__meter-stops { justify-content: space-between; }
    .lat__meter-stops span { font-size: .6rem; }
    .lat__meter-stops b { font-size: .8rem; }
    .lat__filters { flex-direction: column; align-items: stretch; }
    .lat__fopts { position: static; min-width: 0; width: 100%; margin-top: .4rem; box-shadow: none; }
    /* CORRECTIF 20/09 — `space-between` repartissait [libelle] [compteur] et
       poussait le compteur au milieu de la ligne. Le compteur suit le libelle,
       le marqueur +/- part seul a droite. */
    .lat__fbox summary { width: 100%; justify-content: flex-start; }
    .lat__fbox summary::after { margin-inline-start: auto; }
    .lat__ready-grid { grid-template-columns: 1fr; }
    .lat__helper-form { grid-template-columns: 1fr; }
    .lat__sizes button { min-height: 40px; }
    .lat__sticky { display: flex; }
    .lat__steps { padding-bottom: 4.6rem; }
    .lat__mrow { grid-template-columns: 4.2rem minmax(0,1fr); gap: .8rem; }
    .lat__mrow-fig { width: 4.2rem; height: 4.2rem; }
    /* En colonne, la base de `flex: 1 1 14rem` devient une HAUTEUR et le
       facteur de croissance étire le bouton sur toute la place libre : il
       faisait 224 px de haut. On lui rend sa hauteur naturelle. */
    .lat__modal-acts { flex-direction: column; align-items: stretch; flex-wrap: nowrap; }
    .lat__modal-add, .lat__modal-edit { flex: 0 0 auto; }
  }
  @media (prefers-reduced-motion: reduce) { .lat__meter-fill { transition: none; } }
/* END_SECTION:lonamy-atelier */

/* START_SECTION:lonamy-back-link (INDEX:18) */
.lbk { padding-block: var(--lbk-pt, 32px) var(--lbk-pb, 56px); }
  .lbk__wrap { max-width: var(--max-page-width, 1300px); margin-inline: auto; padding-inline: var(--page-margin, 2rem); }
  .lbk--center .lbk__wrap { text-align: center; }

  .lbk__a {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-height: 44px;
    padding-inline: 1.1rem;
    border: 1px solid rgb(var(--color-foreground-rgb, 42 36 32) / .28);
    color: inherit;
    text-decoration: none;
    font-family: var(--font-body--family);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
  }

  .lbk__a:hover,
  .lbk__a:focus-visible {
    background: var(--color-foreground, #2a2420);
    border-color: var(--color-foreground, #2a2420);
    color: var(--color-background, #fafafa);
  }

  .lbk__ar { font-size: 1.05em; line-height: 1; }
/* END_SECTION:lonamy-back-link */

/* START_SECTION:lonamy-band (INDEX:19) */
.lonamy-band {
    background: var(--color-background);
    color: var(--color-foreground);
  }
  .lonamy-band__inner {
    max-width: 120rem;
    margin-inline: auto;
    padding-inline: var(--page-margin, 2.5rem);
    padding-block: clamp(3rem, 7vw, 6.5rem);
    display: grid;
    gap: clamp(1.5rem, 5vw, 5rem);
    align-items: center;
  }
  @media screen and (min-width: 750px) {
    .lonamy-band__inner { grid-template-columns: 1fr 1fr; }
    .lonamy-band--img-right .lonamy-band__media { order: 2; }
  }

  .lonamy-band__media { overflow: hidden; position: relative; }
  .lonamy-band__img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .lonamy-band__scrim { position: absolute; inset: 0; opacity: var(--lb-overlay, 0); pointer-events: none; }
  .lonamy-band__media--scrim-dark .lonamy-band__scrim { background: #2A2420; }
  .lonamy-band__media--scrim-light .lonamy-band__scrim { background: #F7F3EC; }
  .lonamy-band__media--portrait { aspect-ratio: 4 / 5; }
  .lonamy-band__media--landscape { aspect-ratio: 3 / 2; }
  .lonamy-band__media--square { aspect-ratio: 1 / 1; }
  .lonamy-band__media--natural { aspect-ratio: auto; }

  .lonamy-band__content { display: flex; }
  .lonamy-band--img-left .lonamy-band__content { justify-content: flex-start; }
  .lonamy-band__content-inner {
    max-width: 40rem;
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
    padding-block: 0.5rem;
  }
  .lonamy-band__title {
    font-family: var(--font-h2--family);
    font-weight: var(--font-h2--weight);
    font-style: var(--font-h2--style);
    line-height: 1.1;
    letter-spacing: -0.005em;
    font-size: clamp(1.8rem, 3.2vw, 2.9rem);
    margin: 0;
  }
  .lonamy-band__text {
    font-family: var(--font-body--family);
    font-size: clamp(0.98rem, 1.2vw, 1.1rem);
    line-height: 1.72;
    opacity: 0.9;
  }
  .lonamy-band__text > *:first-child { margin-top: 0; }
  .lonamy-band__text > *:last-child { margin-bottom: 0; }
  .lonamy-band__text ul { padding-left: 1.1rem; }
  .lonamy-band__text li { margin-block: 0.4rem; }

  .lonamy-btn--ink { color: var(--color-foreground); }

  @media screen and (max-width: 749px) {
    .lonamy-band__media--portrait { aspect-ratio: 4 / 5; }
  }
/* END_SECTION:lonamy-band */

/* START_SECTION:lonamy-blog (INDEX:20) */
.lnbl {
    --lnbl-ink: var(--color-foreground, #2a2420);
    --lnbl-accent: #b85c38;
    --lnbl-soft: #e4dccf;
    --lnbl-powder: #e9d3c5;
    --lnbl-muted: rgb(var(--color-foreground-rgb, 42 36 32) / .62);
    --lnbl-line: rgb(var(--color-foreground-rgb, 42 36 32) / .14);
    --lnbl-pad: var(--page-margin, 1.25rem);
    --lnbl-max: var(--max-page-width, 1300px);
    color: var(--lnbl-ink);
    overflow-x: clip;
  }
  .lnbl__sr {
    position: absolute; width: 1px; height: 1px;
    margin: -1px; padding: 0; overflow: hidden;
    clip-path: inset(50%); white-space: nowrap;
  }

  .lnbl__head { padding: clamp(2.5rem, 6vw, 4.5rem) var(--lnbl-pad) clamp(1.5rem, 3vw, 2.25rem); }
  .lnbl__head-in, .lnbl__tools-in, .lnbl__wrap { max-width: var(--lnbl-max); margin-inline: auto; }
  .lnbl__wrap { padding-inline: var(--lnbl-pad); }
  .lnbl__kicker {
    margin: 0 0 .8rem;
    font-family: var(--font-body--family);
    font-size: 11px; font-weight: 700;
    letter-spacing: .16em; text-transform: uppercase;
    color: var(--lnbl-accent);
  }
  .lnbl__t {
    margin: 0; color: var(--lnbl-ink);
    font-family: var(--font-h1--family, var(--font-h2--family));
    font-weight: var(--font-h1--weight, 500);
    font-size: clamp(2.1rem, 1.3rem + 3vw, 3.6rem);
    line-height: 1.05;
  }
  .lnbl__intro {
    margin: 1rem 0 0;
    max-width: 38rem;
    font-family: var(--font-body--family);
    font-size: 1.04rem; line-height: 1.66;
    color: var(--lnbl-muted);
  }

  /* --- vedette --- */
  .lnbl__hero { padding: clamp(1rem, 2vw, 1.5rem) var(--lnbl-pad) 0; }
  .lnbl__hero-a {
    position: relative;
    display: grid;
    max-width: var(--lnbl-max);
    margin-inline: auto;
    color: inherit;
    text-decoration: none;
    background: var(--lnbl-soft);
    overflow: hidden;
    isolation: isolate;
  }
  .lnbl__hero-img {
    grid-area: 1 / 1;
    width: 100%; height: 100%;
    min-height: clamp(280px, 42vw, 460px);
    object-fit: cover;
    transition: transform .6s ease;
  }
  .lnbl__hero-a:hover .lnbl__hero-img { transform: scale(1.02); }
  .lnbl__hero-veil {
    grid-area: 1 / 1;
    z-index: 1;
    background: linear-gradient(180deg, rgb(42 36 32 / .05) 0%, rgb(42 36 32 / .38) 52%, rgb(42 36 32 / .78) 100%);
  }
  .lnbl__hero-txt {
    grid-area: 1 / 1;
    z-index: 2;
    align-self: end;
    display: grid;
    gap: .6rem;
    padding: clamp(1.5rem, 4vw, 3rem);
    color: #fff;
  }
  .lnbl__badge {
    justify-self: start;
    padding: .38rem .7rem;
    background: var(--lnbl-accent);
    font-family: var(--font-body--family);
    font-size: 10px; font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase;
  }
  .lnbl__hero-t {
    color: #fff;
    font-family: var(--font-h2--family);
    font-weight: var(--font-h2--weight, 500);
    font-size: clamp(1.45rem, 1.05rem + 1.7vw, 2.4rem);
    line-height: 1.14;
    max-width: 24ch;
  }
  .lnbl__hero-p {
    font-family: var(--font-body--family);
    font-size: .98rem; line-height: 1.55;
    color: rgb(255 255 255 / .84);
    max-width: 52ch;
  }
  .lnbl__hero-go {
    margin-top: .3rem;
    font-family: var(--font-body--family);
    font-size: 11px; font-weight: 700;
    letter-spacing: .13em; text-transform: uppercase;
    border-bottom: 1px solid rgb(255 255 255 / .5);
    justify-self: start;
    padding-bottom: 2px;
  }
  @media (max-width: 699px) { .lnbl__hero-p { display: none; } }

  /* --- outils --- */
  .lnbl__tools { padding: clamp(2rem, 4vw, 3rem) var(--lnbl-pad) 1.5rem; }
  .lnbl__tools-in { display: grid; gap: 1.1rem; }
  .lnbl__search { position: relative; max-width: 30rem; }
  .lnbl__input {
    width: 100%;
    min-height: 48px;
    padding: 0 2.6rem 0 1rem;
    background: transparent;
    border: 1px solid var(--lnbl-line);
    border-radius: 0;
    color: inherit;
    font-family: var(--font-body--family);
    font-size: 15px;
    -webkit-appearance: none;
    appearance: none;
  }
  .lnbl__input:focus-visible { outline: 2px solid var(--lnbl-accent); outline-offset: 1px; }
  .lnbl__input::-webkit-search-cancel-button { display: none; }
  .lnbl__clear[hidden] { display: none; }
  .lnbl__clear {
    position: absolute;
    inset-inline-end: 2px; inset-block: 2px;
    width: 44px;
    display: grid; place-items: center;
    background: none; border: 0; cursor: pointer;
    color: var(--lnbl-muted);
    font-size: 22px; line-height: 1;
  }

  /* rangée de thèmes : rail défilant plutôt que retour à la ligne, avec flèches dès qu'elle déborde (BIB-55) */
  .lnbl__filters-wrap { display: flex; align-items: center; gap: .4rem; min-width: 0; }
  .lnbl__filters {
    display: flex; gap: .5rem; flex: 1 1 auto; min-width: 0;
    overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity;
    padding-block: 2px;
  }
  .lnbl__filters::-webkit-scrollbar { display: none; }
  .lnbl__chip { scroll-snap-align: start; white-space: nowrap; flex: 0 0 auto; }
  .lnbl__farrow {
    flex: 0 0 auto; width: 44px; height: 44px; display: grid; place-items: center;
    background: transparent; border: 1px solid var(--lnbl-line); color: inherit; cursor: pointer;
    transition: background .18s ease, border-color .18s ease, opacity .18s ease;
  }
  .lnbl__farrow[hidden] { display: none; }
  .lnbl__farrow svg { width: 16px; height: 16px; }
  .lnbl__farrow:hover { background: var(--lnbl-soft); border-color: var(--lnbl-soft); }
  .lnbl__farrow[aria-disabled='true'] { opacity: .3; pointer-events: none; }
  .lnbl__chip {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 44px;
    padding-inline: .95rem;
    background: transparent;
    border: 1px solid var(--lnbl-line);
    color: inherit;
    cursor: pointer;
    font-family: var(--font-body--family);
    font-size: 12.5px;
    letter-spacing: .02em;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
  }
  .lnbl__chip:hover { border-color: rgb(var(--color-foreground-rgb, 42 36 32) / .4); }
  .lnbl__chip[aria-pressed='true'] {
    background: var(--lnbl-ink);
    border-color: var(--lnbl-ink);
    color: var(--color-background, #f7f3ec);
  }
  .lnbl__n { font-size: 11px; opacity: .6; font-variant-numeric: tabular-nums; }
  .lnbl__chip[hidden] { display: none; }

  .lnbl__status {
    margin: 0 0 1.25rem;
    min-height: 1.2em;
    font-family: var(--font-body--family);
    font-size: 12.5px;
    letter-spacing: .04em;
    color: var(--lnbl-muted);
  }

  /* --- grille --- */
  .lnbl__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
    gap: clamp(1.5rem, 3vw, 2.6rem) clamp(1rem, 2.4vw, 2rem);
    margin: 0 0 clamp(2.5rem, 5vw, 4rem);
    padding: 0;
    list-style: none;
  }
  .lnbl__item[hidden] { display: none; }
  .lnbl__card { display: grid; gap: .55rem; color: inherit; text-decoration: none; }
  .lnbl__thumb { display: block; overflow: hidden; background: var(--lnbl-soft); aspect-ratio: 16 / 9; }
  .lnbl__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease, opacity .3s ease; }
  .lnbl__card:hover .lnbl__img { transform: scale(1.03); }
  .lnbl__tag {
    margin-top: .35rem;
    font-family: var(--font-body--family);
    font-size: 10.5px; font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase;
    color: var(--lnbl-accent);
  }
  .lnbl__ct {
    font-family: var(--font-h2--family);
    font-weight: var(--font-h2--weight, 500);
    font-size: clamp(1.08rem, 1rem + .4vw, 1.28rem);
    line-height: 1.22;
  }
  .lnbl__card:hover .lnbl__ct { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
  .lnbl__cx {
    font-family: var(--font-body--family);
    font-size: .93rem; line-height: 1.55;
    color: var(--lnbl-muted);
  }
  .lnbl__meta {
    font-family: var(--font-body--family);
    font-size: 11px;
    letter-spacing: .1em;
    color: var(--lnbl-muted);
    font-variant-numeric: tabular-nums;
  }

  .lnbl__empty {
    margin: 0 0 3rem;
    padding: clamp(2rem, 5vw, 3rem);
    background: var(--lnbl-powder);
    font-family: var(--font-body--family);
    font-size: 1rem; line-height: 1.6;
    text-align: center;
  }
  .lnbl__reset {
    background: none; border: 0; padding: 0;
    color: var(--lnbl-accent);
    font: inherit; cursor: pointer;
    text-decoration: underline; text-underline-offset: 3px;
  }

  .lnbl__pager { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; padding-bottom: clamp(2rem, 5vw, 4rem); }
  .lnbl__page {
    min-width: 44px; min-height: 44px;
    display: inline-flex; align-items: center; justify-content: center;
    padding-inline: .6rem;
    border: 1px solid var(--lnbl-line);
    color: inherit; text-decoration: none;
    font-family: var(--font-body--family); font-size: 13px;
  }
  .lnbl__page--on { background: var(--lnbl-ink); border-color: var(--lnbl-ink); color: var(--color-background, #f7f3ec); }
  .lnbl__pager[hidden] { display: none; }

  @media (prefers-reduced-motion: reduce) {
    .lnbl__img, .lnbl__hero-img { transition: none; }
    .lnbl__card:hover .lnbl__img, .lnbl__hero-a:hover .lnbl__hero-img { transform: none; }
  }
/* END_SECTION:lonamy-blog */

/* START_SECTION:lonamy-brand-banner (INDEX:21) */
.bban { position:relative; }
  .bban__media { position:relative; height:var(--bb-hm,60vh); overflow:hidden; line-height:0; font-size:0; }
  .bban__media picture { display:block; width:100%; height:100%; }
  @media (min-width:750px){ .bban__media { height:var(--bb-hd,70vh); } }
  .bban__img { width:100%; height:100%; object-fit:cover; object-position:var(--bb-posm,center); display:block; }
  @media (min-width:750px){ .bban__img { object-position:var(--bb-posd,center); } }
  .bban__media::after { content:''; position:absolute; inset:0; pointer-events:none; }
  .bban__media--scrim-total::after { background:var(--bb-scrim,#2A2420); opacity:var(--bb-scrim-op,.4); }
  .bban__media--scrim-gradient::after { background:linear-gradient(to top, var(--bb-scrim,#2A2420) 0%, transparent 65%); opacity:var(--bb-scrim-op,.5); }
  .bban__media--scrim-none::after { display:none; }
  .bban__overlay { position:absolute; inset:0; display:flex; padding:clamp(1.5rem,5vw,4rem); }
  .bban--v-top .bban__overlay { align-items:flex-start; }
  .bban--v-center .bban__overlay { align-items:center; }
  .bban--v-bottom .bban__overlay { align-items:flex-end; }
  .bban--h-left .bban__overlay { justify-content:flex-start; text-align:left; }
  .bban--h-center .bban__overlay { justify-content:center; text-align:center; }
  .bban--h-right .bban__overlay { justify-content:flex-end; text-align:right; }
  .bban__text { max-width:var(--bb-maxw,620px); color:var(--bb-text,#fff); }
  .bban__eyebrow { font-family:var(--font-body--family); text-transform:uppercase; letter-spacing:.2em; font-size:.74rem; opacity:.9; margin:0 0 .8rem; }
  .bban__title { line-height:1.08; font-size:var(--bb-title,48px); }
  .bban__title--Cormorant { font-family:var(--font-h1--family,var(--font-primary--family)); font-weight:var(--font-h1--weight,500); }
  .bban__title--Inter { font-family:var(--font-body--family); font-weight:500; }
  .bban__title.is-upper { text-transform:uppercase; letter-spacing:.04em; }
  .bban__title > * { margin:0; }
  .bban__sub { font-family:var(--font-body--family); font-size:clamp(.95rem,1.4vw,1.1rem); line-height:1.6; margin-top:1rem; opacity:.95; }
  .bban__sub > * { margin:0; }
  .bban__cta { display:inline-block; margin-top:1.4rem; padding:13px 26px; border:1px solid currentColor; color:var(--bb-text,#fff); text-decoration:none; font-family:var(--font-body--family); font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; }
  .bban__cta:hover { background:var(--bb-text,#fff); color:var(--bb-scrim,#2A2420); }
/* END_SECTION:lonamy-brand-banner */

/* START_SECTION:lonamy-brand-note (INDEX:22) */
.lbn { background: var(--lbn-bg, #F7F3EC); color: var(--lbn-tx, #2A2420); }
  .lbn__wrap { max-width: 120rem; margin-inline: auto;
    padding: clamp(2.6rem, 6vw, 4.4rem) var(--page-margin, 2.5rem);
    display: grid; gap: clamp(1.6rem, 4vw, 3.2rem); align-items: center; }
  @media screen and (min-width: 990px) {
    .lbn__wrap { grid-template-columns: 46fr 54fr; }
  }
  /* L'image garde son cadrage d'origine : la recadrer en carré coupait le geste
     de la main sur les visuels de détail. */
  .lbn__media { overflow: hidden; }
  .lbn__img { display: block; width: 100%; height: auto; }

  .lbn__eb { margin: 0 0 .7rem; font-family: var(--font-body--family); font-size: .68rem;
    font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--lbn-acc, #B85C38); }
  .lbn__h { margin: 0; font-family: var(--font-h2--family); font-weight: 400;
    font-size: clamp(1.7rem, 4.2vw, 2.5rem); line-height: 1.12; text-wrap: balance; }
  .lbn__tx { margin-top: 1rem; font-family: var(--font-body--family);
    font-size: clamp(.92rem, 2.4vw, 1rem); line-height: 1.65; max-width: 46ch; }
  .lbn__tx p { margin: 0 0 .8rem; }
  .lbn__tx p:last-child { margin-bottom: 0; }

  /* Les piliers sont séparés par un filet et non par des cartes : à trois éléments,
     trois encadrés font un bloc de boutons, pas une respiration éditoriale. */
  .lbn__piliers { list-style: none; margin: 1.7rem 0 0; padding: 0;
    display: grid; gap: 0; border-top: 1px solid rgb(var(--color-foreground-rgb) / .14); }
  .lbn__pilier { display: flex; flex-direction: column; gap: .16rem;
    padding: .85rem 0; border-bottom: 1px solid rgb(var(--color-foreground-rgb) / .14); }
  .lbn__pilier-t { font-family: var(--font-body--family); font-size: .88rem; font-weight: 600; }
  .lbn__pilier-x { font-family: var(--font-body--family); font-size: .84rem; opacity: .68; line-height: 1.45; }
  @media screen and (min-width: 750px) {
    .lbn__piliers { grid-template-columns: repeat(3, 1fr); gap: 0 1.6rem; }
    .lbn__pilier { border-bottom: 0; }
  }

  .lbn__go { display: inline-block; margin-top: 1.5rem;
    font-family: var(--font-body--family); font-size: .74rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: .12em; color: inherit;
    text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: .28rem; }
  .lbn__go:hover { color: var(--lbn-acc, #B85C38); border-bottom-color: var(--lbn-acc, #B85C38); }
/* END_SECTION:lonamy-brand-note */

/* START_SECTION:lonamy-cart-drawer (INDEX:23) */
/* Dans l'éditeur, Shopify fait défiler automatiquement la page jusqu'à la
     section sélectionnée. Le groupe panier est placé après le footer dans le
     DOM : son wrapper doit donc rester fixé au viewport pour que la fermeture
     du drawer ne transporte pas l'aperçu en bas de page. */
  html.shopify-design-mode .shopify-section-group-cart-group{
    position:fixed!important;inset:0!important;z-index:1200!important;pointer-events:none}
  html.shopify-design-mode.lcd-open .shopify-section-group-cart-group{pointer-events:auto!important}

  /* L'état ouvert vit sur <html> : il survit au re-rendu du contenu par la Section Rendering API. */
  html[scroll-lock], html[scroll-lock] .page-wrapper, html[scroll-lock] body{overflow:hidden!important}
  /* Au-dessus des onglets latéraux collants des applications, posés à 999. */
  .lcd{position:fixed;inset:0;z-index:1200;pointer-events:none;visibility:hidden;background:none!important}
  html.lcd-open .lcd{pointer-events:auto;visibility:visible}

  .lcd__veil{position:absolute;inset:0;background:rgb(var(--color-foreground-rgb) / var(--lcd-veil,.42));opacity:0;transition:opacity .32s ease}
  html.lcd-open .lcd__veil{opacity:1}

  .lcd__panel{position:absolute;top:0;bottom:0;width:min(94vw,var(--lcd-w,420px));overscroll-behavior:contain;
    background:var(--color-background);color:var(--color-foreground);
    display:flex;flex-direction:column;box-shadow:0 0 44px -12px rgb(var(--color-foreground-rgb) / .45);
    transition:transform .38s cubic-bezier(.32,.72,0,1)}
  .lcd--right .lcd__panel{right:0;transform:translateX(101%)}
  .lcd--left  .lcd__panel{left:0; transform:translateX(-101%)}
  html.lcd-open .lcd__panel{transform:translateX(0)}
  .lcd__panel:focus{outline:none}

  .lcd__brand{position:relative;flex:none;padding:1.25rem 3.5rem 1.1rem;text-align:center;background:#2A2420;color:#fff} /* RETOUCHE 21/09 : air entre les elements, cadre resserre */
  .lcd__brand-logo{display:block;width:auto;height:34px;max-width:220px;margin:0 auto .85rem;object-fit:contain;filter:brightness(0) invert(1)}
  .lcd__brand-name{display:block;font-family:var(--font-h2--family,var(--font-primary--family));font-size:2rem;font-weight:300;line-height:1;letter-spacing:.2em;text-indent:.2em}
  .lcd__brand-quote{margin:.42rem 0 .72rem;font-family:var(--font-body--family);font-size:.72rem;font-weight:600;line-height:1.35;letter-spacing:.11em;text-transform:uppercase;color:rgb(255 255 255 / .85)} /* CHECK-UP 20/09 : lisibilite */
  .lcd__rating{margin:0;display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap;font-family:var(--font-body--family);font-size:.8rem;line-height:1.3}
  .lcd__rating b{font-weight:700}
  .lcd__rating-sub{margin:.5rem 0 0;font-family:var(--font-body--family);font-size:.76rem;line-height:1.3;color:rgb(255 255 255 / .78);text-align:center}
  .lcd__x{position:absolute;top:.45rem;right:.45rem;width:44px;height:44px;display:grid;place-items:center;background:none;border:0;padding:0;cursor:pointer;color:#fff;line-height:0}
  .lcd__x svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
  .lcd__x:focus-visible{outline:2px solid #fff;outline-offset:-5px}

  .lcd__ship{flex:none;padding:.85rem 1.25rem;background:var(--color-surface-alt,#F3EFE9);
    border-bottom:1px solid rgb(var(--color-foreground-rgb) / .08)}
  .lcd__ship-t{margin:0;font-family:var(--font-body--family);font-size:.78rem;display:flex;align-items:center;gap:.45rem}
  .lcd__ship-t b{font-weight:600}
  .lcd__ship-t--ok{color:var(--lcd-accent,#B85C38);font-weight:600;justify-content:center}
  .lcd__ship-t--ok svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
  .lcd__ship-bar{margin-top:.5rem;height:3px;border-radius:3px;background:rgb(var(--color-foreground-rgb) / .13);overflow:hidden}
  .lcd__ship-bar span{display:block;height:100%;background:var(--lcd-accent,#B85C38);transition:width .4s ease}

  .lcd__advantage{flex:none;margin:.7rem 1.25rem .55rem;padding:.82rem .9rem .76rem;background:#2A2420;color:#F7F3EC;border-radius:var(--lcd-radius,3px)}
  .lcd__adv-kicker{margin:0 0 .45rem;color:#E9A27E;font-family:var(--font-body--family);font-size:.72rem;font-weight:700;line-height:1;letter-spacing:.14em;text-transform:uppercase}
  .lcd__adv-kicker--max{display:flex;align-items:center;gap:.35rem;color:#F0B08C}
  .lcd__adv-kicker svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
  .lcd__adv-line{margin:0;display:flex;align-items:baseline;justify-content:space-between;gap:.7rem;font-family:var(--font-body--family);font-size:.74rem;line-height:1.35}
  .lcd__adv-line b{font-weight:650}.lcd__adv-line strong{flex:none;color:#F0B08C;font-weight:700;white-space:nowrap}
  .lcd__progress{height:3px;margin:.62rem 0 .55rem;overflow:hidden;background:rgb(247 243 236 / .2)}
  .lcd__progress span{display:block;height:100%;background:#F0B08C;transition:width .35s ease}
  .lcd__tiers{display:flex;align-items:stretch;justify-content:space-between;gap:.3rem;font-family:var(--font-body--family);font-size:.72rem;line-height:1.25}
  .lcd__tier{flex:1;display:flex;align-items:center;justify-content:center;gap:.3rem;min-width:0;color:rgb(247 243 236 / .58);text-align:left}
  .lcd__tier svg{width:12px;height:12px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .lcd__tier span{min-width:0}.lcd__tier b{display:block;color:inherit;font-weight:650;white-space:nowrap}.lcd__tier.is-reached{color:#F7F3EC}.lcd__tier.is-current{color:#F0B08C}
  .lcd__continue{flex:none;width:calc(100% - 2.5rem);min-height:42px;margin:0 1.25rem .65rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid rgb(var(--color-foreground-rgb) / .22);border-radius:var(--lcd-radius,3px);background:transparent;color:inherit;cursor:pointer;font-family:var(--font-body--family);font-size:.74rem;font-weight:600;letter-spacing:.02em}
  .lcd__continue svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.lcd__continue:hover{border-color:var(--color-foreground)}

  .lcd__body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .lcd__items{list-style:none;margin:0;padding:.35rem 1.25rem}
  .lcd__item{display:flex;gap:.85rem;padding:1rem 0;border-bottom:1px solid rgb(var(--color-foreground-rgb) / .09)}
  .lcd__item:last-child{border-bottom:0}
  /* Aucun aplat derrière les packshots : leur fond blanc y dessinait un carré. */
  .lcd__im{flex:0 0 68px;width:68px;height:85px;overflow:hidden;border-radius:calc(var(--lcd-radius,4px) / 1.5);line-height:0}
  .lcd__im img{width:100%;height:100%;object-fit:contain}
  .lcd__in{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.18rem}
  .lcd__nm{font-family:var(--font-body--family);font-size:.83rem;font-weight:600;color:inherit;text-decoration:none;line-height:1.3}
  .lcd__nm:hover{text-decoration:underline;text-underline-offset:2px}
  .lcd__var{margin:0;font-family:var(--font-body--family);font-size:.7rem;opacity:.6}
  .lcd__disc{margin:.1rem 0 0;font-family:var(--font-body--family);font-size:.68rem;color:var(--lcd-accent,#B85C38)}
  .lcd__row{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-top:.4rem}
  .lcd__qty{display:flex;align-items:center;border:1px solid rgb(var(--color-foreground-rgb) / .18);border-radius:2px}
  .lcd__qty button{width:26px;height:26px;background:none;border:0;cursor:pointer;color:inherit;font-size:.85rem;line-height:1;display:grid;place-items:center}
  .lcd__qty button:hover{background:rgb(var(--color-foreground-rgb) / .06)}
  .lcd__qty span{min-width:22px;text-align:center;font-family:var(--font-body--family);font-size:.76rem;font-variant-numeric:tabular-nums}
  /* Même règle de prix que la carte et la grille : payé d'abord, barré ensuite ;
     le barré porte l'encre atténuée du thème (jetons de price-styles), et le
     terracotta n'apparaît QUE s'il y a vraiment une remise. */
  .lcd__pr{margin:0;display:flex;align-items:baseline;gap:.4rem;font-family:var(--font-body--family);font-size:.83rem}
  .lcd__pr s{font-size:.74rem;color:rgb(var(--color-foreground-rgb, 42 36 32) / var(--opacity-subdued-text, .8));
    text-decoration-line:line-through;text-decoration-thickness:1.5px;
    text-decoration-color:rgb(var(--color-foreground-rgb, 42 36 32) / var(--opacity-30, .3))}
  /* RETOUCHE 20/09 — le prix de ligne prend la police et l'allure du « Total TTC » :
     meme famille, un cran plus grand, franchement gras. */
    /* RETOUCHE 20/09 — prix de ligne en POLICE DE CORPS (Jost). Mesure faite :
     il etait deja en Cormorant comme le Total TTC ; « l'autre police » designe
     donc Jost, comme le prix de la fiche produit. */
  .lcd__pr b{font-family:var(--font-body--family);font-size:1.06rem;font-weight:700;font-variant-numeric:tabular-nums}
  .lcd__pr--sale b{color:var(--pdp-accent,#b85c38)}
  .lcd__rm{align-self:flex-start;margin-top:.25rem;background:none;border:0;padding:0;cursor:pointer;color:inherit;
    font-family:var(--font-body--family);font-size:.68rem;opacity:.55;text-decoration:underline;text-underline-offset:2px}
  .lcd__rm:hover{opacity:1}

  /* Rail de suggestions : une seule ligne qui défile, il ne mange pas la hauteur du panier */
  .lcd__up{margin-top:1.4rem;padding:1rem 0 1.15rem;border-top:1px solid rgb(var(--color-foreground-rgb) / .12);
    background:var(--color-surface-alt,#F3EFE9)}
  .lcd__tabs{display:flex;gap:.4rem;padding:0 1.25rem .8rem}
  .lcd__tabs button{background:none;border:1px solid rgb(var(--color-foreground-rgb) / .18);color:inherit;cursor:pointer;
    padding:.32rem .75rem;border-radius:2px;font-family:var(--font-body--family);font-size:.68rem;
    letter-spacing:.06em;text-transform:uppercase;transition:background .15s,color .15s,border-color .15s}
  .lcd__tabs button:hover{border-color:var(--color-foreground)}
  .lcd__tabs button[aria-selected="true"]{background:var(--color-foreground);color:var(--color-background);border-color:var(--color-foreground)}
  .lcd__tabs button:focus-visible{outline:2px solid var(--lcd-accent,#B85C38);outline-offset:2px}
  .lcd__rail[hidden]{display:none}
  .lcd__sg-none{font-family:var(--font-body--family);font-size:.74rem;opacity:.6;padding:.4rem 0}
  .lcd__up-h{margin:0 1.25rem .7rem;font-family:var(--font-body--family);font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;opacity:.62}
  .lcd__rail{list-style:none;margin:0;padding:0 1.25rem;display:flex;align-items:flex-start;gap:.7rem;
    overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline-start:1.25rem;scrollbar-width:none}
  .lcd__rail::-webkit-scrollbar{display:none}
  .lcd__sg{flex:0 0 88px;width:88px;min-width:0;max-width:88px;scroll-snap-align:start}
  .lcd__sg-box{position:relative;line-height:0}
  .lcd__sg-im{display:block;line-height:0;border-radius:calc(var(--lcd-radius,4px) / 1.5);overflow:hidden}
  .lcd__sg-im img{width:100%;aspect-ratio:1/1;object-fit:cover}
  .lcd__sg-add{position:absolute;right:5px;bottom:5px;width:24px;height:24px;border-radius:50%;
    background:var(--color-background);border:1px solid var(--color-foreground);color:var(--color-foreground);
    cursor:pointer;font-size:.95rem;line-height:1;display:grid;place-items:center;padding:0;
    box-shadow:0 1px 4px rgb(var(--color-foreground-rgb) / .22);transition:background .15s,color .15s}
  .lcd__sg-add:hover{background:var(--color-foreground);color:var(--color-background)}
  .lcd__sg-add.is-done{background:#5E8C57;border-color:#5E8C57;color:#fff}
  .lcd__sg-nm{display:block;max-width:100%;margin:.4rem 0 0;font-family:var(--font-body--family);font-size:.68rem;line-height:1.25;height:1.25em;
    color:inherit;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .lcd__sg-nm:hover{text-decoration:underline;text-underline-offset:2px}
  /* La vignette de suggestion ne fait que 88 px de large : mesuré, « 149,00€
     186,00€ » y passait sur deux lignes et le rail gagnait 14 px de hauteur au
     détriment du panier. Un cran de moins sur le barré et une gouttière plus
     serrée, et la paire tient sur une ligne (85 px au pire des cas du
     catalogue). `flex-wrap` reste là : un prix à quatre chiffres repasserait
     proprement sur deux lignes plutôt que de déborder. */
  .lcd__sg-pr{margin:.05rem 0 0;display:flex;align-items:baseline;gap:.25rem;flex-wrap:wrap;
    font-family:var(--font-body--family);font-size:.68rem;font-weight:600}
  .lcd__sg-pr b{font-weight:600}
  .lcd__sg-pr s{font-size:.6rem;font-weight:400;color:rgb(var(--color-foreground-rgb, 42 36 32) / var(--opacity-subdued-text, .8));
    text-decoration-line:line-through;text-decoration-thickness:1px;
    text-decoration-color:rgb(var(--color-foreground-rgb, 42 36 32) / var(--opacity-30, .3))}
  .lcd__sg-pr--sale b{color:var(--pdp-accent,#b85c38)}
  .lcd__sg.is-picked .lcd__sg-add{background:var(--color-foreground);color:var(--color-background)}

  .lcd__vp{margin:.9rem 1.25rem 0;padding:.8rem .85rem .85rem;background:var(--color-background);
    border:1px solid rgb(var(--color-foreground-rgb) / .16);border-radius:var(--lcd-radius,3px)}
  .lcd__vp[hidden]{display:none}
  .lcd__vp-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.6rem}
  .lcd__vp-t{margin:0;font-family:var(--font-body--family);font-size:.78rem;font-weight:600}
  .lcd__vp-x{background:none;border:0;padding:2px;margin:-2px;cursor:pointer;color:inherit;line-height:0;opacity:.55}
  .lcd__vp-x:hover{opacity:1}
  .lcd__vp-x svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
  .lcd__vp-row{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.55rem}
  .lcd__vp-row[hidden]{display:none}
  .lcd__vp-row > span{flex:none;width:52px;padding-top:4px;font-family:var(--font-body--family);
    font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;opacity:.55}
  .lcd__vp-row > div{flex:1 1 auto;display:flex;flex-wrap:wrap;gap:5px}
  .lcd__vp-sw{width:22px;height:22px;border-radius:50%;padding:0;cursor:pointer;
    border:1px solid rgb(var(--color-foreground-rgb) / .22);background-size:cover;background-position:center}
  .lcd__vp-sw.is-on{outline:1.5px solid var(--color-foreground);outline-offset:2px}
  .lcd__vp-sz{min-width:32px;padding:5px 7px;cursor:pointer;color:inherit;background:none;
    border:1px solid rgb(var(--color-foreground-rgb) / .2);border-radius:2px;
    font-family:var(--font-body--family);font-size:.68rem}
  .lcd__vp-sz:hover:not(.is-out){border-color:var(--color-foreground)}
  .lcd__vp-sz.is-on{background:var(--color-foreground);color:var(--color-background);border-color:var(--color-foreground)}
  .lcd__vp-sz.is-out{opacity:.3;text-decoration:line-through;cursor:not-allowed}
  .lcd__vp-add{width:100%;margin-top:.3rem;padding:10px;border:0;cursor:pointer;
    background:var(--lcd-accent,#B85C38);color:#fff;border-radius:var(--lcd-radius,3px);
    font-family:var(--font-body--family);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}
  .lcd__vp-add[disabled]{opacity:.4;cursor:not-allowed}

  .lcd__note{flex:none;border-top:1px solid rgb(var(--color-foreground-rgb) / .12);padding:.75rem 1.25rem}
  .lcd__note summary{cursor:pointer;font-family:var(--font-body--family);font-size:.73rem;opacity:.7;list-style:none}
  .lcd__note summary::-webkit-details-marker{display:none}
  .lcd__note textarea{width:100%;margin-top:.5rem;padding:.5rem;font:inherit;font-size:.76rem;
    border:1px solid rgb(var(--color-foreground-rgb) / .2);background:var(--color-background);color:inherit;border-radius:2px;resize:vertical}

  .lcd__trust{flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgb(var(--color-foreground-rgb) / .09);border-bottom:1px solid rgb(var(--color-foreground-rgb) / .09)}
  .lcd__trust-item{min-width:0;padding:.65rem .3rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;text-align:center;border-right:1px solid rgb(var(--color-foreground-rgb) / .09);font-family:var(--font-body--family);font-size:.75rem;line-height:1.35;color:rgb(var(--color-foreground-rgb) / .78)} /* RETOUCHE 20/09 : .6rem = 9,6px, illisible */
  .lcd__trust-item:last-child{border-right:0}.lcd__trust-item b{font-weight:600;color:inherit}.lcd__trust-item svg{width:17px;height:17px;fill:none;stroke:var(--lcd-accent,#B85C38);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
  .lcd__foot{flex:none;padding:.85rem 1.25rem 1rem}
  .lcd__sum{margin:0 0 .65rem;display:flex;flex-direction:column;gap:.28rem;font-family:var(--font-body--family)}
  .lcd__sum div{display:flex;justify-content:space-between;gap:1rem;font-size:.76rem}
  .lcd__sum dt,.lcd__sum dd{margin:0}
  .lcd__sum-d{color:var(--lcd-accent,#B85C38);font-weight:600}
  .lcd__sum-t{font-size:.95rem!important;align-items:baseline;font-weight:700}
  .lcd__sum-t dd{font-family:var(--font-body--family);font-size:1.32rem;font-weight:700;font-variant-numeric:tabular-nums} /* RETOUCHE 20/09 : Jost, plus grand, gras */ /* RETOUCHE 20/09 : tous les prix en police de corps (Jost). */
  .lcd__go{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:50px;padding:13px;background:var(--lcd-accent,#B85C38);color:#fff;border:0;cursor:pointer;text-align:center;
    /* Libellé en casse normale et en gras : « Valider mon panier », pas de capitales.
       Sans les capitales, l'interlettrage large n'a plus lieu d'être. */
    text-decoration:none;font-family:var(--font-body--family);font-size:.98rem;font-weight:700;letter-spacing:.01em;border-radius:var(--lcd-radius,4px)} /* RETOUCHE 21/09 : libelle un cran plus grand */
  .lcd__go:hover{filter:brightness(.93)}
  /* Icones Material fournies par l'utilisateur : tracees en aplat, pas au trait. */
  .lcd__ico--plein{fill:currentColor!important;stroke:none!important}
  .lcd__go > svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .lcd__go-p{font-variant-numeric:tabular-nums;opacity:.92}
  .lcd__secure{margin:.55rem 0 0;display:flex;align-items:center;justify-content:center;gap:.35rem;font-family:var(--font-body--family);font-size:.78rem;line-height:1.3;color:rgb(var(--color-foreground-rgb) / .72)}
  .lcd__secure svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .lcd__pay{list-style:none;margin:.55rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:5px;justify-content:center}
  .lcd__pay li{line-height:0}
  .lcd__pay-i{height:19px;width:auto;display:block}

  .lcd__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1.5rem;text-align:center}
  .lcd__empty-t{margin:0;font-family:var(--font-h2--family,var(--font-primary--family));font-size:1.4rem}
  .lcd__empty-x{margin:0 0 .8rem;font-family:var(--font-body--family);font-size:.8rem;opacity:.7;max-width:26ch;line-height:1.5}
  .lcd__empty .lcd__go{width:auto;padding:13px 26px}

  /* Le tiroir s'ouvre avant que le panier ne soit re-rendu : sans marque
     visible, l'instant où il affiche encore l'ancien contenu passerait pour un
     bug. Un filet de progression en haut du panneau dit que ça travaille. */
  .lcd.is-busy .lcd__panel{pointer-events:none}
  .lcd.is-busy .lcd__body{opacity:.45;transition:opacity .18s ease}
  .lcd__panel::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;
    background:var(--lcd-accent,#B85C38);transform-origin:left;transform:scaleX(0);
    opacity:0;transition:opacity .2s ease;z-index:3;pointer-events:none}
  .lcd.is-busy .lcd__panel::before{opacity:1;animation:lcd-progress 1.1s ease-in-out infinite}
  @keyframes lcd-progress{0%{transform:scaleX(0)}55%{transform:scaleX(.8)}100%{transform:scaleX(1);opacity:.25}}

  @media (prefers-reduced-motion:reduce){
    .lcd__veil,.lcd__panel,.lcd__ship-bar span,.lcd__progress span{transition:none}
    .lcd.is-busy .lcd__panel::before{animation:none;transform:scaleX(1);opacity:.4}
  }

  @media (max-width:749px){
    .lcd__brand{padding:1.1rem 3rem 1rem}.lcd__brand-logo{height:30px;max-width:195px;margin-bottom:.75rem}.lcd__brand-quote{font-size:.75rem;margin-bottom:.62rem}.lcd__rating{font-size:.78rem}
    .lcd__continue{min-height:44px}.lcd__qty button{min-width:38px;min-height:38px}.lcd__qty span{min-width:24px} /* CHECK-UP 20/09 : lisibilite */ /* 44px ecrasait la ligne */.lcd__rm{min-height:44px;display:inline-flex;align-items:center}
  }

  @media (max-height:700px){
    .lcd__brand{padding:.95rem 3rem .9rem}.lcd__brand-logo{height:25px;margin-bottom:.65rem}.lcd__brand-quote{margin:.3rem 0 .45rem}.lcd__ship{padding:.58rem 1.25rem}.lcd__advantage{margin:.48rem 1.25rem .42rem;padding:.68rem .8rem}.lcd__continue{margin-bottom:.42rem;min-height:44px}.lcd__trust-item{padding:.42rem .25rem}.lcd__foot{padding:.62rem 1.25rem .72rem}.lcd__sum{margin-bottom:.45rem}.lcd__go{min-height:44px;padding:10px}.lcd__pay{margin-top:.4rem}.lcd__pay-i{height:17px}
  }
/* END_SECTION:lonamy-cart-drawer */

/* START_SECTION:lonamy-collection-list (INDEX:24) */
.clist { background:var(--cl-bg,var(--color-background)); color:var(--color-foreground); }
  .clist__inner { max-width:120rem; margin-inline:auto; padding-inline:var(--page-margin,2.5rem); padding-block:var(--cl-pt,64px) var(--cl-pb,64px); }
  .clist__head { text-align:center; margin-bottom:clamp(1.4rem,3vw,2.4rem); }
  .clist__eyebrow { font-family:var(--font-body--family); text-transform:uppercase; letter-spacing:.18em; font-size:.74rem; opacity:.65; margin:0 0 .5rem; }
  .clist__title { font-family:var(--font-h2--family,var(--font-primary--family)); font-weight:var(--font-h2--weight,500); font-size:clamp(1.6rem,2.8vw,2.4rem); margin:0; }
  .clist__grid { display:grid; grid-template-columns:repeat(var(--cl-cols,4),1fr); gap:var(--cl-gap,32px); }
  .clist__item { text-decoration:none; color:var(--color-foreground); display:block; }
  .clist__media { aspect-ratio:var(--cl-ar,4/5); overflow:hidden; background:var(--color-surface-alt,#ECEAE6); }
  .clist__img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
  .clist__item--zoom:hover .clist__img { transform:scale(var(--cl-zoom,1.03)); }
  .clist__name { display:block; margin-top:.7rem; font-size:.92rem; }
  .clist__item--name-center { text-align:center; }
  .clist__item--name-left { text-align:left; }
  .clist__name--Inter { font-family:var(--font-body--family); text-transform:uppercase; letter-spacing:.12em; font-size:.8rem; }
  .clist__name--Cormorant { font-family:var(--font-h2--family,var(--font-primary--family)); font-size:1.05rem; }
  @media (max-width:749px){
    .clist--mob-grid2 .clist__grid { grid-template-columns:repeat(2,1fr); gap:var(--cl-gap,16px); }
    .clist--mob-slider .clist__grid { display:flex; gap:var(--cl-gap,16px); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin-inline:calc(-1*var(--page-margin,2.5rem)); padding-inline:var(--page-margin,2.5rem); }
    .clist--mob-slider .clist__grid::-webkit-scrollbar { display:none; }
    .clist--mob-slider .clist__item { flex:0 0 66%; scroll-snap-align:start; }
  }
  @media (prefers-reduced-motion: reduce){ .clist__img { transition:none; } .clist__item--zoom:hover .clist__img { transform:none; } }
/* END_SECTION:lonamy-collection-list */

/* START_SECTION:lonamy-collection-main (INDEX:25) */
.lcol { background: var(--color-background); color: var(--color-foreground); padding-inline: var(--lcol-pad, 32px); padding-block-end: 66px; }
  .lcol__bar { display:flex; align-items:center; justify-content:space-between; padding-block: 18px 22px; }
  .lcol__count { font-family: var(--font-body--family); font-size: .82rem; letter-spacing:.04em; opacity:.7; text-transform:uppercase; }
  .lcol__filters-btn { display:inline-flex; align-items:center; gap:.5rem; background:none; border:0; cursor:pointer; font-family:var(--font-body--family); font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; color:var(--color-foreground); padding:.3rem 0; }
  .lcol__filters-btn:hover { opacity:.65; }

  /* AJOUT 20/09 — bouton d'ajout rapide. */
  .lcard__media { position:relative; }
  .lcard__qa { position:absolute; left:10px; right:10px; bottom:10px; z-index:2;
    display:flex; align-items:center; justify-content:center; gap:.45rem;
    min-height:44px; padding:.6rem .8rem; cursor:pointer; border:0;
    background:#fafafa; color:#2a2420;
    font-family:var(--font-body--family); font-size:12px; font-weight:700;
    letter-spacing:.08em; text-transform:uppercase;
    box-shadow:0 10px 26px -18px rgb(var(--color-foreground-rgb,42 36 32)/.9);
    opacity:0; transform:translateY(6px); transition:opacity .22s ease, transform .22s ease; }
  .lcard:hover .lcard__qa, .lcard__qa:focus-visible { opacity:1; transform:none; }
  .lcard__qa:hover { background:#b85c38; color:#fff; }
  /* Sur mobile le survol n'existe pas : le bouton reste affiche — mais en pastille
     d'angle, pas en barre pleine largeur. Sur deux lignes et pleine largeur, il
     recouvrait la photo du produit en permanence. */
  @media (hover:none), (max-width:749px) {
    .lcard__qa { opacity:1; transform:none;
      left:auto; right:8px; bottom:8px; width:44px; min-height:44px; padding:0;
      border-radius:50%; gap:0; }
    .lcard__qa span { position:absolute; width:1px; height:1px; overflow:hidden;
      clip-path:inset(50%); white-space:nowrap; }
    .lcard__qa svg { width:17px; height:17px; }
  }
  /* Les tailles du survol mesuraient 14px de haut et 6 a 22px de large :
     inatteignables, meme a la souris. */
  .lcard__size { min-height:32px; min-width:32px; display:inline-flex;
    align-items:center; justify-content:center; padding-inline:.35rem; font-size:12px; }

  .lcol__grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(var(--lcol-cols,3), 1fr); column-gap: var(--lcol-gap,24px); row-gap: var(--lcol-rowgap,48px); }
  @media (max-width:749px){ .lcol__grid { grid-template-columns: repeat(var(--lcol-cols-m,2), 1fr); column-gap: var(--lcol-gap,24px); } }

  .lcard { display:flex; flex-direction:column; }
  /* Aucun aplat derrière les packshots : leur propre fond, blanc ou transparent,
     dessinait un rectangle visible sur la teinte du cadre. */
  .lcard__media { position:relative; aspect-ratio:1/1; overflow:hidden; border-radius:var(--lcol-radius,0); }
  .lcard__link { display:block; width:100%; height:100%; }
  .lcard__img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
  .lcard__img--2 { position:absolute; inset:0; opacity:0; transition:opacity .4s ease; }
  @media (hover:hover){ .lcard__media:hover .lcard__img--2 { opacity:1; } }

  /* encart blanc au survol */
  .lcard__hover { position:absolute; left:8px; right:8px; bottom:8px; background:var(--color-background,#fff); border-radius:var(--lcol-radius,0); padding:12px 14px; opacity:0; transform:translateY(6px); transition:opacity .25s ease, transform .25s ease; pointer-events:none; }
  /* RETOUCHE 20/09 — l'encart de survol et le bouton d'ajout rapide etaient tous
     deux cales en bas de l'image : ils se superposaient, d'ou la bande blanche
     au-dessus du bouton. L'ajout rapide fait mieux le meme travail (coloris,
     tailles ET ajout au panier), l'encart est donc masque. */
  @media (hover:hover){ .lcard__media:hover .lcard__hover { opacity:0; pointer-events:none; } }
  @media (max-width:749px){ .lcard__hover { display:none; } }
  .lcard__hover-title { margin:0 0 2px; font-family:var(--font-body--family); font-size:var(--lcol-title-size,15px); font-weight:var(--lcol-title-weight,400); text-transform:var(--lcol-title-case,none); }
  .lcard__hover-price { margin:0 0 8px; font-family:var(--font-body--family); font-size:var(--lcol-price-size,14px); }
  .lcard__sizes { display:flex; flex-wrap:wrap; gap:10px; }
  .lcard__size { font-family:var(--font-body--family); font-size:var(--lcol-size-size,14px); color:var(--color-foreground); text-decoration:none; line-height:1; }
  .lcard__size:hover { text-decoration:underline; text-underline-offset:3px; }
  .lcard__size.is-out { opacity:.35; text-decoration:line-through; pointer-events:none; }

  .lcard__info { display:flex; flex-direction:column; gap:var(--lcol-tp-gap,6px); padding-block-start:12px; }
  .lcard__title { font-family:var(--font-body--family); font-size:var(--lcol-title-size,15px); font-weight:var(--lcol-title-weight,400); text-transform:var(--lcol-title-case,none); color:var(--color-foreground); text-decoration:none; line-height:1.25; }
  .lcard__price { font-family:var(--font-body--family); font-size:var(--lcol-price-size,14px); font-weight:var(--lcol-price-weight,400); }
  .lcard__colorcount { display:none; background:none; border:0; padding:2px 0; cursor:pointer; font-family:var(--font-body--family); font-size:var(--lcol-price-size,14px); color:var(--color-foreground); text-decoration:underline; text-underline-offset:3px; align-self:flex-start; }
  .lcard__swatches { display:flex; align-items:center; gap:6px; margin-top:2px; }
  .lcard__swatch { width:var(--lcol-sw-size,16px); height:var(--lcol-sw-size,16px); border-radius:var(--lcol-sw-radius,2px); border:1px solid var(--color-border,#d8d2c8); display:inline-block; }
  a.lcard__swatch:hover { outline:1px solid var(--color-foreground); outline-offset:1px; }
  .lcard__swatch-more { font-family:var(--font-body--family); font-size:.78rem; opacity:.65; }
  @media (max-width:749px){
    .lcard__colorcount { display:inline-block; }
    .lcard__swatches { display:none; }
    .lcard__swatches.is-open { display:flex; }
    .lcard__title { font-size: var(--lcol-title-size-m, var(--lcol-title-size,15px)); }
    .lcard__price, .lcard__colorcount { font-size: var(--lcol-price-size-m, var(--lcol-price-size,14px)); }
    .lcard__swatch { width: var(--lcol-sw-size-m, var(--lcol-sw-size,16px)); height: var(--lcol-sw-size-m, var(--lcol-sw-size,16px)); }
  }

  .lcol__empty { text-align:center; padding-block:48px; opacity:.7; font-family:var(--font-body--family); }
  .lcol__pagination { display:flex; gap:14px; justify-content:center; padding-block-start:48px; font-family:var(--font-body--family); font-size:.9rem; }
  .lcol__pagination a { color:var(--color-foreground); text-decoration:none; opacity:.6; }
  .lcol__pagination a:hover { opacity:1; }
  .lcol__pagination .is-current { font-weight:600; }

  /* panneau filtres */
  .lcol__dialog { border:0; padding:0; margin:0; max-width:420px; width:90vw; height:100dvh; max-height:100dvh; margin-left:auto; background:var(--color-background); color:var(--color-foreground); }
  .lcol__dialog::backdrop { background:rgba(42,36,32,.4); }
  .lcol__panel { display:flex; flex-direction:column; height:100%; }
  .lcol__panel-head { display:flex; align-items:center; justify-content:space-between; padding:20px 24px; border-bottom:1px solid var(--color-border,#e7e2da); }
  .lcol__panel-title { font-family:var(--font-h2--family,var(--font-primary--family)); font-size:1.3rem; }
  .lcol__close { background:none; border:0; font-size:1.6rem; line-height:1; cursor:pointer; color:var(--color-foreground); }
  .lcol__panel-body { flex:1; overflow-y:auto; padding:8px 24px; }
  .lcol__facet { border-bottom:1px solid var(--color-border,#e7e2da); padding-block:14px; }
  .lcol__facet summary { list-style:none; cursor:pointer; font-family:var(--font-body--family); font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; display:flex; justify-content:space-between; }
  .lcol__facet summary::-webkit-details-marker { display:none; }
  .lcol__facet summary::after { content:'+'; }
  .lcol__facet[open] summary::after { content:'–'; }
  .lcol__facet-body { padding-top:12px; display:flex; flex-direction:column; gap:10px; }
  .lcol__opt { display:flex; align-items:center; gap:10px; font-family:var(--font-body--family); font-size:.95rem; cursor:pointer; }
  .lcol__opt-count { margin-left:auto; opacity:.5; font-size:.8rem; }
  .lcol__opt.is-disabled { opacity:.4; pointer-events:none; }
  .lcol__price { display:flex; align-items:center; gap:10px; }
  .lcol__price input { width:100%; padding:8px 10px; border:1px solid var(--color-border,#d8d2c8); background:transparent; font-family:var(--font-body--family); }
  .lcol__panel-foot { display:flex; gap:12px; padding:18px 24px; border-top:1px solid var(--color-border,#e7e2da); }
  .lcol__reset { flex:0 0 auto; align-self:center; font-family:var(--font-body--family); font-size:.85rem; color:var(--color-foreground); text-decoration:underline; }
  .lcol__apply { flex:1; background:var(--color-foreground); color:var(--color-background); border:0; padding:14px; cursor:pointer; font-family:var(--font-body--family); font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; }
/* END_SECTION:lonamy-collection-main */

/* START_SECTION:lonamy-collection-outro (INDEX:26) */
.lonamy-cout {
    background: var(--cout-bg, var(--color-background));
    color: var(--color-foreground);
  }
  .lonamy-cout__inner {
    max-width: 120rem;
    margin-inline: auto;
    padding-inline: var(--page-margin, 2.5rem);
    padding-block: var(--cout-pad, 72px);
    display: grid;
    gap: clamp(1.5rem, 5vw, 4.5rem);
    align-items: center;
  }
  @media screen and (min-width: 750px) {
    .lonamy-cout__inner { grid-template-columns: 1fr 1fr; }
    .lonamy-cout--img-right .lonamy-cout__media { order: 2; }
  }
  .lonamy-cout__media { overflow: hidden; position: relative; background: var(--color-foreground-rgb, #ECEAE6); }
  .lonamy-cout__img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .lonamy-cout__media--square { aspect-ratio: 1 / 1; }
  .lonamy-cout__media--portrait { aspect-ratio: 4 / 5; }
  .lonamy-cout__media--landscape { aspect-ratio: 4 / 3; }
  .lonamy-cout__media--natural { aspect-ratio: auto; }

  .lonamy-cout__content { display: flex; }
  .lonamy-cout__content-inner { max-width: 42rem; display: flex; flex-direction: column; gap: 1.1rem; }
  .lonamy-cout__eyebrow {
    font-family: var(--font-body--family);
    text-transform: uppercase; letter-spacing: 0.18em; font-size: 0.72rem;
    opacity: 0.65; margin: 0;
  }
  .lonamy-cout__title {
    font-family: var(--font-h2--family, var(--font-primary--family));
    font-weight: var(--font-h2--weight, 500);
    font-style: var(--font-h2--style, normal);
    line-height: 1.1; letter-spacing: -0.005em;
    font-size: clamp(1.8rem, 3.2vw, 2.9rem); margin: 0;
  }
  .lonamy-cout__text {
    font-family: var(--font-body--family);
    font-size: clamp(0.96rem, 1.15vw, 1.05rem); line-height: 1.72; opacity: 0.92;
  }
  .lonamy-cout__text > *:first-child { margin-top: 0; }
  .lonamy-cout__text > *:last-child { margin-bottom: 0; }
  .lonamy-cout__text h2 { font-family: var(--font-h2--family, var(--font-primary--family)); font-size: 1.25rem; line-height: 1.25; margin-block: 1.4rem 0.5rem; }
  .lonamy-cout__text h3 { font-family: var(--font-body--family); font-weight: 600; font-size: 1.02rem; margin-block: 1.1rem 0.4rem; }
  .lonamy-cout__text a { color: var(--color-foreground); text-decoration: underline; text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
  .lonamy-cout__text a:hover { opacity: 0.7; }
/* END_SECTION:lonamy-collection-outro */

/* START_SECTION:lonamy-composer (INDEX:27) */
.lcp { padding-block: var(--lcp-pt, 64px) var(--lcp-pb, 64px); }
  .lcp__wrap { max-width: 124rem; margin-inline: auto; padding-inline: var(--page-margin, 2rem); }

  .lcp__head { max-width: 46rem; margin-bottom: 2.4rem; }
  .lcp__eyebrow { font-family: var(--font-body--family); font-size: .7rem; text-transform: uppercase; letter-spacing: .2em; color: var(--lcp-acc, #B85C38); margin: 0 0 .7rem; font-weight: 600; }
  .lcp__h { font-family: var(--font-h2--family); font-weight: 400; font-size: clamp(1.9rem, 3.4vw, 2.9rem); line-height: 1.08; margin: 0; }
  .lcp__intro { font-family: var(--font-body--family); font-size: 1rem; line-height: 1.55; opacity: .75; margin-top: .9rem; }
  .lcp__intro p { margin: 0; }

  .lcp__grid { display: grid; grid-template-columns: repeat(var(--lcp-n, 3), 1fr); gap: 2.2rem; align-items: start; }
  /* `min-width:auto` est la valeur par défaut d'un enfant de grille : sans ce 0,
     le rail impose sa largeur de contenu et fait exploser la colonne. */
  .lcp__slot { min-width: 0; }

  .lcp__slot-head { display: flex; align-items: center; gap: .6rem; margin-bottom: .75rem; }
  .lcp__step { flex: 0 0 auto; width: 1.5rem; height: 1.5rem; border-radius: 50%;
    background: var(--color-foreground); color: var(--color-background);
    display: inline-flex; align-items: center; justify-content: center;
    font-family: var(--font-body--family); font-size: .72rem; font-weight: 700; }
  .lcp__slot-t { font-family: var(--font-body--family); font-size: .82rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: .1em; }
  .lcp__clear { margin-left: auto; background: none; border: 0; cursor: pointer; color: inherit;
    font-family: var(--font-body--family); font-size: .72rem; opacity: .55; text-decoration: underline; text-underline-offset: 2px; }
  .lcp__clear:hover { opacity: 1; }
  .lcp__clear[hidden] { display: none; }

  .lcp__tabs { display: flex; gap: .4rem; margin-bottom: .85rem; }
  .lcp__tab { flex: 0 0 auto; cursor: pointer; color: inherit; background: none;
    border: 1px solid rgb(var(--color-foreground-rgb) / .22); padding: .4rem .85rem;
    font-family: var(--font-body--family); font-size: .74rem; letter-spacing: .02em;
    transition: background .16s ease, color .16s ease, border-color .16s ease; }
  .lcp__tab[aria-selected="true"] { background: var(--color-foreground); color: var(--color-background); border-color: var(--color-foreground); font-weight: 600; }
  .lcp__tab:focus-visible { outline: 2px solid var(--lcp-acc, #B85C38); outline-offset: 2px; }
  .lcp__group[hidden] { display: none; }

  .lcp__railwrap { position: relative; min-width: 0; }
  /* `proximity` et non `mandatory` : en `mandatory` le navigateur annule le
     retrait de gauche du rail et décale la première carte de quelques pixels. */
  .lcp__rail { min-width: 0; display: flex; gap: .7rem; overflow-x: auto; scroll-snap-type: x proximity;
    scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: .3rem; scroll-behavior: smooth; }
  .lcp__rail::-webkit-scrollbar { display: none; }

  .lcp__arw { position: absolute; top: 38%; z-index: 2; width: 2rem; height: 2rem; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; cursor: pointer;
    background: var(--color-background); color: var(--color-foreground);
    border: 1px solid rgb(var(--color-foreground-rgb) / .18);
    box-shadow: 0 4px 14px -8px rgb(var(--color-foreground-rgb) / .6);
    opacity: 0; transition: opacity .18s ease, background .18s ease; }
  .lcp__slot:hover .lcp__arw { opacity: 1; }
  .lcp__arw:focus-visible { opacity: 1; outline: 2px solid var(--lcp-acc, #B85C38); outline-offset: 2px; }
  .lcp__arw:hover { background: var(--color-foreground); color: var(--color-background); }
  .lcp__arw[disabled] { opacity: 0 !important; pointer-events: none; }
  .lcp__arw--p { left: -.9rem; }
  .lcp__arw--n { right: -.9rem; }

  .lcp__card { flex: 0 0 8.6rem; scroll-snap-align: start; min-width: 0;
    background: none; border: 0; padding: 0; cursor: pointer; color: inherit; text-align: left;
    display: flex; flex-direction: column; gap: .35rem; }
  /* Les packshots de la boutique sont CARRÉS (2048 x 2048). Forcés en 3/4 ils
     perdaient un quart de leur largeur, ce qui coupait une manche ou une jambe
     sur les ensembles. Cadre carré + `contain` : rien n'est jamais rogné, même
     si une photo arrive un jour dans un autre format. */
  .lcp__card-img { position: relative; display: block; overflow: hidden;
    background: rgb(var(--color-foreground-rgb) / .045); }
  .lcp__card-img img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; display: block;
    transition: transform .45s cubic-bezier(.3,0,.2,1); }
  .lcp__card:hover .lcp__card-img img { transform: scale(1.04); }
  .lcp__card-img::after { content: ''; position: absolute; inset: 0; border: 2px solid transparent; transition: border-color .18s ease; }
  .lcp__card[aria-pressed="true"] .lcp__card-img::after { border-color: var(--color-foreground); }
  .lcp__tick { position: absolute; top: .4rem; right: .4rem; width: 1.35rem; height: 1.35rem; border-radius: 50%;
    background: var(--color-foreground); color: var(--color-background);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transform: scale(.6); transition: opacity .18s ease, transform .18s ease; }
  .lcp__card[aria-pressed="true"] .lcp__tick { opacity: 1; transform: scale(1); }
  /* `min-width:auto` par défaut en flex : sans ça un nom non coupé élargit la carte. */
  .lcp__card-t { font-family: var(--font-body--family); font-size: .76rem; line-height: 1.25; min-width: 0;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .lcp__card-p { font-family: var(--font-body--family); font-size: .76rem; font-weight: 600; opacity: .75; }

  .lcp__dots { display: flex; justify-content: center; gap: 5px; padding-top: .6rem; }
  .lcp__dots span { width: 5px; height: 5px; border-radius: 50%; background: rgb(var(--color-foreground-rgb) / .25); transition: background .2s ease, width .2s ease; }
  .lcp__dots span.is-on { background: var(--color-foreground); width: 14px; border-radius: 4px; }

  /* Panneau de choix : couleur et taille, sous le rail de l'étape */
  .lcp__pick { margin-top: .9rem; padding: .85rem; background: rgb(var(--color-foreground-rgb) / .045); }
  .lcp__pick[hidden] { display: none; }
  .lcp__pick-top { display: flex; gap: .7rem; align-items: center; }
  .lcp__pick-img { flex: 0 0 3.2rem; width: 3.2rem; height: 3.2rem; object-fit: contain; display: block;
    background: rgb(var(--color-foreground-rgb) / .05); }
  .lcp__pick-tx { display: flex; flex-direction: column; gap: .12rem; min-width: 0; }
  .lcp__pick-n { font-family: var(--font-body--family); font-size: .82rem; line-height: 1.25; color: inherit; text-decoration: none; }
  .lcp__pick-n:hover { text-decoration: underline; text-underline-offset: 2px; }
  .lcp__pick-p { font-family: var(--font-body--family); font-size: .82rem; font-weight: 600; }

  .lcp__opt { margin-top: .7rem; }
  .lcp__opt[hidden] { display: none; }
  .lcp__opt-l { display: block; font-family: var(--font-body--family); font-size: .68rem; opacity: .6; margin-bottom: .35rem; }
  .lcp__opt-l b { font-weight: 600; opacity: .95; }
  .lcp__sw { display: flex; flex-wrap: wrap; gap: 6px; }
  .lcp__sw button { width: 24px; height: 24px; border-radius: 3px; cursor: pointer; padding: 0;
    border: 1px solid rgb(var(--color-foreground-rgb) / .25); background: rgb(var(--color-foreground-rgb) / .08); }
  .lcp__sw button[aria-pressed="true"] { outline: 1.5px solid var(--color-foreground); outline-offset: 2px; }
  .lcp__sizes { display: flex; flex-wrap: wrap; gap: 5px; }
  .lcp__sizes button { min-width: 2.2rem; padding: .34rem .45rem; cursor: pointer; color: inherit; background: none;
    border: 1px solid rgb(var(--color-foreground-rgb) / .25);
    font-family: var(--font-body--family); font-size: .74rem; }
  .lcp__sizes button[aria-pressed="true"] { background: var(--color-foreground); color: var(--color-background); border-color: var(--color-foreground); }
  .lcp__sizes button.is-out { opacity: .3; cursor: not-allowed; text-decoration: line-through; }

  .lcp__bar { margin-top: 2.2rem; padding: 1.3rem 1.5rem;
    background: var(--color-foreground); color: var(--color-background);
    display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
  .lcp__bar-count { font-family: var(--font-body--family); font-size: .95rem; margin: 0; }
  .lcp__bar-count strong { font-size: 1.15rem; }
  .lcp__bar-hint { font-family: var(--font-body--family); font-size: .8rem; opacity: .72; margin: .2rem 0 0; }
  .lcp__bar-r { display: flex; align-items: center; gap: 1.5rem; margin-left: auto; flex-wrap: wrap; }
  .lcp__prices { display: flex; align-items: baseline; gap: .6rem; }
  .lcp__old { font-family: var(--font-body--family); font-size: .92rem; opacity: .55; text-decoration: line-through; }
  .lcp__new { font-family: var(--font-h2--family); font-size: 1.6rem; line-height: 1; }
  .lcp__save { font-family: var(--font-body--family); font-size: .72rem; font-weight: 700;
    background: var(--lcp-acc, #B85C38); color: #fff; padding: .28rem .5rem; }
  .lcp__old[hidden], .lcp__save[hidden] { display: none; }
  .lcp__go { font-family: var(--font-body--family); font-size: .76rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: .12em; padding: .95rem 1.6rem; white-space: nowrap; cursor: pointer; border: 0;
    background: var(--color-background); color: var(--color-foreground); transition: background .2s ease, color .2s ease, opacity .2s ease; }
  .lcp__go:hover:not([disabled]) { background: var(--lcp-acc, #B85C38); color: #fff; }
  .lcp__go[disabled] { opacity: .45; cursor: default; }

  @media screen and (max-width: 989px) {
    .lcp__grid { grid-template-columns: 1fr; gap: 1.9rem; }
    .lcp__arw { display: none; }
  }
  @media screen and (max-width: 749px) {
    .lcp { padding-block: 2.6rem 2.6rem; }
    /* Retrait de gauche porté à 2,6 rem : les onglets latéraux collants des
       applications mordaient sur la première carte et sur le numéro d'étape. */
    .lcp__wrap { padding-inline: 2.6rem 1.25rem; }
    .lcp__head { margin-bottom: 1.8rem; }
    .lcp__eyebrow { font-size: .76rem; }
    /* Le rail ne déborde plus qu'à droite : la gauche reste alignée sur le texte. */
    .lcp__railwrap { margin-right: -1.25rem; }
    .lcp__rail { padding-right: 1.25rem; }
    .lcp__card { flex: 0 0 7.4rem; }
    .lcp__sizes button { min-height: 38px; min-width: 2.6rem; }
    .lcp__sw button { width: 30px; height: 30px; }
    .lcp__tab { padding: .5rem 1rem; font-size: .78rem; }
    .lcp__bar { flex-direction: column; align-items: stretch; gap: 1rem; padding: 1.2rem; position: sticky; bottom: 0; z-index: 3; }
    .lcp__bar-r { margin-left: 0; justify-content: space-between; width: 100%; gap: 1rem; }
    .lcp__go { flex: 1 1 100%; text-align: center; padding-block: 1.05rem; }
  }
/* END_SECTION:lonamy-composer */

/* START_SECTION:lonamy-faq (INDEX:28) */
.lonamy-faq { background: var(--color-background); color: var(--color-foreground); }
  .lonamy-faq__inner {
    max-width: 56rem;
    margin-inline: auto;
    padding-inline: var(--page-margin, 2.5rem);
    padding-block: clamp(3rem, 7vw, 6.5rem);
  }
  .lonamy-faq__head { text-align: center; margin-bottom: clamp(2rem, 5vw, 3.5rem); }
  .lonamy-faq__head .lonamy-eyebrow { margin-bottom: 0.9rem; }
  .lonamy-faq__title {
    font-family: var(--font-h2--family, var(--font-h1--family));
    font-weight: var(--font-h2--weight, 500);
    line-height: 1.06;
    font-size: clamp(2rem, 4vw, 3.2rem);
    margin: 0;
  }
  .lonamy-faq__intro { font-family: var(--font-body--family); line-height: 1.65; opacity: 0.85; max-width: 40rem; margin: 1.1rem auto 0; }
  .lonamy-faq__intro > * { margin: 0; }

  .lonamy-faq__cat { font-family: var(--font-body--family); text-transform: uppercase; letter-spacing: 0.2em; font-size: 0.72rem; opacity: 0.55; margin: 2.8rem 0 0.9rem; }
  .lonamy-faq__cat:first-child { margin-top: 0; }

  .lonamy-faq__list { counter-reset: lfaq; display: flex; flex-direction: column; gap: 10px; }

  .lonamy-faq__item {
    counter-increment: lfaq;
    position: relative;
    background: rgb(var(--color-foreground-rgb) / 0.025);
    border: 1px solid rgb(var(--color-foreground-rgb) / 0.10);
    border-radius: 8px;
    overflow: hidden;
    transition: background .28s ease, border-color .28s ease, box-shadow .28s ease;
  }
  .lonamy-faq__item::before {
    content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
    background: #B85C38; transform: scaleY(0); transform-origin: top;
    transition: transform .34s cubic-bezier(.4,0,.2,1);
  }
  .lonamy-faq__item:hover { border-color: rgb(var(--color-foreground-rgb) / 0.2); }
  .lonamy-faq__item[open] {
    background: var(--color-background);
    border-color: rgba(184, 92, 56, 0.32);
    box-shadow: 0 6px 22px -14px rgb(var(--color-foreground-rgb) / 0.5);
  }
  .lonamy-faq__item[open]::before { transform: scaleY(1); }

  .lonamy-faq__q {
    display: flex; align-items: center; gap: 1rem; cursor: pointer; list-style: none;
    padding: 1.15rem clamp(1rem, 2vw, 1.5rem);
    font-family: var(--font-body--family);
    font-size: clamp(0.95rem, 1.3vw, 1.05rem);
    font-weight: 600; line-height: 1.4;
  }
  .lonamy-faq__q::-webkit-details-marker { display: none; }
  .lonamy-faq__q > span:first-child { flex: 1 1 auto; }
  .lonamy-faq__q::before {
    content: counter(lfaq, decimal-leading-zero);
    flex: 0 0 auto; font-size: 0.7rem; font-weight: 500; letter-spacing: 0.08em;
    color: #B85C38; opacity: 0.75; padding-top: 2px; font-variant-numeric: tabular-nums;
  }

  .lonamy-faq__icon {
    position: relative; flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%;
    border: 1px solid rgb(var(--color-foreground-rgb) / 0.22);
    transition: border-color .28s ease, background .28s ease, transform .34s cubic-bezier(.4,0,.2,1);
  }
  .lonamy-faq__icon::before, .lonamy-faq__icon::after {
    content: ''; position: absolute; inset: 0; margin: auto; background: currentColor;
    transition: transform .3s ease, opacity .3s ease;
  }
  .lonamy-faq__icon::before { width: 11px; height: 1px; }
  .lonamy-faq__icon::after { width: 1px; height: 11px; }
  .lonamy-faq__item[open] .lonamy-faq__icon { border-color: #B85C38; background: #B85C38; color: #fff; transform: rotate(180deg); }
  .lonamy-faq__item[open] .lonamy-faq__icon::after { transform: scaleY(0); opacity: 0; }

  .lonamy-faq__a {
    font-family: var(--font-body--family); font-size: 0.95rem; line-height: 1.72; opacity: 0.82;
    padding: 0 clamp(1rem, 2vw, 1.5rem) 1.3rem;
    margin-left: calc(0.7rem + 20px);
    animation: lfaq-in .34s cubic-bezier(.2,.7,.3,1) both;
  }
  @keyframes lfaq-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: .82; transform: none; } }
  .lonamy-faq__a > *:first-child { margin-top: 0; }
  .lonamy-faq__a > *:last-child { margin-bottom: 0; }
  .lonamy-faq__a a { color: #B85C38; text-underline-offset: 3px; }
  @media (prefers-reduced-motion: reduce) {
    .lonamy-faq__a { animation: none; }
    .lonamy-faq__item, .lonamy-faq__item::before, .lonamy-faq__icon { transition: none; }
  }

  /* ===== version 2 colonnes avec encart contact ===== */
  .lonamy-faq--split .lonamy-faq__inner { max-width: 80rem; }
  @media screen and (min-width: 900px) {
    .lonamy-faq--split .lonamy-faq__inner { display: grid; grid-template-columns: 1fr 21rem; gap: clamp(2.5rem, 5vw, 5rem); align-items: start; }
    .lonamy-faq--split .lonamy-faq__head { text-align: left; }
    .lonamy-faq--split .lonamy-faq__intro { margin-inline: 0; }
    .lonamy-faq--split .lonamy-faq__contact { position: sticky; top: 2rem; }
  }
  .lonamy-faq__contact { background: rgb(var(--color-foreground-rgb) / 0.04); border: 1px solid rgb(var(--color-foreground-rgb) / 0.1); border-radius: 4px; padding: clamp(1.4rem, 2.5vw, 2rem); margin-top: clamp(2rem, 4vw, 0px); }
  .lonamy-faq__contact-title { font-family: var(--font-h2--family, var(--font-primary--family)); font-size: 1.25rem; line-height: 1.2; margin: 0 0 0.4rem; }
  .lonamy-faq__contact-text { font-family: var(--font-body--family); font-size: 0.92rem; opacity: 0.75; line-height: 1.55; margin: 0 0 1.2rem; }
  .lonamy-faq__contact-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1.1rem; }
  .lonamy-faq__contact-list li { display: flex; flex-direction: column; gap: 0.2rem; }
  .lonamy-faq__contact-label { font-family: var(--font-body--family); text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.68rem; opacity: 0.55; }
  .lonamy-faq__contact-val { font-family: var(--font-body--family); font-size: 0.98rem; color: var(--color-foreground); text-decoration: none; }
  a.lonamy-faq__contact-val:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #B85C38; }
/* END_SECTION:lonamy-faq */

/* START_SECTION:lonamy-featured-collection (INDEX:29) */
.lfc { background: var(--lfc-bg, var(--color-background)); color: var(--color-foreground); }
  .lfc__inner { max-width: 120rem; margin-inline: auto; padding-inline: var(--page-margin, 2.5rem); padding-block: var(--lfc-pt,72px) var(--lfc-pb,72px); }
  /* `flex-wrap` et `min-width:0` : sur un écran de 320 px, le titre et les commandes
     additionnés faisaient 304 px dans une boîte de 256 — la page débordait de 48 px,
     ce qui suffit à iOS pour laisser tirer la page latéralement. */
  .lfc__header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:1.5rem; margin-bottom: clamp(1.2rem,2.5vw,2rem); }
  .lfc__header > * { min-width: 0; }
  .lfc__header--center { flex-direction:column; align-items:center; text-align:center; }
  .lfc__title { font-family:var(--font-h2--family,var(--font-primary--family)); font-weight:var(--font-h2--weight,500); font-size:var(--lfc-title-d,32px); margin:0; line-height:1.1; }
  .lfc__subtitle { font-family:var(--font-body--family); color:var(--color-foreground); opacity:.7; margin:.4rem 0 0; font-size:var(--lfc-sub-d,16px); }
  @media (max-width:749px){
    .lfc__title { font-size:var(--lfc-title-m, var(--lfc-title-d,26px)); }
    .lfc__subtitle { font-size:var(--lfc-sub-m, var(--lfc-sub-d,15px)); }
  }
  .lfc__controls { display:flex; align-items:center; gap:1.2rem; flex-shrink:0; }
  .lfc__nav { display:flex; gap:.5rem; }
  .lfc__arrow { width:40px; height:40px; border:1px solid var(--color-border,#d8d2c8); background:transparent; border-radius:50%; cursor:pointer; font-size:1.2rem; line-height:1; color:var(--color-foreground); display:flex; align-items:center; justify-content:center; transition:background .2s ease; }
  .lfc__arrow:hover { background:var(--color-surface-alt,#efeae2); }
  .lfc__arrow[disabled] { opacity:.3; pointer-events:none; }
  .lfc__viewall { font-family:var(--font-body--family); font-weight:500; font-size:.92rem; color:var(--color-foreground); text-decoration:none; white-space:nowrap; }
  .lfc__viewall:hover { text-decoration:underline; text-underline-offset:3px; text-decoration-color:#B85C38; }

  /* `overflow-x:auto` rend l'axe vertical `auto` lui aussi : mesuré, le rail
     avait 13 px de débattement vertical (scrollHeight 257 pour 244 de haut,
     la gouttière de barre de défilement), et le doigt pouvait faire monter et
     descendre les vignettes pendant un glissé horizontal. On ferme l'axe
     vertical — rien n'est rogné, aucun enfant ne dépasse 244 px, vérifié — si
     bien qu'un geste vertical fait défiler la PAGE et non le rail.
     `overscroll-behavior-x: contain` empêche le glissé de déclencher le retour
     arrière du navigateur en bout de course, et `align-items: start` cale les
     cartes en haut au lieu de les étirer. */
  .lfc__track { display:flex; align-items:start; gap:var(--lfc-gap,32px); overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .lfc__track::-webkit-scrollbar { display:none; }
  .lfc__item { flex:0 0 calc((100% - (var(--lfc-cards,4) - 1) * var(--lfc-gap,32px)) / var(--lfc-cards,4)); scroll-snap-align:start; }
  @media (max-width:749px){
    .lfc__item { flex-basis: calc((100% - (var(--lfc-cards-m,2) - 1) * var(--lfc-gap-m,16px)) / var(--lfc-cards-m,2)); }
    .lfc__track { gap:var(--lfc-gap-m,16px); }
    .lfc__header { align-items:flex-start; }
  }
  .lfc__empty { opacity:.6; font-family:var(--font-body--family); }
  /* Même dessin que les pastilles du composer (lonamy-atelier) : une grammaire
     de pagination unique sur toute la boutique. */
  .lfc__dots { display:none; }
  @media (max-width:749px){
    .lfc__dots { display:flex; justify-content:center; gap:5px; padding-top:.9rem; }
    .lfc__dots[hidden] { display:none; }
    .lfc__dots span { width:5px; height:5px; border-radius:50%; background:rgb(var(--color-foreground-rgb, 42 36 32) / .25); transition:background .2s ease, width .2s ease; }
    .lfc__dots span.is-on { background:var(--color-foreground); width:14px; border-radius:4px; }
  }
  @media (prefers-reduced-motion: reduce){ .lfc__dots span { transition:none; } }
  @media (prefers-reduced-motion: reduce){ .lfc__track { scroll-behavior:auto; } }
/* END_SECTION:lonamy-featured-collection */

/* START_SECTION:lonamy-footer (INDEX:30) */
.lonamy-footer { background: var(--lf-bg, #2A2420); color: var(--lf-tx, #F7F3EC); }
  .lonamy-footer__inner {
    max-width: 120rem;
    margin-inline: auto;
    padding-inline: var(--page-margin, 2.5rem);
    padding-block: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 3vw, 2.5rem);
  }
  .lonamy-footer a { color: inherit; text-decoration: none; }
  .lonamy-footer__top {
    display: flex;
    flex-wrap: wrap;
    gap: 2.5rem 3.5rem;
    justify-content: space-between;
  }
  .lonamy-footer__brand { flex: 1 1 250px; max-width: 340px; }
  .lonamy-footer__col { flex: 0 1 auto; min-width: 150px; }
  .lonamy-footer__news { flex: 1 1 260px; max-width: 360px; }

  .lonamy-footer__wordmark {
    font-family: var(--font-h1--family);
    font-weight: 300;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-size: 1.6rem;
    display: inline-block;
  }
  .lonamy-footer__logo-img { max-width: 160px; height: auto; display: block; }

  .lonamy-footer__tagline {
    font-family: var(--font-body--family);
    font-size: 0.92rem;
    line-height: 1.55;
    margin-top: 1.1rem;
    opacity: 0.85;
  }
  .lonamy-footer__tagline > * { margin: 0; }

  .lonamy-footer__contact {
    list-style: none;
    margin: 1.3rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    font-family: var(--font-body--family);
    font-size: 0.9rem;
  }
  .lonamy-footer__contact li { display: flex; align-items: center; gap: 0.6rem; }
  .lonamy-footer__contact svg { flex: 0 0 16px; width: 16px; height: 16px; margin: 0; opacity: 0.85; }
  .lonamy-footer__contact li > a, .lonamy-footer__contact li > span { min-width: 0; }
  .lonamy-footer__contact a:hover, .lonamy-footer__links a:hover { text-decoration: underline; text-underline-offset: 3px; }

  .lonamy-footer__col-title {
    font-family: var(--font-body--family);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.78rem;
    font-weight: 600;
    margin: 0 0 1.1rem;
    opacity: 0.7;
  }
  .lonamy-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.7rem; }
  .lonamy-footer__links a { font-family: var(--font-body--family); font-size: 0.92rem; opacity: 0.9; }

  .lonamy-footer__news-text { font-family: var(--font-body--family); font-size: 0.9rem; line-height: 1.55; opacity: 0.85; margin: 0 0 1rem; }
  .lonamy-footer__news-row { display: flex; align-items: center; gap: 0.5rem; border-bottom: 1px solid rgb(var(--lf-tx-rgb, 247 243 236) / 0.4); padding-bottom: 0.5rem; }
  .lonamy-footer__news-row input {
    flex: 1 1 auto;
    background: transparent;
    border: 0;
    color: inherit;
    font-family: var(--font-body--family);
    font-size: 0.95rem;
    padding: 0.3rem 0;
  }
  .lonamy-footer__news-row input::placeholder { color: inherit; opacity: 0.6; }
  .lonamy-footer__news-row input:focus { outline: none; }
  .lonamy-footer__news-row button { background: none; border: 0; color: inherit; cursor: pointer; display: flex; padding: 0.2rem; transition: opacity 0.2s ease; }
  .lonamy-footer__news-row button:hover { opacity: 0.6; }
  .lonamy-footer__news-note { font-family: var(--font-body--family); font-size: 0.82rem; opacity: 0.85; margin: 0.7rem 0 0; }

  .lonamy-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
    flex-wrap: wrap;
    border-top: 1px solid rgb(var(--lf-tx-rgb, 247 243 236) / 0.16);
    margin-top: clamp(2.5rem, 5vw, 4rem);
    padding-top: 1.4rem;
  }
  .lonamy-footer__pay { display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: center; }
  .lonamy-footer__pay-item { display: inline-flex; }
  .lonamy-footer__pay-item svg { height: 24px; width: auto; display: block; border-radius: 3px; }
  .lonamy-footer__copy { font-family: var(--font-body--family); font-size: 0.78rem; opacity: 0.7; margin: 0; }

  @media screen and (max-width: 749px) {
    .lonamy-footer__top { gap: 2.2rem; }
    .lonamy-footer__brand, .lonamy-footer__col, .lonamy-footer__news { flex: 1 1 100%; max-width: none; }
    .lonamy-footer__contact li { min-height: var(--minimum-touch-target, 44px); }
    .lonamy-footer__bottom { justify-content: center; text-align: center; flex-direction: column-reverse; }
  }
/* END_SECTION:lonamy-footer */

/* START_SECTION:lonamy-header (INDEX:31) */
/* ---------- Barre ----------
     Couleurs explicites, réglables : la mise à jour d'Horizon a supprimé les
     jeux de couleurs (`color-scheme-*`), et l'en-tête se retrouvait transparent
     une fois collé, illisible par-dessus le contenu. */
  /* Les onglets latéraux collants des applications (formulaire de rétractation,
     avis…) sont posés à z-index 999. L'en-tête étant positionné avec son propre
     z-index, il forme un contexte d'empilement : monter le tiroir à l'intérieur
     ne servait à rien, l'onglet passait devant et rognait la première lettre de
     « Ensembles », « Vestes », « Jupes »… C'est donc l'en-tête entier qui monte
     le temps que le tiroir est ouvert. */
  .lonamy-header.is-open { z-index: 1100; }
  .lonamy-header { display: block; z-index: 50;
    background: var(--lh-bg, #2A2420); color: var(--lh-tx, #F7F3EC);
    border-bottom: 1px solid var(--lh-line, rgb(255 255 255 / .16));
    transition: background .28s ease, color .28s ease, border-color .28s ease; }
  /* La mise à jour d'Horizon fait défiler la page dans `.page-wrapper`, plus dans
     le document. Deux conséquences :
     - `position:sticky` ne colle plus, son bloc conteneur (le groupe d'en-tête)
       ne fait que quelques dizaines de pixels de haut ;
     - `position:absolute` ne bouge plus du tout, son bloc conteneur est le bloc
       initial, qui ne défile pas : l'en-tête restait figé en haut, transparent,
       par-dessus le contenu qui glissait dessous.
     On le laisse donc dans le flux, et le JS le passe en `fixed` une fois qu'il
     est sorti de l'écran. Le retrait négatif compense sa hauteur pour que la
     section suivante remonte dessous en mode transparent ; en `fixed` il ne
     compte plus dans le flux, donc rien ne saute. */
  .lonamy-header--solid { position: relative; }
  .lonamy-header--float { position: relative; margin-bottom: calc(-1 * var(--lh-h, 4.6rem)); }
  .lonamy-header.lonamy-header--float:not(.is-stuck) {
    background: transparent; color: #fff; border-bottom-color: rgb(255 255 255 / 0.16); }
  .lonamy-header.is-stuck { position: fixed; top: 0; left: 0; right: 0;
    background: var(--lh-bg, #2A2420); color: var(--lh-tx, #F7F3EC);
    border-bottom-color: var(--lh-line, rgb(255 255 255 / .16)); }
  /* Pas d'animation d'entrée ici : une @keyframes qui déplace l'en-tête reste
     figée sur sa première image quand l'onglet passe en arrière-plan (rAF gelé),
     et la barre resterait alors hors écran. La transition de couleur suffit. */

  /* Le logo est une image sombre : en mode flottant on la repeint en blanc. */
  .lonamy-header--float:not(.is-stuck) .lonamy-header__logo-img { filter: brightness(0) invert(1); }

  .lonamy-header__inner { max-width: 128rem; margin-inline: auto;
    padding-inline: var(--page-margin, 2rem);
    display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
    gap: 1.2rem; min-height: 4.6rem; }

  .lonamy-header__logo { grid-column: 1; justify-self: start; text-decoration: none; color: inherit; display: inline-flex; align-items: center; }
  .lonamy-header__logo-img { max-width: 132px; height: auto; display: block; transition: filter .28s ease; }
  .lonamy-header__wordmark { font-family: var(--font-h1--family); font-weight: 300; letter-spacing: .2em; text-transform: uppercase; font-size: 1.45rem; line-height: 1; }

  .lonamy-header__actions { grid-column: 3; justify-self: end; display: flex; align-items: center; gap: .35rem; }
  /* Sans `flex:none`, le SVG est compressé à zéro par le conteneur flex : les
     icônes existaient mais faisaient 0 px de large. */
  .lonamy-header__icon { color: inherit; display: inline-flex; padding: .45rem; position: relative; }
  .lonamy-header__icon svg { flex: 0 0 auto; display: block; }
  .lonamy-header__burger span { flex: 0 0 auto; }
  .lonamy-header__cart-count { position: absolute; top: 0; right: 0; background: var(--color-primary-button-background); color: var(--color-primary-button-text); font-family: var(--font-body--family); font-size: .6rem; min-width: 15px; height: 15px; border-radius: 15px; display: flex; align-items: center; justify-content: center; padding: 0 4px; }
  .lonamy-header__cart-count[hidden] { display: none; }

  .lonamy-header__cta { font-family: var(--font-body--family); font-size: .72rem; text-transform: uppercase; letter-spacing: .1em;
    font-weight: 600; text-decoration: none; border: 0; padding: .72rem 1.1rem; margin-right: .75rem;
    background: var(--color-primary-button-background, #b85c38); color: var(--color-primary-button-text, #fff);
    display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap;
    box-shadow: 0 1px 2px rgba(20,17,14,.14);
    transition: transform .18s ease, filter .18s ease, box-shadow .18s ease; }
  .lonamy-header__cta-ar { transition: transform .18s ease; }
  .lonamy-header__cta:hover { filter: brightness(1.07); transform: translateY(-1px); box-shadow: 0 3px 10px rgba(20,17,14,.18); }
  .lonamy-header__cta:hover .lonamy-header__cta-ar { transform: translateX(3px); }
  .lonamy-header__cta:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
  @media (prefers-reduced-motion: reduce) { .lonamy-header__cta, .lonamy-header__cta-ar { transition: none; } }

  .lonamy-header__burger { grid-column: 1; justify-self: start; display: none; flex-direction: column; gap: 4px; background: none; border: 0; cursor: pointer; padding: .4rem; color: inherit; }
  .lonamy-header__burger span { width: 21px; height: 1.5px; background: currentColor; display: block; }

  /* ---------- Navigation ---------- */
  .lonamy-header__nav { grid-column: 2; display: flex; justify-content: center; }
  .lonamy-header__top { display: flex; gap: 1.9rem; list-style: none; margin: 0; padding: 0; }
  .lonamy-header__item { position: relative; }
  .lonamy-header__link { font-family: var(--font-body--family); text-transform: uppercase; letter-spacing: .12em; font-size: .72rem;
    text-decoration: none; color: inherit; padding-block: 1.55rem; display: inline-flex; align-items: center; gap: .34rem; }
  .lonamy-header__link > span { position: relative; }
  .lonamy-header__link > span::after { content: ''; position: absolute; left: 0; right: 0; bottom: -4px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
  .lonamy-header__item:hover > .lonamy-header__link > span::after,
  .lonamy-header__item:focus-within > .lonamy-header__link > span::after { transform: scaleX(1); }
  .lonamy-header__chev { transition: transform .22s ease; opacity: .6; }
  .lonamy-header__item:hover > .lonamy-header__link .lonamy-header__chev,
  .lonamy-header__item:focus-within > .lonamy-header__link .lonamy-header__chev { transform: rotate(180deg); opacity: 1; }

  /* ---------- Panneau déroulant ---------- */
  .lonamy-header__drop { position: absolute; top: 100%; left: 50%; z-index: 5;
    width: 15rem; opacity: 0; visibility: hidden;
    transform: translate(-50%, 8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s; }
  .lonamy-header__drop.has-img { width: 21.5rem; }
  /* Le dernier onglet est proche du bord droit : on le cale à droite. */
  .lonamy-header__item:last-child .lonamy-header__drop { left: auto; right: 0; transform: translate(0, 8px); }
  .lonamy-header__item:hover > .lonamy-header__drop,
  .lonamy-header__item:focus-within > .lonamy-header__drop { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
  .lonamy-header__item:last-child:hover > .lonamy-header__drop,
  .lonamy-header__item:last-child:focus-within > .lonamy-header__drop { transform: translate(0, 0); }
  /* Passerelle invisible : sans elle, le curseur « tombe » entre le lien et le panneau. */
  .lonamy-header__drop::before { content: ''; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }

  .lonamy-header__drop-in { background: var(--lh-panel-bg, #FAFAFA); color: var(--lh-panel-tx, #2A2420);
    border: 1px solid var(--lh-panel-line, rgb(42 36 32 / .14));
    box-shadow: 0 22px 40px -30px rgb(0 0 0 / .45);
    padding: .8rem; }
  /* Vignette et liens côte à côte : en colonne le panneau montait à 500 px de
     haut, très loin du petit volet demandé. */
  .lonamy-header__drop-top { display: flex; gap: .85rem; align-items: flex-start; }

  .lonamy-header__thumb { flex: 0 0 6rem; display: flex; flex-direction: column; gap: .35rem; text-decoration: none; color: inherit; }
  .lonamy-header__thumb-img { display: block; overflow: hidden; }
  .lonamy-header__thumb img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; transition: transform .5s cubic-bezier(.3,0,.2,1); }
  .lonamy-header__thumb:hover img { transform: scale(1.05); }
  /* La légende est SOUS l'image, jamais dessus : plus de texte perdu sur une photo claire. */
  .lonamy-header__thumb-eyebrow { font-family: var(--font-body--family); text-transform: uppercase; letter-spacing: .12em; font-size: .58rem; opacity: .55; }

  .lonamy-header__drop-links { list-style: none; margin: 0; padding: 0; flex: 1 1 auto; min-width: 0; }
  .lonamy-header__drop-links a { display: block; padding: .38rem .3rem; font-family: var(--font-body--family); font-size: .88rem;
    text-decoration: none; color: inherit; opacity: .82; transition: opacity .16s ease, padding-left .16s ease; }
  .lonamy-header__drop-links a:hover { opacity: 1; padding-left: .65rem; }
  .lonamy-header__drop-links a:focus-visible { outline: 2px solid #B85C38; outline-offset: 2px; }

  .lonamy-header__drop-all { display: block; margin-top: .6rem; padding: .55rem .3rem 0; border-top: 1px solid rgb(var(--color-foreground-rgb) / 0.1);
    font-family: var(--font-body--family); font-size: .78rem; font-weight: 600; letter-spacing: .04em;
    text-decoration: none; color: inherit; display: inline-flex; gap: .3rem; }
  .lonamy-header__drop-all:hover { text-decoration: underline; text-underline-offset: 3px; }

  /* ---------- Tiroir mobile ---------- */
  .lonamy-header__overlay { position: fixed; inset: 0; background: rgba(0,0,0,.4); opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s; z-index: 60; }
  .lonamy-header__drawer { position: fixed; top: 0; left: 0; bottom: 0; width: min(88vw, 400px);
    background: var(--lh-panel-bg, #FAFAFA); color: var(--lh-panel-tx, #2A2420);
    transform: translateX(-100%); transition: transform .32s cubic-bezier(.4,0,.2,1); z-index: 61;
    overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
    display: flex; flex-direction: column;
    padding-bottom: calc(1.4rem + env(safe-area-inset-bottom, 0px)); }
  /* Le tiroir est une colonne flex : sans `flex: 0 0 auto`, ses enfants se
     compriment dès que le contenu dépasse la hauteur de l'écran, au lieu de la
     faire défiler. Mesuré sur un écran de 600 px : l'encart d'offre tombait de
     100 px à 30 px, son texte se coupait en plein milieu, et il ne restait plus
     que 25 px de défilement pour tout le menu. */
  .lonamy-header__drawer > * { flex: 0 0 auto; }
  .lonamy-header.is-open .lonamy-header__overlay { opacity: 1; visibility: visible; }
  .lonamy-header.is-open .lonamy-header__drawer { transform: translateX(0); }
  .lonamy-header__drawer-head { display: grid; grid-template-columns: auto 1fr auto; align-items: center; padding: .9rem 1.2rem; border-bottom: 1px solid rgb(var(--color-foreground-rgb) / 0.1); }
  .lonamy-header__drawer-head .lonamy-header__wordmark { font-size: 1.1rem; text-align: center; }
  .lonamy-header__close { background: none; border: 0; cursor: pointer; color: inherit; display: inline-flex; padding: .3rem; }
  /* Le bouton mis en avant existe aussi dans le tiroir : c'est le seul endroit
     où on le voit sur mobile, la barre du haut n'affichant que les icônes. */
  .lonamy-header__drawer-cta { display: block; margin: 1rem 1.2rem .4rem; padding: .95rem 1rem;
    text-align: center; text-decoration: none;
    background: var(--color-foreground); color: var(--color-background);
    font-family: var(--font-body--family); font-size: .78rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .12em; }
  .lonamy-header__drawer-list { list-style: none; margin: 0; padding: .6rem 0 0; }
  .lonamy-header__drawer-item { border-bottom: 1px solid rgb(var(--color-foreground-rgb) / 0.08); }
  .lonamy-header__drawer-link, .lonamy-header__drawer-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; background: none; border: 0; text-align: left; cursor: pointer; font-family: var(--font-body--family); text-transform: uppercase; letter-spacing: .08em; font-size: .88rem; color: inherit; text-decoration: none; padding: 1.05rem 1.3rem; }
  .lonamy-header__plus { position: relative; width: 13px; height: 13px; flex: 0 0 auto; }
  .lonamy-header__plus::before, .lonamy-header__plus::after { content: ''; position: absolute; inset: 0; margin: auto; background: currentColor; }
  .lonamy-header__plus::before { width: 13px; height: 1.5px; }
  .lonamy-header__plus::after { width: 1.5px; height: 13px; transition: transform .25s ease; }
  .lonamy-header__drawer-toggle[aria-expanded="true"] .lonamy-header__plus::after { transform: scaleY(0); }
  .lonamy-header__drawer-panel { display: none; padding: 0 1.3rem 1rem; }
  .lonamy-header__drawer-panel.is-open { display: block; }
  .lonamy-header__drawer-panel ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .75rem; }
  .lonamy-header__drawer-panel a { color: inherit; text-decoration: none; font-family: var(--font-body--family); font-size: .93rem; opacity: .85; }
  .lonamy-header__drawer-panel a.is-all { font-weight: 600; opacity: 1; }

  /* Encart d'offre du tiroir mobile. Le chiffre est posé dans la serif de la
     marque, séparé du texte par un filet : c'est ce qui le sort du rectangle
     plat. Angles vifs, comme partout ailleurs sur le site. */
  .lonamy-header__promo { position: relative; overflow: hidden; isolation: isolate;
    display: grid; grid-template-columns: auto 1px 1fr auto; align-items: center;
    gap: 0 .8rem; margin: 1.15rem 1.1rem .4rem; padding: .95rem .9rem;
    text-decoration: none; color: #F7F3EC;
    background-image: linear-gradient(135deg, #332A24 0%, #2A2420 46%, #241F1B 100%);
    background-color: #2A2420;
    box-shadow: inset 0 0 0 1px rgb(247 243 236 / .12);
    transition: box-shadow .2s ease, transform .12s ease; }
  .lonamy-header__promo:active { transform: scale(.985); }
  .lonamy-header__promo:hover { box-shadow: inset 0 0 0 1px rgb(247 243 236 / .24); }
  /* Halo chaud dans l'angle, pour que le fond ne soit pas un aplat mort. */
  .lonamy-header__promo-glow { position: absolute; inset: auto -30% -70% auto; z-index: -1;
    width: 12rem; height: 12rem; border-radius: 50%;
    background: radial-gradient(circle, var(--pr-acc, #B85C38) 0%, transparent 68%);
    opacity: .34; pointer-events: none; }

  /* Placement explicite : en flux automatique, le halo prenait la première
     cellule et le chiffre se retrouvait écrasé à 16 px de large. */
  .lonamy-header__promo-glow { grid-area: 1 / 1 / 2 / 2; }
  /* Le chiffre était en serif de titre : la barre d'annonce, elle, est passée
     tout en Inter. Deux typographies pour la même offre, à deux endroits, ça se
     voyait. On aligne sur la barre — Inter, gras, chiffres tabulaires. */
  .lonamy-header__promo-n { grid-column: 1; font-family: var(--font-body--family); font-weight: 700;
    font-size: 1.35rem; line-height: 1; letter-spacing: .01em; white-space: nowrap;
    font-variant-numeric: tabular-nums; }
  .lonamy-header__promo-tx { grid-column: 3; }
  .lonamy-header__promo-go { grid-column: 4; }
  .lonamy-header__promo::before { content: ''; grid-column: 2; align-self: stretch;
    background: linear-gradient(to bottom, transparent, rgb(247 243 236 / .3) 22%, rgb(247 243 236 / .3) 78%, transparent); }

  .lonamy-header__promo-tx { display: flex; flex-direction: column; gap: .16rem; min-width: 0; }
  .lonamy-header__promo-go { justify-self: end; }
  .lonamy-header__promo-e { display: flex; align-items: center; gap: .4em;
    font-family: var(--font-body--family); font-size: .62rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .16em; color: var(--pr-acc, #B85C38);
    filter: brightness(1.45); }
  /* Le drapeau ne doit pas prendre la teinte éclaircie de l'étiquette : le
     `filter` de l'ancêtre l'atteindrait. On le neutralise sur le tracé. */
  .lonamy-header__promo-e .lnm-flag { filter: none; }
  .lonamy-header__promo-tx strong { font-family: var(--font-body--family); font-size: .83rem;
    font-weight: 600; line-height: 1.3; text-wrap: balance; }
  .lonamy-header__promo-s { font-family: var(--font-body--family); font-size: .74rem; opacity: .62; line-height: 1.3; }
  .lonamy-header__promo-go { display: flex; align-items: center; opacity: .55; transition: transform .2s ease, opacity .2s ease; }
  .lonamy-header__promo:hover .lonamy-header__promo-go,
  .lonamy-header__promo:active .lonamy-header__promo-go { opacity: 1; transform: translateX(3px); }
  @media (prefers-reduced-motion: reduce) {
    .lonamy-header__promo, .lonamy-header__promo-go { transition: none; }
  }

  .lonamy-header__facts { list-style: none; margin: 1.1rem 1.3rem .4rem; padding: 0; display: flex; flex-direction: column; gap: .6rem; }
  .lonamy-header__facts li { font-family: var(--font-body--family); font-size: .8rem; opacity: .82; display: flex; gap: .6rem; align-items: center; }
  .lonamy-header__facts-ic { flex: none; width: 17px; height: 17px; }
  .lonamy-header__facts-ic svg { width: 100%; height: 100%; fill: none; stroke: var(--color-primary-button-background, #B85C38);
    stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

  .lonamy-header__drawer-sec { list-style: none; margin: .6rem 1.3rem 2.2rem; padding: 1rem 0 0; border-top: 1px solid rgb(var(--color-foreground-rgb) / 0.1); display: flex; flex-wrap: wrap; gap: .5rem 1.3rem; }
  .lonamy-header__drawer-sec a { font-family: var(--font-body--family); font-size: .78rem; color: inherit; opacity: .7; text-decoration: none; }

  @media screen and (max-width: 1099px) {
    .lonamy-header__nav { display: none; }
    .lonamy-header__cta { display: none; }
    .lonamy-header__burger { display: flex; }
    .lonamy-header__logo { grid-column: 2; justify-self: center; }
    .lonamy-header__inner { min-height: 3.8rem; }
    .lonamy-header__logo-img { max-width: 112px; }
    .lonamy-header__wordmark { font-size: 1.28rem; }
    /* Zone tactile portée à 44 px : le pictogramme reste petit, la cible ne l'est plus. */
    .lonamy-header__burger, .lonamy-header__icon, .lonamy-header__close {
      min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
    .lonamy-header__burger { display: flex; }
  }

  /* Le logo mobile est centré sur l'axe de l'écran. Avec deux icônes à droite et
     une seule à gauche, l'encre n'est pas répartie pareil de part et d'autre :
     mesuré à 375 px, il restait 83 px de vide entre le menu et le logo contre
     34 px entre le logo et la loupe, et le logo semblait poussé vers la droite.
     La loupe rejoint donc l'en-tête du tiroir, où elle figure déjà : une icône
     de chaque côté, écarts égaux. Le réglage « Loupe dans la barre mobile » la
     ramène pour qui préfère l'accès direct. */
  @media screen and (max-width: 749px) {
    .lonamy-header:not(.lonamy-header--loupe) .lonamy-header__search { display: none; }
  }

  /* RETOUCHE 20/09 — demande utilisateur : en-tete sur DEUX rangs (modele Rando France).
     Rang 1 : logo centre, avec la loupe, le panier et « composer ma tenue » a sa droite.
     Rang 2 : la navigation, sur toute la largeur.
     La navigation est centree et non calee a gauche : avec 6 entrees seulement, un
     alignement a gauche sous un logo centre desequilibre la barre. Une ligne a changer
     si tu la veux a gauche (`justify-content: flex-start`).
     Le mode flottant n'est pas touche : `--lh-h` est mesure au chargement, il suit
     la nouvelle hauteur tout seul. */
  @media screen and (min-width: 750px) {
    .lonamy-header__inner {
      grid-template-rows: auto auto;
      row-gap: 0;
      min-height: 0;
      padding-block: .7rem .1rem;
    }
    .lonamy-header__logo    { grid-column: 2; grid-row: 1; justify-self: center; }
    .lonamy-header__actions { grid-column: 3; grid-row: 1; justify-self: end; }
    .lonamy-header__nav     { grid-column: 1 / -1; grid-row: 2; justify-content: center; }
    /* Le lien portait un grand rembourrage vertical pour tenir seul sur un rang unique. */
    /* RETOUCHE 20/09 — menu legerement plus grand sur ordinateur. */
    .lonamy-header__link    { padding-block: .9rem; font-size: .8rem; }
  }
/* END_SECTION:lonamy-header */

/* START_SECTION:lonamy-hero (INDEX:32) */
.lonamy-hero {
    position: relative;
    display: grid;
    isolation: isolate;
    background: var(--color-background);
  }
  .lonamy-hero__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 0;
  }
  .lonamy-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .lonamy-hero__wash {
    position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: linear-gradient(to right,
      rgb(var(--color-background-rgb, 250 250 250) / var(--lh-s1, .5)) 0%,
      rgb(var(--color-background-rgb, 250 250 250) / var(--lh-s2, .27)) 34%,
      transparent 62%);
  }
  .lonamy-hero--pos-right .lonamy-hero__wash { transform: scaleX(-1); }
  .lonamy-hero--pos-center .lonamy-hero__wash {
    background: radial-gradient(ellipse at center,
      rgb(var(--color-background-rgb, 250 250 250) / var(--lh-s1, .5)) 0%, transparent 70%);
  }
  @media screen and (max-width: 749px) {
    /* Sur mobile le texte occupe toute la largeur : un dégradé latéral ne protège rien. */
    .lonamy-hero__wash,
    .lonamy-hero--pos-right .lonamy-hero__wash,
    .lonamy-hero--pos-center .lonamy-hero__wash {
      transform: none;
      background: linear-gradient(to bottom,
        rgb(var(--color-background-rgb, 250 250 250) / var(--lh-m1, .69)) 0%,
        rgb(var(--color-background-rgb, 250 250 250) / var(--lh-m2, .55)) 52%,
        rgb(var(--color-background-rgb, 250 250 250) / var(--lh-m3, .3)) 100%);
    }
    .lonamy-hero__content { max-width: 100%; }

    /* Empilé : l'image passe en flux, le texte descend sur fond plein.
       Superposer du texte sur une photo claire et chargée ne tient pas. */
    .lonamy-hero__media { position: static; }
    .lonamy-hero__img { height: auto; aspect-ratio: 4 / 5; }
    .lonamy-hero__wash { display: none; }
    .lonamy-hero__inner { min-height: 0; padding-block: 1.7rem 2.4rem; }
  }
  .lonamy-hero__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 120rem;
    margin-inline: auto;
    padding-inline: var(--page-margin, 2.5rem);
    padding-block: clamp(3rem, 8vw, 7rem);
    min-height: var(--lh-min-height, 80svh);
    display: flex;
    align-items: center;
  }
  .lonamy-hero--pos-left .lonamy-hero__inner { justify-content: flex-start; }
  .lonamy-hero--pos-center .lonamy-hero__inner { justify-content: center; text-align: center; }
  .lonamy-hero--pos-right .lonamy-hero__inner { justify-content: flex-end; }

  .lonamy-hero__content {
    max-width: var(--lh-w, 42rem);
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }
  .lonamy-hero--pos-center .lonamy-hero__content { align-items: center; }

  .lonamy-hero__title {
    font-family: var(--font-h1--family);
    font-weight: var(--font-h1--weight);
    font-style: var(--font-h1--style);
    line-height: 1.04;
    letter-spacing: -0.01em;
    font-size: clamp(2.4rem, 5.2vw, 4.6rem);
    margin: 0;
  }
  .lonamy-hero__text {
    font-family: var(--font-body--family);
    font-size: clamp(1rem, 1.4vw, 1.18rem);
    line-height: 1.65;
    max-width: 100%;
    opacity: 0.92;
  }
  .lonamy-hero__text > * { margin: 0; }

  /* Text color variants (over image) */
  .lonamy-hero--light .lonamy-hero__title,
  .lonamy-hero--light .lonamy-hero__text,
  .lonamy-hero--light .lonamy-eyebrow { color: #fff; }
  .lonamy-hero--dark .lonamy-hero__title,
  .lonamy-hero--dark .lonamy-hero__text { color: var(--color-foreground); }

  /* Shared editorial utilities */
  .lonamy-eyebrow {
    font-family: var(--font-body--family);
    text-transform: uppercase;
    letter-spacing: 0.22em;
    font-size: 0.72rem;
    margin: 0;
    opacity: 0.8;
  }
  .lonamy-btn {
    align-self: flex-start;
    display: inline-block;
    font-family: var(--font-body--family);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.74rem;
    text-decoration: none;
    padding: 0.95rem 2.1rem;
    border: 1px solid currentColor;
    transition: opacity 0.25s ease;
    color: inherit;
  }
  .lonamy-hero--light .lonamy-btn { color: #fff; border-color: rgba(255, 255, 255, 0.7); }
  .lonamy-btn:hover { opacity: 0.7; }

  @media screen and (max-width: 749px) {
    .lonamy-hero__inner { min-height: 70svh; }
    .lonamy-hero--pos-right .lonamy-hero__inner,
    .lonamy-hero--pos-left .lonamy-hero__inner { justify-content: flex-start; }
    .lonamy-hero__scrim { opacity: var(--lh-overlay, 0); }
  }
/* END_SECTION:lonamy-hero */

/* START_SECTION:lonamy-hotspots (INDEX:33) */
.lh{position:relative}
  .lh__stage{position:relative;overflow:hidden}
  .lh__img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:var(--lh-ratio-m,4/5)}
  .lh__eb{position:absolute;top:14px;left:14px;font-family:var(--font-body--family);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#F7F3EC;background:rgba(42,36,32,.5);padding:5px 9px;z-index:3}
  .lh__dot{position:absolute;width:var(--lh-dot,28px);height:var(--lh-dot,28px);border-radius:50%;border:0;cursor:pointer;
    background:var(--lh-dot-bg,#F7F3EC);color:var(--lh-dot-fg,#2A2420);
    font-family:var(--font-body--family);font-size:.72rem;font-weight:700;line-height:1;
    display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);z-index:4;
    box-shadow:0 2px 10px rgba(0,0,0,.35);transition:background .2s,color .2s}
  .lh__dot::after{content:'';position:absolute;inset:-6px;border:1px solid rgba(247,243,236,.55);border-radius:50%;animation:lh-pulse 2.4s ease-out infinite}
  .lh__dot[aria-pressed="true"]{background:var(--lh-dot-on,#B85C38);color:#fff}
  .lh__dot[aria-pressed="true"]::after{display:none}
  .lh__dot:focus-visible{outline:2px solid var(--lh-dot-on,#B85C38);outline-offset:4px}
  @keyframes lh-pulse{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.55);opacity:0}}
  .lh__panel{position:absolute;z-index:5;width:min(272px,72%);
    background:var(--lh-panel-bg,#F7F3EC);color:var(--lh-panel-fg,#2A2420);padding:14px 30px 14px 15px;
    box-shadow:0 8px 28px rgba(42,36,32,.22);opacity:0;transform:translateY(4px);
    transition:opacity .22s ease,transform .22s ease}
  .lh__panel[hidden]{display:none}
  .lh__panel.is-on{opacity:1;transform:translateY(0)}
  .lh__panel::before{content:'';position:absolute;top:var(--arrow-top,22px);width:9px;height:9px;
    background:var(--lh-panel-bg,#F7F3EC);transform:rotate(45deg)}
  .lh__panel--right::before{left:-4.5px}
  .lh__panel--left::before{right:-4.5px}
  .lh__panel--below::before{top:-4.5px;left:var(--arrow-left,22px)}
  .lh__panel-x{position:absolute;top:8px;right:8px;background:none;border:0;cursor:pointer;color:inherit;padding:2px;opacity:.45}
  .lh__panel-x:hover{opacity:1}
  .lh__panel-x svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;display:block}
  .lh__panel-t{margin:0 0 5px;font-family:var(--font-h2--family,var(--font-primary--family));font-size:var(--lh-t-m,18px);line-height:1.2}
  .lh__panel-b{margin:0;font-family:var(--font-body--family);font-size:var(--lh-b-m,12.5px);line-height:1.5;opacity:.85}
  .lh__dot--desktop{display:none}
  @media screen and (max-width:749px){
    .lh__dot{width:calc(var(--lh-dot,28px) + 8px);height:calc(var(--lh-dot,28px) + 8px);font-size:.78rem}
    .lh__dot--xm{left:var(--xm)!important;top:var(--ym)!important}
  }
  @media screen and (min-width:750px){
    .lh__img{aspect-ratio:var(--lh-ratio-d,16/9)}
    .lh__dot--mobile{display:none}
    .lh__dot--desktop{display:flex}
    .lh__panel{width:min(320px,38%)}
    .lh__panel-t{font-size:var(--lh-t-d,21px)}
    .lh__panel-b{font-size:var(--lh-b-d,13.5px)}
  }
  @media (prefers-reduced-motion:reduce){.lh__dot::after{animation:none}}
/* END_SECTION:lonamy-hotspots */

/* START_SECTION:lonamy-journal (INDEX:34) */
.journal { background:var(--jr-bg,var(--color-background)); color:var(--color-foreground); }
  .journal__inner { max-width:120rem; margin-inline:auto; padding-inline:var(--page-margin,2.5rem); padding-block:var(--jr-pt,72px) var(--jr-pb,72px); }
  .journal__header { display:flex; justify-content:space-between; align-items:flex-end; gap:1.5rem; margin-bottom:clamp(1.2rem,2.5vw,2rem); }
  .journal__eyebrow { font-family:var(--font-body--family); text-transform:uppercase; letter-spacing:.18em; font-size:.74rem; opacity:.65; margin:0 0 .5rem; }
  .journal__title { font-family:var(--font-h2--family,var(--font-primary--family)); font-weight:var(--font-h2--weight,500); font-size:clamp(1.5rem,2.6vw,2.3rem); margin:0; }
  .journal__controls { display:flex; align-items:center; gap:1.2rem; flex-shrink:0; }
  .journal__nav { display:flex; gap:.5rem; }
  .journal__arrow { width:40px; height:40px; border:1px solid var(--color-border,#d8d2c8); background:transparent; border-radius:50%; cursor:pointer; font-size:1.2rem; color:var(--color-foreground); display:flex; align-items:center; justify-content:center; }
  .journal__arrow:hover { background:var(--color-surface-alt,#efeae2); }
  .journal__arrow[disabled] { opacity:.3; pointer-events:none; }
  .journal__viewall { font-family:var(--font-body--family); font-weight:500; font-size:.92rem; color:var(--color-foreground); text-decoration:none; white-space:nowrap; }
  .journal__viewall:hover { text-decoration:underline; text-underline-offset:3px; text-decoration-color:#B85C38; }

  .journal__track { display:flex; gap:var(--jr-gap,24px); overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; }
  .journal__track::-webkit-scrollbar { display:none; }
  .journal__dots { display:none; }
  @media (max-width:749px){
    .journal__dots { display:flex; justify-content:center; gap:5px; padding-top:.9rem; }
    .journal__dots[hidden] { display:none; }
    .journal__dots span { width:5px; height:5px; border-radius:50%; background:rgb(var(--color-foreground-rgb, 42 36 32) / .25); transition:background .2s ease, width .2s ease; }
    .journal__dots span.is-on { background:var(--color-foreground); width:14px; border-radius:4px; }
  }
  @media (prefers-reduced-motion: reduce){ .journal__dots span { transition:none; } }
  .journal__card { flex:0 0 calc((100% - (var(--jr-cards,3) - 1) * var(--jr-gap,24px)) / var(--jr-cards,3)); scroll-snap-align:start; }
  @media (max-width:749px){ .journal__card { flex-basis: calc((100% - var(--jr-gap,24px)) / var(--jr-cards-m,1.2)); } .journal__header{ align-items:flex-start; } }

  .journal__flip { position:relative; aspect-ratio:var(--jr-ar,3/2); perspective:1200px; }
  .journal__faces { position:absolute; inset:0; transform-style:preserve-3d; transition:transform var(--jr-flip,500ms) ease; }
  .journal__card.is-flipped .journal__faces { transform:rotateY(180deg); }
  .journal__face { position:absolute; inset:0; backface-visibility:hidden; overflow:hidden; }
  .journal__face--back { transform:rotateY(180deg); background:var(--jr-verso,#E9D3C5); color:var(--color-foreground); padding:1.4rem; display:flex; align-items:center; }
  .journal__img { width:100%; height:100%; object-fit:cover; display:block; }
  .journal__toggle { position:absolute; top:10px; right:10px; width:34px; height:34px; border-radius:50%; border:0; background:rgba(255,255,255,.92); cursor:pointer; z-index:3; display:flex; align-items:center; justify-content:center; transition:transform .3s ease, background .2s ease; }
  .journal__toggle:hover { background:#fff; }
  .journal__toggle-icon { position:relative; width:14px; height:14px; display:block; }
  .journal__toggle-icon::before, .journal__toggle-icon::after { content:''; position:absolute; inset:0; margin:auto; background:#2A2420; }
  .journal__toggle-icon::before { width:14px; height:1.5px; }
  .journal__toggle-icon::after { width:1.5px; height:14px; }
  .journal__card.is-flipped .journal__toggle { transform:rotate(45deg); }
  .journal__resume { font-family:var(--font-body--family); font-size:.92rem; line-height:1.6; overflow:auto; max-height:100%; }
  .journal__body { padding-top:14px; }
  .journal__card-title { font-family:var(--font-h2--family,var(--font-primary--family)); font-size:1.1rem; line-height:1.25; margin:0 0 .5rem; }
  .journal__card-title a { color:var(--color-foreground); text-decoration:none; }
  .journal__link { font-family:var(--font-body--family); font-size:.88rem; font-weight:500; color:var(--color-foreground); text-decoration:none; }
  .journal__link:hover { text-decoration:underline; text-underline-offset:3px; text-decoration-color:#B85C38; }
  .journal__empty { opacity:.6; font-family:var(--font-body--family); }
  @media (prefers-reduced-motion: reduce){
    .journal__track { scroll-behavior:auto; }
    .journal__toggle { transition:none; }
    .journal__faces { transition:none; }
    .journal__card.is-flipped .journal__faces { transform:none; }
    .journal__card.is-flipped .journal__face--front { opacity:0; }
    .journal__card.is-flipped .journal__face--back { transform:none; }
  }
/* END_SECTION:lonamy-journal */

/* START_SECTION:lonamy-manifesto (INDEX:35) */
.lmf { position: relative; isolation: isolate; color: #fff; padding-block: var(--lmf-pt, 96px) var(--lmf-pb, 96px); }
  .lmf__bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; background: #12100e; }
  .lmf__img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .lmf__wash { position: absolute; inset: 0; background: rgb(12 10 8 / var(--lmf-o)); }

  .lmf__wrap { position: relative; z-index: 1; max-width: 60rem; margin-inline: auto; padding-inline: var(--page-margin, 2rem); }
  .lmf--center .lmf__wrap { text-align: center; }

  .lmf__eyebrow { font-family: var(--font-body--family); font-size: .7rem; text-transform: uppercase; letter-spacing: .22em; margin: 0 0 1rem; opacity: .7; }
  .lmf__h { font-family: var(--font-h2--family); font-weight: 400; font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1.06; letter-spacing: -.01em; margin: 0; }
  .lmf__p { font-family: var(--font-body--family); font-size: 1.02rem; line-height: 1.65; opacity: .84; margin-top: 1.3rem; }
  .lmf__p p { margin: 0; }
  .lmf__p p + p { margin-top: .8rem; }

  .lmf__go { display: inline-block; margin-top: 1.8rem; text-decoration: none; color: #fff;
    font-family: var(--font-body--family); font-size: .78rem; text-transform: uppercase; letter-spacing: .13em;
    border-bottom: 1px solid rgb(255 255 255 / .45); padding-bottom: .35rem; transition: border-color .2s ease; }
  .lmf__go:hover { border-bottom-color: #fff; }

  .lmf__stats { list-style: none; margin: 3.2rem 0 0; padding: 2.2rem 0 0; border-top: 1px solid rgb(255 255 255 / .16);
    display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 1.5rem; }
  .lmf__stats li { display: flex; flex-direction: column; gap: .35rem; align-items: center; text-align: center; }
  .lmf__n { font-family: var(--font-h2--family); font-size: clamp(1.9rem, 4vw, 2.8rem); line-height: 1; color: var(--lmf-acc, #B85C38); }
  .lmf__l { font-family: var(--font-body--family); font-size: .8rem; line-height: 1.35; opacity: .78; max-width: 15rem; }

  .lmf__fine { font-family: var(--font-body--family); font-size: .72rem; opacity: .5; margin: 1.6rem 0 0; }

  @media screen and (max-width: 749px) {
    .lmf { padding-block: 3.6rem; }
    .lmf__wrap { padding-inline: 1.4rem; text-align: left; }
    .lmf--center .lmf__wrap { text-align: left; }
    .lmf__h { font-size: clamp(1.7rem, 7.5vw, 2.2rem); }
    .lmf__p { font-size: .95rem; }
    .lmf__stats { grid-template-columns: 1fr; gap: 1.3rem; margin-top: 2.4rem; padding-top: 1.8rem; }
    .lmf__stats li { flex-direction: row; align-items: baseline; gap: .8rem; text-align: left; }
    .lmf__n { font-size: 1.8rem; flex: 0 0 auto; min-width: 3.4rem; }
    .lmf__l { max-width: none; }
  }
/* END_SECTION:lonamy-manifesto */

/* START_SECTION:lonamy-mosaic (INDEX:36) */
.lmos { background: var(--color-background); color: var(--color-foreground); }
  .lmos__inner { max-width: 120rem; margin-inline: auto; padding-inline: var(--page-margin, 2.5rem); padding-block: var(--lmos-pt,72px) var(--lmos-pb,72px); }
  .lmos__head { text-align:center; margin-bottom: clamp(1.4rem,3vw,2.4rem); }
  .lmos__eyebrow { font-family:var(--font-body--family); text-transform:uppercase; letter-spacing:.18em; font-size:.74rem; opacity:.65; margin:0 0 .5rem; }
  .lmos__title { font-family:var(--font-h2--family,var(--font-primary--family)); font-weight:var(--font-h2--weight,500); font-size:clamp(1.7rem,3vw,2.6rem); margin:0; }
  .lmos__row { display:grid; grid-template-columns:repeat(var(--lmos-cols,3),1fr); gap:var(--lmos-gap,8px); margin-bottom:var(--lmos-gap,8px); }
  .lmos__row:last-child { margin-bottom:0; }
  .lmos__tile { position:relative; display:block; aspect-ratio:4/5; overflow:hidden; border-radius:var(--lmos-radius,0); contain:content; }
  .lmos__media { position:absolute; inset:0; }
  .lmos__img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
  .lmos__media::after { content:''; position:absolute; inset:0; }
  .lmos__media--scrim-gradient::after { background:linear-gradient(to top, var(--lmos-scrim,#2A2420) 0%, transparent 60%); opacity:var(--lmos-scrim-op,.5); }
  .lmos__media--scrim-solid::after { background:var(--lmos-scrim,#2A2420); opacity:var(--lmos-scrim-op,.5); }
  .lmos__tile--zoom:hover .lmos__img { transform:scale(var(--lmos-zoom,1.04)); }
  .lmos__tile:hover .lmos__media::after { opacity:calc(var(--lmos-scrim-op,.5) + .08); }
  .lmos__label-wrap { position:absolute; inset:0; display:flex; flex-direction:column; gap:.3rem; padding:1.2rem; z-index:1; }
  .lmos__tile--label-center .lmos__label-wrap { align-items:center; justify-content:center; text-align:center; }
  .lmos__tile--label-bottom .lmos__label-wrap { align-items:flex-start; justify-content:flex-end; }
  .lmos__over { color:var(--lmos-label,#fff); font-family:var(--font-body--family); text-transform:uppercase; letter-spacing:.16em; font-size:.7rem; opacity:.9; }
  .lmos__label { color:var(--lmos-label,#fff); letter-spacing:.1em; line-height:1.1; font-size:clamp(1rem,.9rem + 1.2vw,1.75rem); transition:letter-spacing .3s ease; }
  .lmos__label--Cormorant { font-family:var(--font-h2--family,var(--font-primary--family)); }
  .lmos__label--Inter { font-family:var(--font-body--family); font-weight:500; }
  .lmos__label.is-upper { text-transform:uppercase; }
  .lmos__tile--zoom:hover .lmos__label { letter-spacing:.14em; }
  .lmos__tile:focus-visible { outline:2px solid #fff; outline-offset:-4px; }

  @media (max-width:749px){
    .lmos--mob-1col .lmos__row { grid-template-columns:1fr; }
    /* 2 + 2 + 1 : toutes les tuiles dans une grille 2 colonnes, la dernière en pleine largeur */
    .lmos--mob-221 .lmos__inner { display:grid; grid-template-columns:1fr 1fr; gap:var(--lmos-gap,8px); }
    .lmos--mob-221 .lmos__head { grid-column:1 / -1; }
    .lmos--mob-221 .lmos__row { display:contents; }
    .lmos--mob-221 .lmos__tile { margin:0; }
    .lmos--mob-221 .lmos__row:last-child .lmos__tile:last-child { grid-column:1 / -1; aspect-ratio:16/10; }
    .lmos__label { font-size:clamp(.85rem,3vw,1.05rem); }
    .lmos__label-wrap { padding:.8rem; }
  }
  @media (prefers-reduced-motion: reduce){
    .lmos__img, .lmos__label { transition:none; }
    .lmos__tile--zoom:hover .lmos__img { transform:none; }
  }
/* END_SECTION:lonamy-mosaic */

/* START_SECTION:lonamy-offer (INDEX:37) */
.lof{background:var(--color-background);color:var(--color-foreground)}
  .lof__in{max-width:72rem;margin-inline:auto;padding-inline:var(--page-margin,2.5rem);
    padding-block:clamp(3rem,7vw,5.5rem)}
  .lof__head{text-align:center;margin-bottom:clamp(1.8rem,4vw,2.8rem)}
  .lof__eb{margin:0 0 .8rem;font-family:var(--font-body--family);font-size:.68rem;
    letter-spacing:.16em;text-transform:uppercase;color:var(--lof-accent,#B85C38)}
  .lof__h{margin:0;font-family:var(--font-h2--family,var(--font-primary--family));
    font-weight:var(--font-h2--weight,500);font-size:clamp(1.9rem,4vw,3rem);line-height:1.06;
    text-wrap:balance;letter-spacing:-.01em}
  .lof__intro{margin:1rem auto 0;max-width:48ch;font-family:var(--font-body--family);
    font-size:.95rem;line-height:1.65;opacity:.8}
  .lof__intro > *{margin:0}

  .lof__grid{list-style:none;margin:0;padding:0;display:grid;
    grid-template-columns:repeat(var(--lof-cols,4),1fr);gap:1px;
    background:rgb(var(--color-foreground-rgb) / .14);
    border:1px solid rgb(var(--color-foreground-rgb) / .14);border-radius:5px;overflow:hidden}
  .lof__t{background:var(--color-background);padding:clamp(1.1rem,2.4vw,1.7rem) .9rem;
    display:flex;flex-direction:column;align-items:center;gap:.3rem;text-align:center;
    transition:background .25s ease}
  /* Le fond clair sur un jeu de couleurs sombre rendait le texte invisible :
     on inverse explicitement les deux, quel que soit le schéma. */
  .lof__t.is-on{background:var(--color-foreground);color:var(--color-background)}
  .lof__t.is-on .lof__t-l{opacity:.7}
  /* Le terracotta de la marque ne fait que 3,4:1 sur le fond sombre du palier
     inversé : on l'éclaircit ici, uniquement dans ce cas. */
  .lof__t.is-on .lof__t-p{color:#E8B48A}
  .lof__t.is-on .lof__t-n{opacity:.72}
  .lof__t-q{font-family:var(--font-h2--family,var(--font-primary--family));
    font-size:clamp(1.9rem,3.6vw,2.6rem);line-height:1;font-variant-numeric:tabular-nums}
  .lof__t-l{font-family:var(--font-body--family);font-size:.68rem;letter-spacing:.11em;
    text-transform:uppercase;opacity:.55}
  .lof__t-p{margin-top:.5rem;font-family:var(--font-body--family);font-size:1.1rem;font-weight:700;
    color:var(--lof-accent,#B85C38);font-variant-numeric:tabular-nums}
  .lof__t-n{font-family:var(--font-body--family);font-size:.7rem;line-height:1.35;opacity:.6;max-width:18ch}

  .lof__foot{margin-top:clamp(1.4rem,3vw,2rem);display:flex;flex-direction:column;
    align-items:center;gap:1.1rem;text-align:center}
  .lof__fine{margin:0;max-width:52ch;font-family:var(--font-body--family);font-size:.78rem;
    line-height:1.5;opacity:.62}
  .lof__cta{display:inline-flex;align-items:center;gap:.6rem;padding:14px 28px;
    background:var(--lof-accent,#B85C38);color:#fff;text-decoration:none;border-radius:3px;
    font-family:var(--font-body--family);font-size:.82rem;font-weight:600;letter-spacing:.05em;
    text-transform:uppercase;transition:filter .2s ease}
  .lof__cta:hover{filter:brightness(.92)}
  .lof__cta:focus-visible{outline:2px solid var(--color-foreground);outline-offset:3px}
  .lof__cta svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;
    stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
  .lof__cta:hover svg{transform:translateX(3px)}

  @media screen and (max-width:749px){
    .lof__grid{grid-template-columns:repeat(2,1fr)}
    .lof__t-n{display:none}
  }
  @media (prefers-reduced-motion:reduce){ .lof__cta,.lof__cta svg,.lof__t{transition:none} }
/* END_SECTION:lonamy-offer */

/* START_SECTION:lonamy-page-title (INDEX:38) */
.lpt { padding-block: var(--lpt-pt, 40px) var(--lpt-pb, 16px); }
  .lpt__wrap { max-width: var(--max-page-width, 1300px); margin-inline: auto; padding-inline: var(--page-margin, 2rem); }
  .lpt--center .lpt__wrap { text-align: center; }
  /* RETOUCHE 21/09 — sur les pages collection et recherche, la grille occupe toute
     la largeur avec 32 px de marge. Un titre borne a 1300 px et centre paraissait
     decale par rapport a elle : il suit desormais le meme cadre. */
  .lpt--full .lpt__wrap { max-width: none; padding-inline: var(--lcol-pad, 32px); }

  .lpt__eyebrow {
    margin: 0 0 .5rem;
    font-family: var(--font-body--family);
    font-size: .7rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--color-primary-button-background, #b85c38);
  }

  .lpt__h {
    margin: 0;
    font-family: var(--font-h1--family);
    font-weight: var(--font-h1--weight, 500);
    font-size: clamp(1.9rem, 4.4vw, 3rem);
    line-height: 1.06;
    letter-spacing: -.01em;
    text-wrap: balance;
  }

  .lpt__sub {
    margin: .7rem 0 0;
    max-width: 52ch;
    font-family: var(--font-body--family);
    font-size: .95rem;
    opacity: .72;
  }

  .lpt--center .lpt__sub { margin-inline: auto; }

  .lpt__search { display: flex; gap: 0; margin-top: 1.4rem; max-width: 34rem; }
  .lpt--center .lpt__search { margin-inline: auto; }
  .lpt__search input {
    flex: 1 1 auto; min-width: 0; min-height: 48px; padding: 0 .9rem;
    border: 1px solid rgb(var(--color-foreground-rgb, 42 36 32) / .28);
    border-inline-end: 0; background: var(--color-background, #fafafa);
    color: inherit; font-family: var(--font-body--family); font-size: 15px;
  }
  .lpt__search input:focus-visible { outline: 2px solid var(--color-foreground); outline-offset: -2px; }
  .lpt__search button {
    flex: none; min-width: 52px; min-height: 48px; cursor: pointer; border: 0;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--color-foreground, #2a2420); color: var(--color-background, #fafafa);
  }
  .lpt__search button:hover { background: #b85c38; }
/* END_SECTION:lonamy-page-title */

/* START_SECTION:lonamy-product-main (INDEX:39) */
/* LONAMY — PLANCHER DE LISIBILITÉ : 12 px (0.75rem) pour tout texte de cette
     fiche, 13 px (0.8125rem) pour l'information commerciale (paliers de remise,
     pastille de pourcentage). Plusieurs libellés descendaient jusqu'à 8,8 px sur
     mobile, avec en plus une opacité basse — donc illisibles, y compris pour le
     message qui doit l'être le plus. Les tailles pilotées par un réglage de
     section passent par max(12px, …) : les curseurs du thème peuvent descendre
     à 10 px et rouvriraient le défaut sans ce garde-fou. Ne pas repasser sous
     0.75rem ici. */
  .pdp { background:var(--color-background); color:var(--color-foreground); position:relative; }
  .pdp__inner { max-width:120rem; margin-inline:auto; padding-inline:var(--page-margin,2.5rem); padding-block:var(--pdp-ptm,32px) var(--pdp-pbm,56px); display:grid; gap:clamp(1.5rem,4vw,3.5rem); }
  @media (min-width:990px){ .pdp__inner { grid-template-columns:1fr 1fr; align-items:start; padding-block:var(--pdp-ptd,40px) var(--pdp-pbd,64px); } .pdp__info--sticky { position:sticky; top:2rem; } }

  /* Galerie empilée à gauche ; carrousel horizontal sur mobile */
  .pdp__gallery { display:flex; flex-direction:column; gap:var(--pdp-gap,10px); }
  .pdp__shot { aspect-ratio:var(--pdp-ar,4/5); overflow:hidden; background:var(--color-surface-alt,#ECEAE6); margin:0; width:100%; }
  .pdp__img { width:100%; height:100%; object-fit:cover; object-position:var(--pdp-pos,center); display:block; }
  /* Vignettes : masquées par défaut, l'ordinateur montre déjà toutes les photos
     en pleine largeur les unes sous les autres. */
  .pdp__thumbs { display:none; }
  @media (max-width:989px){
    /* Une photo EN AVANT, pleine largeur de colonne. Avant : 88 % et un
       débordement pleine page, si bien que la photo suivante dépassait toujours
       sur le bord droit — on ne savait pas laquelle on regardait. La galerie
       reste un rail que l'on fait glisser au doigt, mais chaque photo occupe
       exactement la colonne, et ce sont les vignettes qui disent la suite. */
    .pdp__gallery { flex-direction:row; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain;
      scroll-snap-type:x mandatory; scrollbar-width:none; margin-inline:0; padding-inline:0; }
    .pdp__gallery::-webkit-scrollbar { display:none; }
    .pdp__shot { flex:0 0 100%; scroll-snap-align:center; }

    .pdp__thumbs { display:flex; gap:8px; margin-top:10px; overflow-x:auto; overflow-y:hidden;
      overscroll-behavior-x:contain; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
    .pdp__thumbs::-webkit-scrollbar { display:none; }
    /* 56 px de large pour 70 de haut : la vignette elle-même reste sous le seuil
       tactile, la cible est donc élargie par un `::after` qui déborde jusqu'à
       44 px de haut minimum — même motif que partout ailleurs sur la boutique. */
    .pdp__thumb { position:relative; flex:0 0 auto; width:56px; padding:0; border:0; background:none;
      cursor:pointer; border-radius:2px; overflow:hidden; line-height:0;
      box-shadow:inset 0 0 0 1px rgb(var(--color-foreground-rgb, 42 36 32) / .14);
      opacity:.62; transition:opacity .18s ease, box-shadow .18s ease; }
    .pdp__thumb::after { content:''; position:absolute; inset:-4px -2px; }
    .pdp__thumb-img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover;
      object-position:var(--pdp-pos,center); background:var(--color-surface-alt,#ECEAE6); }
    .pdp__thumb.is-active { opacity:1; box-shadow:inset 0 0 0 2px var(--pdp-accent,#b85c38); }
    .pdp__thumb:focus-visible { outline:2px solid var(--pdp-accent,#b85c38); outline-offset:2px; }
  }
  @media (prefers-reduced-motion:reduce){ .pdp__thumb { transition:none; } }

  .pdp__title { font-family:var(--font-h1--family,var(--font-primary--family)); font-weight:var(--pdp-title-w,500); text-transform:var(--pdp-title-case,none); font-size:var(--pdp-title-m,26px); line-height:1.1; margin:0 0 .5rem; }
  .pdp__price { font-family:var(--font-body--family); font-size:var(--pdp-price-m,18px); font-weight:var(--pdp-price-w,400); margin-bottom:1.4rem; }
  @media (min-width:990px){ .pdp__title { font-size:var(--pdp-title-d,34px); } .pdp__price { font-size:var(--pdp-price-d,20px); } }
  .pdp__opt { margin-bottom:1.2rem; }
  .pdp__opt-label { font-family:var(--font-body--family); font-size:.9rem; }
  .pdp__swatches { display:flex; gap:8px; margin-top:.55rem; flex-wrap:wrap; }
  .pdp__swatch { width:var(--pdp-sw-m,26px); height:var(--pdp-sw-m,26px); border-radius:var(--pdp-sw-r,3px); border:var(--pdp-bd,1px) solid var(--color-border,#d8d2c8); cursor:pointer; padding:0; }
  @media (min-width:990px){ .pdp__swatch { width:var(--pdp-sw-d,28px); height:var(--pdp-sw-d,28px); } }
  .pdp__swatch.is-active { outline:1.5px solid var(--color-foreground); outline-offset:2px; }
  /* CORRECTIF 20/09 — la pastille mesurait 26x26 : sous la cible tactile de 44px.
     On agrandit la zone cliquable sans toucher a l'aspect visuel. */
  .pdp__swatch { position:relative; }
  .pdp__swatch::after { content:''; position:absolute; inset:-9px; }
  @media (min-width:990px){ .pdp__swatch::after { inset:-8px; } }
  .pdp__sizes { display:flex; gap:7px; margin-top:.55rem; flex-wrap:wrap; }
  .pdp__size { min-width:42px; height:40px; padding:0 12px; border:var(--pdp-bd,1px) solid var(--color-border,#d8d2c8); background:transparent; cursor:pointer; font-family:var(--font-body--family); font-size:max(12px,var(--pdp-size-m,13px)); color:var(--color-foreground); }
  @media (min-width:990px){ .pdp__size { font-size:max(12px,var(--pdp-size-d,14px)); } }
  .pdp__size.is-active { border-color:var(--color-foreground); background:var(--color-foreground); color:var(--color-background); }
  .pdp__size.is-out { opacity:.35; text-decoration:line-through; cursor:not-allowed; }
  .pdp__stockrow { display:flex; align-items:center; justify-content:space-between; margin:0 0 1.2rem; }
  .pdp__stock { font-family:var(--font-body--family); font-size:.85rem; opacity:.85; }
  .pdp__stock.is-out { color:#9b3b2f; opacity:1; }
  .pdp__guide-link { background:none; border:0; padding:0; cursor:pointer; font-family:var(--font-body--family); font-size:.82rem; text-decoration:underline; text-underline-offset:3px; color:var(--color-foreground); }

  .pdp__form { display:flex; flex-direction:column; gap:12px; margin-bottom:1.8rem; }
  .pdp__qty { display:inline-flex; align-items:center; border:1px solid var(--color-border,#d8d2c8); width:fit-content; }
  .pdp__qty button { width:40px; height:46px; background:none; border:0; cursor:pointer; font-size:1.1rem; color:var(--color-foreground); }
  .pdp__qty input { width:46px; height:46px; border:0; text-align:center; background:transparent; font-family:var(--font-body--family); -moz-appearance:textfield; }
  .pdp__qty input::-webkit-outer-spin-button,.pdp__qty input::-webkit-inner-spin-button { -webkit-appearance:none; }
  .pdp__atc { display:flex; align-items:center; justify-content:center; gap:.6rem; width:100%; padding:16px; background:#B85C38; color:#fff; border:0; cursor:pointer; font-family:var(--font-body--family); font-size:.9rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
  .pdp__atc[disabled] { opacity:.4; cursor:not-allowed; }

  .pdp__accordions { margin-top:1.6rem; border-top:1px solid rgb(var(--color-foreground-rgb) / .14); }
  .pdp__acc { border-bottom:1px solid rgb(var(--color-foreground-rgb) / .14); }
  .pdp__acc summary { display:flex; justify-content:space-between; align-items:center; gap:1rem; cursor:pointer; list-style:none; padding:1.05rem 0; font-family:var(--font-body--family); font-size:.82rem; line-height:1.5; font-weight:600; }
  .pdp__acc summary::-webkit-details-marker { display:none; }
  .pdp__acc-icon { position:relative; width:12px; height:12px; flex:0 0 auto; }
  .pdp__acc-icon::before,.pdp__acc-icon::after { content:''; position:absolute; inset:0; margin:auto; background:currentColor; transition:transform .3s ease,opacity .3s ease; }
  .pdp__acc-icon::before { width:12px; height:1px; }
  .pdp__acc-icon::after { width:1px; height:12px; }
  .pdp__acc[open] .pdp__acc-icon::after { transform:scaleY(0); opacity:0; }
  .pdp__acc-body { font-family:var(--font-body--family); font-size:.82rem; line-height:1.6; opacity:.85; padding:0 0 1.25rem; }

  .pdp__complete { background:var(--cl-bg,#FAFAFA); border:var(--cl-bd-w,1px) solid var(--cl-bd-c,#2A2420); border-radius:var(--cl-rad,0); padding:18px; margin-top:1.6rem; }
  .pdp__complete-title { font-family:var(--font-h2--family,var(--font-primary--family)); font-weight:var(--cl-title-w,500); font-size:var(--cl-title-m,17px); margin-bottom:.25rem; }
  @media (min-width:990px){ .pdp__complete-title { font-size:var(--cl-title-d,19px); } }
  .pdp__complete-text { font-family:var(--font-body--family); font-size:max(12px,var(--cl-text-m,13px)); opacity:.7; margin-bottom:.9rem; }
  @media (min-width:990px){ .pdp__complete-text { font-size:max(12px,var(--cl-text-d,13px)); } }
  .pdp__complete-btns { display:flex; gap:10px; flex-wrap:wrap; }
  .pdp__complete-btn { flex:1; min-width:130px; border:1px solid #B85C38; background:transparent; padding:12px; cursor:pointer; font-family:var(--font-body--family); font-size:.85rem; display:flex; align-items:center; justify-content:center; gap:6px; color:#B85C38; text-transform:none; }
  .pdp__complete-btn:hover { background:#B85C38; color:#fff; }
  .pdp__complete-btn i { font-style:normal; }

  /* Pop-up (dialog) */
  .pdp__modal { border:0; padding:0; width:min(94vw, var(--cl-popup-maxw,920px)); max-height:88vh; background:var(--cl-popup-bg,#fff); color:var(--color-foreground); border-radius:var(--cl-popup-rad,12px); overflow:hidden; box-shadow:0 30px 80px rgba(42,36,32,.28); }
  .pdp__modal::backdrop { background:rgba(42,36,32,.5); }
  .pdp__modal-head { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--color-border,#e4ddce); position:sticky; top:0; background:var(--cl-popup-bg,#fff); z-index:2; }
  .pdp__modal-title { font-family:var(--font-h2--family,var(--font-primary--family)); font-weight:var(--cl-popup-title-w,500); font-size:var(--cl-popup-title-m,18px); }
  @media (min-width:990px){ .pdp__modal-title { font-size:var(--cl-popup-title-d,22px); } }
  .pdp__modal-close { background:none; border:0; font-size:1.7rem; line-height:1; cursor:pointer; color:var(--color-foreground); padding:0 4px; }
  .pdp__modal-grid { overflow-y:auto; max-height:calc(88vh - 62px); padding:18px; display:grid; grid-template-columns:repeat(var(--cl-card-cols-m,2),1fr); gap:14px; }
  @media (min-width:990px){ .pdp__modal-grid { grid-template-columns:repeat(var(--cl-card-cols-d,3),1fr); } }
  .pdp__cl-card { border:var(--cl-card-bd,1px) solid var(--color-border,#e4ddce); border-radius:var(--cl-card-rad,8px); overflow:hidden; display:flex; flex-direction:column; }
  .pdp__cl-media { aspect-ratio:3/4; background:var(--color-surface-alt,#ECEAE6); display:block; }
  .pdp__cl-img { width:100%; height:100%; object-fit:cover; display:block; }
  .pdp__cl-body { padding:10px; display:flex; flex-direction:column; gap:6px; flex:1; }
  .pdp__cl-title { font-family:var(--font-body--family); font-size:max(12px,var(--cl-card-title-m,13px)); color:var(--color-foreground); text-decoration:none; line-height:1.3; }
  @media (min-width:990px){ .pdp__cl-title { font-size:max(12px,var(--cl-card-title-d,14px)); } }
  .pdp__cl-price { font-family:var(--font-body--family); font-size:max(12px,var(--cl-card-price-m,12px)); opacity:.7; }
  @media (min-width:990px){ .pdp__cl-price { font-size:max(12px,var(--cl-card-price-d,13px)); } }
  .pdp__cl-swatches { display:flex; gap:5px; flex-wrap:wrap; }
  .pdp__cl-sw { width:var(--cl-sw,18px); height:var(--cl-sw,18px); border-radius:3px; border:1px solid var(--color-border,#d8d2c8); cursor:pointer; padding:0; }
  .pdp__cl-sw.is-active { outline:1.5px solid var(--color-foreground); outline-offset:1px; }
  .pdp__cl-sizes { display:flex; gap:5px; flex-wrap:wrap; }
  .pdp__cl-size { min-width:32px; height:28px; border:1px solid var(--color-border,#d8d2c8); background:transparent; cursor:pointer; font-size:12px; color:var(--color-foreground); }
  .pdp__cl-size.is-active { background:var(--color-foreground); color:var(--color-background); border-color:var(--color-foreground); }
  .pdp__cl-size.is-out { opacity:.35; text-decoration:line-through; pointer-events:none; }
  .pdp__cl-add { margin-top:auto; padding:10px; background:#B85C38; color:#fff; border:0; cursor:pointer; font-family:var(--font-body--family); font-size:.78rem; text-transform:uppercase; letter-spacing:.03em; }
  .pdp__cl-add[disabled] { opacity:.4; cursor:not-allowed; }

  .pdp__guide { border:0; padding:0; max-width:680px; width:94vw; background:var(--color-background); color:var(--color-foreground); border-radius:12px; }
  .pdp__guide::backdrop { background:rgba(42,36,32,.5); }
  .pdp__guide-inner { display:flex; flex-direction:column; max-height:88vh; }
  .pdp__guide-head { display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border-bottom:1px solid var(--color-border,#e4ddce); position:sticky; top:0; background:var(--color-background); z-index:2; }
  .pdp__guide-title { font-family:var(--font-h2--family,var(--font-primary--family)); font-size:1.4rem; }
  .pdp__guide-close { background:none; border:0; font-size:1.7rem; line-height:1; cursor:pointer; color:var(--color-foreground); padding:0 4px; }
  .pdp__guide-scroll { overflow-y:auto; padding:18px 24px 26px; }
  .pdp__guide-intro { font-family:var(--font-body--family); font-size:.86rem; line-height:1.6; opacity:.85; margin:0 0 1.1rem; }
  .pdp__guide-eyebrow { font-family:var(--font-body--family); font-size:.75rem; letter-spacing:.18em; text-transform:uppercase; opacity:.55; margin:1.5rem 0 .6rem; }
  .pdp__guide-foot, .pdp__sf-help { font-family:var(--font-body--family); font-size:.75rem; opacity:.65; margin:.5rem 0 0; }
  .pdp__guide-more { display:flex; align-items:center; justify-content:center; gap:.5rem;
    margin:1.4rem 0 .2rem; padding:.85rem 1rem; border:1px solid rgba(0,0,0,.14); border-radius:2px;
    font-family:var(--font-body--family); font-size:.82rem; letter-spacing:.02em; text-decoration:none;
    color:inherit; background:transparent; transition:background .18s ease, border-color .18s ease; }
  .pdp__guide-more svg { width:15px; height:15px; flex:0 0 auto; }
  .pdp__guide-more:hover { background:rgba(0,0,0,.035); border-color:rgba(0,0,0,.3); }
  @media (prefers-reduced-motion: reduce) { .pdp__guide-more { transition:none; } }
  .pdp__sf { background:var(--color-surface-soft,#F7F3EC); border:1px solid var(--color-border,#e4ddce); border-radius:10px; padding:16px; }
  .pdp__sf-eyebrow { font-family:var(--font-body--family); font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; color:#B85C38; margin:0 0 .8rem; }
  .pdp__sf-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .pdp__sf label, .pdp__sf-full { display:block; font-family:var(--font-body--family); font-size:.78rem; opacity:.85; }
  .pdp__sf-full { margin-top:9px; }
  .pdp__sf input, .pdp__sf select { width:100%; height:38px; margin-top:5px; padding:0 10px; border:1px solid var(--color-border,#d8d2c8); border-radius:7px; background:var(--color-background); color:var(--color-foreground); font-family:var(--font-body--family); font-size:.9rem; }
  .pdp__sf input:focus, .pdp__sf select:focus { outline:none; border-color:#B85C38; }
  .pdp__sf-result { margin-top:12px; padding-top:12px; border-top:1px solid var(--color-border,#e4ddce); }
  .pdp__sf-lab { font-family:var(--font-body--family); font-size:.8rem; opacity:.7; }
  .pdp__sf-size { font-family:var(--font-h2--family,var(--font-primary--family)); font-size:1.7rem; color:#B85C38; vertical-align:-2px; }
  .pdp__sf-meas { font-family:var(--font-body--family); font-size:.75rem; opacity:.7; margin:.3rem 0 0; }
  .pdp__sf-alert { background:#FBEEE7; border:1px solid #B85C38; border-radius:7px; padding:9px 11px; font-family:var(--font-body--family); font-size:.78rem; line-height:1.5; color:#8a3f1f; }
  .pdp__sf-note { font-family:var(--font-body--family); font-size:.75rem; line-height:1.5; color:#9a6a4a; margin:.5rem 0 0; }
  .pdp__sizetable { width:100%; border-collapse:collapse; font-family:var(--font-body--family); font-size:.82rem; }
  .pdp__sizetable th { font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; opacity:.55; font-weight:500; padding:7px 5px; border-bottom:1px solid var(--color-border,#e4ddce); text-align:center; }
  .pdp__sizetable td { text-align:center; padding:8px 5px; border-bottom:1px solid rgb(var(--color-foreground-rgb) / .08); }
  .pdp__sizetable th:first-child, .pdp__sizetable td:first-child { text-align:left; }
  .pdp__sizetable td:first-child { font-family:var(--font-h2--family,var(--font-primary--family)); font-size:1rem; }
  .pdp__sizetable tr.is-reco td { background:#FBEEE7; }
  .pdp__sizetable tr.is-reco td:first-child { color:#B85C38; }
  .pdp__measure { display:flex; flex-direction:column; gap:15px; margin-top:.4rem; }
  .pdp__measure-item { display:flex; gap:14px; align-items:flex-start; }
  .pdp__measure-ic { flex:0 0 24px; }
  .pdp__measure-ic svg { width:22px; height:22px; display:block; margin-top:2px; }
  .pdp__measure-t { font-family:var(--font-body--family); font-weight:500; font-size:.92rem; margin:2px 0 0; }
  .pdp__measure-d { font-family:var(--font-body--family); font-size:.8rem; opacity:.72; line-height:1.5; margin:3px 0 0; }
  .pdp__guide-extra { margin-top:1.4rem; font-family:var(--font-body--family); font-size:.85rem; line-height:1.6; }

  .pdp__toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); background:var(--color-foreground); color:var(--color-background); padding:11px 20px; border-radius:30px; font-family:var(--font-body--family); font-size:.85rem; z-index:9999; }
  @media (prefers-reduced-motion: reduce){ .pdp__acc-icon::before,.pdp__acc-icon::after { transition:none; } }

  /* --- Avis --- */
  .pdp__rating { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin:0 0 .9rem; font-family:var(--font-body--family); font-size:.78rem; }
  .pdp__stars { color:var(--pdp-accent,#B85C38); letter-spacing:1px; }
  .pdp__rating b { font-weight:600; }
  .pdp__rating-sep { opacity:.4; }
  .pdp__rating-txt { opacity:.65; }

  /* --- Prix --- */
  .pdp__price { display:flex; align-items:baseline; gap:11px; flex-wrap:wrap; }
  .pdp__price-base { font-family:var(--font-body--family); font-size:var(--pdp-price-m,17px); font-variant-numeric:tabular-nums; text-decoration:line-through; opacity:.7; }
  .pdp__price-grp { display:flex; align-items:baseline; gap:6px; }
  /* CORRECTIF 20/09 — le terracotta est un SIGNAL DE REMISE. Il etait pose sur le
     prix paye en permanence, remise ou pas : sur un prix plein il ne signale plus
     rien. Il ne s'applique donc que lorsque le prix barre est reellement affiche.
     Les cartes de collection appliquaient deja cette regle (`.lcard__price--sale`) ;
     la fiche produit ne l'avait jamais rattrapee. */
  /* RETOUCHE 20/09 — prix en police de corps (Jost), demande utilisateur. */
  .pdp__price-now { font-family:var(--font-body--family); font-size:calc(var(--pdp-price-m,18px) * 1.55); line-height:1; font-weight:700; color:inherit; font-variant-numeric:tabular-nums; }
  .pdp__price:has(.pdp__price-base:not([hidden])) .pdp__price-now { color:var(--pdp-accent,#B85C38); }
  .pdp__price-aft { font-family:var(--font-body--family); font-size:.75rem; opacity:.7; }
  .pdp__price-chip { font-family:var(--font-body--family); font-size:.8125rem; font-weight:700; letter-spacing:.07em; background:var(--pdp-accent,#B85C38); color:#fff; padding:3px 7px; }
  .pdp__price-note { margin:.35rem 0 1.1rem; font-family:var(--font-body--family); font-size:.75rem; font-style:italic; opacity:.72; }

  /* --- CTA secondaire --- */
  .pdp__cta2 { width:100%; min-height:46px; margin:.55rem 0 1.5rem; background:#E4DCCF; border:1px solid #E4DCCF; color:#2A2420; padding:13px; cursor:pointer;
    font-family:var(--font-body--family); font-size:.875rem; font-weight:600; display:flex; align-items:center; justify-content:center; gap:9px; transition:background .15s,color .15s; }
  /* RETOUCHE 20/09 — libelle un cran plus grand (.78 -> .875rem = 14px) et tenu
     sur UNE seule ligne : le bouton fait 652 px, la place ne manque pas. */
  .pdp__cta2 > span { white-space: nowrap; }
  @media (max-width: 480px) { .pdp__cta2 { font-size: .8rem; } .pdp__cta2 > span { white-space: normal; } }
  .pdp__cta2-arw { width:15px; height:15px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s; }
  .pdp__cta2:hover .pdp__cta2-arw { transform:translateY(2px); }
  @media (prefers-reduced-motion:reduce){ .pdp__cta2-arw { transition:none } }
  .pdp__cta2:hover { background:#2A2420; border-color:#2A2420; color:#E4DCCF; }
  .pdp__cta2 em { font-style:italic; text-decoration:underline; text-underline-offset:2px; font-weight:500; }
  .pdp__cta2:focus-visible { outline:2px solid var(--pdp-accent,#B85C38); outline-offset:2px; }

  /* --- Réassurance --- */
  .pdp__reas { list-style:none; margin:.9rem 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
  .pdp__reas li { text-align:center; font-family:var(--font-body--family); font-size:.75rem; line-height:1.35; opacity:.85; }
  .pdp__reas svg { width:18px; height:18px; stroke:var(--pdp-accent,#B85C38); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; margin:0 auto 4px; display:block; }

  /* --- Paiement --- */
  .pdp__pay { display:flex; gap:5px; justify-content:center; flex-wrap:wrap; margin-top:.85rem; }
  .pdp__pay svg, .pdp__pay img { height:22px; width:auto; display:block; }

  /* --- L'essentiel --- */
  .pdp__keys { margin-top:1.5rem; }
  .pdp__keys-h { margin:0 0 .7rem; font-family:var(--font-h2--family,var(--font-primary--family)); font-size:1.25rem; }
  .pdp__keys ul { list-style:none; margin:0; padding:0; display:grid; gap:11px; }
  .pdp__keys li { display:flex; gap:10px; font-family:var(--font-body--family); font-size:.82rem; line-height:1.5; }
  .pdp__keys svg { width:16px; height:16px; flex:none; stroke:var(--pdp-accent,#B85C38); fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; margin-top:3px; }

  /* --- Bloc taille --- */
  .pdp__fit { margin-top:1.6rem; background:var(--pdp-fit-bg,#2A2420); color:var(--pdp-fit-fg,#F7F3EC); overflow:hidden; }
  .pdp__fit-im { position:relative; }
  .pdp__fit-img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
  .pdp__fit-im::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 35%,var(--pdp-fit-bg,#2A2420)); }
  .pdp__fit-in { padding:0 20px 22px; margin-top:-44px; position:relative; z-index:2; }
  .pdp__fit-eb { margin:0 0 6px; font-family:var(--font-body--family); font-size:.75rem; letter-spacing:.16em; text-transform:uppercase; opacity:.8; }
  .pdp__fit-h { margin:0 0 9px; font-family:var(--font-h2--family,var(--font-primary--family)); font-size:1.45rem; line-height:1.15; }
  .pdp__fit-t { font-family:var(--font-body--family); font-size:.8rem; line-height:1.55; opacity:.88; margin-bottom:14px; }
  .pdp__fit-t p { margin:0; }
  .pdp__fit-stats { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(247,243,236,.2); }
  .pdp__fit-stats > div { padding:13px 6px 0; text-align:center; border-right:1px solid rgba(247,243,236,.2); }
  .pdp__fit-stats > div:last-child { border-right:0; }
  .pdp__fit-stats b { display:block; font-family:var(--font-h2--family,var(--font-primary--family)); font-size:1.35rem; line-height:1; }
  .pdp__fit-stats span { display:block; font-family:var(--font-body--family); font-size:.75rem; letter-spacing:.04em; text-transform:uppercase; opacity:.75; margin-top:5px; line-height:1.35; }
  @media screen and (min-width:990px){
    .pdp__fit { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
    .pdp__fit-img { aspect-ratio:auto; height:100%; min-height:300px; }
    .pdp__fit-im::after { background:linear-gradient(to right,transparent 55%,var(--pdp-fit-bg,#2A2420)); }
    .pdp__fit-in { margin-top:0; padding:26px 24px; display:flex; flex-direction:column; justify-content:center; }
  }

  /* --- Paliers --- */
  .pdp__tiers { display:flex; gap:6px; margin:.9rem 0 .2rem; }
  .pdp__tiers span { flex:1; text-align:center; padding:7px 2px; border:1px solid var(--color-border,#DCD3C5);
    font-family:var(--font-body--family); font-size:.8125rem; letter-spacing:0; line-height:1.45; opacity:.85; transition:.2s; }
  .pdp__tiers span b { display:block; font-weight:600; }
  .pdp__tiers span.is-on { background:var(--color-foreground); color:var(--color-background); border-color:var(--color-foreground); opacity:1; }

  /* --- Stock : point vert scintillant --- */
  .pdp__stockrow { display:flex; align-items:center; justify-content:flex-start; gap:8px; }
  .pdp__stock-dot { position:relative; flex:none; width:8px; height:8px; border-radius:50%; background:#5E8C57; }
  .pdp__stock-dot::after { content:''; position:absolute; inset:0; border-radius:50%; background:#5E8C57; animation:pdp-pulse 1.9s cubic-bezier(.3,0,.7,1) infinite; }
  .pdp__stock-dot.is-out { background:#B4A79A; }
  .pdp__stock-dot.is-out::after { display:none; }
  @keyframes pdp-pulse { 0%{ transform:scale(1); opacity:.65 } 70%{ opacity:0 } 100%{ transform:scale(3); opacity:0 } }
  @media (prefers-reduced-motion:reduce){ .pdp__stock-dot::after { animation:none } }

  /* --- Libellé taille + lien guide sur une seule ligne --- */
  .pdp__opt-label--row { display:flex; align-items:baseline; justify-content:space-between; gap:12px; width:100%; }
  .pdp__opt-label--row .pdp__guide-link { flex:none; white-space:nowrap; }
/* END_SECTION:lonamy-product-main */

/* START_SECTION:lonamy-proof (INDEX:40) */
.lpr { background: var(--color-background); color: var(--color-foreground);
    border-block: 1px solid rgb(var(--color-foreground-rgb) / .12); }
  .lpr__viewport { display: flex; justify-content: center;
    padding-block: clamp(.9rem, 2vw, 1.25rem); }
  .lpr__row { list-style: none; margin: 0; padding: 0 var(--page-margin, 2rem);
    display: flex; align-items: center; justify-content: center;
    flex-wrap: wrap; gap: .55rem clamp(1.2rem, 2.6vw, 2.4rem); }
  .lpr__row--copie { display: none; }

  .lpr__i { display: flex; align-items: center; gap: .55rem; min-width: 0; position: relative; }
  .lpr__ic { flex: none; width: 19px; height: 19px; }
  .lpr__ic svg { width: 100%; height: 100%; fill: none; stroke: var(--lpr-accent, #B85C38);
    stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
  .lpr__tx { display: flex; align-items: baseline; gap: .4rem; min-width: 0; white-space: nowrap; }
  .lpr__tx b { font-family: var(--font-body--family); font-size: .82rem; font-weight: 600; }
  .lpr__tx em { font-family: var(--font-body--family); font-size: .82rem; /* RETOUCHE 20/09 : meme taille que le libelle */ font-style: normal; opacity: .55; }

  @media screen and (min-width: 750px) {
    /* Filet de séparation entre deux faits, jamais avant le premier. */
    .lpr__i + .lpr__i::before { content: ''; position: absolute;
      left: calc(clamp(1.2rem, 2.6vw, 2.4rem) / -2); top: 50%; transform: translateY(-50%);
      width: 1px; height: 1.05em; background: rgb(var(--color-foreground-rgb) / .2); }
  }

  /* --- Mobile : un seul rang qui défile tout seul, sans intervention --- */
  @media screen and (max-width: 749px) {
    .lpr__viewport { overflow: hidden; justify-content: flex-start; padding-block: .85rem; }
    .lpr__row { flex-wrap: nowrap; flex: 0 0 auto; padding: 0;
      gap: 0; animation: lpr-defile var(--lpr-speed, 34s) linear infinite; }
    .lpr__row--copie { display: flex; }
    .lpr__i { padding-inline: 1.1rem; }
    /* Point de séparation : il appartient à l'élément, donc il suit le défilement. */
    .lpr__i::after { content: '·'; position: absolute; right: -.18rem; top: 50%;
      transform: translateY(-50%); opacity: .3; }
    .lpr__tx b { font-size: .8rem; }
    .lpr__tx em { font-size: .8rem; } /* RETOUCHE 20/09 : meme taille */
    .lpr__viewport:hover .lpr__row { animation-play-state: paused; }
  }
  @keyframes lpr-defile { from { transform: translateX(0); } to { transform: translateX(-100%); } }

  /* Mouvement réduit : le rang s'arrête et redevient parcourable au doigt. */
  @media (prefers-reduced-motion: reduce) {
    .lpr__row { animation: none !important; }
    @media screen and (max-width: 749px) {
      .lpr__viewport { overflow-x: auto; scrollbar-width: none; }
      .lpr__viewport::-webkit-scrollbar { display: none; }
      .lpr__row--copie { display: none; }
    }
  }
/* END_SECTION:lonamy-proof */

/* START_SECTION:lonamy-quote (INDEX:42) */
.lq{position:relative;overflow:hidden;display:block;isolation:isolate}
  .lq__pic,.lq__img{display:block;width:100%;height:100%;object-fit:cover}
  .lq__pic{position:absolute;inset:0}
  .lq__img--ph{position:absolute;inset:0;background:var(--color-background)}
  .lq__veil{position:absolute;inset:0;background:var(--lq-veil-c,#2A2420);opacity:var(--lq-veil,.35);pointer-events:none}
  .lq__in{position:relative;z-index:2;min-height:var(--lq-h-m,380px);display:flex;flex-direction:column;justify-content:center;gap:.6rem;padding:2rem 1.25rem;color:var(--lq-fg,#F7F3EC);text-align:center;align-items:center}
  .lq--al-left .lq__in{text-align:left;align-items:flex-start}
  .lq--al-right .lq__in{text-align:right;align-items:flex-end}
  .lq__eb{margin:0;font-family:var(--font-body--family);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
  .lq__t{margin:0;font-family:var(--font-h2--family,var(--font-primary--family));font-size:var(--lq-t-m,42px);line-height:1.05;letter-spacing:var(--lq-ls,6px);font-weight:400}
  .lq__sub{margin:0;font-family:var(--font-body--family);font-size:var(--lq-sub-m,14px);line-height:1.5;max-width:44ch;opacity:.92}
  .lq__link{color:inherit;text-decoration:none;display:block}
  .lq__link:focus-visible{outline:2px solid currentColor;outline-offset:6px}
  @media screen and (min-width:750px){
    .lq__in{min-height:var(--lq-h-d,520px);padding:3rem 2.5rem}
    .lq__t{font-size:var(--lq-t-d,72px)}
    .lq__sub{font-size:var(--lq-sub-d,15px)}
  }
/* END_SECTION:lonamy-quote */

/* START_SECTION:lonamy-reassurance (INDEX:43) */
.lonamy-reassure { background: var(--color-background); color: var(--color-foreground); }
  .lonamy-reassure__inner {
    max-width: 110rem;
    margin-inline: auto;
    padding-inline: var(--page-margin, 2.5rem);
    padding-block: clamp(2.5rem, 6vw, 5rem);
  }
  .lonamy-reassure__head { text-align: center; margin-bottom: clamp(1.8rem, 4vw, 3rem); }
  .lonamy-reassure__head .lonamy-eyebrow { margin-bottom: 0.8rem; }
  .lonamy-reassure__title {
    font-family: var(--font-h2--family);
    font-weight: var(--font-h2--weight);
    font-style: var(--font-h2--style);
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    line-height: 1.1;
    margin: 0;
  }
  .lonamy-reassure__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: clamp(1.5rem, 3vw, 2.5rem);
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid rgb(var(--color-foreground-rgb) / 0.14);
    padding-top: clamp(1.8rem, 4vw, 3rem);
  }
  @media screen and (min-width: 750px) {
    .lonamy-reassure__grid { grid-template-columns: repeat(var(--lr-cols, 4), 1fr); }
  }
  @media screen and (max-width: 749px) {
    .lonamy-reassure__grid--slider {
      display: flex;
      grid-template-columns: none;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      border-top: none;
      padding-top: 0.5rem;
      margin-inline: calc(-1 * var(--page-margin, 2.5rem));
      padding-inline: var(--page-margin, 2.5rem);
      scrollbar-width: none;
    }
    .lonamy-reassure__grid--slider::-webkit-scrollbar { display: none; }
    .lonamy-reassure__grid--slider .lonamy-reassure__item {
      flex: 0 0 66%;
      scroll-snap-align: center;
    }
  }
  .lonamy-reassure__item { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 0.55rem; }
  .lonamy-reassure__icon img { width: var(--lr-icon, 40px); height: var(--lr-icon, 40px); object-fit: contain; display: block; }
  .lonamy-reassure__icon { margin-bottom: 0.4rem; opacity: 0.9; }
  .lonamy-reassure__item-title {
    font-family: var(--font-body--family);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.78rem;
    margin: 0;
  }
  .lonamy-reassure__item-text {
    font-family: var(--font-body--family);
    font-size: 0.92rem;
    line-height: 1.55;
    opacity: 0.8;
    margin: 0;
    max-width: 22rem;
  }
/* END_SECTION:lonamy-reassurance */

/* START_SECTION:lonamy-reviews (INDEX:44) */
.lr__in{max-width:120rem;margin-inline:auto;padding:var(--lr-pt-m,32px) var(--page-margin,1.25rem) var(--lr-pb-m,32px)}
  .lr__eb{margin:0 0 6px;font-family:var(--font-body--family);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;opacity:.7}
  .lr__h{margin:0 0 8px;font-family:var(--font-h2--family,var(--font-primary--family));font-size:1.55rem;line-height:1.15;font-weight:500}
  .lr__head{display:block;margin-bottom:14px}
  .lr__head-t{min-width:0}
  .lr__sum{margin:0 0 6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:var(--font-body--family);font-size:.82rem}
  .lr__stars{display:inline-flex;gap:2px;vertical-align:middle;line-height:0}
  .lr__sum b{font-weight:600}
  .lr__sumtxt{opacity:.7}
  .lr__sub{margin:0 0 14px;font-family:var(--font-body--family);font-size:.8rem;opacity:.72}

  /* Fiche de note */
  .lr__wid{display:grid;gap:10px;padding:11px 13px;margin:0;background:var(--lr-card-bg,#FFF);
    border:1px solid var(--lr-card-bd,#DCD3C5)}
  .lr__wid[hidden]{display:none}
  .lr__wid-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .lr__wid-note{margin:0;display:flex;align-items:baseline;gap:1px;font-family:var(--font-body--family);line-height:1} /* RETOUCHE 20/09 : meme police que le texte autour */
  .lr__wid-note b{font-size:1.7rem;font-weight:500}
  .lr__wid-note span{font-family:var(--font-body--family);font-size:.78rem;opacity:.55}
  .lr__wid-stars{position:relative;display:inline-block;line-height:0;--lstar-size:16px} /* RETOUCHE 20/09 : px entiers, sinon espacement 17/17/18/17 */
  .lr__wid-stars .lr__wid-on{position:absolute;inset:0;overflow:hidden;white-space:nowrap}
  .lr__wid-stars .lr__wid-off{white-space:nowrap}
  .lr__wid-base{margin:0;font-family:var(--font-body--family);font-size:.72rem;opacity:.62}
  .lr__wid-base b{font-weight:600;opacity:1}
  .lr__wid-bars{list-style:none;margin:0;padding:0;display:grid;gap:4px}
  .lr__wid-bars li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;
    font-family:var(--font-body--family);font-size:.64rem}
  .lr__wid-bars .lr__wid-k{display:inline-flex;align-items:center;gap:3px;opacity:.7;min-width:1.9em}
  .lr__wid-bars .lr__wid-k svg{width:.72em;height:.72em}
  .lr__wid-bars .lr__wid-t{height:5px;background:color-mix(in srgb, var(--color-foreground) 12%, transparent);overflow:hidden}
  /* Barres au vert des étoiles, pas au terracotta : la note et sa répartition parlent
     le même langage visuel que les plateformes d'avis. */
  .lr__wid-bars .lr__wid-t span{display:block;height:100%;background:var(--lstar-on,#00b67a)}
  .lr__wid-bars .lr__wid-p{opacity:.55;font-variant-numeric:tabular-nums;min-width:2.6em;text-align:right}

  /* Bande de photos */
  .lr__strip{margin:0 0 16px}
  .lr__strip[hidden]{display:none}
  .lr__strip-head{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}
  .lr__strip-t{margin:0;font-family:var(--font-body--family);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;opacity:.65}
  .lr__strip-n{font-family:var(--font-body--family);font-size:.75rem;letter-spacing:.06em;opacity:.45}
  .lr__strip-nav{display:none;margin-left:auto;gap:6px}
  .lr__snav{width:26px;height:26px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;
    background:var(--color-background);border:1px solid var(--lr-card-bd,#DCD3C5);color:inherit;transition:.15s}
  .lr__snav:hover{background:var(--color-foreground);color:var(--color-background);border-color:var(--color-foreground)}
  .lr__snav:disabled{opacity:.3;cursor:default}
  .lr__snav:disabled:hover{background:var(--color-background);color:inherit;border-color:var(--lr-card-bd,#DCD3C5)}
  .lr__snav svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .lr__snav:focus-visible{outline:2px solid var(--lr-star,#B85C38);outline-offset:2px}
  /* Pas de `-webkit-overflow-scrolling: touch` : sur iOS cette propriété crée un calque
     composité qui passe AU-DESSUS de l'en-tête fixe et capte le toucher — un appui sur
     l'icône panier ouvrait la photo d'avis en dessous. Le défilement inertiel est de
     toute façon natif depuis iOS 13. */
  .lr__strip-rail{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;
    padding-bottom:2px;
    /* le dégradé de droite dit que ça continue, sans flèche */
    mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 26px),transparent 100%);
    -webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 26px),transparent 100%)}
  .lr__strip-rail::-webkit-scrollbar{display:none}
  .lr__strip-rail:focus-visible{outline:2px solid var(--lr-star,#B85C38);outline-offset:3px}
  .lr__strip-b{flex:none;scroll-snap-align:start;padding:0;border:0;background:none;cursor:pointer;line-height:0;
    width:84px;height:112px;overflow:hidden;position:relative}
  .lr__strip-b img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
  .lr__strip-b:hover img{transform:scale(1.04)}
  .lr__strip-b:focus-visible{outline:2px solid var(--lr-star,#B85C38);outline-offset:2px}
  .lr__strip-b::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}

  /* Filtres : glissement au doigt, pas de flèches */
  .lr__fwrap{position:relative;margin-bottom:2px}
  .lr__filters{display:flex;gap:6px;overflow-x:auto;padding-bottom:10px;scrollbar-width:none;
    mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 28px),transparent 100%);
    -webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 28px),transparent 100%)}
  .lr__filters.is-end{mask-image:none;-webkit-mask-image:none}
  .lr__filters::-webkit-scrollbar{display:none}
  .lr__chip{flex:none;background:none;border:1px solid var(--lr-card-bd,#DCD3C5);padding:6px 12px;cursor:pointer;
    font-family:var(--font-body--family);font-size:.64rem;letter-spacing:.07em;text-transform:uppercase;color:inherit;opacity:.72}
  .lr__chip--ph{display:inline-flex;align-items:center;gap:5px}
  .lr__chip-ico{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
  .lr__chip[aria-pressed="true"]{background:var(--color-foreground);color:var(--color-background);opacity:1;border-color:var(--color-foreground)}
  .lr__chip:focus-visible{outline:2px solid var(--lr-star,#B85C38);outline-offset:2px}
  .lr__hint{margin:0 0 12px;font-family:var(--font-body--family);font-size:.62rem;letter-spacing:.04em;opacity:.55}

  .lr__railwrap{position:relative;display:flex;align-items:center;gap:6px}
  .lr__arrow{flex:none;background:var(--color-background);border:1px solid var(--lr-card-bd,#DCD3C5);width:32px;height:32px;
    display:none;align-items:center;justify-content:center;cursor:pointer;color:inherit;padding:0;transition:.15s}
  .lr__arrow:hover{background:var(--color-foreground);color:var(--color-background);border-color:var(--color-foreground)}
  .lr__arrow:disabled{opacity:.3;cursor:default}
  .lr__arrow:disabled:hover{background:var(--color-background);color:inherit;border-color:var(--lr-card-bd,#DCD3C5)}
  .lr__arrow svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .lr__arrow:focus-visible{outline:2px solid var(--lr-star,#B85C38);outline-offset:2px}
  .lr__dots{display:none;justify-content:center;gap:6px;margin-top:14px}
  .lr__dots button{width:7px;height:7px;border-radius:50%;border:0;padding:0;cursor:pointer;
    background:currentColor;opacity:.22;transition:.2s}
  .lr__dots button[aria-selected="true"]{opacity:1;width:22px;border-radius:4px;background:var(--lr-star,#B85C38)}
  .lr__dots button:focus-visible{outline:2px solid var(--lr-star,#B85C38);outline-offset:3px}
  .lr__rail{flex:1;min-width:0;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
  .lr__rail:focus-visible{outline:2px solid var(--lr-star,#B85C38);outline-offset:3px}
  .lr__rail::-webkit-scrollbar{display:none}
  .lr__pg{flex:0 0 var(--lr-w-m,86%);scroll-snap-align:start;display:grid;gap:10px}
  .lr__c{background:var(--lr-card-bg,#FFF);border:1px solid var(--lr-card-bd,#DCD3C5);padding:14px;display:flex;flex-direction:column}
  .lr__top{display:flex;align-items:center;gap:9px;margin-bottom:7px}
  .lr__av{width:32px;height:32px;border-radius:50%;background:var(--lr-av-bg,#E9D3C5);display:flex;align-items:center;justify-content:center;
    font-family:var(--font-h2--family,var(--font-primary--family));font-size:.9rem;flex:none}
  .lr__who{flex:1;min-width:0}
  .lr__who b{display:block;font-family:var(--font-body--family);font-size:.76rem;font-weight:600}
  .lr__who span{font-family:var(--font-body--family);font-size:.64rem;opacity:.6}
  .lr__c .lr__stars{--lstar-size:13px} /* RETOUCHE 20/09 : px entiers */
  /* Le rail étire les cartes à la hauteur de la plus grande colonne. Plutôt que de
     laisser un vide en bas de carte, le texte occupe l'espace libre et se centre. */
  .lr__c p{margin:0;font-family:var(--font-body--family);font-size:var(--lr-b-m,12.5px);line-height:1.5;
    flex:1 1 auto;display:flex;align-items:center}
  .lr__tag{display:block;margin-top:8px;font-family:var(--font-body--family);font-size:.6rem;letter-spacing:.06em;color:var(--lr-star,#B85C38)}
  .lr__ph{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
  .lr__ph-b{padding:0;border:1px solid rgba(0,0,0,.1);background:none;cursor:pointer;line-height:0;overflow:hidden;transition:border-color .15s ease,transform .15s ease}
  .lr__ph-b:hover{border-color:rgba(0,0,0,.35);transform:translateY(-1px)}
  .lr__ph-b:focus-visible{outline:2px solid var(--lr-star,#B85C38);outline-offset:2px}
  .lr__ph-b img{display:block;width:56px;height:74px;object-fit:cover}

  /* Produit de l'avis */
  .lr__prod{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:10px;text-decoration:none;color:inherit}
  .lr__prod::before{content:'';position:absolute}
  .lr__prod-w{margin-top:10px;padding-top:9px;border-top:1px solid var(--lr-card-bd,#DCD3C5)}
  .lr__prod img{width:34px;height:42px;object-fit:cover;flex:none;background:#F1EEE9}
  .lr__prod-txt{min-width:0;display:flex;flex-direction:column;gap:1px}
  .lr__prod-eb{font-family:var(--font-body--family);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;opacity:.5}
  .lr__prod-t{font-family:var(--font-body--family);font-size:.78rem;line-height:1.25;text-decoration:underline;text-underline-offset:2px;
    overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .lr__prod:hover .lr__prod-t{opacity:.7}

  .lr__lb{border:0;padding:0;background:transparent;max-width:min(92vw,460px);width:100%}
  .lr__lb::backdrop{background:rgba(20,18,16,.72)}
  .lr__lb-media{position:relative;aspect-ratio:3/4;background:#efece7;overflow:hidden}
  .lr__lb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
    transition:filter .22s ease,opacity .22s ease}
  /* Pendant le chargement de la grande image, on montre la vignette déjà en cache,
     légèrement floutée : rien ne clignote et rien ne saute. */
  .lr__lb-img.is-load{filter:blur(8px) saturate(.96)}
  @media (prefers-reduced-motion: reduce){ .lr__lb-img{transition:none} }
  .lr__lb-x{position:absolute;top:8px;right:8px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:22px;line-height:1;cursor:pointer;z-index:2}
  .lr__lb-info{background:var(--color-background,#fff);padding:12px 14px;font-family:var(--font-body--family)}
  .lr__lb-info b{font-size:.78rem}
  .lr__lb-info .lr__lb-d{font-size:.64rem;opacity:.6;margin-left:6px}
  .lr__lb-info p{margin:6px 0 0;font-size:.78rem;line-height:1.5}
  .lr__lb-info a{display:inline-block;margin-top:8px;font-size:.7rem;color:inherit}
  .lr__lb-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:10px;font-family:var(--font-body--family);font-size:.78rem;color:#fff}
  .lr__lb-nav button{width:34px;height:34px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:transparent;color:#fff;font-size:18px;line-height:1;cursor:pointer}
  .lr__lb-nav button:hover{background:rgba(255,255,255,.14)}
  /* Contour de focus : sur écran tactile, Safari applique :focus-visible dès l'appui sur
     un conteneur focalisable — on voyait un cadre terracotta autour du carrousel. On le
     retire là où il n'y a pas de souris, et on le garde au clavier. */
  @media (hover:none){
    .lr__rail:focus,.lr__rail:focus-visible,
    .lr__strip-rail:focus,.lr__strip-rail:focus-visible{outline:none}
  }
  @media (prefers-reduced-motion: reduce){ .lr__ph-b,.lr__strip-b img{transition:none} }
  .lr__count{margin:10px 0 0;text-align:center;font-family:var(--font-body--family);font-size:.64rem;letter-spacing:.08em;opacity:.6}
  @media screen and (min-width:750px){
    .lr__in{padding:var(--lr-pt-d,56px) var(--page-margin,2.5rem) var(--lr-pb-d,56px)}
    .lr__h{font-size:2rem}
    .lr__pg{flex:0 0 var(--lr-w-d,32%)}
    .lr__arrow{display:flex}
    .lr__dots{display:flex}
    .lr__strip-nav{display:flex}
    .lr__c p{font-size:var(--lr-b-d,13.5px)}
    /* Tout est aligné à gauche : titre, phrase d'accroche juste en dessous, puis la
       fiche de note, bornée en largeur pour ne pas s'étaler sur toute la page. */
    .lr__head{display:block;margin-bottom:18px}
    .lr__head-t .lr__h{margin:0 0 6px}
    .lr__head-t .lr__sub{margin:0 0 14px;max-width:52ch}
    .lr__head-t .lr__eb{margin:0 0 6px}
    .lr__wid{width:min(100%,460px);margin:0;grid-template-columns:auto 1fr;align-items:center;gap:18px;padding:12px 16px}
    .lr__wid-left{flex-direction:column;align-items:flex-start;gap:9px} /* RETOUCHE 20/09 : 4px collait la note aux etoiles */
    .lr__wid-note b{font-size:1.9rem}
    .lr__strip-b{width:104px;height:139px}
    .lr__prod-t{font-size:.74rem}
  }
/* END_SECTION:lonamy-reviews */

/* START_SECTION:lonamy-size-page (INDEX:45) */
/* ══════════════════════════════════════════════════════════════════════════
     GUIDE DES TAILLES — quizz, résultat, tableau
     Même grammaire visuelle que « Trouver mon style » : les deux pages posent
     des questions, elles doivent se ressembler.
     ══════════════════════════════════════════════════════════════════════════ */
  .lsp { background: var(--color-background); color: var(--color-foreground); }
  .lsp__wrap { max-width: 68rem; margin-inline: auto;
    padding: clamp(1.8rem, 5vw, 3.4rem) var(--page-margin, 2rem) clamp(3rem, 7vw, 5rem); }

  .lsp__eb { margin: 0 0 .55rem; font-family: var(--font-body--family); font-size: .66rem;
    font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--lsp-acc, #b85c38); }
  .lsp__h { margin: 0; font-family: var(--font-h1--family, var(--font-primary--family)); font-weight: 300;
    line-height: 1.06; font-size: clamp(2rem, 6vw, 3.1rem); text-wrap: balance; }
  .lsp__intro { margin-top: .8rem; max-width: 52ch; font-family: var(--font-body--family);
    font-size: clamp(.9rem, 2.3vw, 1rem); line-height: 1.6; opacity: .78; }
  .lsp__intro p { margin: 0; }

  .lsp__prog { display: flex; flex-direction: column; gap: .45rem; margin: clamp(1.6rem, 4vw, 2.4rem) 0 1.4rem; }
  .lsp__prog-t { font-family: var(--font-body--family); font-size: .78rem; font-weight: 600;
    letter-spacing: .1em; text-transform: uppercase; opacity: .55; }
  .lsp__prog-bar { display: block; height: 3px; border-radius: 3px;
    background: rgb(var(--color-foreground-rgb, 42 36 32) / .12); overflow: hidden; }
  .lsp__prog-bar i { display: block; height: 100%; width: 0;
    background: var(--lsp-acc, #b85c38); transition: width .34s cubic-bezier(.32,.72,0,1); }

  .lsp__form { margin: 0; }
  .lsp__step { border: 0; padding: 0; margin: 0; min-inline-size: 0; }
  .lsp__step[hidden] { display: none; }
  .lsp__q { padding: 0; margin: 0 0 .35rem;
    font-family: var(--font-h2--family, var(--font-primary--family)); font-weight: 400;
    font-size: clamp(1.35rem, 4.4vw, 1.9rem); line-height: 1.2; text-wrap: balance; }
  /* Même correctif que « Trouver mon style » : la question reçoit le focus pour
     qu'un lecteur d'écran l'annonce au changement d'étape, mais elle ne
     s'actionne pas — le cadre que Safari dessine autour d'un `tabindex="-1"`
     focalisé est le rectangle que Malco voit sur le titre à l'arrivée. */
  .lsp__q:focus, .lsp__q:focus-visible { outline: none; }
  .lsp__sub { margin: 0 0 1rem; max-width: 58ch; font-family: var(--font-body--family);
    font-size: .84rem; line-height: 1.5; opacity: .7; }

  .lsp__opts { display: flex; flex-direction: column; gap: 8px; margin-top: 1rem; }
  .lsp__opts--sizes { flex-direction: row; flex-wrap: wrap; gap: 9px; }
  .lsp__opts--marques { flex-direction: row; flex-wrap: wrap; gap: 8px; }
  .lsp__opts--morpho { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }

  .lsp__opt { display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
    width: 100%; min-height: 56px; padding: 13px 15px; text-align: left; cursor: pointer;
    color: var(--color-foreground, #2a2420); background: var(--color-background);
    border: 1px solid var(--color-border, #dcd3c5); border-radius: 6px;
    font-family: var(--font-body--family);
    transition: border-color .16s ease, background-color .16s ease; }
  .lsp__opt b { font-weight: 600; font-size: .94rem; line-height: 1.3; }
  .lsp__opt em { font-style: normal; font-size: .78rem; line-height: 1.35; opacity: .62; }
  .lsp__opt:hover { border-color: rgb(var(--color-foreground-rgb, 42 36 32) / .45); }
  .lsp__opt:focus-visible { outline: 2px solid var(--lsp-acc, #b85c38); outline-offset: 2px; }
  .lsp__opt[aria-pressed='true'] { border-color: var(--lsp-acc, #b85c38);
    box-shadow: inset 0 0 0 1px var(--lsp-acc, #b85c38);
    background: var(--lsp-acc-soft, rgb(184 92 56 / .07)); }

  .lsp__opt--size { flex: 0 0 auto; width: auto; min-width: 58px; min-height: 48px;
    align-items: center; justify-content: center; padding: 12px 14px; }
  .lsp__opt--size b { font-variant-numeric: tabular-nums; }
  /* Les marques : le NOM en typographie, jamais de logo. Même reconnaissance,
     aucun risque de marque déposée. */
  .lsp__opt--marque { flex: 0 0 auto; width: auto; min-height: 44px;
    align-items: center; justify-content: center; padding: 10px 14px;
    font-size: .84rem; font-weight: 500; border-radius: 999px; }

  .lsp__opt--morpho { align-items: center; justify-content: flex-start; gap: 6px;
    padding: 14px 10px 12px; text-align: center; }
  .lsp__fig { width: 100%; max-width: 88px; height: auto; display: block; margin-inline: auto;
    fill: none; stroke: var(--color-foreground, #2a2420); stroke-width: 2.6;
    stroke-linejoin: round; stroke-linecap: round; }
  .lsp__opt--morpho[aria-pressed='true'] .lsp__fig { stroke: var(--lsp-acc, #b85c38); }
  .lsp__morpho-t { font-size: .84rem; font-weight: 600; line-height: 1.25; }
  .lsp__morpho-x { font-size: .72rem; line-height: 1.35; opacity: .62; text-wrap: balance; }

  /* Curseurs taille et poids. `-webkit-appearance: none` est indispensable pour
     donner de la hauteur à la piste, mais il désactive `accent-color` : piste
     et poignée doivent donc être dessinées explicitement, sinon le curseur
     devient invisible. */
  .lsp__fields { display: grid; gap: 1.1rem; margin-top: 1rem; }
  .lsp__field { display: flex; flex-direction: column; gap: .4rem; }
  .lsp__lab { font-family: var(--font-body--family); font-size: .84rem; display: flex;
    align-items: baseline; gap: .5rem; }
  .lsp__lab b { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--lsp-acc, #b85c38); }
  .lsp input[type='range'] { -webkit-appearance: none; appearance: none; width: 100%;
    height: var(--minimum-touch-target, 44px); margin: 0; background: transparent; cursor: pointer; }
  .lsp input[type='range']::-webkit-slider-runnable-track { height: 4px; border-radius: 2px;
    background: rgb(var(--color-foreground-rgb, 42 36 32) / .18); }
  .lsp input[type='range']::-moz-range-track { height: 4px; border-radius: 2px;
    background: rgb(var(--color-foreground-rgb, 42 36 32) / .18); }
  /* La marge négative recentre la poignée sur une piste de 4 px : -(26-4)/2. */
  .lsp input[type='range']::-webkit-slider-thumb { -webkit-appearance: none; appearance: none;
    width: 26px; height: 26px; margin-block-start: -11px; border: 0; border-radius: 50%;
    background: var(--lsp-acc, #b85c38); }
  .lsp input[type='range']::-moz-range-thumb { width: 26px; height: 26px; border: 0;
    border-radius: 50%; background: var(--lsp-acc, #b85c38); }
  .lsp input[type='range']:focus-visible { outline: 2px solid var(--lsp-acc, #b85c38); outline-offset: 4px; }

  .lsp__skip { margin-top: 1rem; min-height: 44px; padding: 0 .2rem; background: none; border: 0;
    cursor: pointer; color: var(--color-foreground, #2a2420);
    font-family: var(--font-body--family); font-size: .8rem; opacity: .68;
    text-decoration: underline; text-underline-offset: .2em; }
  .lsp__skip:hover { opacity: 1; }

  .lsp__nav { display: flex; align-items: center; justify-content: space-between; gap: 12px;
    margin-top: 1.6rem; }
  .lsp__back, .lsp__next { display: inline-flex; align-items: center; gap: .5rem;
    min-height: 48px; padding: 0 1.1rem; cursor: pointer; border-radius: 6px;
    font-family: var(--font-body--family); font-size: .82rem; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase; }
  .lsp__back { border: 1px solid var(--color-border, #dcd3c5); background: none;
    color: var(--color-foreground, #2a2420); }
  .lsp__back[hidden] { display: none; }
  .lsp__next { margin-inline-start: auto; border: 0; background: var(--lsp-acc, #b85c38); color: #fff; }
  .lsp__next:disabled { opacity: .4; cursor: not-allowed; }
  .lsp__next:not(:disabled):hover { background: #a4502f; }
  .lsp__back svg, .lsp__next svg, .lsp__redo svg { width: 15px; height: 15px; fill: none;
    stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

  /* ══ LE RÉSULTAT ══════════════════════════════════════════════════════ */
  .lsp__res[hidden], .lsp__quiz[hidden] { display: none; }
  .lsp__res-card { margin: clamp(1.4rem, 4vw, 2.2rem) 0 0; padding: clamp(1.4rem, 4vw, 2rem);
    border: 1px solid var(--color-border, #dcd3c5); border-radius: 8px;
    background: var(--color-surface-alt, #f3efe9); }
  .lsp__res-size { margin: 0; font-family: var(--font-h1--family, var(--font-primary--family));
    font-weight: 300; font-size: clamp(3rem, 12vw, 4.6rem); line-height: 1;
    color: var(--lsp-acc, #b85c38); font-variant-numeric: tabular-nums; }
  .lsp__res-x { margin: .8rem 0 0; max-width: 58ch; font-family: var(--font-body--family);
    font-size: .92rem; line-height: 1.6; }
  .lsp__res-mes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;
    margin: 1.2rem 0 0; padding: 1rem 0 0;
    border-top: 1px solid rgb(var(--color-foreground-rgb, 42 36 32) / .12); }
  .lsp__res-mes > div { min-width: 0; }
  .lsp__res-mes dt { font-family: var(--font-body--family); font-size: .68rem; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase; opacity: .55; }
  .lsp__res-mes dd { margin: 2px 0 0; font-family: var(--font-body--family); font-size: .9rem;
    font-variant-numeric: tabular-nums; }
  .lsp__res-note { margin: 1rem 0 0; font-family: var(--font-body--family); font-size: .78rem;
    line-height: 1.5; opacity: .68; }
  .lsp__res-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 1.3rem; }
  .lsp__cta { display: inline-flex; align-items: center; justify-content: center;
    min-height: 50px; padding: 0 1.4rem; background: var(--lsp-acc, #b85c38); color: #fff;
    text-decoration: none; font-family: var(--font-body--family); font-size: .84rem;
    font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
  .lsp__cta:hover { background: #a4502f; color: #fff; }
  .lsp__redo { display: inline-flex; align-items: center; gap: .5rem; min-height: 50px;
    padding: 0 1rem; cursor: pointer; border-radius: 6px; background: none;
    border: 1px solid var(--color-border, #dcd3c5); color: var(--color-foreground, #2a2420);
    font-family: var(--font-body--family); font-size: .78rem; font-weight: 600; }

  .lsp__note { margin: clamp(2rem, 5vw, 2.8rem) 0 0; max-width: 62ch;
    font-family: var(--font-body--family); font-size: .78rem; line-height: 1.55; opacity: .6; }

  @media screen and (min-width: 750px) {
    .lsp__opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
    .lsp__opts--sizes, .lsp__opts--marques { display: flex; }
    .lsp__opts--morpho { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .lsp__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
    .lsp__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; }
    .lsp__res-card { display: grid; grid-template-columns: auto 1fr; column-gap: 2.4rem;
      align-items: start; }
    .lsp__res-card > .lsp__eb { grid-column: 1; }
    .lsp__res-size { grid-column: 1; grid-row: 2; }
    .lsp__res-x { grid-column: 2; grid-row: 1 / 3; margin-top: 0; }
    .lsp__res-mes, .lsp__res-note, .lsp__res-acts { grid-column: 1 / -1; }
  }

  @media (prefers-reduced-motion: reduce) {
    .lsp__prog-bar i, .lsp__opt { transition: none; }
  }
/* END_SECTION:lonamy-size-page */

/* START_SECTION:lonamy-sizefinder (INDEX:46) */
.lmt { position: relative; isolation: isolate; color: #fff; padding-block: var(--lmt-pt, 88px) var(--lmt-pb, 88px); }
  .lmt__bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; background: #1b1714; }
  .lmt__img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .lmt__wash { position: absolute; inset: 0;
    background: linear-gradient(to right, rgb(16 13 11 / var(--lmt-o1)) 0%, rgb(16 13 11 / var(--lmt-o2)) 55%, rgb(16 13 11 / var(--lmt-o2)) 100%); }

  .lmt__wrap { position: relative; z-index: 1; max-width: 118rem; margin-inline: auto;
    padding-inline: var(--page-margin, 2rem);
    display: grid; grid-template-columns: 1fr minmax(0, 27rem); gap: 4rem; align-items: center; }

  .lmt__tx { max-width: 34rem; }
  .lmt__eyebrow { font-family: var(--font-body--family); font-size: .7rem; text-transform: uppercase; letter-spacing: .2em; margin: 0 0 .8rem; opacity: .8; }
  .lmt__h { font-family: var(--font-h2--family); font-weight: 400; font-size: clamp(1.9rem, 3.6vw, 3rem); line-height: 1.06; margin: 0; }
  .lmt__p { font-family: var(--font-body--family); font-size: 1rem; line-height: 1.6; opacity: .85; margin-top: 1rem; }
  .lmt__p p { margin: 0; }
  .lmt__p p + p { margin-top: .6rem; }
  .lmt__points { list-style: none; margin: 1.7rem 0 0; padding: 0; display: flex; flex-direction: column; gap: .75rem; }
  .lmt__points li { display: flex; flex-direction: column; gap: .1rem; padding-left: 1.1rem; position: relative; }
  .lmt__points li::before { content: ''; position: absolute; left: 0; top: .52em; width: 5px; height: 5px; background: var(--lmt-acc, #B85C38); }
  .lmt__points strong { font-family: var(--font-body--family); font-size: .92rem; font-weight: 600; }
  .lmt__points span { font-family: var(--font-body--family); font-size: .84rem; opacity: .72; }

  /* Carte de l'outil : surface opaque, donc lisible quelle que soit la photo. */
  .lmt__card { background: var(--color-background, #fafafa); color: var(--color-foreground, #2a2420); padding: 1.6rem; }
  .lmt__card-t { font-family: var(--font-body--family); font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; margin: 0 0 1.1rem; }

  .lmt__fields { display: flex; flex-direction: column; gap: .8rem; }
  .lmt__f { display: flex; flex-direction: column; gap: .3rem; }
  .lmt__f > span:first-child { font-family: var(--font-body--family); font-size: .74rem; opacity: .65; }
  .lmt__in { display: flex; align-items: center; border: 1px solid rgb(var(--color-foreground-rgb) / .22); }
  .lmt__in input, .lmt__in select { flex: 1 1 auto; min-width: 0; border: 0; background: none; color: inherit;
    font-family: var(--font-body--family); font-size: .95rem; padding: .72rem .8rem; appearance: none; }
  .lmt__in input:focus, .lmt__in select:focus { outline: 2px solid var(--lmt-acc, #B85C38); outline-offset: -2px; }
  .lmt__in i { font-style: normal; font-family: var(--font-body--family); font-size: .82rem; opacity: .5; padding-right: .8rem; }
  .lmt__in select { padding-right: 2rem; background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 16px) 55%, calc(100% - 11px) 55%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }

  .lmt__out { margin-top: 1.2rem; padding: 1rem 1.1rem; background: rgb(var(--color-foreground-rgb) / .05); }
  .lmt__res { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
  .lmt__res-lab { font-family: var(--font-body--family); font-size: .76rem; opacity: .6; }
  .lmt__res-size { font-family: var(--font-h2--family); font-size: 2.3rem; line-height: 1; }
  .lmt__res-meas { font-family: var(--font-body--family); font-size: .78rem; opacity: .7; margin: .55rem 0 0; line-height: 1.4; }
  .lmt__note { font-family: var(--font-body--family); font-size: .78rem; margin: .7rem 0 0; padding-left: .7rem;
    border-left: 2px solid var(--lmt-acc, #B85C38); opacity: .8; line-height: 1.4; }
  .lmt__note[hidden] { display: none; }

  .lmt__det { margin-top: 1rem; border-top: 1px solid rgb(var(--color-foreground-rgb) / .12); padding-top: .8rem; }
  .lmt__det summary { cursor: pointer; font-family: var(--font-body--family); font-size: .78rem; font-weight: 600; list-style: none; display: flex; justify-content: space-between; align-items: center; }
  .lmt__det summary::-webkit-details-marker { display: none; }
  .lmt__det summary::after { content: '+'; font-size: 1.1rem; line-height: 1; opacity: .5; }
  .lmt__det[open] summary::after { content: '-'; }
  .lmt__tblwrap { overflow-x: auto; margin-top: .8rem; }
  .lmt__tbl { width: 100%; border-collapse: collapse; font-family: var(--font-body--family); font-size: .74rem; }
  .lmt__tbl th, .lmt__tbl td { padding: .42rem .4rem; text-align: left; white-space: nowrap; }
  .lmt__tbl thead th { font-weight: 600; opacity: .55; font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; border-bottom: 1px solid rgb(var(--color-foreground-rgb) / .15); }
  .lmt__tbl tbody th { font-weight: 700; }
  .lmt__tbl tbody tr { border-bottom: 1px solid rgb(var(--color-foreground-rgb) / .07); }
  .lmt__tbl tbody tr.is-reco { background: var(--lmt-acc, #B85C38); color: #fff; }
  .lmt__tbl-fine { font-family: var(--font-body--family); font-size: .68rem; opacity: .5; margin: .5rem 0 0; }

  .lmt__go { display: block; margin-top: 1.1rem; text-align: center; text-decoration: none;
    background: var(--color-foreground); color: var(--color-background);
    font-family: var(--font-body--family); font-size: .76rem; font-weight: 600; text-transform: uppercase; letter-spacing: .12em;
    padding: .95rem 1.2rem; transition: background .2s ease; }
  .lmt__go:hover { background: var(--lmt-acc, #B85C38); color: #fff; }

  @media screen and (max-width: 989px) {
    .lmt__wrap { grid-template-columns: 1fr; gap: 2.2rem; }
    .lmt__tx { max-width: 100%; }
  }
  @media screen and (max-width: 749px) {
    .lmt { padding-block: 3.4rem; }
    .lmt__wrap { padding-inline: 1.25rem; }
    .lmt__wash { background: linear-gradient(to bottom, rgb(16 13 11 / .82) 0%, rgb(16 13 11 / .9) 100%); }
    .lmt__card { padding: 1.25rem; }
  }
/* END_SECTION:lonamy-sizefinder */

/* START_SECTION:lonamy-stage (INDEX:47) */
.lst { position: relative; isolation: isolate; color: #fff; }
  .lst__media { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
  .lst__img, .lst__vid { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
  .lst__img--m, .lst__vid--m { display: none; }
  /* La vidéo se pose au-dessus de son affiche, mais seulement une fois lancée :
     si elle ne démarre jamais, c'est l'image qui reste visible, pas un cadre noir. */
  .lst__vid { z-index: 1; opacity: 0; transition: opacity .6s ease; }
  .lst__vid.is-on { opacity: 1; }
  @media (prefers-reduced-motion: reduce) { .lst__vid { display: none !important; } }
  /* Données réduites : même traitement que mouvement réduit. Le script refuse
     déjà de charger le flux, mais la règle CSS met l'élément hors du calcul
     d'intersection, ce qui est une deuxième barrière indépendante du JS. */
  @media (prefers-reduced-data: reduce) { .lst__vid { display: none !important; } }

  /* Dégradé directionnel. Le premier palier tient jusqu'à 28 % : sans lui la
     densité chutait déjà à 0,61 au bord droit du texte, et les hautes lumières
     du trottoir passaient sous 3:1. */
  .lst__wash { position: absolute; inset: 0; z-index: 2;
    background: linear-gradient(to right,
      rgb(12 10 8 / var(--lst-o1)) 0%,
      rgb(12 10 8 / var(--lst-o1)) 28%,
      rgb(12 10 8 / var(--lst-o2)) 55%,
      rgb(12 10 8 / var(--lst-o3)) 78%,
      transparent 100%); }
  .lst--center .lst__wash { background: linear-gradient(to top,
      rgb(12 10 8 / var(--lst-o1)) 0%,
      rgb(12 10 8 / var(--lst-o2)) 45%,
      rgb(12 10 8 / var(--lst-o3)) 78%,
      transparent 100%); }

  .lst__inner { position: relative; z-index: 1; min-height: var(--lst-h, 88svh);
    max-width: 128rem; margin-inline: auto;
    padding: 8rem var(--page-margin, 2rem) 4rem;
    display: flex; }
  .lst--vcenter .lst__inner { align-items: center; }
  .lst--vbottom .lst__inner { align-items: flex-end; }
  .lst--left .lst__inner { justify-content: flex-start; }
  .lst--center .lst__inner { justify-content: center; text-align: center; }

  .lst__box { max-width: var(--lst-w, 36rem); display: flex; flex-direction: column; align-items: flex-start; }
  .lst--center .lst__box { align-items: center; }

  .lst__pill { display: inline-block; font-family: var(--font-body--family); font-size: .68rem;
    text-transform: uppercase; letter-spacing: .14em; font-weight: 600;
    background: var(--lst-acc, #B85C38); color: #fff; padding: .42rem .7rem; margin-bottom: 1.1rem; }
  .lst__eyebrow { font-family: var(--font-body--family); font-size: .72rem; text-transform: uppercase;
    letter-spacing: .2em; opacity: .78; margin: 0 0 .9rem; }
  .lst__h { font-family: var(--font-h1--family); font-weight: 400;
    font-size: clamp(2.4rem, 4.6vw, 4.2rem); line-height: 1.03; letter-spacing: -.01em; margin: 0; }
  .lst__tx { font-family: var(--font-body--family); font-size: 1.02rem; line-height: 1.55; opacity: .9; margin-top: 1.1rem; }
  .lst__tx p { margin: 0; }
  .lst__tx p + p { margin-top: .5rem; }

  .lst__cta { display: flex; flex-wrap: wrap; gap: .8rem 1.4rem; align-items: center; margin-top: 1.9rem; }
  .lst__b { font-family: var(--font-body--family); font-size: .78rem; text-transform: uppercase;
    letter-spacing: .13em; text-decoration: none; padding: 1rem 1.9rem; display: inline-block;
    transition: background .22s ease, color .22s ease, opacity .22s ease; }
  .lst__b--1 { background: var(--lst-btn-bg, #B85C38); color: var(--lst-btn-tx, #fff); font-weight: 600;
    display: inline-flex; align-items: center; justify-content: center; gap: .7rem; }
  .lst__b--1:hover { background: #fff; color: #14110e; }
  /* La flèche avance un peu au survol, sans décaler le libellé. */
  .lst__b-arw { flex: 0 0 auto; transition: transform .22s cubic-bezier(.3,0,.2,1); }
  .lst__b--1:hover .lst__b-arw { transform: translateX(4px); }
  @media (prefers-reduced-motion: reduce) { .lst__b-arw { transition: none; } }

  /* Même composition que la ligne d'avis de la fiche produit. Les étoiles sont
     éclaircies : le terracotta de marque ne passe pas sur un fond sombre. */
  .lst__rating { display: flex; align-items: center; gap: 7px; flex-wrap: wrap;
    margin: 1.4rem 0 0; font-family: var(--font-body--family); font-size: .95rem; } /* RETOUCHE 20/09 : avis trop petits */
  .lst__stars { color: #E8B48A; letter-spacing: 1px; }
  .lst__rating b { font-weight: 600; }
  .lst__rating-sep { opacity: .45; }
  .lst__rating-txt { opacity: .75; }
  .lst__b--2 { color: #fff; padding-inline: 0; border-bottom: 1px solid rgb(255 255 255 / .45); padding-block: .35rem; }
  .lst__b--2:hover { border-bottom-color: #fff; }

  .lst__facts { list-style: none; margin: 2.2rem 0 0; padding: 0;
    display: flex; flex-wrap: wrap; gap: .5rem 1.6rem; }
  .lst--center .lst__facts { justify-content: center; }
  .lst__facts li { display: flex; align-items: center; gap: .42rem;
    font-family: var(--font-body--family); font-size: .78rem; opacity: .88; }
  .lst__facts svg { flex: 0 0 auto; opacity: .8; }

  @media screen and (max-width: 749px) {
    .lst__img--d, .lst__vid--d { display: none; }
    .lst__img--m { display: block; }
    .lst__vid--m { display: block; }
    /* Retrait identique des deux côtés : le bouton d'appel occupe toute la
       largeur du bloc, un retrait de 3 rem à gauche contre 1,5 rem à droite le
       décalait visiblement de l'axe de l'écran. 2,25 rem passe au-dessus des
       onglets latéraux collants des applications (formulaire de rétractation,
       avis…), larges d'une trentaine de pixels, sans casser la symétrie, et la
       colonne de texte garde exactement la même largeur qu'avant. */
    .lst__inner { min-height: var(--lst-hm, 92svh); padding: 6.5rem 2.25rem 3.4rem; align-items: flex-end; }
    .lst--center .lst__inner, .lst--left .lst__inner { justify-content: flex-start; text-align: left; }
    .lst__box { max-width: 100%; align-items: flex-start; }
    /* Sur mobile le texte occupe la moitié basse de la photo : le dégradé y est
       nettement plus dense, sinon il passe sur le visage et les lumières. */
    .lst__wash, .lst--center .lst__wash { background: linear-gradient(to top,
        rgb(12 10 8 / .9) 0%,
        rgb(12 10 8 / .84) 42%,
        rgb(12 10 8 / .5) 70%,
        rgb(12 10 8 / .3) 100%); }
    .lst__h { font-size: clamp(2.4rem, 10.5vw, 3.4rem); line-height: 1.05; }
    .lst__tx { font-size: 1.02rem; margin-top: 1.1rem; }
    .lst__cta { margin-top: 2rem; gap: .9rem; width: 100%; flex-direction: column; align-items: stretch; }
    .lst__b--1 { text-align: center; padding-block: 1.05rem; }
    .lst__b--2 { text-align: center; align-self: center; }
    .lst__rating { margin-top: 1.2rem; font-size: .9rem; justify-content: flex-start; }
    .lst__facts { margin-top: 1.6rem; gap: .4rem 1.1rem; }
    .lst__facts li { font-size: .73rem; }
  }
/* END_SECTION:lonamy-stage */

/* START_SECTION:lonamy-style-finder (INDEX:48) */
/* ══════════════════════════════════════════════════════════════════════════
     TROUVER MON STYLE
     Mobile d'abord : le questionnaire est une colonne unique, le composeur
     empile ses pièces, et tout ce qui se touche fait au moins 44 px.
     ══════════════════════════════════════════════════════════════════════════ */
  .lsf { background: var(--color-background); color: var(--color-foreground); }
  .lsf__wrap { max-width: 72rem; margin-inline: auto;
    padding: clamp(1.8rem, 5vw, 3.4rem) var(--page-margin, 2rem) clamp(3rem, 7vw, 5rem); }

  /* Au résultat, l'en-tête de page s'efface : la cliente a déjà lu « Trouvons
     votre tenue » et l'explication du parcours, les relire au-dessus de sa tenue
     ne lui apprend rien et repousse le composeur vers le bas. Masquée, pas
     supprimée : « Modifier mes réponses » la ramène telle quelle. */
  .lsf.is-res .lsf__head { display: none; }

  .lsf__eb { margin: 0 0 .55rem; font-family: var(--font-body--family); font-size: .66rem;
    font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--lsf-acc, #b85c38); }
  .lsf__h { margin: 0; font-family: var(--font-h1--family, var(--font-primary--family)); font-weight: 300;
    line-height: 1.06; font-size: clamp(2rem, 6vw, 3.1rem); text-wrap: balance; }
  .lsf__intro { margin-top: .8rem; max-width: 52ch; font-family: var(--font-body--family);
    font-size: clamp(.9rem, 2.3vw, 1rem); line-height: 1.6; opacity: .78; }
  .lsf__intro p { margin: 0; }

  /* ── Avancement ──────────────────────────────────────────────────────── */
  .lsf__prog { display: flex; flex-direction: column; gap: .45rem; margin: clamp(1.6rem, 4vw, 2.4rem) 0 1.4rem; }
  .lsf__prog-t { font-family: var(--font-body--family); font-size: .78rem; font-weight: 600;
    letter-spacing: .1em; text-transform: uppercase; opacity: .55; }
  .lsf__prog-bar { display: block; height: 3px; border-radius: 3px;
    background: rgb(var(--color-foreground-rgb, 42 36 32) / .12); overflow: hidden; }
  .lsf__prog-bar i { display: block; height: 100%; width: 0;
    background: var(--lsf-acc, #b85c38); transition: width .34s cubic-bezier(.32,.72,0,1); }

  /* ── Une étape ───────────────────────────────────────────────────────── */
  .lsf__form { margin: 0; }
  .lsf__step { border: 0; padding: 0; margin: 0; min-inline-size: 0; }
  .lsf__step[hidden] { display: none; }
  .lsf__q { padding: 0; margin: 0 0 .35rem;
    font-family: var(--font-h2--family, var(--font-primary--family)); font-weight: 400;
    font-size: clamp(1.35rem, 4.4vw, 1.9rem); line-height: 1.2; text-wrap: balance; }
  /* La question reçoit le focus au changement d'étape pour qu'un lecteur d'écran
     l'annonce — sans ça il reste sur « Suivant » et la cliente n'entend jamais la
     question suivante. Mais elle n'est PAS un élément qu'on actionne : le cadre
     que Safari dessine autour d'un `tabindex="-1"` focalisé est du bruit, et
     c'est le rectangle que Malco voit apparaître sur le titre à l'arrivée. On
     retire le cadre, on garde l'annonce. */
  .lsf__q:focus, .lsf__q:focus-visible { outline: none; }
  .lsf__sub { margin: 0 0 1rem; font-family: var(--font-body--family); font-size: .84rem;
    line-height: 1.5; opacity: .7; }
  .lsf__lien { color: var(--lsf-acc, #b85c38); text-decoration: underline; text-underline-offset: .18em; }

  .lsf__opts { display: flex; flex-direction: column; gap: 8px; margin-top: 1.1rem; }
  .lsf__opts--grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lsf__opts--sizes { flex-direction: row; flex-wrap: wrap; gap: 9px; }

  .lsf__opt { display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
    width: 100%; min-height: 56px; padding: 13px 15px; text-align: left; cursor: pointer;
    color: var(--color-foreground, #2a2420); background: var(--color-background);
    border: 1px solid var(--color-border, #dcd3c5); border-radius: 6px;
    font-family: var(--font-body--family);
    transition: border-color .16s ease, background-color .16s ease; }
  .lsf__opt b { font-weight: 600; font-size: .94rem; line-height: 1.3; }
  .lsf__opt em { font-style: normal; font-size: .78rem; line-height: 1.35; opacity: .62; }
  .lsf__opt:hover { border-color: rgb(var(--color-foreground-rgb, 42 36 32) / .45); }
  .lsf__opt:focus-visible { outline: 2px solid var(--lsf-acc, #b85c38); outline-offset: 2px; }
  /* L'état retenu se lit au trait ET au fond : la couleur seule ne suffit pas
     à quelqu'un qui ne la distingue pas. */
  .lsf__opt[aria-pressed='true'] { border-color: var(--lsf-acc, #b85c38);
    box-shadow: inset 0 0 0 1px var(--lsf-acc, #b85c38);
    /* Teinte douce calculée en Liquid : une couleur relative CSS serait
       ignorée sans bruit par un navigateur qui ne la connaît pas, et l'état
       retenu perdrait son fond. */
    background: var(--lsf-acc-soft, rgb(184 92 56 / .07)); }

  .lsf__opt--sw { flex-direction: row; align-items: center; gap: 10px; min-height: 52px; }
  .lsf__dot { flex: none; width: 22px; height: 22px; border-radius: 50%; }
  .lsf__opt--size { flex: 0 0 auto; width: auto; min-width: 56px; min-height: 48px;
    align-items: center; justify-content: center; padding: 12px 14px; }
  .lsf__opt--size b { font-variant-numeric: tabular-nums; }

  /* ── Navigation d'étape ──────────────────────────────────────────────── */
  .lsf__nav { display: flex; align-items: center; justify-content: space-between; gap: 12px;
    margin-top: 1.6rem; }
  .lsf__back, .lsf__next { display: inline-flex; align-items: center; gap: .5rem;
    min-height: 48px; padding: 0 1.1rem; cursor: pointer; border-radius: 6px;
    font-family: var(--font-body--family); font-size: .82rem; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase; }
  .lsf__back { border: 1px solid var(--color-border, #dcd3c5); background: none;
    color: var(--color-foreground, #2a2420); }
  .lsf__back[hidden] { display: none; }
  .lsf__next { margin-inline-start: auto; border: 0;
    background: var(--lsf-acc, #b85c38); color: #fff; }
  .lsf__next:disabled { opacity: .4; cursor: not-allowed; }
  .lsf__next:not(:disabled):hover { background: #a4502f; }
  .lsf__back svg, .lsf__next svg { width: 15px; height: 15px; fill: none; stroke: currentColor;
    stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

  /* ══ LE RÉSULTAT ══════════════════════════════════════════════════════ */
  .lsf__res[hidden], .lsf__quiz[hidden] { display: none; }
  .lsf__res-head { display: flex; align-items: flex-start; justify-content: space-between;
    gap: 1.2rem; flex-wrap: wrap; margin-bottom: 1.4rem; }
  .lsf__res-h { margin: 0; font-family: var(--font-h2--family, var(--font-primary--family));
    font-weight: 400; font-size: clamp(1.5rem, 5vw, 2.2rem); line-height: 1.15; }
  .lsf__res-x { margin: .55rem 0 0; max-width: 56ch; font-family: var(--font-body--family);
    font-size: .86rem; line-height: 1.55; opacity: .72; }
  .lsf__redo { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px;
    padding: 0 .9rem; cursor: pointer; border-radius: 6px; background: none;
    border: 1px solid var(--color-border, #dcd3c5); color: var(--color-foreground, #2a2420);
    font-family: var(--font-body--family); font-size: .76rem; font-weight: 600; }
  .lsf__redo svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8;
    stroke-linecap: round; }

  /* Une pièce de la tenue */
  .lsf__look { display: grid; grid-template-columns: 1fr; gap: 12px; }
  .lsf__slot { display: grid; grid-template-columns: 96px 1fr; gap: 14px;
    padding: 12px; border: 1px solid var(--color-border, #dcd3c5); border-radius: 6px; }
  .lsf__slot-im { display: block; width: 96px; aspect-ratio: 4 / 5; object-fit: cover;
    background: var(--color-surface-alt, #f3efe9); border-radius: 4px; }
  .lsf__slot-b { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
  .lsf__slot-role { font-family: var(--font-body--family); font-size: .66rem; font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase; color: var(--lsf-acc, #b85c38); }
  .lsf__slot-t { font-family: var(--font-h2--family, var(--font-primary--family));
    font-size: 1.02rem; line-height: 1.2; color: inherit; text-decoration: none; }
  .lsf__slot-t:hover { text-decoration: underline; text-underline-offset: .18em; }
  .lsf__slot-p { display: flex; align-items: center; gap: 7px; flex-wrap: wrap;
    font-family: var(--font-body--family); font-variant-numeric: tabular-nums; }

  /* ── LA RÈGLE DE PRIX DE LA BOUTIQUE ──────────────────────────────────
     Prix plein : encre, gras. Prix remisé : terracotta, gras, et SEULEMENT
     lui. Prix barré : encre atténuée, trait plus clair — les deux jetons de
     `snippets/price-styles.liquid`, ceux de la page collection.

     Le composeur peignait TOUS ses prix en terracotta, remise ou pas. Malco,
     le 12/09/2026 : « je veux uniquement les prix qui sont soldé en marron et
     les prix qui ne sont pas en réduction je les veux en noir en gras ». Un
     terracotta posé partout ne signale plus rien — c'est un signal de remise
     qui devient une couleur de décoration.

     Le marqueur `is-sale` est posé par le JS au moment du rendu : c'est lui qui
     sait si la pièce a un prix barré. Sans ce marqueur, aucun terracotta. */
  .lsf__prix s { font-weight: 400; white-space: nowrap;
    color: rgb(var(--color-foreground-rgb, 42 36 32) / var(--opacity-subdued-text, .8));
    text-decoration-line: line-through; text-decoration-thickness: 1.5px;
    text-decoration-color: rgb(var(--color-foreground-rgb, 42 36 32) / var(--opacity-30, .3)); }
  .lsf__prix b { color: var(--color-foreground, #2a2420); font-weight: 700; white-space: nowrap; }
  .lsf__prix.is-sale b { color: var(--lsf-acc, #b85c38); }
  .lsf__slot-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
  .lsf__chip { display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px;
    border: 1px solid var(--color-border, #dcd3c5); border-radius: 999px;
    font-family: var(--font-body--family); font-size: .7rem; }
  .lsf__chip i { width: 11px; height: 11px; border-radius: 50%; display: inline-block;
    box-shadow: inset 0 0 0 1px rgb(0 0 0 / .14); }
  .lsf__swap { margin-top: 8px; align-self: flex-start; display: inline-flex; align-items: center;
    gap: .45rem; min-height: 40px; padding: 0 .8rem; cursor: pointer; border-radius: 6px;
    background: none; border: 1px solid var(--color-border, #dcd3c5);
    color: var(--color-foreground, #2a2420);
    font-family: var(--font-body--family); font-size: .74rem; font-weight: 600; }
  .lsf__swap:hover { border-color: var(--lsf-acc, #b85c38); color: var(--lsf-acc, #b85c38); }
  .lsf__swap svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.9;
    stroke-linecap: round; stroke-linejoin: round; }
  .lsf__slot-warn { margin: 4px 0 0; font-family: var(--font-body--family); font-size: .72rem;
    line-height: 1.4; color: var(--lsf-acc, #b85c38); }

  /* Paliers */
  .lsf__tiers { display: flex; align-items: center; gap: 10px; margin: 1.2rem 0 0;
    font-family: var(--font-body--family); font-size: .76rem; line-height: 1.3; }
  .lsf__tiers[hidden] { display: none; }
  .lsf__tier-now { flex: none; white-space: nowrap; font-weight: 700; }
  .lsf__tier-now.is-fd { font-style: italic; text-transform: uppercase; letter-spacing: .06em;
    color: var(--lsf-acc, #b85c38); }
  .lsf__tier-track { flex: 1 1 auto; min-width: 34px; height: 4px; border-radius: 4px;
    background: rgb(var(--color-foreground-rgb, 42 36 32) / .14); overflow: hidden; }
  .lsf__tier-track i { display: block; height: 100%; width: 0;
    background: var(--lsf-acc, #b85c38); transition: width .32s ease; }
  .lsf__tier-next { flex: none; display: inline-flex; align-items: center; gap: .35em;
    white-space: nowrap; opacity: .72; }
  .lsf__tier-next svg { width: 11px; height: 11px; fill: none; stroke: currentColor;
    stroke-width: 1.8; stroke-linecap: round; }

  /* Récapitulatif et achat */
  .lsf__sum { margin-top: 1.4rem; padding-top: 1.2rem;
    border-top: 1px solid rgb(var(--color-foreground-rgb, 42 36 32) / .12); }
  /* `align-items: center` et non `baseline` : le total fait 1,5 rem, le barré
     1 rem et la puce est une pastille pleine. Alignés sur la ligne de base, le
     petit barré et la pastille pendaient sous le grand nombre — c'est le « pas
     bien centré » de Malco. Centrés, les trois se lisent comme une seule ligne. */
  .lsf__sum-p { display: flex; align-items: center; gap: 9px; flex-wrap: wrap;
    font-family: var(--font-body--family); font-variant-numeric: tabular-nums; }
  .lsf__sum-p s { font-size: 1rem; }
  .lsf__sum-p b { font-size: 1.5rem; line-height: 1.15; }
  .lsf__sum-chip { display: inline-flex; align-items: center; padding: 4px 8px;
    background: var(--lsf-acc, #b85c38); color: #fff; line-height: 1;
    font-size: 12px; font-weight: 700; letter-spacing: .06em; }
  .lsf__sum-chip[hidden], .lsf__sum-p s[hidden] { display: none; }
  .lsf__sum-x { margin: .4rem 0 0; font-family: var(--font-body--family); font-size: .78rem;
    opacity: .68; }
  .lsf__buy { margin-top: 1rem; display: flex; align-items: center; justify-content: center;
    width: 100%; min-height: 54px; padding: 0 1.2rem; cursor: pointer; border: 0;
    background: var(--lsf-acc, #b85c38); color: #fff; font-family: var(--font-body--family);
    font-size: .88rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
  .lsf__buy:hover { background: #a4502f; }
  .lsf__buy:disabled { opacity: .45; cursor: not-allowed; }
  .lsf__sum-note { margin: .6rem 0 0; font-family: var(--font-body--family); font-size: .74rem;
    line-height: 1.45; opacity: .62; }

  /* ══ TIROIR DE REMPLACEMENT ═══════════════════════════════════════════ */
  .lsf__pick { position: fixed; inset: 0; z-index: 1150; }
  .lsf__pick[hidden] { display: none; }
  .lsf__pick-veil { position: absolute; inset: 0;
    background: rgb(var(--color-foreground-rgb, 42 36 32) / .45); }
  .lsf__pick-panel { position: absolute; inset-inline: 0; inset-block-end: 0;
    max-height: 86svh; display: flex; flex-direction: column;
    background: var(--color-background); color: var(--color-foreground);
    box-shadow: 0 -8px 40px -14px rgb(var(--color-foreground-rgb, 42 36 32) / .45); }
  .lsf__pick-panel:focus { outline: none; }
  .lsf__pick-head { flex: none; display: flex; align-items: center; justify-content: space-between;
    gap: 1rem; padding: 1.1rem 1.2rem .6rem; }
  .lsf__pick-t { margin: 0; font-family: var(--font-h2--family, var(--font-primary--family));
    font-weight: 400; font-size: 1.2rem; }
  .lsf__pick-x { width: 44px; height: 44px; margin: -8px -8px -8px 0; padding: 0; border: 0;
    background: none; color: inherit; cursor: pointer; display: grid; place-items: center; }
  .lsf__pick-x svg { width: 18px; height: 18px; fill: none; stroke: currentColor;
    stroke-width: 1.6; stroke-linecap: round; }
  .lsf__pick-n { flex: none; margin: 0; padding: 0 1.2rem .8rem;
    font-family: var(--font-body--family); font-size: .78rem; opacity: .68; }
  .lsf__pick-list { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain;
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
    padding: 0 1.2rem 1.4rem; }
  .lsf__card { display: flex; flex-direction: column; gap: 6px; padding: 0; cursor: pointer;
    text-align: left; background: none; border: 1px solid transparent; border-radius: 6px;
    color: var(--color-foreground, #2a2420); font-family: var(--font-body--family); }
  .lsf__card:hover, .lsf__card:focus-visible { border-color: var(--lsf-acc, #b85c38); }
  .lsf__card.is-on { border-color: var(--lsf-acc, #b85c38);
    box-shadow: inset 0 0 0 1px var(--lsf-acc, #b85c38); }
  .lsf__card img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover;
    background: var(--color-surface-alt, #f3efe9); border-radius: 4px; }
  .lsf__card-t { font-size: .8rem; line-height: 1.25; padding: 0 4px; }
  .lsf__card-p { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; padding: 0 4px 6px;
    font-variant-numeric: tabular-nums; }
  .lsf__card-p s { font-size: .74rem; }
  .lsf__card-p b { font-size: .84rem; }

  /* ══ ORDINATEUR ═══════════════════════════════════════════════════════ */
  @media screen and (min-width: 750px) {
    .lsf__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .lsf__opts--grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .lsf__opts--sizes { display: flex; }
    .lsf__look { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .lsf__slot { grid-template-columns: 120px 1fr; }
    .lsf__slot-im { width: 120px; }
    .lsf__sum { display: grid; grid-template-columns: 1fr auto; align-items: center;
      column-gap: 2rem; }
    .lsf__sum-x { grid-column: 1; }
    .lsf__buy { grid-column: 2; grid-row: 1 / 3; width: auto; min-width: 17rem; margin-top: 0; }
    .lsf__sum-note { grid-column: 1 / -1; }
    .lsf__pick-panel { inset: 50% auto auto 50%; translate: -50% -50%;
      width: min(94vw, 52rem); max-height: 84svh; border-radius: 8px; }
    .lsf__pick-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  }

  @media (prefers-reduced-motion: reduce) {
    .lsf__prog-bar i, .lsf__tier-track i, .lsf__opt { transition: none; }
  }

  /* Cibles tactiles : tout ce qui se touche est déjà à 40 px ou plus ; seules
     les puces couleur sont plus petites, mais elles sont DANS un bouton de
     52 px, c'est donc le bouton qui porte la cible. */
/* END_SECTION:lonamy-style-finder */

/* START_SECTION:lonamy-style-guide (INDEX:49) */
.sg { background:var(--sg-bg,var(--color-background)); color:var(--color-foreground); }
  .sg__inner { max-width:120rem; margin-inline:auto; padding-inline:var(--page-margin,2.5rem); padding-block:var(--sg-pt,72px) var(--sg-pb,72px); display:grid; gap:clamp(1.5rem,4vw,4rem); align-items:center; }
  @media (min-width:990px){
    .sg__inner { grid-template-columns:1fr 1fr; }
    .sg__inner--img-right .sg__media { order:2; }
  }
  .sg__eyebrow { font-family:var(--font-body--family); text-transform:uppercase; letter-spacing:.18em; font-size:.74rem; opacity:.65; margin:0 0 .6rem; }
  .sg__title { font-family:var(--font-h2--family,var(--font-primary--family)); font-weight:var(--font-h2--weight,500); font-size:clamp(1.7rem,3vw,2.6rem); margin:0 0 1rem; line-height:1.1; }
  .sg__chapo { font-family:var(--font-body--family); font-size:1.02rem; line-height:1.7; opacity:.9; margin-bottom:1.4rem; }
  .sg__tabs { display:flex; gap:.4rem 1.4rem; margin-bottom:1rem; }
  .sg__tabs--vertical { flex-direction:column; align-items:flex-start; gap:.6rem; }
  .sg__tabs--inline { flex-direction:row; flex-wrap:wrap; }
  .sg__tab { background:none; border:0; padding:.3rem 0; cursor:pointer; font-family:var(--font-body--family); font-size:1rem; color:var(--color-foreground); opacity:.55; position:relative; }
  .sg__tab.is-active { opacity:1; }
  .sg__tab.is-active::after { content:''; position:absolute; left:0; right:0; bottom:-2px; height:1.5px; background:#B85C38; }
  .sg__tab:hover { opacity:.85; }
  .sg__caption { font-family:var(--font-body--family); font-size:.95rem; opacity:.7; min-height:2.6em; margin:.4rem 0 1.4rem; }
  .sg__cta { display:inline-block; background:var(--color-foreground); color:var(--color-background); padding:14px 26px; font-family:var(--font-body--family); font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; }
  .sg__cta:hover { opacity:.85; }

  .sg__media { position:relative; overflow:hidden; aspect-ratio:var(--sg-ar,4/5); }
  .sg__slide { position:absolute; inset:0; opacity:0; transition:opacity var(--sg-fade,400ms) ease; }
  .sg__slide.is-active { opacity:1; }
  .sg__img { width:100%; height:100%; object-fit:cover; display:block; }
  .sg__dots { position:absolute; bottom:14px; left:0; right:0; display:flex; gap:7px; justify-content:center; z-index:2; }
  .sg__dot { width:7px; height:7px; border-radius:50%; background:#fff; opacity:.5; }
  .sg__dot.is-active { opacity:1; }
  @media (min-width:990px){ .sg__dots { display:none; } }
  @media (prefers-reduced-motion: reduce){ .sg__slide { transition:none; } }
/* END_SECTION:lonamy-style-guide */

/* START_SECTION:lonamy-suivi-commande (INDEX:50) */
.lsuivi { background: var(--color-background); color: var(--color-foreground); }
  .lsuivi__inner {
    max-width: 54rem;
    margin-inline: auto;
    padding-inline: var(--page-margin, 1.25rem);
    padding-block: var(--lsuivi-pt, 40px) var(--lsuivi-pb, 64px);
  }

  /* ----- en-tête ----- */
  .lsuivi__head { margin-bottom: clamp(1.5rem, 4vw, 2.25rem); }
  .lsuivi__head .lonamy-eyebrow { margin-bottom: 0.75rem; }
  .lsuivi__title {
    font-family: var(--font-h1--family);
    font-weight: var(--font-h1--weight, 600);
    font-size: clamp(2.1rem, 6vw, 3.5rem);
    line-height: 1.08;
    letter-spacing: -0.01em;
    margin: 0;
  }
  .lsuivi__intro { font-family: var(--font-body--family); line-height: 1.6; opacity: 0.8; margin-top: 0.9rem; max-width: 38rem; }
  .lsuivi__intro > * { margin: 0; }

  .lsuivi__setup {
    font-family: var(--font-body--family); font-size: 0.9rem; line-height: 1.5;
    border: 1px dashed rgb(var(--color-foreground-rgb) / 0.35);
    padding: 0.9rem 1rem; border-radius: 4px; margin: 0 0 1.5rem;
  }

  /* ----- panneau de recherche ----- */
  .lsuivi__panel {
    background: rgb(var(--color-foreground-rgb) / 0.03);
    border: 1px solid rgb(var(--color-foreground-rgb) / 0.12);
    border-radius: 4px;
    padding: clamp(1.15rem, 3vw, 1.75rem);
  }

  .lsuivi__tabs { display: flex; gap: 0; margin-bottom: 1.25rem; border-bottom: 1px solid rgb(var(--color-foreground-rgb) / 0.12); }
  .lsuivi__tab {
    flex: 1 1 auto; min-height: 44px; padding: 0.6rem 0.4rem;
    background: none; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px;
    font-family: var(--font-body--family); font-size: 0.92rem; font-weight: 500;
    color: inherit; opacity: 0.55; cursor: pointer;
  }
  .lsuivi__tab.is-on { opacity: 1; border-bottom-color: #B85C38; }

  .lsuivi__form { display: flex; flex-direction: column; gap: 1rem; }
  .lsuivi__field { display: flex; flex-direction: column; gap: 0.45rem; }
  .lsuivi__label {
    font-family: var(--font-body--family); font-size: 0.8rem; font-weight: 500;
    letter-spacing: 0.02em; opacity: 0.75; padding: 0;
  }
  .lsuivi__input {
    min-height: 50px; padding: 0 0.9rem;
    font-family: var(--font-body--family); font-size: 1rem; /* 16px : empêche le zoom auto iOS */
    color: var(--color-foreground); background: var(--color-background);
    border: 1px solid rgb(var(--color-foreground-rgb) / 0.2); border-radius: 3px;
    width: 100%; box-sizing: border-box;
  }
  .lsuivi__input:focus-visible { outline: 2px solid #B85C38; outline-offset: 1px; border-color: transparent; }
  .lsuivi__select { appearance: none; padding-inline-end: 2.2rem; background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: right 1.1rem center, right 0.85rem center; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
  .lsuivi__textarea { min-height: 7.5rem; padding: 0.75rem 0.9rem; line-height: 1.55; resize: vertical; }
  .lsuivi__hint { font-family: var(--font-body--family); font-size: 0.8rem; line-height: 1.45; opacity: 0.6; margin: 0; }

  .lsuivi__submit {
    min-height: 52px; padding: 0 1.4rem;
    background: #B85C38; color: #fff; border: 0; border-radius: 3px;
    font-family: var(--font-body--family); font-size: 0.94rem; font-weight: 500;
    letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer;
  }
  .lsuivi__submit:hover { background: #A4502F; }
  .lsuivi__submit:focus-visible { outline: 2px solid var(--color-foreground); outline-offset: 2px; }
  .lsuivi__submit[disabled] { opacity: 0.45; pointer-events: none; }

  .lsuivi__error {
    font-family: var(--font-body--family); font-size: 0.88rem; line-height: 1.5;
    color: #8C2F1B; background: rgba(184, 92, 56, 0.1);
    border-inline-start: 2px solid #B85C38;
    padding: 0.7rem 0.9rem; border-radius: 0 3px 3px 0; margin: 1rem 0 0;
  }

  .lsuivi__help { display: flex; gap: 0.85rem; align-items: flex-start; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid rgb(var(--color-foreground-rgb) / 0.12); }
  .lsuivi__help-ico { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 2px; color: #B85C38; }
  .lsuivi__help-txt { font-family: var(--font-body--family); font-size: 0.9rem; line-height: 1.6; opacity: 0.8; }
  .lsuivi__help-txt > *:first-child { margin-top: 0; }
  .lsuivi__help-txt > *:last-child { margin-bottom: 0; }

  /* ----- résultat ----- */
  .lsuivi__result { margin-top: clamp(1.5rem, 4vw, 2.25rem); }

  .lsuivi__card {
    background: var(--color-background);
    border: 1px solid rgb(var(--color-foreground-rgb) / 0.14);
    border-radius: 4px;
    padding: clamp(1.25rem, 3.5vw, 1.9rem);
    display: flex; flex-direction: column; gap: 1.15rem;
  }
  .lsuivi__pill { display: flex; align-items: center; gap: 0.6rem; font-family: var(--font-body--family); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #B85C38; }
  .lsuivi__pill::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: 0 0 auto; }
  .lsuivi__card--done .lsuivi__pill { color: var(--color-foreground); }

  .lsuivi__eta-l { font-family: var(--font-body--family); font-size: 0.85rem; opacity: 0.65; display: block; margin-bottom: 0.25rem; }
  .lsuivi__eta-v { font-family: var(--font-h2--family, var(--font-h1--family)); font-size: clamp(1.6rem, 5vw, 2.2rem); line-height: 1.12; display: block; }

  .lsuivi__bar { display: flex; gap: 4px; }
  .lsuivi__bar span { flex: 1 1 0; height: 3px; background: rgb(var(--color-foreground-rgb) / 0.15); border-radius: 2px; }
  .lsuivi__bar span.is-done { background: var(--color-foreground); }
  .lsuivi__bar span.is-now { background: #B85C38; }

  .lsuivi__ref { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.3rem 0.7rem; font-family: var(--font-body--family); font-size: 0.85rem; }
  .lsuivi__ref span { opacity: 0.6; }
  .lsuivi__ref b { font-weight: 500; letter-spacing: 0.02em; }

  .lsuivi__alert { display: flex; gap: 0.8rem; align-items: flex-start; background: rgba(184, 92, 56, 0.12); border-radius: 3px; padding: 0.9rem 1rem; font-family: var(--font-body--family); font-size: 0.9rem; line-height: 1.55; margin-top: 1.25rem; }

  /* ----- frise ----- */
  .lsuivi__steps { margin-top: clamp(1.75rem, 4vw, 2.5rem); }
  .lsuivi__step { display: flex; gap: 1rem; }
  .lsuivi__step-rail { width: 24px; flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; }
  .lsuivi__dot {
    width: 24px; height: 24px; border-radius: 50%; flex: 0 0 auto; box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid rgb(var(--color-foreground-rgb) / 0.2); background: var(--color-background);
  }
  .lsuivi__dot svg { width: 12px; height: 12px; }
  .lsuivi__step--faite .lsuivi__dot { background: var(--color-foreground); border-color: var(--color-foreground); color: var(--color-background); }
  .lsuivi__step--encours .lsuivi__dot { background: #B85C38; border-color: #B85C38; box-shadow: 0 0 0 4px rgba(184, 92, 56, 0.2); }
  .lsuivi__step--encours .lsuivi__dot::after { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #fff; }
  .lsuivi__line { width: 1px; flex: 1 1 auto; background: rgb(var(--color-foreground-rgb) / 0.18); }
  .lsuivi__step--faite .lsuivi__line { background: var(--color-foreground); }
  .lsuivi__step:last-child .lsuivi__line { display: none; }

  .lsuivi__step-body { flex: 1 1 auto; padding-bottom: 1.6rem; display: flex; flex-direction: column; gap: 0.25rem; }
  .lsuivi__step:last-child .lsuivi__step-body { padding-bottom: 0; }
  .lsuivi__step-top { display: flex; align-items: baseline; gap: 0.75rem; }
  .lsuivi__step-l { flex: 1 1 auto; font-family: var(--font-body--family); font-size: 0.96rem; font-weight: 600; line-height: 1.3; }
  .lsuivi__step-d { font-family: var(--font-body--family); font-size: 0.82rem; opacity: 0.6; white-space: nowrap; }
  .lsuivi__step-x { font-family: var(--font-body--family); font-size: 0.85rem; line-height: 1.55; opacity: 0.7; }
  .lsuivi__step--avenir .lsuivi__step-l { opacity: 0.55; font-weight: 500; }
  .lsuivi__step--avenir .lsuivi__step-x { opacity: 0.5; }

  .lsuivi__note { background: rgba(184, 92, 56, 0.14); border-radius: 3px; padding: 0.75rem 0.9rem; margin-top: 0.5rem; font-family: var(--font-body--family); font-size: 0.85rem; line-height: 1.55; }

  /* ----- état vide ----- */
  .lsuivi__empty { display: flex; flex-direction: column; gap: 1.1rem; }
  .lsuivi__empty-t { font-family: var(--font-h2--family, var(--font-h1--family)); font-size: clamp(1.4rem, 4.5vw, 1.9rem); line-height: 1.14; margin: 0; }
  .lsuivi__reasons { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; counter-reset: lsr; }
  .lsuivi__reasons li { display: flex; gap: 0.85rem; counter-increment: lsr; }
  .lsuivi__reasons li::before {
    content: counter(lsr); flex: 0 0 auto;
    width: 22px; height: 22px; border-radius: 50%; background: rgba(184, 92, 56, 0.18);
    display: flex; align-items: center; justify-content: center;
    font-family: var(--font-body--family); font-size: 0.72rem; font-weight: 600;
  }
  .lsuivi__reasons b { display: block; font-family: var(--font-body--family); font-size: 0.92rem; font-weight: 600; line-height: 1.35; margin-bottom: 0.15rem; }
  .lsuivi__reasons span { font-family: var(--font-body--family); font-size: 0.85rem; line-height: 1.5; opacity: 0.7; }

  /* ----- avis ----- */
  .lsuivi__review { margin-top: clamp(1.75rem, 4vw, 2.5rem); }
  .lsuivi__rform {
    background: rgb(var(--color-foreground-rgb) / 0.03);
    border: 1px solid rgb(var(--color-foreground-rgb) / 0.12);
    border-radius: 4px; padding: clamp(1.15rem, 3vw, 1.75rem);
    display: flex; flex-direction: column; gap: 1.15rem;
  }
  .lsuivi__rhead { display: flex; flex-direction: column; gap: 0.45rem; }
  .lsuivi__rtitle { font-family: var(--font-h2--family, var(--font-h1--family)); font-size: clamp(1.4rem, 4.5vw, 1.9rem); line-height: 1.14; margin: 0; }
  .lsuivi__rintro { font-family: var(--font-body--family); font-size: 0.92rem; line-height: 1.6; opacity: 0.75; margin: 0; }

  .lsuivi__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
  .lsuivi__stars { border: 0; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; }
  .lsuivi__stars-row { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 0.15rem; }
  .lsuivi__star-in { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
  .lsuivi__star {
    width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
    cursor: pointer; color: rgb(var(--color-foreground-rgb) / 0.22);
  }
  .lsuivi__star svg { width: 30px; height: 30px; fill: currentColor; transition: color 0.14s ease, transform 0.12s ease; }
  /* L'ordre inversé rend « toutes les étoiles jusqu'à celle-ci » exprimable
     par un simple voisinage : la sélectionnée, et toutes celles qui suivent. */
  .lsuivi__star-in:checked ~ .lsuivi__star,
  .lsuivi__star-in:checked + .lsuivi__star { color: #B85C38; }
  .lsuivi__stars-row:hover .lsuivi__star { color: rgb(var(--color-foreground-rgb) / 0.22); }
  .lsuivi__star:hover, .lsuivi__star:hover ~ .lsuivi__star { color: #B85C38; }
  .lsuivi__star-in:focus-visible + .lsuivi__star { outline: 2px solid #B85C38; outline-offset: 2px; border-radius: 4px; }
  @media (prefers-reduced-motion: no-preference) {
    .lsuivi__star:active svg { transform: scale(0.88); }
  }

  .lsuivi__rgrid { display: flex; flex-direction: column; gap: 1.15rem; }

  .lsuivi__rdone { display: flex; gap: 0.9rem; align-items: flex-start; }
  .lsuivi__rdone svg { width: 22px; height: 22px; flex: 0 0 auto; margin-top: 2px; color: #B85C38; }
  .lsuivi__rdone p { font-family: var(--font-body--family); font-size: 1rem; line-height: 1.6; margin: 0; }

  /* ----- réassurance ----- */
  .lsuivi__reass {
    list-style: none; margin: clamp(1.75rem, 4vw, 2.5rem) 0 0; padding: 1.1rem 0;
    border-top: 1px solid rgb(var(--color-foreground-rgb) / 0.12);
    border-bottom: 1px solid rgb(var(--color-foreground-rgb) / 0.12);
    display: flex;
  }
  .lsuivi__reass-i { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 0.5rem; text-align: center; padding-inline: 0.4rem; }
  .lsuivi__reass-i + .lsuivi__reass-i { border-inline-start: 1px solid rgb(var(--color-foreground-rgb) / 0.12); }
  .lsuivi__reass-t { font-family: var(--font-body--family); font-size: 0.78rem; line-height: 1.4; opacity: 0.75; }
  .lsuivi__reass-ico { width: 20px; height: 20px; color: #B85C38; background: currentColor; flex: 0 0 auto; }
  .lsuivi__reass-ico[data-ico='truck'] { -webkit-mask: var(--m-truck) center / contain no-repeat; mask: var(--m-truck) center / contain no-repeat; }
  .lsuivi__reass-ico[data-ico='chat'] { -webkit-mask: var(--m-chat) center / contain no-repeat; mask: var(--m-chat) center / contain no-repeat; }
  .lsuivi__reass-ico[data-ico='return'] { -webkit-mask: var(--m-return) center / contain no-repeat; mask: var(--m-return) center / contain no-repeat; }
  .lsuivi__reass-ico[data-ico='shield'] { -webkit-mask: var(--m-shield) center / contain no-repeat; mask: var(--m-shield) center / contain no-repeat; }
  .lsuivi {
    --m-truck: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l1.5-4.5h15L21 9M3 9v10.5h18V9M3 9h18M9 13h6'/%3E%3C/svg%3E");
    --m-chat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z'/%3E%3C/svg%3E");
    --m-return: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 109-9 9 9 0 00-6.4 2.6L3 8M3 3v5h5'/%3E%3C/svg%3E");
    --m-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 4v5c0 4.4-3 8.3-7 9.4-4-1.1-7-5-7-9.4V7z'/%3E%3C/svg%3E");
  }

  /* ----- faq ----- */
  .lsuivi__faq { margin-top: clamp(1.75rem, 4vw, 2.5rem); }
  .lsuivi__faq-title { font-family: var(--font-h2--family, var(--font-h1--family)); font-size: clamp(1.4rem, 4.5vw, 1.9rem); line-height: 1.14; margin: 0 0 0.5rem; }
  .lsuivi__faq-i { border-bottom: 1px solid rgb(var(--color-foreground-rgb) / 0.12); }
  .lsuivi__faq-q { display: flex; align-items: center; gap: 1rem; list-style: none; cursor: pointer; min-height: 44px; padding: 0.9rem 0; font-family: var(--font-body--family); font-size: 0.94rem; font-weight: 500; line-height: 1.35; }
  .lsuivi__faq-q::-webkit-details-marker { display: none; }
  .lsuivi__faq-q > span:first-child { flex: 1 1 auto; }
  .lsuivi__faq-ico { position: relative; width: 16px; height: 16px; flex: 0 0 auto; opacity: 0.6; }
  .lsuivi__faq-ico::before, .lsuivi__faq-ico::after { content: ''; position: absolute; inset: 0; margin: auto; background: currentColor; transition: transform 0.24s ease; }
  .lsuivi__faq-ico::before { width: 11px; height: 1px; }
  .lsuivi__faq-ico::after { width: 1px; height: 11px; }
  .lsuivi__faq-i[open] .lsuivi__faq-ico::after { transform: scaleY(0); }
  .lsuivi__faq-a { font-family: var(--font-body--family); font-size: 0.9rem; line-height: 1.68; opacity: 0.78; padding-bottom: 1.1rem; }
  .lsuivi__faq-a > *:first-child { margin-top: 0; }
  .lsuivi__faq-a > *:last-child { margin-bottom: 0; }

  .lsuivi__contact {
    display: flex; align-items: center; justify-content: center;
    min-height: 50px; margin-top: clamp(1.5rem, 4vw, 2rem);
    border: 1px solid var(--color-foreground); color: var(--color-foreground); text-decoration: none;
    font-family: var(--font-body--family); font-size: 0.92rem; font-weight: 500;
    letter-spacing: 0.06em; text-transform: uppercase; border-radius: 3px;
  }
  .lsuivi__contact:hover { background: var(--color-foreground); color: var(--color-background); }

  .lsuivi__disclaimer { font-family: var(--font-body--family); font-size: 0.8rem; line-height: 1.5; opacity: 0.55; margin: 1.25rem 0 0; }

  .lsuivi[data-busy] .lsuivi__submit { opacity: 0.45; pointer-events: none; }

  /* `hidden` pose display:none dans la feuille du navigateur, que n'importe
     quel `display` écrit ici écrase. Sans ce rappel, les deux formulaires
     s'affichent en même temps et les onglets paraissent inertes. */
  .lsuivi [hidden] { display: none !important; }

  /* ----- ordinateur ----- */
  @media screen and (min-width: 750px) {
    .lsuivi__form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.25rem; align-items: start; }
    .lsuivi__form .lsuivi__submit { grid-column: 1 / -1; justify-self: start; min-width: 16rem; }
    .lsuivi__rgrid { flex-direction: row; }
    .lsuivi__rgrid .lsuivi__field { flex: 1 1 0; }
    .lsuivi__rform .lsuivi__submit { align-self: flex-start; min-width: 16rem; }
    .lsuivi__card { padding: 2rem 2.25rem; }
    .lsuivi__reass-t { font-size: 0.85rem; }
    .lsuivi__step-l { font-size: 1.05rem; }
    .lsuivi__step-x { font-size: 0.92rem; }
  }
/* END_SECTION:lonamy-suivi-commande */

/* START_SECTION:lonamy-totop (INDEX:51) */
.ltt { position: fixed; z-index: 40;
    right: var(--ltt-gap, 22px); bottom: var(--ltt-gap, 22px);
    width: var(--ltt-size, 46px); height: var(--ltt-size, 46px);
    border: 0; border-radius: 50%; padding: 0; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    background: var(--ltt-bg, #B85C38); color: var(--ltt-tx, #FFFFFF);
    box-shadow: 0 10px 26px -12px rgb(0 0 0 / .5);
    opacity: 0; transform: translateY(10px);
    transition: opacity .24s ease, transform .24s ease, background .2s ease; }
  .ltt[hidden] { display: none; }
  .ltt.is-on { opacity: 1; transform: translateY(0); }
  .ltt:hover { background: #2A2420; }
  .ltt:focus-visible { outline: 2px solid var(--ltt-bg, #B85C38); outline-offset: 3px; }
  @media (prefers-reduced-motion: reduce) { .ltt { transition: opacity .01s; transform: none; } }

  /* La barre collante du composeur occupe déjà le bas de l'écran sur mobile :
     on remonte le bouton pour ne pas le recouvrir. */
  @media screen and (max-width: 749px) {
    .ltt { right: 14px; bottom: 14px; }
    body:has(.lat__sticky:not([hidden])) .ltt { bottom: 82px; }
  }
/* END_SECTION:lonamy-totop */

/* START_SECTION:main-account (INDEX:52) */
.customer-account {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    width: 100%;
    padding: 50px 0;
  }

  .customer-account__account {
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
  }

  .customer-account__account > * {
    margin-bottom: var(--margin-md);
  }

  .customer-account__orders,
  .customer-account__addresses {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .customer-account__order {
    text-decoration: none;
    color: var(--color-foreground);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    transition: var(--animation-link-hover);

    &:hover {
      opacity: var(--opacity-link-hover);
    }

    .customer-account__order-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .customer-account__order-header-left {
      display: flex;
      gap: var(--gap-sm);
      flex-wrap: wrap;
    }

    .customer-account__order-number {
      font-weight: 600;
    }

    .customer-account__order-date {
      font-weight: 100;
      opacity: 0.75;
    }
  }

  .customer-account__default-address > * {
    font-style: italic;
  }
/* END_SECTION:main-account */

/* START_SECTION:main-activate-account (INDEX:53) */
.customer-activate {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    width: 100%;
    padding: 50px 0;
  }

  .customer-activate__activate {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
  }

  .customer-activate__activate > .h2 {
    margin-bottom: var(--margin-md);
  }

  .customer-activate__form {
    margin-top: var(--margin-lg);
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .customer-activate__form-actions {
    margin-top: var(--margin-md);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_SECTION:main-activate-account */

/* START_SECTION:main-addresses (INDEX:54) */
.customer-addresses {
    width: 100%;
    padding: 50px 0;
    display: block;
  }

  .customer-addresses__addresses-container {
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .customer-addresses__form {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    margin: var(--margin-md) 0;
  }

  .checkbox-group {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--gap-sm);
  }
/* END_SECTION:main-addresses */

/* START_SECTION:main-article (INDEX:55) */
.article {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .article-content {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  @media (width > 750px) {
    .article-content {
      width: 65vw;
    }
  }
/* END_SECTION:main-article */

/* START_SECTION:main-blog (INDEX:56) */
.main-blog {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .main-blog__articles {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .main-blog__articles-grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-lg);
  }

  @media (width > 750px) {
    .main-blog__articles-grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:main-blog */

/* START_SECTION:main-collection (INDEX:57) */
.shopify-section-main-collection {
    overflow: visible;
  }

  .main-collection {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .main-collection__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    display: flex;
    flex-direction: column;
    gap: var(--gap-lg);
  }

  .main-collection__products-grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .main-collection:has(.filter-and-sort--inline) .main-collection__inner {
      display: flex;
      flex-direction: column;
      gap: var(--gap-lg);
    }

    .main-collection:has(.filter-and-sort--sidebar) .main-collection__inner {
      display: grid;
      grid-template-columns: 25% calc(75% - var(--gap-lg));
      gap: var(--gap-lg);
    }

    .main-collection__products-grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:main-collection */

/* START_SECTION:main-collections (INDEX:58) */
.main-collections {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .main-collections__inner {
    display: flex;
    flex-direction: column;
    gap: var(--gap-lg);
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .main-collections__products-grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .main-collections__products-grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:main-collections */

/* START_SECTION:main-login (INDEX:59) */
.customer-login {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    width: 100%;
    padding: 50px 0;
  }

  .customer-login__login,
  .customer-login__reset-password {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
  }

  .customer-login__login-form,
  .customer-login__reset-password-form {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    margin-top: var(--margin-lg);
  }

  .customer-login__form-actions {
    margin-top: var(--margin-md);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_SECTION:main-login */

/* START_SECTION:main-order (INDEX:60) */
.customer-order {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    width: 100%;
    padding: 50px 0;
  }

  .customer-order__content {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .customer-order__content > .card {
    overflow-x: auto;
  }

  .order-details {
    width: 100%;
  }

  .order-details {
    margin-top: var(--margin-md);
    border: 1px solid var(--color-border, #e1e1e1);
    border-collapse: collapse;
  }
  .order-details th,
  .order-details td {
    border: 1px solid var(--color-border, #e1e1e1);
    padding: 10px;
  }

  .customer-order__addresses {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .customer-order__addresses > .card {
    width: 100%;
  }

  @media (width > 750px) {
    .customer-order__addresses {
      flex-direction: row;
    }
  }
/* END_SECTION:main-order */

/* START_SECTION:main-page (INDEX:61) */
.section-main-page {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }

  .section-main-page .text-block[data-visual-preview-mode] {
    max-width: 100%;
  }

  .section-main-page .image-card[data-visual-preview-mode] {
    width: 100%;
  }

  .main-page {
    width: 100%;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    justify-content: center;
  }

  .main-page .main-page__inner {
    gap: var(--gap-mobile);
    width: 100%;
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .main-page--flex .main-page__inner {
    display: flex;
    flex-direction: var(--direction-mobile);
    flex-wrap: var(--wrap-mobile);
    justify-content: var(--justify-mobile);
    align-items: var(--align_items-mobile);
    height: 100%;
  }

  .main-page:not(.main-page--row-mobile) > div > .main-page__inner > .text-block-center-mobile,
  .main-page:not(.main-page--row-mobile) > .main-page__inner > .text-block-center-mobile {
    width: 100%;
  }

  .main-page--grid .main-page__inner {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    grid-template-rows: auto;
  }

  @media (width > 750px) {
    .main-page .main-page__inner {
      gap: var(--gap);
    }

    .main-page--flex .main-page__inner {
      flex-direction: var(--direction);
      flex-wrap: var(--wrap);
      justify-content: var(--justify);
      align-items: var(--align_items);
      height: auto;
    }

    .main-page:not(.main-page--row-desktop) > div > .main-page__inner > .text-block-center-desktop,
    .main-page:not(.main-page--row-desktop) > .main-page__inner > .text-block-center-desktop {
      width: 100%;
    }

    .main-page--grid .main-page__inner {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:main-page */

/* START_SECTION:main-register (INDEX:63) */
.customer-register {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    width: 100%;
    padding: 50px 0;
  }

  .customer-register__register {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
  }

  .customer-register__form {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    margin-top: var(--margin-lg);
  }

  .customer-register__form-actions {
    margin-top: var(--margin-md);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_SECTION:main-register */

/* START_SECTION:main-reset-password (INDEX:64) */
.customer-reset-password {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    width: 100%;
    padding: 50px 0;
  }

  .customer-reset-password__reset-password {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
  }

  .customer-reset-password__reset-password > .h2 {
    margin-bottom: var(--margin-md);
  }

  .customer-reset-password__form {
    margin-top: var(--margin-lg);
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .customer-reset-password__form-actions {
    margin-top: var(--margin-md);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_SECTION:main-reset-password */

/* START_SECTION:main-search (INDEX:65) */
.main-search {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .main-search__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .main-search__form {
    margin: 0;
  }

  .main-search__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  .main-search__pages {
    display: flex;
    gap: var(--gap-md);
    flex-wrap: wrap;
    padding-bottom: var(--margin-xl);
  }

  .main-search__page-link {
    color: var(--color-foreground);
  }

  .main-search__results-for {
    margin-top: var(--margin-md);
    margin-bottom: var(--margin-lg);
  }

  @media (width > 750px) {
    .main-search__grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:main-search */

/* START_SECTION:marquee (INDEX:66) */
.section-marquee {
    padding: 0;
    max-width: 100%;
  }

  .marquee-section {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }
/* END_SECTION:marquee */

/* START_SECTION:navigation (INDEX:67) */
.navigation {
    width: 100%;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .navigation__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .navigation__track {
    display: flex;
    gap: var(--gap-md);
    scrollbar-width: none;
    overflow-x: auto;
    padding-top: 5px;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: var(--wrap);
  }

  @media (width > 750px) {
    .navigation__track {
      justify-content: var(--alignment-desktop);
    }
  }
/* END_SECTION:navigation */

/* START_SECTION:password (INDEX:68) */
.password-page__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    text-align: center;
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }
/* END_SECTION:password */

/* START_SECTION:predictive-search (INDEX:69) */
.predictive-search-results-container {
    overflow-y: auto;
    max-height: calc(var(--search-modal-max-height-mobile) - var(--inputs-min-height) - var(--padding-md) * 2);
  }

  @media (width > 750px) {
    .predictive-search-results-container {
      max-height: calc(var(--search-modal-max-height) - var(--inputs-min-height) - var(--padding-md) * 2);
    }
  }

  .predictive-search-results:not(:empty) {
    display: flex;
    flex-direction: column;
    gap: var(--gap-lg);
    padding: var(--padding-xs);
    padding-top: var(--margin-md);
  }

  .predictive-search-results .predictive-search__section:not(:last-child) {
    border-bottom: 1px solid var(--color-input-border-low-opacity);
    padding-bottom: var(--gap-lg);
  }

  .predictive-search__title {
    margin-bottom: var(--margin-md);
  }

  .predictive-search__list,
  .predictive-search__grid {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
  }

  .predictive-search__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .predictive-search__grid {
      grid-template-columns: repeat(4, 1fr);
    }
  }

  .predictive-search__item-product a {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    text-decoration: none;
    font-size: var(--font-body--size);
  }

  .predictive-search__item-product a img,
  .predictive-search__item-collection a img {
    border-radius: calc(var(--card-border-radius) - (var(--card-padding) * 0.5));
    aspect-ratio: 1/1;
    object-fit: cover;
  }

  .predictive-search__item-collection a {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    text-decoration: none;
    font-size: var(--font-body--size);
  }

  .predictive-search__item-page,
  .predictive-search__item-article {
    padding: var(--padding-xs);
    border-radius: calc(var(--inputs-border-radius) * var(--small-multiplier));
    transition: background-color var(--animation-speed) var(--animation-easing);
    font-size: var(--font-body--size);
    text-decoration: none;
    color: inherit;
    display: block;
  }

  .predictive-search__item-page:hover,
  .predictive-search__item-article:hover {
    background-color: var(--color-input-border-low-opacity);
  }

  .predictive-search__item-article a {
    display: flex;
    justify-content: space-between;
    gap: var(--gap-xs);
    width: 100%;
  }

  .predictive-search__item-article-date {
    opacity: 0.7;
  }
/* END_SECTION:predictive-search */

/* START_SECTION:product-recommendations (INDEX:71) */
.product-recommendations {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: block;
  }

  .product-recommendations__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    background-color: var(--color-background);
  }

  .product-recommendations__title {
    margin-bottom: var(--margin-lg);
  }

  .product-recommendations__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .product-recommendations__grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:product-recommendations */

/* START_SECTION:reviews (INDEX:72) */
.section-reviews {
    max-width: 100%;
    padding: 0;
  }

  .reviews {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    width: 100%;
  }

  .reviews__title {
    margin-bottom: var(--gap-lg);
  }

  .reviews__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
    list-style: none;
    padding: 0;
    margin: 0;
  }

  @media (width > 750px) {
    .reviews__grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }

  .reviews .splide {
    padding-bottom: 20px;
  }
/* END_SECTION:reviews */

/* START_SECTION:wishlist-drawer (INDEX:73) */
.wishlist-drawer__overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(var(--color-shadow));
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    -webkit-backdrop-filter: brightness(1);
    backdrop-filter: brightness(1);
    transition:
      opacity var(--animation-speed) var(--animation-easing),
      visibility var(--animation-speed) var(--animation-easing);
  }

  .wishlist-drawer__overlay.is-open {
    opacity: 1;
    visibility: visible;
    -webkit-backdrop-filter: brightness(0.75);
    backdrop-filter: brightness(0.75);
    transition:
      opacity var(--animation-speed) var(--animation-easing),
      visibility var(--animation-speed) var(--animation-easing),
      -webkit-backdrop-filter var(--animation-speed) var(--animation-easing),
      backdrop-filter var(--animation-speed) var(--animation-easing);
  }

  .wishlist-drawer__drawer {
    position: absolute;
    top: 0;
    right: 0;
    width: 90vw;
    max-width: 400px;
    height: 100%;
    background: var(--color-background);
    box-shadow: var(--modal-shadow);
    transform: translateX(100%);
    display: flex;
    flex-direction: column;
  }

  .wishlist-drawer__overlay.is-open .wishlist-drawer__drawer {
    animation: modalSlideInRight var(--animation-speed) var(--animation-easing) forwards;
  }

  .wishlist-drawer__overlay.is-closing .wishlist-drawer__drawer {
    animation: modalSlideOutRight var(--animation-speed) var(--animation-easing) forwards;
  }

  .wishlist-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--padding-xs);
  }

  .wishlist-drawer__title {
    margin-left: var(--margin-sm);
  }

  .wishlist-drawer__close .icon--close {
    font-size: 22px !important;
  }

  .wishlist-drawer__body {
    flex: 1;
    overflow-y: auto;
    padding: var(--padding-xs);
  }

  .wishlist-drawer__empty {
    text-align: center;
    padding: var(--padding-xl);
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .wishlist-drawer__item {
    display: flex;
    align-items: center;
    gap: var(--padding-xs);
    padding: var(--padding-xs);
    text-decoration: none;
    color: inherit;
    transition: var(--animation-link-hover);
  }

  .wishlist-drawer__item:hover {
    opacity: var(--opacity-link-hover);
  }

  .wishlist-drawer__item-image {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    object-fit: cover;
    background-color: white;
    border-radius: calc(var(--card-border-radius) - var(--padding-sm));
  }

  .wishlist-drawer__item-info {
    flex: 1;
    min-width: 0; /* Permet au texte de se tronquer si nécessaire */
  }

  .wishlist-drawer__item-title {
    font-size: var(--font-body--size);
    color: rgb(var(--color-foreground));
    font-weight: 500;
    line-height: normal;
    margin-bottom: 0;
  }

  .wishlist-drawer__item-remove {
    flex-shrink: 0;
    margin-left: auto;
    border: var(--inputs-border-width) solid var(--color-border);
  }
/* END_SECTION:wishlist-drawer */

/* CSS from block stylesheet tags */
/* START_BLOCK:_accelerated-checkout (INDEX:74) */
shopify-visual-preview-block-list .accelerated-checkout[data-visual-preview-mode] {
    width: 400px;
  }

  more-payment-options-link {
    font-size: smaller;
  }

  .shopify-payment-button__more-options {
    color: var(--color-foreground);
  }

  more-payment-options-link a {
    --button-color: var(--color-foreground);
  }

  more-payment-options-link a:hover {
    opacity: var(--opacity-link-hover);
  }

  .shopify-payment-button__more-options[aria-hidden='true'] {
    display: none;
  }
/* END_BLOCK:_accelerated-checkout */

/* START_BLOCK:_announcement (INDEX:77) */
.announcement .slide {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: var(--gap);
    margin: 0;
    overflow: hidden;
    width: 100%;
    height: 100%;
  }
/* END_BLOCK:_announcement */

/* START_BLOCK:_article-date (INDEX:79) */
.article-date {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }
/* END_BLOCK:_article-date */

/* START_BLOCK:_article-group (INDEX:80) */
.article-card-group {
    display: flex;
    flex-direction: var(--direction-mobile);
    flex-wrap: var(--wrap-mobile);
    justify-content: var(--justify-mobile);
    align-items: var(--align_items-mobile);
    gap: var(--gap-mobile);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    overflow: hidden;
    width: 100%;
  }

  @media (width > 750px) {
    .article-card-group {
      flex-direction: var(--direction);
      flex-wrap: var(--wrap);
      justify-content: var(--justify);
      align-items: var(--align_items);
      gap: var(--gap);
    }
  }
/* END_BLOCK:_article-group */

/* START_BLOCK:_cart-accelerated-checkout (INDEX:82) */
shopify-visual-preview-block-list .accelerated-checkout[data-visual-preview-mode] {
    width: 400px;
  }

  more-payment-options-link {
    font-size: smaller;
  }

  more-payment-options-link a {
    --button-color: var(--color-foreground);
  }

  more-payment-options-link a:hover {
    opacity: var(--opacity-link-hover);
  }

  .shopify-payment-button__more-options[aria-hidden='true'] {
    display: none;
  }
/* END_BLOCK:_cart-accelerated-checkout */

/* START_BLOCK:_cart-drawer-empty-blocks (INDEX:83) */
.cart-drawer-empty-blocks {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--gap-lg);
    width: 100%;
  }

  @media (width <= 750px) {
    .cart-drawer-empty-blocks .slider-component--65-percent .splide__list {
      width: calc(100vw - 50%);
    }
  }
/* END_BLOCK:_cart-drawer-empty-blocks */

/* START_BLOCK:_cart-drawer-footer-blocks (INDEX:84) */
.cart-footer-blocks {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_BLOCK:_cart-drawer-footer-blocks */

/* START_BLOCK:_cart-footer-blocks (INDEX:85) */
.cart-footer-blocks {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_BLOCK:_cart-footer-blocks */

/* START_BLOCK:_cart-footer-resume-blocks (INDEX:86) */
.cart-footer-resume-blocks {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_BLOCK:_cart-footer-resume-blocks */

/* START_BLOCK:_cart-header-blocks (INDEX:87) */
.cart-header-blocks {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }

  .cart-drawer .cart-header-blocks:not(.card) > div:first-of-type {
    margin-top: var(--padding-md);
  }
/* END_BLOCK:_cart-header-blocks */

/* START_BLOCK:_cart-note (INDEX:88) */
cart-note {
    display: block;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);

    .icon--keyboard_arrow_down {
      display: none;
    }
  }

  cart-note[data-visual-preview-mode] {
    width: 350px;
  }
/* END_BLOCK:_cart-note */

/* START_BLOCK:_cart-progress-bar (INDEX:89) */
.cart-progress-bar {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .cart-progress-bar[data-visual-preview-mode] {
    width: 350px;
  }

  .cart-progress-bar__label {
    margin: 0;
    margin-bottom: var(--margin-md);
    letter-spacing: inherit;
    cursor: default;
    line-height: normal;
    font-weight: 500;
  }

  .cart-progress-bar__bar-container {
    margin-top: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }

  .cart-progress-bar__progress-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: -webkit-fill-available;
  }

  .cart-progress-bar__step-label {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2px;
    font-size: var(--font-body--size-small);
    margin-top: 5px;
  }

  .cart-progress-bar__step-label .icon--check {
    font-size: var(--font-body--size-small) !important;
  }

  .cart-progress-bar__progress {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 5px;
  }

  .cart-progress-bar__progress[value]::-webkit-progress-bar {
    background-color: rgb(from var(--color-primary-button-background) r g b / 15%);
    border-radius: calc(var(--inputs-border-radius) * 20 / 100);
  }

  .cart-progress-bar__progress[value]::-webkit-progress-value {
    -webkit-transition: width 0.5s;
    transition: width 0.5s;
    background-color: var(--color-primary-button-background);
    border-radius: calc(var(--inputs-border-radius) * 20 / 100);
  }

  @-moz-document url-prefix() {
    .cart-progress-bar__bar-container {
      justify-content: center;
    }

    .cart-progress-bar__progress-group {
      width: 100%;
    }

    .cart-progress-bar__progress[value]::-moz-progress-bar {
      background: var(--color-primary-button-background);
      border-radius: calc(var(--inputs-border-radius) * 20 / 100);
    }

    .cart-progress-bar__progress[value],
    .cart-progress-bar__progress[value]::-moz-progress-bar {
      border-radius: calc(var(--inputs-border-radius) * 20 / 100);
    }

    .cart-progress-bar__progress[value] {
      border: none;
      border-radius: calc(var(--inputs-border-radius) * 20 / 100);
    }
  }

  .cart-progress-bar__bar-container:has(.cart-progress-bar__progress_2) {
    .cart-progress-bar__progress_1[value]::-webkit-progress-bar,
    .cart-progress-bar__progress_1[value]::-webkit-progress-value {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
    }
  }

  .cart-progress-bar__progress_2[value]::-webkit-progress-bar,
  .cart-progress-bar__progress_2[value]::-webkit-progress-value {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  .cart-progress-bar__bar-container:has(.cart-progress-bar__progress_3) {
    .cart-progress-bar__progress_2[value]::-webkit-progress-bar,
    .cart-progress-bar__progress_2[value]::-webkit-progress-value {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
    }
  }

  .cart-progress-bar__progress_3[value]::-webkit-progress-bar,
  .cart-progress-bar__progress_3[value]::-webkit-progress-value {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
/* END_BLOCK:_cart-progress-bar */

/* START_BLOCK:_comparison-table-data (INDEX:91) */
.comparison-table__cell {
    padding: var(--padding-md);
    text-align: center;
    vertical-align: middle;
  }

  .comparison-table__cell > *:not(.text-block) {
    display: inline-block;
    vertical-align: middle;
  }

  .comparison-table__cell img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }

  .comparison-table__cell:empty {
    opacity: 0;
    background-color: transparent;
  }

  @media (width < 750px) {
    .comparison-table__cell {
      padding: var(--padding-sm);
      overflow: hidden;
      min-width: var(--cell-min-width-mobile);
    }
  }

  .highlight-column-1 {
    tr td:nth-child(1):not(:empty) {
      color: var(--color-highlighted-column);
      background-color: var(--color-highlighted-background-column);
    }

    tr:first-child td:nth-child(1):not(:empty) {
      border-top-left-radius: var(--card-border-radius);
      border-top-right-radius: var(--card-border-radius);
    }

    tr:last-child td:nth-child(1):not(:empty) {
      border-bottom-left-radius: var(--card-border-radius);
      border-bottom-right-radius: var(--card-border-radius);
    }
  }

  .highlight-column-2 {
    tr td:nth-child(2):not(:empty) {
      color: var(--color-highlighted-column);
      background-color: var(--color-highlighted-background-column);
    }

    tr:first-child td:nth-child(2):not(:empty) {
      border-top-left-radius: var(--card-border-radius);
      border-top-right-radius: var(--card-border-radius);
    }

    tr:last-child td:nth-child(2):not(:empty) {
      border-bottom-left-radius: var(--card-border-radius);
      border-bottom-right-radius: var(--card-border-radius);
    }
  }

  .highlight-column-3 {
    tr td:nth-child(3):not(:empty) {
      color: var(--color-highlighted-column);
      background-color: var(--color-highlighted-background-column);
    }

    tr:first-child td:nth-child(3):not(:empty) {
      border-top-left-radius: var(--card-border-radius);
      border-top-right-radius: var(--card-border-radius);
    }

    tr:last-child td:nth-child(3):not(:empty) {
      border-bottom-left-radius: var(--card-border-radius);
      border-bottom-right-radius: var(--card-border-radius);
    }
  }

  .highlight-column-4 {
    tr td:nth-child(4):not(:empty) {
      color: var(--color-highlighted-column);
      background-color: var(--color-highlighted-background-column);
    }

    tr:first-child td:nth-child(4):not(:empty) {
      border-top-left-radius: var(--card-border-radius);
      border-top-right-radius: var(--card-border-radius);
    }

    tr:last-child td:nth-child(4):not(:empty) {
      border-bottom-left-radius: var(--card-border-radius);
      border-bottom-right-radius: var(--card-border-radius);
    }
  }

  .highlight-column-5 {
    tr td:nth-child(5):not(:empty) {
      color: var(--color-highlighted-column);
      background-color: var(--color-highlighted-background-column);
    }

    tr:first-child td:nth-child(5):not(:empty) {
      border-top-left-radius: var(--card-border-radius);
      border-top-right-radius: var(--card-border-radius);
    }

    tr:last-child td:nth-child(5):not(:empty) {
      border-bottom-left-radius: var(--card-border-radius);
      border-bottom-right-radius: var(--card-border-radius);
    }
  }

  .highlight-column-6 {
    tr td:nth-child(6):not(:empty) {
      color: var(--color-highlighted-column);
      background-color: var(--color-highlighted-background-column);
    }

    tr:first-child td:nth-child(6):not(:empty) {
      border-top-left-radius: var(--card-border-radius);
      border-top-right-radius: var(--card-border-radius);
    }

    tr:last-child td:nth-child(6):not(:empty) {
      border-bottom-left-radius: var(--card-border-radius);
      border-bottom-right-radius: var(--card-border-radius);
    }
  }

  .highlight-column-7 {
    tr td:nth-child(7):not(:empty) {
      color: var(--color-highlighted-column);
      background-color: var(--color-highlighted-background-column);
    }

    tr:first-child td:nth-child(7):not(:empty) {
      border-top-left-radius: var(--card-border-radius);
      border-top-right-radius: var(--card-border-radius);
    }

    tr:last-child td:nth-child(7):not(:empty) {
      border-bottom-left-radius: var(--card-border-radius);
      border-bottom-right-radius: var(--card-border-radius);
    }
  }

  .highlight-column-8 {
    tr td:nth-child(8):not(:empty) {
      color: var(--color-highlighted-column);
      background-color: var(--color-highlighted-background-column);
    }

    tr:first-child td:nth-child(8):not(:empty) {
      border-top-left-radius: var(--card-border-radius);
      border-top-right-radius: var(--card-border-radius);
    }

    tr:last-child td:nth-child(8):not(:empty) {
      border-bottom-left-radius: var(--card-border-radius);
      border-bottom-right-radius: var(--card-border-radius);
    }
  }
/* END_BLOCK:_comparison-table-data */

/* START_BLOCK:_comparison-table-row (INDEX:92) */
.comparison-table__table tr:not(:last-child) {
    border-bottom: 1px solid var(--color-border);
  }
/* END_BLOCK:_comparison-table-row */

/* START_BLOCK:_custom_product_field (INDEX:93) */
.custom-product-field {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }
/* END_BLOCK:_custom_product_field */

/* START_BLOCK:_discount-code (INDEX:94) */
.cart-discount-block {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);

    .icon--keyboard_arrow_down {
      display: none;
    }
  }

  .cart-discount-block[data-visual-preview-mode] {
    width: 350px;
  }

  cart-discount {
    display: block;
  }

  .cart-discount__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;

    .textfield {
      width: 100%;
    }

    .textfield input {
      min-width: 100%;
      width: 100%;
    }
  }

  .cart-discount_button {
    min-width: 90px;
  }

  .cart-discount_badge-container {
    margin-top: var(--margin-sm);
  }

  .cart-discount_badge {
    justify-content: center;
    gap: 5px;
    padding-right: 5px !important;
  }

  .cart-discount_badge.loading {
    cursor: default;
    pointer-events: none;

    .cart-discount__discount-text,
    .cart-discount__remove-discount {
      opacity: 0.5;
    }
  }

  .cart-discount__remove-discount {
    cursor: pointer;
    height: 14px;
  }

  .cart-discount_badge .cart-discount__discount-text {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
/* END_BLOCK:_discount-code */

/* START_BLOCK:_fake-variant-link (INDEX:95) */
.fake-variant-picker__variant {
    appearance: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    min-height: var(--variant-button-min-height);
    min-width: var(--variant-button-min-width);
    max-width: max-content;
    font-size: var(--variant-button-font-size);
    outline: 1px solid transparent;
    transition: all var(--animation-speed-medium) var(--animation-easing);
    padding: var(--variant-button-padding-vertical) var(--variant-button-padding-horizontal);
    color: var(--color-variant-text);
    background-color: var(--color-variant-background);
    border: var(--variant-button-border-width) solid var(--color-variant-border);
    border-radius: var(--inputs-border-radius);
    font-weight: var(--button-primary-font-weight);
    text-transform: var(--button-primary-text-transform);
    letter-spacing: var(--button-letter-spacing);
  }

  .fake-variant-picker__variant--selected {
    background-color: var(--color-selected-variant-background);
    color: var(--color-selected-variant-text);
    border-color: var(--color-selected-variant-border);
  }
/* END_BLOCK:_fake-variant-link */

/* START_BLOCK:_fake-variant-picker (INDEX:96) */
.fake-variant-picker {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .fake-variant-picker__variants {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-sm);
  }
/* END_BLOCK:_fake-variant-picker */

/* START_BLOCK:_footer-bottom-bar (INDEX:97) */
.footer-bottom-bar {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    margin-top: var(--margin-top);
  }

  .footer-bottom-bar--top-border {
    border-top: var(--separator-border-width) solid var(--color-border);
  }

  .footer-bottom-bar__content {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    grid-template-rows: auto;
    gap: var(--gap-mobile);
    width: 100%;
  }

  @media (width > 750px) {
    .footer-bottom-bar__content {
      gap: var(--gap);
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_BLOCK:_footer-bottom-bar */

/* START_BLOCK:_footer-policy-list (INDEX:98) */
.policy-list {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .policy-list__links {
    display: flex;
    gap: var(--gap-xs) var(--padding-sm);
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;

    @media (width >750px) {
      justify-content: flex-start;
    }
  }

  .policy-list__link {
    text-decoration: underline;
    color: var(--color-foreground);
    transition: var(--animation-link-hover);
    font-size: var(--font-body--size-small);

    &:hover {
      opacity: var(--opacity-link-hover);
    }
  }
/* END_BLOCK:_footer-policy-list */

/* START_BLOCK:_header-drawer-menu-header (INDEX:100) */
.header-drawer-menu-header {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    margin-bottom: var(--margin-sm);
  }
/* END_BLOCK:_header-drawer-menu-header */

/* START_BLOCK:_header-drawer-menu-under-menu (INDEX:101) */
.header-drawer-menu-under-menu {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    margin-top: var(--margin-sm);
  }
/* END_BLOCK:_header-drawer-menu-under-menu */

/* START_BLOCK:_header-drawer-menu (INDEX:102) */
/* Menu mobile */
  .header__mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(var(--color-shadow));
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    -webkit-backdrop-filter: brightness(1);
    backdrop-filter: brightness(1);
    transition: opacity var(--animation-speed) var(--animation-easing), visibility var(--animation-speed) var(--animation-easing);
  }

  .header__mobile-menu-overlay.is-open {
    opacity: 1;
    visibility: visible;
    -webkit-backdrop-filter: brightness(0.75);
    backdrop-filter: brightness(0.75);
    transition: opacity var(--animation-speed) var(--animation-easing), visibility var(--animation-speed) var(--animation-easing),
      -webkit-backdrop-filter var(--animation-speed) var(--animation-easing), backdrop-filter var(--animation-speed) var(--animation-easing);
  }

  .header__mobile-menu {
    position: absolute;
    top: 0;
    left: 0;
    width: 90vw;
    max-width: 400px;
    height: 100%;
    background: var(--color-background);
    box-shadow: var(--modal-shadow);
    transform: translateX(-100%);
    display: flex;
    flex-direction: column;
  }

  .header__mobile-menu-overlay.is-open .header__mobile-menu {
    animation: modalSlideInLeft var(--animation-speed) var(--animation-easing) forwards;
  }

  .header__mobile-menu-overlay.is-closing .header__mobile-menu {
    animation: modalSlideOutLeft var(--animation-speed) var(--animation-easing) forwards;
  }

  .header__mobile-menu-header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: var(--padding-xs);
  }

  .header__mobile-menu-footer {
    padding: var(--padding-sm);
    border-top: var(--separator-border-width) solid var(--color-border);
  }

  .header__mobile-menu-close .icon--close {
    font-size: 22px !important;
  }

  .header__mobile-menu-nav {
    flex: 1;
    padding: var(--padding-md);
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
    overflow-y: auto;
  }

  .header__mobile-menu-nav--uppercase .header__mobile-menu-link-text {
    text-transform: uppercase;
  }

  .header__mobile-menu-link-text {
    font-weight: var(--font-weight);
  }

  .header__mobile-menu-link {
    display: block;
    padding: var(--padding-sm);
    text-decoration: none;
    color: inherit;
    font-size: var(--font-h6--size);
    border-radius: var(--inputs-border-radius);
    transition: background-color var(--animation-speed) var(--animation-easing);
  }

  .header__mobile-menu-link:hover {
    background-color: var(--color-input-border-low-opacity);
  }

  /* Accordéons des sous-menus */
  .header__mobile-menu-accordion {
    width: 100%;
  }

  .header__mobile-menu-accordion summary {
    list-style: none;
    cursor: pointer;
  }

  .header__mobile-menu-accordion summary::-webkit-details-marker {
    display: none;
  }

  .header__mobile-menu-link--parent,
  .header__mobile-menu-link--child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }

  .header__mobile-menu-link--parent .icon,
  .header__mobile-menu-link--child .icon {
    transition: transform var(--animation-speed-fast) var(--animation-easing);
    flex-shrink: 0;
  }

  .header__mobile-menu-accordion[open] > summary .icon {
    transform: rotate(180deg);
  }

  .header__mobile-menu-submenu {
    padding-left: var(--padding-sm);
  }

  /* Niveaux d'indentation */
  .header__mobile-menu-link--child {
    font-size: var(--font-body--size-emphasized);
    padding-left: var(--padding-sm);
  }

  .header__mobile-menu-link--grandchild {
    font-size: var(--font-body--size);
    padding-left: var(--padding-sm);
  }

  .header__mobile-menu-submenu--level-2 {
    padding-left: var(--padding-sm);
  }
/* END_BLOCK:_header-drawer-menu */

/* START_BLOCK:_header-megamenu-group (INDEX:103) */
.megamenu-group {
    gap: var(--gap);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    overflow: hidden;
    width: var(--width);
  }

  .megamenu-group.card {
    padding: var(--padding-vertical) var(--padding-horizontal);
  }

  shopify-visual-preview-block-list .megamenu-group[data-visual-preview-mode] {
    width: 100%;
    max-width: 450px;
  }

  .megamenu-group--flex {
    display: flex;
    flex-direction: var(--direction);
    flex-wrap: var(--wrap);
    justify-content: var(--justify);
    align-items: var(--align_items);
  }

  .megamenu-group--grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns), 1fr);
    grid-template-rows: auto;
  }
/* END_BLOCK:_header-megamenu-group */

/* START_BLOCK:_header-megamenu (INDEX:104) */
.custom-megamenu-content {
    gap: var(--gap);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    overflow: hidden;
  }

  .custom-megamenu-content--flex {
    display: flex;
    flex-direction: var(--direction);
    flex-wrap: var(--wrap);
    justify-content: var(--justify);
    align-items: var(--align_items);
  }

  .custom-megamenu-content--grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns), 1fr);
    grid-template-rows: auto;
  }
/* END_BLOCK:_header-megamenu */

/* START_BLOCK:_header-notification (INDEX:105) */
.header-notification {
    width: 100%;
    padding: var(--padding-xs);
    background: rgb(var(--color-background));
    border-radius: calc(var(--card-border-radius) - var(--padding-xs));
    transition: background-color var(--animation-speed) var(--animation-easing);
    font-size: var(--font-body--size);
  }

  .header-notification:hover {
    background-color: rgb(from var(--color-foreground) r g b / 5%);
    font-weight: 500;
  }

  .header-notification-link {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
    text-decoration: none;
    color: rgb(var(--color-foreground));
    width: 100%;
  }

  .header-notification-image {
    width: 50px;
    height: 50px;
    object-fit: cover;
    object-position: center center;
    border-radius: calc(var(--card-border-radius) - (var(--card-padding) * 0.67));
  }

  .header-notification-title {
    font-weight: 500;
  }
/* END_BLOCK:_header-notification */

/* START_BLOCK:_header-notifications (INDEX:106) */
.header-notifications {
    line-height: 0;
    position: relative;
  }

  .header-notifications__icon {
    position: relative;
    display: inline-block;
    cursor: pointer;
  }

  .header-notifications__popup {
    border: var(--container-border-width) solid var(--color-border);
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 240px;
    max-height: 350px;
    overflow-y: auto;
    padding: var(--padding-sm);
  }

  .header-notifications__list {
    display: flex;
    flex-direction: column;
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: var(--gap-sm);
  }
/* END_BLOCK:_header-notifications */

/* START_BLOCK:_image-banner (INDEX:107) */
.image-banner {
    position: relative;
    overflow: hidden;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    height: 100%;

    &.card {
      padding: 0;
    }
  }

  .image-banner__media-filter {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color);
    opacity: calc(var(--opacity) / 100);
    z-index: 1;
  }

  .image-banner__media {
    position: absolute;
    width: 100%;
    height: 100%;

    img,
    video,
    deferred-media,
    .placeholder-image {
      height: 100%;
      width: 100%;
      object-fit: cover;
      object-position: center center;
      border-radius: 0;
      overflow: hidden;
      position: relative;
    }

    /* Pour éviter les bandes noires sur desktop */
    .image-banner__external-video .deferred-media__video {
      position: relative;
      padding-bottom: 56.25%;
      height: 0;
      overflow: hidden;
    }

    .image-banner__external-video .deferred-media__video iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }

    /* Fix pour éliminer les bandes noires sur mobile */
    @media (width <= 1000px) {
      .image-banner__external-video {
        display: block;
        width: 100%;
        height: 100%;
        border-radius: 0;
      }

      .image-banner__external-video .deferred-media__video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        padding-bottom: 0;
      }

      .image-banner__external-video .deferred-media__video iframe {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 177.77vh; /* Pour un ratio 16:9 */
        height: 100vh;
        min-width: 100%;
        min-height: 100%;
      }
    }
  }

  .image-banner__content-wrapper {
    position: relative;
    width: 100%;
    z-index: 2;

    .image-banner__content {
      width: 100%;
      min-height: var(--banner-height-mobile);
      display: flex;
      flex-direction: column;
      justify-content: var(--justify-mobile);
      align-items: var(--align-items-mobile);
      padding: var(--padding-vertical) var(--padding-horizontal);
    }
  }

  @media (width > 750px) {
    .image-banner__content-wrapper .image-banner__content {
      min-height: var(--banner-height);
      justify-content: var(--justify);
      align-items: var(--align-items);
    }
  }
/* END_BLOCK:_image-banner */

/* START_BLOCK:_marquee-image (INDEX:108) */
.marquee-image-block {
    width: var(--width-mobile);

    @media (width > 750px) {
      width: var(--width-desktop);
    }
  }

  .marquee-image-block--height-fill .marquee-image-block__image {
    height: 100%;
  }

  .marquee-image-block__image {
    object-fit: cover;
    aspect-ratio: var(--ratio);
    width: 100%;
  }
/* END_BLOCK:_marquee-image */

/* START_BLOCK:_navigation-link (INDEX:109) */
.navigation-item {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
    justify-content: center;
    text-decoration: none;
    color: var(--color-foreground);
    min-width: fit-content;
    background-color: var(--color-background);
  }

  shopify-visual-preview-block-list .navigation-item[data-visual-preview-mode] {
    width: 150px;
  }

  .navigation__title {
    font-size: var(--font-body--size);
    color: var(--color-foreground);
    line-height: 1;
  }

  .navigation-item img {
    width: var(--image-width-mobile);
    height: var(--image-width-mobile);
    object-fit: cover;
    border-radius: 50px;
    overflow: hidden;
    object-position: center center;
    background-color: #f8f8f8;
  }

  .navigation--row .navigation-item {
    flex-direction: row;
    border-radius: calc(var(--small-multiplier) * var(--button-border-radius));
    border: var(--container-border-width) solid var(--color-border);
    padding: var(--padding-xxs) var(--padding-sm);
    transition: 0.3s;
    min-height: calc(var(--image-width-mobile) + 2 * var(--padding-xxs));

    img {
      border-radius: calc(calc(var(--small-multiplier) * var(--button-border-radius)) - var(--padding-xxs));
    }

    &.navigation-item--with-image {
      padding-left: var(--padding-xxs);
    }

    &.navigation-item--selected,
    &:hover {
      border: var(--container-border-width) solid var(--color-foreground);
    }
  }

  .navigation--column .navigation-item {
    flex-direction: column;

    .navigation__title {
      max-width: 100px;
      text-align: center;
    }

    img,
    .navigation-item__placeholder {
      outline: var(--container-border-width) solid var(--color-border);
      outline-offset: 0.2rem;
      transition: 0.3s;
    }

    &.navigation-item--selected img,
    &.navigation-item--selected .navigation-item__placeholder,
    &:hover img,
    &:hover .navigation-item__placeholder {
      outline: var(--container-border-width) solid var(--color-foreground);
      outline-offset: 0.2rem;
    }
  }

  @media (width > 750px) {
    .navigation-item img {
      width: var(--image-width-desktop);
      height: var(--image-width-desktop);
    }
  }
/* END_BLOCK:_navigation-link */

/* START_BLOCK:_password-form (INDEX:110) */
.password-form-container {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .password-form {
    margin-top: var(--margin-md);
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 300px;
    max-width: 100%;
    gap: var(--gap-md);
  }
/* END_BLOCK:_password-form */

/* START_BLOCK:_product-add-to-cart-button (INDEX:111) */
shopify-visual-preview-block-list .product-add-to-cart-button[data-visual-preview-mode] {
    width: 400px;
  }

  .product-add-to-cart-button {
    display: flex;
    flex-direction: row;
    gap: var(--gap-sm);
    align-items: center;
  }

  .sticky-add-to-cart {
    width: 100%;
  }

  .sticky-add-to-cart[data-active='false'] {
    bottom: -150px;
  }

  .sticky-add-to-cart[data-active='true'] {
    bottom: 0;
    position: fixed;
    left: 0;
    padding: var(--padding-sm) 0;
    z-index: 2;
    border-top: var(--separator-border-width) solid var(--color-border);
    transition: bottom 300ms ease-in-out;

    .sticky-add-to-cart__content {
      width: 100%;
      max-width: var(--page-width);
      margin: 0 auto;
      padding: 0 var(--page-margin-mobile);
    }
  }

  @media (width > 750px) {
    .sticky-add-to-cart[data-active='true'] {
      padding: var(--padding-md) 0;

      .sticky-add-to-cart__content {
        padding: 0 var(--page-margin-desktop);
      }
    }
  }

  .product-add-to-cart-button .button {
    container-type: inline-size;
  }

  #klaviyo-bis-button-container {
    margin-bottom: 0 !important;
  }

  #klaviyo-bis-button-container button {
    appearance: none !important;
    cursor: pointer !important;
    text-decoration: none !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    height: calc(var(--inputs-min-height) - (2 * var(--button-padding-vertical))) !important;
    font-size: var(--button-font-size) !important;
    outline: 1px solid transparent !important;
    transition: all var(--animation-speed-medium) var(--animation-easing) !important;
    padding: var(--button-padding-vertical) var(--button-padding-horizontal) !important;
    color: var(--color-primary-button-text) !important;
    background-color: var(--color-primary-button-background) !important;
    border: var(--button-primary-border-width) solid var(--color-primary-button-border) !important;
    border-radius: var(--button-border-radius) !important;
    font-weight: var(--button-primary-font-weight) !important;
    text-transform: var(--button-primary-text-transform) !important;
    width: -webkit-fill-available !important;
    font-family: var(--font-body--family) !important;
    font-weight: 500 !important;
  }

  .product-add-to-cart-button .full-add-to-cart-text {
    display: block;
  }

  .product-add-to-cart-button .small-add-to-cart-text {
    display: none;
  }

  @container (width < 200px) {
    .product-add-to-cart-button .button__separator,
    .product-add-to-cart-button .price-container {
      display: none;
    }

    .product-add-to-cart-button .full-add-to-cart-text {
      display: block;
    }

    .product-add-to-cart-button .small-add-to-cart-text {
      display: none;
    }
  }

  @container (width < 270px) {
    .product-add-to-cart-button .full-add-to-cart-text {
      display: none;
    }

    .product-add-to-cart-button .small-add-to-cart-text {
      display: block;
    }
  }
/* END_BLOCK:_product-add-to-cart-button */

/* START_BLOCK:_product-card-group (INDEX:112) */
.product-card-group-link {
    display: contents;
    color: inherit;
    text-decoration: none;
  }

  .product-card-group {
    display: flex;
    flex-direction: var(--direction-mobile);
    flex-wrap: var(--wrap-mobile);
    justify-content: var(--justify-mobile);
    align-items: var(--align_items-mobile);
    gap: var(--gap-mobile);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    overflow: hidden;
    width: 100%;
  }

  @media (width > 750px) {
    .product-card-group {
      flex-direction: var(--direction);
      flex-wrap: var(--wrap);
      justify-content: var(--justify);
      align-items: var(--align_items);
      gap: var(--gap);
    }
  }
/* END_BLOCK:_product-card-group */

/* START_BLOCK:_product-card-media-gallery (INDEX:113) */
.product-card-media-gallery-block {
    position: relative;
  }

  .product-card-media-gallery .splide__slide {
    margin-right: var(--card-padding) !important;
  }

  .product-card-media-gallery .splide__arrow {
    background-color: transparent;
    border: none;
  }

  .product-card-media-gallery__media {
    height: 100%;
  }

  .product-card-media-gallery__media--rounded {
    border-radius: var(--card-border-radius);
    overflow: hidden;
  }

  .product-card.card .product-card-media-gallery__media--rounded {
    border-radius: calc(var(--card-border-radius) - (var(--card-padding) * 0.5));
  }

  .slider-component--65-percent product-card-media-gallery .splide__list {
    width: 100%;
  }

  .product-card-media-gallery__add-to-wishlist-button {
    position: absolute;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-xs);
    bottom: var(--padding-xs);
    right: var(--padding-xs);
    background-color: transparent;
  }

  .product-card-media-gallery__add-to-wishlist-button .button {
    background-color: transparent;
  }

  @media (width > 750px) {
    product-card-media-gallery .splide__arrow,
    product-card-media-gallery .splide__arrow:disabled {
      opacity: 0;
      transition: opacity 0.2s ease-in-out;
    }

    product-card:hover product-card-media-gallery .splide__arrow {
      opacity: 1;
    }

    product-card:hover product-card-media-gallery .splide__arrow:disabled {
      opacity: 0.5;
    }

    .product-card-media-gallery__add-to-wishlist-button {
      opacity: 0;
      transition: opacity 0.2s ease-in-out;
    }

    .product-card:hover .product-card-media-gallery__add-to-wishlist-button {
      opacity: 1;
    }
  }
/* END_BLOCK:_product-card-media-gallery */

/* START_BLOCK:_product-card-quick-add (INDEX:114) */
.quick-add-component {
    display: block;
    width: 100%;
    cursor: auto;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .quick-add-component--aligned-at-bottom {
    margin-top: auto;
  }

  .quick-add-component .dialog-modal {
    overflow-x: hidden;
  }

  .quick-add-component .button {
    container-type: inline-size;
  }

  .quick-add-button .full-add-to-cart-text {
    display: block;
  }

  .quick-add-button .small-add-to-cart-text {
    display: none;
  }

  @container (width < 200px) {
    .quick-add-button .full-add-to-cart-text {
      display: none;
    }

    .quick-add-button .small-add-to-cart-text {
      display: block;
    }
  }

  .quick-add-component .dialog-modal__content {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }

  .quick-add-component .dialog-modal__content > * {
    margin-block: 0;
  }

  .quick-add-component .dialog-modal__content .fake-variant-picker,
  .quick-add-component .dialog-modal__content .slider-block,
  .quick-add-component .dialog-modal__content .stories__container {
    display: none;
  }

  .quick-add-component .product-section__medias--sticky,
  .quick-add-component .product-section__product-info--sticky {
    position: relative !important;
  }

  Neutralize sticky add-to-cart inside quick-add dialogs .quick-add-component .sticky-add-to-cart,
  .quick-add-component .sticky-add-to-cart[data-active='true'] {
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    padding: 0 !important;
    border-top: none !important;
    z-index: auto !important;
    transition: none !important;
  }
/* END_BLOCK:_product-card-quick-add */

/* START_BLOCK:_product-form (INDEX:117) */
shopify-visual-preview-block-list product-form[data-visual-preview-mode] {
    width: 400px;
  }

  .product-form__form {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_BLOCK:_product-form */

/* START_BLOCK:_product-media-gallery (INDEX:118) */
@media (width > 750px) {
    .product-media-gallery .splide__arrow,
    .product-media-gallery .splide__arrow:disabled,
    .product-media-gallery .splide__pagination {
      opacity: 0;
      transition: opacity 0.2s ease-in-out;
    }

    .product-media-gallery:hover .splide__arrow,
    .product-media-gallery:hover .splide__pagination {
      opacity: 1;
    }

    .product-media-gallery:hover .splide__arrow:disabled {
      opacity: 0.5;
    }
  }

  @media (width > 750px) {
    .product-media-gallery--grid {
      .splide__list {
        display: grid;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
        gap: var(--grid-gap);

        .product-media-gallery__media--full-width {
          grid-column: span var(--grid-columns);
        }
      }
      .product-media-gallery__thumbnails {
        display: none;
      }
    }
  }

  .product-media-gallery__media {
    height: 100%;
  }

  .product-media-gallery__media--rounded {
    border-radius: var(--card-border-radius);
    overflow: hidden;
  }

  .product-media-gallery .splide__arrow {
    background-color: transparent;
    border: none;
  }

  .product-media-gallery .splide__pagination {
    bottom: 5px;
  }

  .product-media-gallery__thumbnails {
    margin-top: 10px;
  }

  .product-media-gallery__thumbnail {
    position: relative;
    height: auto !important;

    .product-media-gallery__thumbnail-play-button {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.1);

      .icon--play_circle {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);

        position: absolute;
        font-size: 36px !important;
        color: var(--color-primary-button-text);
      }
    }
  }

  .product-media-gallery__thumbnail-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .product-media-gallery__thumbnail--rounded,
  .product-media-gallery__thumbnail--rounded .product-media-gallery__thumbnail-image,
  .product-media-gallery__thumbnail--rounded .product-media-gallery__thumbnail-play-button {
    border-radius: calc(var(--card-border-radius) - (var(--card-padding) * 0.5));
  }
/* END_BLOCK:_product-media-gallery */

/* START_BLOCK:_product-quantity-selector (INDEX:119) */
shopify-visual-preview-block-list .product-quantity-selector-block[data-visual-preview-mode] {
    width: 100px;
  }
/* END_BLOCK:_product-quantity-selector */

/* START_BLOCK:_product-variant-picker (INDEX:120) */
shopify-visual-preview-block-list variant-picker[data-visual-preview-mode] {
    width: 350px;
  }

  variant-picker {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .variant-picker__options {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .variant-picker__option {
    border: none;
    padding: 0;
  }

  .variant-picker__option-name {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--gap-sm);
  }

  .variant-picker__option-values {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-sm);
  }
/* END_BLOCK:_product-variant-picker */

/* START_BLOCK:_quantity-breaks-item (INDEX:122) */
.quantity-break {
    width: 100%;
    padding: var(--padding-md) var(--padding-xs);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: var(--padding-xs);
    justify-content: center;
    align-items: center;
    flex-grow: 1;
    height: 100%;
    overflow: hidden;
    min-width: 0;
    flex: 1 1 0;
    position: relative;
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    border: var(--inputs-border-width) solid var(--color-input-border);

    &.quantity-break--no-overflow {
      overflow: visible;
    }

    &.quantity-break--selected {
      border: var(--inputs-border-width) solid var(--color-selected-input-border);
    }

    &.quantity-break--disabled {
      opacity: 0.5;
      cursor: not-allowed;
    }

    &.quantity-break--with-image {
      padding: var(--padding-xs);
    }

    &:has(.quantity-break__banner--full-width) {
      gap: var(--gap-sm);
    }
  }

  .quantity-break__main-content {
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: center;
    gap: var(--padding-xs);
  }

  .quantity-break__price-and-title-container {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    align-items: center;
  }

  .quantity-break__title-and-badge-container {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
    flex-wrap: wrap;
    justify-content: center;
  }

  .quantity-break__title {
    font-size: var(--font-body--size);
    font-weight: 500;
    text-align: center;
    line-height: var(--font-body--size);
  }

  .quantity-break__description p,
  .quantity-break__description ul li,
  .quantity-break__description ol li {
    font-size: var(--font-body--size-small);
  }

  .quantity-break__description p {
    margin: 0;
  }

  .quantity-break__description ul {
    margin: 0;
    padding-left: var(--padding-xs);
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
  }

  .quantity-break__description ol {
    margin: 0;
    padding-left: calc(var(--padding-xs) * 2);
  }

  .quantity-break__description ul li {
    position: relative;
    padding-left: var(--padding-xs);
  }

  .quantity-break__description ul li::before {
    font-family: var(--icon-font);
    content: 'check';
    position: absolute;
    left: calc(-1 * var(--padding-xs));
  }

  .quantity-break__image-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;

    img {
      width: 100%;
      height: auto;
      object-fit: contain;
      border-radius: calc(var(--card-border-radius) - var(--padding-xs));
    }
  }

  .quantity-break__image-badge {
    position: absolute;
    background-color: var(--color-background);
    color: var(--color-foreground);
    font-size: var(--font-body--size-small);
    border-radius: calc(var(--card-border-radius) - (2 * var(--padding-xs)));
    z-index: 1;
    display: flex;
    width: 24px;
    height: 24px;
    justify-content: center;
    align-items: center;

    &.quantity-break__image-badge--topright {
      top: var(--padding-xs);
      right: var(--padding-xs);
    }

    &.quantity-break__image-badge--topleft {
      top: var(--padding-xs);
      left: var(--padding-xs);
    }

    &.quantity-break__image-badge--bottomright {
      bottom: var(--padding-xs);
      right: var(--padding-xs);
    }

    &.quantity-break__image-badge--bottomleft {
      bottom: var(--padding-xs);
      left: var(--padding-xs);
    }
  }

  .quantity-break__content {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: var(--gap-sm);
  }

  .quantity-break__price-container {
    display: flex;
    gap: var(--gap-xs);
    flex-wrap: wrap;
    justify-content: center;
    font-size: var(--font-body--size-small);
    color: var(--color-foreground);

    .quantity-break__price-container_unit-price {
      font-size: var(--font-body--size-small);
      opacity: 0.8;
      text-align: center;
    }
  }

  .quantity-break__banner {
    &.quantity-break__banner--full-width {
      width: calc(100% + 2 * var(--padding-xs));
      z-index: 1;
    }

    &.quantity-break__banner--full-width.quantity-break__banner--bottom {
      border-top-right-radius: 0;
      border-top-left-radius: 0;
      margin-bottom: calc(-1 * var(--padding-md));
    }

    &.quantity-break__banner--full-width.quantity-break__banner--top {
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 0;
      margin-top: calc(-1 * var(--padding-md));
    }

    &.quantity-break__banner--overlap {
      max-width: calc(max-content + var(--padding-xs));
      width: max-content;
      z-index: 1;
    }

    &.quantity-break__banner--overlap.quantity-break__banner--bottom {
      position: absolute;
      bottom: 0;
      transform: translateY(65%);
    }

    &.quantity-break__banner--overlap.quantity-break__banner--top {
      position: absolute;
      top: 0;
      transform: translateY(-65%);
    }
  }

  .quantity-break.quantity-break--with-image .quantity-break__banner {
    &.quantity-break__banner--full-width.quantity-break__banner--bottom {
      margin-bottom: calc(-1 * var(--padding-xs));
    }

    &.quantity-break__banner--full-width.quantity-break__banner--top {
      margin-top: calc(-1 * var(--padding-xs));
    }
  }

  .quantity-breaks-container--column {
    .quantity-break__description p,
    .quantity-break__description ul li {
      text-align: center;
    }

    .quantity-break__price-container .price-container .prices {
      align-items: center;
      justify-content: center;
    }

    .quantity-break__banner {
      &.quantity-break__banner--normal.quantity-break__banner--bottom {
        margin-bottom: calc(-1 * var(--padding-xs));
      }

      &.quantity-break__banner--normal.quantity-break__banner--top {
        margin-top: calc(-1 * var(--padding-xs));
      }
    }

    .quantity-break--with-image .quantity-break__banner {
      &.quantity-break__banner--normal.quantity-break__banner--bottom {
        margin-bottom: 0;
      }

      &.quantity-break__banner--normal.quantity-break__banner--top {
        margin-top: 0;
      }
    }

    .quantity-break--with-image {
      &:has(.quantity-break__banner--bottom.quantity-break__banner--overlap) {
        padding-bottom: var(--padding-md);
      }

      &:has(.quantity-break__banner--top.quantity-break__banner--overlap) {
        padding-top: var(--padding-md);
      }
    }
  }

  .quantity-breaks-container--row {
    .quantity-break {
      flex-direction: column;
      justify-content: flex-start;
      position: relative;
      flex: auto;
    }

    .quantity-break:not(.quantity-break--with-image) {
      padding: var(--padding-md);

      .quantity-break__banner--full-width {
        width: calc(100% + 2 * var(--padding-md));
      }
    }

    .quantity-break:has(.quantity-break__banner--overlap.quantity-break__banner--top) {
      margin-top: var(--margin-sm);
    }

    .quantity-break:has(.quantity-break__banner--overlap.quantity-break__banner--bottom) {
      margin-bottom: var(--margin-sm);
    }

    .quantity-break__main-content {
      flex-direction: row;
      gap: var(--gap-sm);
      align-items: flex-start;
    }

    .quantity-break__content {
      align-self: stretch;
      justify-content: center;
      width: 100%;
    }

    .quantity-break__image-container {
      width: auto;

      img {
        width: var(--image-width);
        max-width: var(--image-width);
      }
    }

    .quantity-break__price-and-title-container {
      align-items: flex-start;
    }

    .quantity-break__title-and-badge-container {
      justify-content: flex-start;
      gap: var(--gap-sm);
    }

    .quantity-break__banner {
      &.quantity-break__banner--normal {
        position: absolute;
        right: var(--padding-xs);
      }

      &.quantity-break__banner--normal.quantity-break__banner--top {
        top: var(--padding-xs);
      }

      &.quantity-break__banner--normal.quantity-break__banner--bottom {
        bottom: var(--padding-xs);
      }

      &.quantity-break__banner--overlap {
        right: var(--padding-xs);
      }
    }
  }

  .quantity-breaks-container.quantity-breaks-container--top {
    align-items: flex-end;
  }

  .quantity-breaks-container.quantity-breaks-container--bottom {
    align-items: flex-start;
  }

  /* Sélection de variante */

  .quantity-break__variant-picker-container {
    display: none;
  }

  .quantity-breaks--with-variant-picker .quantity-break--selected .quantity-break__variant-picker-container {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }

  .quantity-break__variant-picker-row {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
  }

  .quantity-break__variant-thumbnail {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: calc(var(--card-border-radius) - var(--padding-md));
    overflow: hidden;
    background-color: var(--color-background);

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  .quantity-break__variant-thumbnail--hidden {
    display: none;
  }

  .quantity-breaks:not([data-show-variant-thumbnail='true']) .quantity-break__variant-thumbnail {
    display: none;
  }

  /* Cross-sell */

  .quantity-break__cross-sells {
    display: none;
    flex-direction: column;
    width: calc(100% + 2 * var(--padding-xs));
    margin-bottom: calc(-1 * var(--padding-xs));
    border-top: var(--separator-border-width) solid var(--color-input-border);
    padding: var(--padding-xs) var(--padding-sm);
    gap: var(--gap-sm);
  }

  .quantity-break:not(.quantity-break--with-image) .quantity-break__cross-sells {
    margin-bottom: calc(-1 * var(--padding-md));
  }

  .quantity-breaks-container--row .quantity-break:not(.quantity-break--with-image) .quantity-break__cross-sells {
    width: calc(100% + 2 * var(--padding-md));
  }

  .quantity-breaks-container--column .quantity-break:not(.quantity-break--with-image) .quantity-break__cross-sells {
    width: calc(100% + 2 * var(--padding-xs));
  }

  .quantity-breaks-container--column {
    .quantity-break__cross-sells {
      padding: var(--padding-xs);
    }

    .quantity-break__cross-sell-image {
      display: none;
    }

    .quantity-break__cross-sell-info {
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
      gap: var(--gap-xs);
    }

    .quantity-break__cross-sell-title {
      font-size: var(--font-body--size-small);
    }
  }

  .quantity-break--selected .quantity-break__cross-sells {
    display: flex;
  }

  .quantity-break__cross-sell {
    display: flex;
    align-items: center;
    width: 100%;
  }

  .quantity-break__cross-sell-image {
    flex-shrink: 0;
    margin-right: var(--margin-sm);
  }

  .quantity-break__cross-sell-image img {
    display: block;
    width: 34px;
    height: 34px;
    object-fit: cover;
    border-radius: calc(var(--card-border-radius) - var(--padding-sm));
  }

  .quantity-break__cross-sell-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gap-xs);
    flex-wrap: wrap;
    flex: 1;
  }

  .quantity-break__cross-sell-title {
    font-size: var(--font-body--size);
    font-weight: 500;
  }

  .quantity-break__cross-sell-price {
    font-size: var(--font-body--size-small);
  }

  .quantity-break__cross-sell-price .price-container {
    justify-content: flex-start;
  }

  quantity-break-variant-picker {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;

    &:not(:last-child) {
      margin-bottom: 1rem;
    }

    .form__label {
      margin: 0;
    }

    .quantity-break__variant-picker-container__option--dropdown {
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }
  }
/* END_BLOCK:_quantity-breaks-item */

/* START_BLOCK:_quantity-breaks (INDEX:123) */
.quantity-breaks {
    display: block;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .quantity-breaks[data-visual-preview-mode] {
    width: 450px;
  }

  .product-form__form .toggle-cross-sell:not(:first-of-type) {
    display: none;
  }

  .quantity-breaks-container {
    display: flex;
    flex-direction: row;
    gap: 10px;
  }

  .quantity-breaks-container.quantity-breaks-container--row {
    flex-direction: column;
  }

  .product-section__product-info:has(.quantity-breaks) .product-quantity-selector-block,
  .quantity-breaks--hidden {
    display: none;
  }

  .product-section__product-info:has(.quantity-breaks--with-variant-picker) variant-picker,
  .product-section__product-info:has(.quantity-breaks--with-variant-picker) .subscription {
    display: none;
  }
/* END_BLOCK:_quantity-breaks */

/* START_BLOCK:_slide (INDEX:125) */
.slide {
    display: flex;
    flex-direction: var(--direction);
    flex-wrap: var(--wrap);
    justify-content: var(--justify);
    align-items: var(--align_items);
    gap: var(--gap);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    overflow: hidden;
    width: 100%;
    height: 100%;
  }
/* END_BLOCK:_slide */

/* START_BLOCK:_social-icon (INDEX:126) */
.social-icon__icon {
    transition: var(--animation-link-hover);
  }

  .social-icon__icon:hover {
    opacity: var(--opacity-link-hover);
  }
/* END_BLOCK:_social-icon */

/* START_BLOCK:_story (INDEX:127) */
.story {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    appearance: none;
    border: none;
    background-color: transparent;
    cursor: pointer;
    max-width: 65px;
    padding: 0;
    margin: 0;
  }

  .story__bubble {
    border-radius: 50%;
    position: relative;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    width: 55px;
    height: 55px;

    .icon {
      font-size: 32px !important;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
      color: white;
    }

    &:hover {
      transform: scale(102%);
    }

    &:before {
      width: 60px;
      height: 60px;
      content: '';
      background-color: #fff;
      border-radius: 50%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
    }

    &:after {
      content: '';
      width: 65px;
      height: 65px;
      background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
      border-radius: 50%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 1;
    }

    img {
      z-index: 3;
      width: 55px;
      height: 55px;
      border-radius: 50%;
      position: relative;
      overflow: hidden;
      cursor: pointer;
      z-index: 2;
      object-fit: cover;
    }
  }

  .story__bubble-label {
    font-size: var(--font-body--size-small);
    padding: 0;
    margin: 0;
    color: var(--color-foreground);
  }

  .story-slider__slide {
    /* border-radius: var(--card-border-radius); */
    overflow: hidden;
  }

  .story-slider__slide img,
  .story-slider__slide video {
    aspect-ratio: 3/5;
    object-fit: cover;
    max-width: 100%;
    height: 100%;
  }

  .story__slider {
    height: 100%;

    & > .splide__track {
      height: 100%;
    }

    & > .splide__arrows > .splide__arrow {
      height: 100%;
      width: 50%;
      border: none;
      background-color: transparent;
      color: var(--color-foreground);
    }

    & > .splide__arrows > .splide__arrow--prev {
      left: 0;
      justify-content: flex-start;

      .icon {
        margin-left: 1rem;
      }
    }

    & > .splide__arrows > .splide__arrow--next {
      right: 0;
      justify-content: flex-end;

      .icon {
        margin-right: 1rem;
      }
    }

    .splide__arrow:disabled {
      opacity: 0.5;
    }
  }

  .story__header {
    position: absolute;
    left: 0;
    top: 0;
    padding: var(--padding-md);
    width: 100%;
    z-index: 1;
    background: linear-gradient(0deg, #0000 6.99%, #00000080 163.32%);

    /* Force GPU layer pour iOS */
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform;
  }

  .story__progress-bars {
    display: flex;
    flex-direction: row;
    gap: 3px;
  }

  .story__progress-bar {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    flex: 1;
    min-width: 0;
    height: 2.5px;
  }

  .story__progress-bar[value]::-webkit-progress-bar {
    background-color: rgb(from white r g b / 15%);
    border-radius: var(--card-border-radius);
  }

  .story__progress-bar[value]::-webkit-progress-value {
    background-color: white;
    border-radius: var(--card-border-radius);
  }

  .story__heading {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    padding: var(--margin-md) 0;
    gap: var(--gap-sm);
    font-size: var(--font-body--size-small);
    color: white;

    img {
      border-radius: 50%;
      width: 32px;
      height: 32px;
      object-fit: cover;
    }
  }
/* END_BLOCK:_story */

/* START_BLOCK:_subscription (INDEX:128) */
.subscription {
    display: block;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .subscription[data-visual-preview-mode] {
    width: 450px;
  }

  /* Par défaut Shopify affiche un message de consentement sous le bouton d'achat rapide, on le cache */
  #shopify-buyer-consent {
    display: none;
  }

  .subscription__options {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }

  .subscription__option {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    padding: var(--padding-md);
    cursor: pointer;
    transition: border-color 0.2s ease;
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    border: var(--inputs-border-width) solid var(--color-input-border);
  }

  .subscription__option.subscription__option--selected {
    border: var(--inputs-border-width) solid var(--color-selected-input-border);
  }

  .subscription__option-radio {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
  }

  .subscription__option .radio > .radio__label {
    font-size: var(--font-body--size);
    font-weight: 500;
  }

  .subscription__option-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--gap-sm);
    width: 100%;
  }

  .subscription__option-price {
    flex-shrink: 0;
  }

  .subscription__option-price .prices {
    font-size: var(--font-body--size);
  }

  .subscription__frequency {
    width: 100%;
  }

  .subscription__frequency-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-sm);
    border: none;
    padding: 0;
  }

  .subscription__frequency-button input {
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    position: absolute;
    height: 1px;
    width: 1px;
  }

  .subscription__frequency-button input + label {
    appearance: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: var(--variant-button-font-size);
    transition: all var(--animation-speed-medium) var(--animation-easing);
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    border: var(--inputs-border-width) solid var(--color-input-border);
    font-weight: var(--button-primary-font-weight);
    text-transform: var(--button-primary-text-transform);
    letter-spacing: var(--button-letter-spacing);
    padding: calc(var(--button-padding-vertical) / 2) calc(var(--button-padding-horizontal) * var(--small-multiplier));
    min-height: calc(var(--small-multiplier) * var(--inputs-min-height));
    min-width: calc(var(--small-multiplier) * var(--inputs-min-width));
    border-radius: calc(var(--small-multiplier) * var(--button-border-radius));
  }

  .subscription__frequency-button input:checked + label {
    background-color: var(--color-selected-input-background);
    color: var(--color-selected-input-text);
    border-color: var(--color-selected-input-border);
  }

  .subscription__option-description p,
  .subscription__option-description ul li,
  .subscription__option-description ol li {
    font-size: var(--font-body--size-small);
  }

  .subscription__option-description p {
    margin: 0;
  }

  .subscription__option-description ul {
    margin: 0;
    padding-left: var(--padding-xs);
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
  }

  .subscription__option-description ol {
    margin: 0;
    padding-left: calc(var(--padding-xs) * 2);
  }

  .subscription__option-description ul li {
    position: relative;
    padding-left: var(--padding-xs);
  }

  .subscription__option-description ul li::before {
    font-family: var(--icon-font);
    content: 'check';
    position: absolute;
    left: calc(-1 * var(--padding-xs));
  }
/* END_BLOCK:_subscription */

/* START_BLOCK:_tab (INDEX:129) */
.tab__button {
    appearance: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    min-height: var(--tab-button-min-height);
    width: max-content;
    font-size: var(--tab-button-font-size);
    outline: 1px solid transparent;
    transition: all var(--animation-speed-medium) var(--animation-easing);
    padding: var(--tab-button-padding-vertical) var(--tab-button-padding-horizontal);
    color: var(--color-tab-text);
    background-color: var(--color-tab-background);
    border: var(--tab-button-border-width) solid var(--color-tab-border);
    border-radius: calc(var(--small-multiplier) * var(--button-border-radius));
    font-weight: var(--button-primary-font-weight);
    text-transform: var(--button-primary-text-transform);
    letter-spacing: var(--button-letter-spacing);
  }

  .tab.active .tab__button {
    background-color: var(--color-selected-tab-background);
    color: var(--color-selected-tab-text);
    border-color: var(--color-selected-tab-border);
  }
/* END_BLOCK:_tab */

/* START_BLOCK:_toggle-cross-sell (INDEX:130) */
.toggle-cross-sell {
    display: block;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .toggle-cross-sell[data-visual-preview-mode] {
    width: 400px;
  }

  .product-form__form .toggle-cross-sell:not(:first-of-type) {
    display: none;
  }

  .toggle-cross-sell__content {
    margin-bottom: var(--margin-sm);
  }

  .toggle-cross-sell__description p {
    margin: 0;
    line-height: normal;
    font-size: var(--font-body--size);
  }

  .toggle-cross-sell__products {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    width: 100%;
  }

  .toggle-cross-sell__product {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    /* min-height: 50px; */
    gap: var(--gap-md);
    overflow: hidden;
    cursor: pointer;
    border-radius: var(--card-border-radius);
    padding: var(--padding-xs);
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    border: var(--inputs-border-width) solid var(--color-input-border);
  }

  .toggle-cross-sell__product:has(input[type='checkbox']:checked) {
    border-color: var(--color-selected-input-border);
  }

  .toggle-cross-sell__product-image img {
    display: block;
    min-width: 55px;
    width: 55px;
    border-radius: calc(var(--card-border-radius) - var(--margin-sm));
  }

  .toggle-cross-sell__product-image--wide img {
    object-fit: cover;
    min-height: 100%;
    border-radius: 0;
  }

  .toggle-cross-sell__product-container {
    display: flex;
    flex-direction: row;
    cursor: auto;
    gap: var(--gap-sm);
  }

  .toggle-cross-sell__product-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--gap-sm);
  }

  .toggle-cross-sell__product-content--no-image {
    margin-left: var(--margin-sm);
  }

  .toggle-cross-sell__product-header {
    display: flex;
    gap: var(--gap-xs);
    flex-wrap: wrap;
    flex-direction: column;
  }

  .toggle-cross-sell__product-title {
    margin: 0;
    font-size: var(--font-body--size);
    font-weight: 500;
    text-decoration: none;
    color: inherit;
  }

  .toggle-cross-sell__product-price-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--gap-sm);
    font-size: var(--font-body--size-small);
  }

  .toggle-cross-sell__product .checkbox,
  .toggle-cross-sell__product .button {
    margin-right: var(--margin-sm);
  }

  .toggle-cross-sell__text-add,
  .toggle-cross-sell__text-added,
  .toggle-cross-sell__text-remove {
    display: none;
  }

  .toggle-cross-sell__product .button.button--secondary .toggle-cross-sell__text-add {
    display: block;
  }

  .toggle-cross-sell__product .button.button--active:not(:hover) .toggle-cross-sell__text-added {
    display: block;
  }

  .toggle-cross-sell__product .button.button--active:hover .toggle-cross-sell__text-remove {
    display: block;
  }
/* END_BLOCK:_toggle-cross-sell */

/* START_BLOCK:accordions (INDEX:131) */
.accordions {
    width: 100%;
  }

  shopify-visual-preview-block-list .accordions[data-visual-preview-mode] {
    width: 450px;
  }

  .accordion-block {
    flex: 1;
    width: 100%;
  }

  .accordions--dividers .accordion-block:not(:last-child) .accordion {
    border-bottom: var(--separator-border-width) solid var(--color-border);
  }

  .accordions--dividers .accordion .details-content {
    padding-block-end: var(--padding-sm);
  }

  .accordions--caret .accordion__icons-add,
  .accordions--add .icon--keyboard_arrow_down {
    display: none;
  }
/* END_BLOCK:accordions */

/* START_BLOCK:badges (INDEX:132) */
.badges {
    justify-content: var(--alignment-mobile);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  @media (width > 750px) {
    .badges {
      justify-content: var(--alignment);
    }
  }
/* END_BLOCK:badges */

/* START_BLOCK:before-after (INDEX:133) */
.before-after-block {
    width: var(--width-mobile);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    position: relative;
  }

  .before-after-block__container {
    position: relative;
    width: 100%;
    aspect-ratio: var(--ratio);
    overflow: hidden;
    border-radius: var(--card-border-radius);
  }

  .before-after-block__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .before-after-block__image--before {
    clip-path: inset(0 50% 0 0);
    transition: clip-path 0.1s ease-out;
  }

  .before-after-block__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .before-after-block__slider {
    position: absolute;
    top: 0;
    left: 50%;
    width: 4px;
    height: 100%;
    background-color: transparent;
    cursor: ew-resize;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .before-after-block__slider-line {
    width: 3px;
    height: 100%;
    background-color: var(--color-background);
  }

  .before-after-block__slider-handle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    background-color: var(--color-background);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: grab;
    transition: transform 0.1s ease-out;
    border: var(--button-secondary-border-width) solid var(--color-secondary-button-border);
  }

  .before-after-block__slider-handle:active {
    cursor: grabbing;
    transform: translate(-50%, -50%) scale(1.1);
  }

  .before-after-block__slider-icon {
    width: 16px;
    height: 16px;
    color: var(--color-text);
  }

  @media (width > 750px) {
    .before-after-block__slider-handle {
      width: 48px;
      height: 48px;
    }

    .before-after-block__slider-icon {
      width: 20px;
      height: 20px;
    }
  }

  .before-after-block__label {
    position: absolute;
    top: 1rem;
    pointer-events: none;
  }

  .before-after-block__label--before {
    left: 1rem;
  }

  .before-after-block__label--after {
    right: 1rem;
  }

  .before-after-block__label.badge--custom {
    background-color: var(--badge-custom-background);
    color: var(--badge-custom-text);
    border: var(--badge-primary-border-width) solid var(--badge-custom-border);
  }

  @media (width > 750px) {
    .before-after-block {
      width: var(--width-desktop);
    }
  }

  shopify-visual-preview-block-list .before-after-block[data-visual-preview-mode] {
    width: 100%;
    max-width: 600px;
  }
/* END_BLOCK:before-after */

/* START_BLOCK:button (INDEX:134) */
.button-block {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .button-block--full-width {
    width: 100%;
  }
/* END_BLOCK:button */

/* START_BLOCK:collection-featured (INDEX:135) */
.block-collection-featured {
    width: 100%;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .block-collection-featured .splide__arrow {
    display: none !important;
  }

  .block-collection-featured__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .block-collection-featured__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .block-collection-featured__grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_BLOCK:collection-featured */

/* START_BLOCK:collections-featured (INDEX:136) */
.block-collections-featured {
    width: 100%;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .block-collections-featured__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .block-collections-featured__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .block-collections-featured__grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_BLOCK:collections-featured */

/* START_BLOCK:contact-form (INDEX:137) */
.contact-form {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    width: 100%;
  }

  shopify-visual-preview-block-list .contact-form[data-visual-preview-mode] {
    max-width: 500px;
  }
/* END_BLOCK:contact-form */

/* START_BLOCK:copyright (INDEX:138) */
.footer-copyright {
    display: flex;
    align-items: center;
    justify-content: var(--alignment-mobile);
  }

  @media (width > 750px) {
    .footer-copyright {
      justify-content: var(--alignment);
    }
  }

  .footer-copyright__text,
  .footer-copyright__text > a {
    color: var(--color-foreground);
    text-decoration: none;
    font-size: var(--font-body--size-small);
  }

  .footer-copyright__text > a {
    transition: var(--animation-link-hover);

    &:hover {
      opacity: var(--opacity-link-hover);
    }
  }
/* END_BLOCK:copyright */

/* START_BLOCK:countdown (INDEX:139) */
.countdown {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    padding: var(--padding-md);
  }

  .countdown:not(.card) {
    padding: 0;
    background-color: inherit;
    color: inherit;
  }

  shopify-visual-preview-block-list .countdown[data-visual-preview-mode] {
    width: 300px;
  }

  date-counter {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--gap-sm);
    margin: 0;
  }

  .countdown__timer {
    display: flex;
    gap: var(--gap-sm);
    width: 100%;
    justify-content: center;
  }

  .countdown__timer-card:not(:last-child)::after {
    content: '';
    position: absolute;
    right: calc(-1 * var(--gap-sm) / 2 - 1px);
    top: calc(50%);
    transform: translateY(-50%);
    width: 1.5px;
    border-radius: 3px;
    height: 60%;
    background-color: var(--color-foreground);
    opacity: 0.2;
  }

  .countdown__timer--background .countdown__timer-card:not(:last-child)::after,
  .countdown__timer--border .countdown__timer-card:not(:last-child)::after {
    display: none;
  }

  .countdown__timer-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: fit-content;
    position: relative;
  }

  .countdown__timer-value {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 var(--padding-md) var(--padding-xxs);
    height: calc(var(--countdown-timer-font-size) + var(--padding-xxs));
    border-radius: 3px;
    line-height: 1;
    font-weight: var(--countdown-timer-font-weight);
    font-size: var(--countdown-timer-font-size);
  }

  .countdown__timer--background .countdown__timer-value {
    background-color: var(--color-foreground);
    color: var(--color-background);
    padding: var(--padding-sm);
    margin-bottom: var(--margin-xs);
  }

  .countdown__timer--border .countdown__timer-value {
    background-color: var(--color-background);
    border: 1px solid var(--color-border);
    padding: var(--padding-sm);
    margin-bottom: var(--margin-xs);
  }

  .countdown__timer-label {
    font-size: 10px;
    text-align: center;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0.8;
  }

  .countdown__timer-ended p {
    font-weight: 500;
  }
/* END_BLOCK:countdown */

/* START_BLOCK:cross-sell (INDEX:140) */
cross-sell-component {
    display: block;
    container-type: inline-size;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    width: 100%;
  }

  shopify-visual-preview-block-list cross-sell-component.cross-sell--row[data-visual-preview-mode] {
    width: 400px;
  }

  shopify-visual-preview-block-list cross-sell-component.cross-sell--column[data-visual-preview-mode] {
    width: 200px;
  }

  .cross-sell {
    display: grid;
    grid-template-columns: auto 1fr 1fr;
    gap: var(--padding-sm);
    grid-template-areas: 'image content content';
    padding: var(--padding-sm);
    border: var(--container-border-width) solid var(--color-border);
  }

  .cart__footer .cross-sell {
    border-radius: calc(var(--card-border-radius) - (var(--card-padding) * 0.5));
  }

  .cross-sell--column .cross-sell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    .cross-sell__content,
    .cross-sell__actions,
    .cross-sell__heading {
      justify-content: center;
      align-items: center;
      flex-direction: column;
      text-align: center;
    }

    .cross-sell__content,
    .cross-sell__actions,
    .cross-sell__form,
    .cross-sell__form .button {
      min-width: 100%;
    }
  }

  .cross-sell--no-image {
    grid-template-areas: 'content content content';
  }

  .cross-sell__image {
    width: 100%;
    grid-area: image;
    max-width: var(--image-width);
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: calc(var(--card-border-radius) - var(--padding-sm));
  }

  .cross-sell__content {
    grid-area: content;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: var(--padding-xs);
  }

  .cross-sell__heading {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--padding-xs);
    /* flex-wrap: wrap; */
  }

  .cross-sell__heading .prices {
    font-size: var(--font-body--size-small);
  }

  .cross-sell__title-and-description {
    display: flex;
    flex-direction: column;
  }

  .cross-sell__title {
    line-height: normal;
    font-weight: 600;
    font-size: var(--font-body--size);
    margin: 0;
  }

  .cross-sell__description p {
    margin: 0;
    /* line-height: normal; */
    font-size: var(--font-body--size-small);
  }

  .cross-sell__actions {
    display: flex;
    gap: var(--padding-xs);
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
  }

  .cross-sell__selects {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    width: 100%;
    flex: 1;
    gap: var(--gap-xs);
  }

  .cross-sell__select-label {
    font-size: var(--font-body--size-small);
    margin-bottom: var(--padding-xs);
    line-height: normal;
  }

  .cross-sell__select {
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  /* .cross-sell__select:not(.hidden):not(:last-child) {
    margin-right: var(--padding-sm);
  } */

  @container (width < 350px) {
    .cross-sell--row .cross-sell {
      gap: var(--gap-sm);
    }

    .cross-sell__actions .button {
      min-width: 60px;
      padding: calc(var(--button-padding-vertical) / 2) calc(var(--button-padding-horizontal) * var(--small-multiplier) / 2);
    }

    .cross-sell__image {
      max-width: 65px;
    }
  }
/* END_BLOCK:cross-sell */

/* START_BLOCK:custom-code (INDEX:141) */
.custom-code-block {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }
/* END_BLOCK:custom-code */

/* START_BLOCK:delivery-estimation (INDEX:142) */
.delivery-estimation {
    display: block;
    font-size: var(--font-body--size);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .delivery-estimation[data-visual-preview-mode] {
    width: 300px;
  }

  .delivery-estimation__content {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    align-items: center;
    justify-content: var(--alignment-mobile);

    .icon {
      font-size: 18px !important;
      width: 18px !important;
      height: 18px !important;
      margin-right: var(--margin-xs);
    }
  }

  @media (width > 750px) {
    .delivery-estimation__content {
      justify-content: var(--alignment);
    }
  }
/* END_BLOCK:delivery-estimation */

/* START_BLOCK:filters-and-sort (INDEX:143) */
.filter-and-sort--loading .filter-list,
  .filter-and-sort--loading sort-component,
  .filter-and-sort--loading sort-inline-component,
  .filter-and-sort--loading .filters__clear-all {
    opacity: 0.5;
    pointer-events: none;
  }

  .filter-and-sort__inline,
  .filter-and-sort__sidebar {
    display: none;
  }

  .filter-and-sort__sort-only {
    display: flex;
    justify-content: flex-end;
    width: 100%;
  }

  @media (width > 750px) {
    .filter-and-sort:not(.filter-and-sort--menu) .filter-and-sort__mobile {
      display: none;
    }

    .filter-and-sort--inline .filter-and-sort__inline {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: var(--gap-sm);
    }

    .filter-and-sort--sidebar .filter-and-sort__sidebar {
      display: block;
    }

    .filter-and-sort--sidebar.filter-and-sort--sticky .filter-and-sort__sidebar {
      height: fit-content;
      position: sticky;
      top: calc(var(--header-height, 0px) + var(--padding-md));
    }
  }
/* END_BLOCK:filters-and-sort */

/* START_BLOCK:group (INDEX:144) */
.group {
    gap: var(--gap-mobile);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    overflow: hidden;
    width: var(--width-mobile);
  }

  .group.card {
    padding: var(--padding-vertical) var(--padding-horizontal);
  }

  shopify-visual-preview-block-list .group[data-visual-preview-mode] {
    width: 100%;
    max-width: 450px;
  }

  .group--flex {
    display: flex;
    flex-direction: var(--direction-mobile);
    flex-wrap: var(--wrap-mobile);
    justify-content: var(--justify-mobile);
    align-items: var(--align_items-mobile);
  }

  .group--grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    grid-template-rows: auto;
  }

  @media (width > 750px) {
    .group {
      gap: var(--gap);
      width: var(--width);
    }

    .group--flex {
      flex-direction: var(--direction);
      flex-wrap: var(--wrap);
      justify-content: var(--justify);
      align-items: var(--align_items);
    }

    .group--grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_BLOCK:group */

/* START_BLOCK:icon-with-text (INDEX:145) */
.icon-with-text {
    display: flex;
    gap: var(--gap-mobile);
    overflow: hidden;
    width: 100%;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .icon-with-text .text-block {
    margin-top: 0;
    margin-bottom: 0;
  }

  .icon-with-text--row-mobile {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
  }

  .icon-with-text--column-mobile {
    flex-direction: column;
    align-items: center;
    justify-content: center;

    .text-block.paragraph p {
      text-align: center;
    }
  }

  shopify-visual-preview-block-list .icon-with-text[data-visual-preview-mode] {
    width: 100%;
    max-width: 350px;
  }

  .text-block.paragraph p {
    font-weight: var(--font-weight);
  }

  .text-block.paragraph a {
    color: inherit;
  }

  @media (width > 750px) {
    .icon-with-text {
      gap: var(--gap);
    }

    .icon-with-text--row-desktop {
      flex-direction: row;
      align-items: center;
      justify-content: flex-start;

      .text-block.paragraph p {
        text-align: left;
      }
    }

    .icon-with-text--column-desktop {
      flex-direction: column;
      align-items: center;
      justify-content: center;

      .text-block.paragraph p {
        text-align: center;
      }
    }
  }
/* END_BLOCK:icon-with-text */

/* START_BLOCK:image-card (INDEX:147) */
.image-card {
    position: relative;
    overflow: hidden;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    text-decoration: none;
    color: var(--color-foreground);
    width: 100%;
    height: 100%;
    display: block;

    &.card {
      padding: 0;
    }
  }

  shopify-visual-preview-block-list .image-card[data-visual-preview-mode] {
    width: 350px;
  }

  .image-card__image-filter {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color);
    opacity: calc(var(--opacity) / 100);
    z-index: 1;
  }

  .image-card__image {
    position: absolute;
    width: 100%;
    height: 100%;

    img,
    .placeholder-image {
      height: 100%;
      width: 100%;
      object-fit: cover;
      object-position: center center;
      border-radius: 0;
      overflow: hidden;
      position: relative;
    }
  }

  .image-card__content-wrapper {
    position: relative;
    width: 100%;
    z-index: 2;
    padding: var(--card-padding);
    height: 100%;

    .image-card__content {
      width: 100%;
      min-height: var(--image-height);
      height: 100%;
      display: flex;
      flex-direction: column;
      gap: var(--gap-xxs);
      justify-content: var(--justify);
      align-items: var(--align_items);
    }
  }

  /* L'overlay passe au-dessus du filtre */
  .image-card .stretched-link__overlay {
    z-index: 2;
  }
  /* Le content-wrapper reste visuellement au-dessus, 
   mais transparent aux clics */
  .image-card.stretched-link .image-card__content-wrapper {
    z-index: 3;
    pointer-events: none;
  }
  /* Les éléments interactifs récupèrent les clics */
  .image-card.stretched-link .image-card__content-wrapper a,
  .image-card.stretched-link .image-card__content-wrapper button,
  .image-card.stretched-link .image-card__content-wrapper input,
  .image-card.stretched-link .image-card__content-wrapper select,
  .image-card.stretched-link .image-card__content-wrapper summary {
    pointer-events: auto;
  }

  @media (width > 750px) {
    .image-card__content {
      padding: var(--padding-vertical) var(--padding-horizontal);
    }
  }
/* END_BLOCK:image-card */

/* START_BLOCK:image (INDEX:148) */
.image-block {
    width: var(--width-mobile);

    @media (width > 750px) {
      width: var(--width-desktop);
    }
  }

  .image-block__image {
    object-fit: cover;
    aspect-ratio: var(--ratio);
    width: 100%;
  }

  .image-block__image--rounded {
    border-radius: var(--card-border-radius);
  }

  .image-block--height-fill .image-block__image {
    height: 100%;
  }
/* END_BLOCK:image */

/* START_BLOCK:information-slider (INDEX:149) */
.slider-block {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    overflow: hidden;
    width: 100%;
  }

  shopify-visual-preview-block-list .slider-block[data-visual-preview-mode] {
    width: 400px;
  }

  .slider-block--with-pagination {
    padding-bottom: var(--margin-lg);

    &.slider-block--with-pagination-on-left {
      padding-bottom: 0;

      .splide__pagination {
        right: 0;
        left: auto;
        bottom: 50%;
        transform: translateY(50%);
        align-items: center;
        padding: 0;
      }

      .splide__pagination li {
        display: flex;
        align-items: center;
        justify-content: center;
      }
    }
  }
/* END_BLOCK:information-slider */

/* START_BLOCK:logo (INDEX:150) */
.block__logo {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }
/* END_BLOCK:logo */

/* START_BLOCK:lonamy-page-content (INDEX:151) */
.lnm-page-content {
    text-align: var(--lnm-pc-align);
    max-width: var(--lnm-pc-maxw);
    margin-top: var(--lnm-pc-mt);
    margin-bottom: var(--lnm-pc-mb);
    margin-inline: auto;
    width: 100%;
  }

  .lnm-page-content > * {
    margin-block: 0 var(--margin-md, 16px);
  }

  .lnm-page-content > *:last-child {
    margin-block-end: 0;
  }

  .lnm-page-content a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  .lnm-page-content img {
    max-width: 100%;
    height: auto;
  }

  /* Cibles tactiles : un lien dans un paragraphe doit rester attrapable au doigt. */
  @media (width <= 749px) {
    .lnm-page-content a {
      padding-block: 4px;
      display: inline-block;
    }
  }
/* END_BLOCK:lonamy-page-content */

/* START_BLOCK:marquee (INDEX:152) */
.marquee {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    width: 100%;
  }

  /* Quand la barre est un enfant direct d'une section qui a page-width, on lui fait prendre toute la largeur de la page */
  .page-width > .marquee {
    margin-left: calc(-1 * var(--page-margin-desktop));
    width: calc(100% + 2 * var(--page-margin-desktop));
  }

  marquee-component {
    display: block;
    width: 100%;
    overflow: hidden;
  }

  .marquee__wrapper {
    display: flex;
    gap: var(--marquee-gap);
    width: fit-content;
    white-space: nowrap;
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .marquee__content {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
  }

  .marquee__content :is(p, h1, h2, h3, h4, h5, h6) {
    white-space: nowrap;
  }

  .marquee__content .marquee__repeated-items * {
    max-width: none;
  }

  .marquee__repeated-items {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
    align-items: center;
    justify-content: center;
  }

  .marquee__repeated-items > * {
    align-content: center;
  }

  @media (prefers-reduced-motion: no-preference) {
    marquee-component:not([data-disabled]) .marquee__wrapper {
      animation: marquee-motion var(--marquee-speed) linear infinite var(--marquee-direction);
    }
  }

  @keyframes marquee-motion {
    to {
      transform: translate3d(calc(-50% - (var(--marquee-gap) / 2)), 0, 0);
    }
  }
/* END_BLOCK:marquee */

/* START_BLOCK:menu (INDEX:153) */
.menu-block {
    display: flex;
    justify-content: var(--alignment-mobile);
    margin: var(--margin-top) 0 var(--margin-bottom) 0;
  }

  @media (width > 750px) {
    .menu-block {
      justify-content: var(--alignment);
    }
  }

  .menu-block__content {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .menu-block__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: var(--menu-direction);
    gap: var(--gap-md);
  }

  .menu-block__item {
    margin: 0;
  }

  .menu-block__link {
    text-decoration: none;
    color: var(--color-foreground);
    font-size: var(--font-body--size);
    font-weight: var(--font-body--weight);
    transition: var(--animation-link-hover);

    &:hover {
      opacity: var(--opacity-link-hover);
    }
  }

  .menu-block__link--underlined {
    text-decoration: underline;
  }
/* END_BLOCK:menu */

/* START_BLOCK:newsletter-signup (INDEX:154) */
shopify-visual-preview-block-list .newsletter-signup[data-visual-preview-mode] {
    width: 300px;
    max-width: 100%;
  }

  .newsletter-signup {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    width: 100%;
  }

  .newsletter-signup__form {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_BLOCK:newsletter-signup */

/* START_BLOCK:payment-methods (INDEX:155) */
.payment-methods {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--gap-xs);
    margin: var(--margin-top) 0 var(--margin-bottom) 0;
    width: 100%;
    justify-content: var(--alignment-mobile);
  }

  shopify-visual-preview-block-list .payment-methods[data-visual-preview-mode] {
    width: max-content;
  }

  @media (width > 750px) {
    .payment-methods {
      justify-content: var(--alignment);
    }
  }

  .payment-methods svg {
    width: var(--icon-size);
    height: auto;
  }
/* END_BLOCK:payment-methods */

/* START_BLOCK:powered-by-fullstack (INDEX:157) */
.powered-by-fullstack {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    justify-content: var(--alignment-mobile);
  }

  @media (width > 750px) {
    .powered-by-fullstack {
      justify-content: var(--alignment);
    }
  }

  .powered-by-fullstack-minimal {
    color: var(--color-foreground);
    font-size: var(--font-body--size);
    text-decoration: underline;
    transition: var(--animation-link-hover);

    &:hover {
      opacity: var(--opacity-link-hover);
    }
  }

  .powered-by-fullstack-badge {
    border: 1px solid lightgray;
    border-radius: 4px;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.5s ease;
    background-color: white;
    position: relative;
    overflow: hidden;
    margin: 2px;
    width: 120px;
  }

  .powered-by-fullstack-badge::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -100%;
    width: 200%;
    height: 200%;
    background: linear-gradient(0deg, transparent, transparent 30%, rgba(255, 255, 255, 0.5));
    transform: rotate(-45deg);
    transition: all 0.5s ease;
    opacity: 0;
  }

  .powered-by-fullstack-badge:hover {
    transform: scale(1.02);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  }

  .powered-by-fullstack-badge:hover::before {
    opacity: 1;
    transform: rotate(-45deg) translateY(150%);
  }
/* END_BLOCK:powered-by-fullstack */

/* START_BLOCK:product-inventory (INDEX:159) */
.product-inventory {
    display: block;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .product-inventory[data-visual-preview-mode] {
    width: 150px;
  }

  .product-inventory__status {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
    font-size: var(--font-body--size);
  }

  .product-inventory__status--left {
    justify-content: flex-start;
  }

  .product-inventory__status--right {
    justify-content: flex-end;
  }

  .product-inventory__status--center {
    justify-content: center;
  }

  .product-inventory__icon,
  .product-inventory__icon svg {
    width: 15px;
    height: 15px;
  }

  .product-inventory__icon-low {
    color: orange;
  }

  .product-inventory__icon-in_stock {
    color: green;
  }

  .product-inventory__icon-out_of_stock {
    color: red;
  }

  .product-inventory__icon circle:first-of-type {
    opacity: 0.3;
  }
/* END_BLOCK:product-inventory */

/* START_BLOCK:product-mini-card (INDEX:160) */
.product-mini-card {
    display: flex;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    padding: 0;
    overflow: hidden;
    text-decoration: none;
    color: var(--color-foreground);
    font-size: var(--font-body--size);
    transition: transform 0.2s ease-in-out;
    padding: var(--padding-xs);
  }

  .product-mini-card--column {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--gap-sm);
    max-width: 150px;

    .product-mini-card__content {
      text-align: center;

      .price-container {
        text-align: center;
        justify-content: center;
      }
    }
  }

  .product-mini-card--row {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    width: max-content;
    max-width: 100%;
  }

  .this-pack-contains_product-list .product-mini-card {
    min-width: max-content;
  }

  a.product-mini-card:hover {
    transform: translateY(-2px);
  }

  shopify-visual-preview-block-list .product-mini-card[data-visual-preview-mode] {
    width: 300px;
  }

  .product-mini-card__image {
    border-radius: calc(var(--card-border-radius) - var(--padding-xs));
    object-fit: cover;
    height: var(--height);
    width: var(--width);
  }

  .product-mini-card__content {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
    padding: 0 var(--padding-xs);
  }

  .product-mini-card__title {
    font-weight: 500;
  }
/* END_BLOCK:product-mini-card */

/* START_BLOCK:product-price (INDEX:161) */
product-price {
    display: flex;
    flex-direction: column;
    min-height: calc(2 * var(--padding-xxs) + var(--font-body--size-small) + var(--badge-primary-border-width) * 2);
    justify-content: center;
  }
/* END_BLOCK:product-price */

/* START_BLOCK:rating-stars (INDEX:162) */
.rating-stars__link {
    text-decoration: none;
    color: inherit;
  }
/* END_BLOCK:rating-stars */

/* START_BLOCK:review (INDEX:163) */
.review {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .review[data-visual-preview-mode] {
    width: 400px;
  }
/* END_BLOCK:review */

/* START_BLOCK:reviews-badge (INDEX:164) */
.reviews-badge {
    width: fit-content;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .reviews-badge[data-visual-preview-mode] {
    max-width: 400px;
  }

  .reviews-badge a {
    text-decoration: none;
    color: inherit;
  }

  .reviews-badge_badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--gap-sm);
    background-color: transparent;
  }

  .reviews-badge_badge--wrapped {
    border-radius: var(--badge-border-radius);
    padding: var(--padding-sm) var(--padding-md);
    background-color: var(--color-background);
    height: 40px;
  }

  .reviews-badge_stars:has(.icon) {
    height: 20px;
  }

  .reviews-badge_stars svg {
    width: 90px;
  }

  .reviews-badge_stars .icon {
    font-size: 20px !important;
    margin: 0 -4px;
    font-variation-settings: 'FILL' 0, 'wght' var(--icon-weight), 'GRAD' 0, 'opsz' 20;
  }

  .reviews-badge_stars .icon--star,
  .reviews-badge_stars .icon--star-filled {
    color: var(--color-stars-icons);
  }

  .reviews-badge_stars .icon--google {
    color: #fbbc05;
  }

  .reviews-badge_stars .icon--star-filled {
    font-variation-settings: 'FILL' 1, 'wght' var(--icon-weight), 'GRAD' 0, 'opsz' 20;
  }

  .reviews-badge_logo img,
  .reviews-badge_logo svg {
    width: 100%;
    max-height: 20px;
  }

  .reviews-badge_logo .trustpilot-logo {
    max-width: 80px;
  }

  .reviews-badge_stars svg,
  .reviews-badge_logo svg {
    display: flex;
  }

  .reviews-badge_logo .trustpilot-logo {
    margin-top: -5px;
  }

  .reviews-badge_text-1,
  .reviews-badge_text-2 {
    font-size: var(--font-body--size);
  }

  .reviews-badge_text-1 p,
  .reviews-badge_text-2 p {
    margin: 0;
  }

  @media screen and (max-width: 768px) {
    .reviews-badge_badge {
      gap: 7px;
    }

    .reviews-badge_badge--wrapped {
      padding: 10px 15px;
    }

    .reviews-badge_text-1,
    .reviews-badge_text-2 {
      font-size: var(--font-body--size-small);
    }

    .reviews-badge_logo img,
    .reviews-badge_logo svg {
      width: 100%;
      max-width: 80px;
    }

    .reviews-badge_stars svg {
      width: 80px;
    }
  }

  @media screen and (max-width: 390px) {
    .reviews-badge_text-1 {
      display: none;
    }
  }
/* END_BLOCK:reviews-badge */

/* START_BLOCK:separator (INDEX:165) */
.separator-block {
    width: 100%;
  }

  shopify-visual-preview-block-list .separator-block[data-visual-preview-mode] {
    width: 150px;
  }
/* END_BLOCK:separator */

/* START_BLOCK:slider (INDEX:166) */
.slider-block {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    overflow: hidden;
    width: 100%;
  }

  shopify-visual-preview-block-list .slider-block[data-visual-preview-mode] {
    width: 400px;
  }

  .slider-block--with-pagination {
    padding-bottom: var(--margin-lg);
  }
/* END_BLOCK:slider */

/* START_BLOCK:social-icons (INDEX:167) */
.social-icons {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    justify-content: var(--alignment-mobile);
    gap: var(--gap-md);
    align-items: center;
    width: 100%;
  }

  @media (width > 750px) {
    .social-icons {
      justify-content: var(--alignment);
    }
  }

  shopify-visual-preview-block-list .social-icons[data-visual-preview-mode] {
    width: max-content;
  }

  .social-icon__icon {
    width: var(--icon-size);
    height: var(--icon-size);
    fill: var(--icon-color);
    transition: var(--animation-link-hover);
  }

  .social-icon__icon:hover {
    opacity: var(--opacity-link-hover);
  }
/* END_BLOCK:social-icons */

/* START_BLOCK:stories (INDEX:168) */
.stories {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: block;
  }

  .stories__container {
    display: flex;
    flex-direction: row;
    justify-content: var(--alignment-mobile);
    gap: 20px;
    overflow-x: auto;
    scrollbar-width: none;
    padding: 6px;
  }

  @media (width > 750px) {
    .stories__container {
      justify-content: var(--alignment);
    }
  }

  .stories__modal {
    padding: 0;
    width: 100%;
    max-width: 100vw;
    height: 100vh;
    background-color: transparent;
    justify-content: center;
    align-items: center;
    overflow: hidden;
  }

  .stories__modal:focus-visible,
  .stories__modal:focus {
    outline: none;
  }

  .stories__modal::backdrop {
    transition: backdrop-filter var(--animation-speed-medium) var(--animation-easing);
    -webkit-backdrop-filter: brightness(1);
    backdrop-filter: brightness(1);
    background: rgba(var(--color-shadow));
  }

  .stories__modal[open]::backdrop {
    animation: backdropFilter var(--animation-speed-medium) var(--animation-easing) forwards;
    transition: opacity var(--animation-speed-medium) var(--animation-easing);
  }

  .stories__modal[open] {
    display: flex;
    animation: modalSlideInTop var(--animation-speed-medium) var(--animation-easing) forwards;
  }

  .stories__modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #0000004d;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
    margin-bottom: 1em;
    pointer-events: all;
    backdrop-filter: blur(6.5px);
    z-index: 40;
    position: absolute;
    top: 2rem;
    right: 1rem;

    .icon {
      color: var(--color-background);
    }
  }

  @media (width <= 750px) {
    .stories__modal {
      padding: 40px 20px 0;
    }
  }

  .stories__slider {
    margin: 0 calc(40px + 2rem);
    height: 90vh;
    max-width: 100%;
    aspect-ratio: 3 / 5;

    & > .splide__track > .splide__list > .splide__slide {
      overflow: hidden;
    }

    & > .splide__track {
      overflow: hidden;
      height: 100%;
      border-radius: var(--card-border-radius);
    }

    & .stories__slider-list > .splide__slide:not(.is-active) {
      overflow: hidden;
    }

    & > .splide__arrows > .splide__arrow--prev {
      left: calc(-40px - 1rem);
    }

    & > .splide__arrows > .splide__arrow--next {
      right: calc(-40px - 1rem);
    }

    .splide__arrow:disabled {
      opacity: 0.5;
    }
  }

  @media (width <= 750px) {
    .stories__slider {
      margin: 0;
      height: calc(100vh - 60px);
    }
  }
/* END_BLOCK:stories */

/* START_BLOCK:tabs (INDEX:169) */
.tabs {
    width: 100%;
  }

  shopify-visual-preview-block-list .tabs[data-visual-preview-mode] {
    width: 400px;
  }

  .tabs__navigation {
    display: flex;
    justify-content: var(--alignment-mobile);
    max-width: 100%;
  }

  .tabs--wrapped .tabs__navigation-inner {
    flex-wrap: wrap;
  }

  .tabs__navigation-inner {
    display: flex;
    gap: var(--gap-sm);
    overflow-x: auto;
    scrollbar-width: thin;
    padding-bottom: var(--padding-sm);
  }

  .tabs__panel {
    margin-top: var(--margin-md);
    width: 100%;
  }

  @media (width > 750px) {
    .tabs__navigation {
      justify-content: var(--alignment);
    }

    .tabs__navigation-inner {
      padding-bottom: var(--padding-xxs);
    }
  }
/* END_BLOCK:tabs */

/* START_BLOCK:text (INDEX:170) */
.text-block {
    text-align: var(--text-align-mobile);
    align-content: center;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  @media (width > 750px) {
    .text-block {
      text-align: var(--text-align);
    }
  }

  shopify-visual-preview-block-list .text-block[data-visual-preview-mode] {
    max-width: 400px;
  }

  .text-block.paragraph > *,
  .see-more__content > * {
    font-weight: var(--font-weight);
    font-size: var(--font-size);
  }

  .text-block a {
    color: inherit;
  }

  see-more-component {
    display: block;
    margin-block: 0 !important;
  }

  .see-more__content {
    position: relative;
  }

  .see-more__content > * {
    margin-block: var(--margin-md) 0;
  }

  .see-more__content {
    /* Solution principale avec mask CSS */
    mask: linear-gradient(to bottom, black calc(100% - 40px), transparent 100%);
    -webkit-mask: linear-gradient(to bottom, black calc(100% - 40px), transparent 100%);
    transition: mask 0.3s ease, -webkit-mask 0.3s ease;
  }

  /* Fallback pour les navigateurs qui ne supportent pas mask */
  @supports not (mask: linear-gradient(black, transparent)) {
    .see-more__content::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 40px;
      background: linear-gradient(transparent, color-mix(in srgb, var(--color-background) 90%, transparent));
      opacity: 1;
      transition: opacity 0.3s ease;
      pointer-events: none;
    }

    .see-more__content--expanded::after,
    .see-more__content--no-overflow::after {
      opacity: 0;
    }
  }

  .see-more__content--expanded,
  .see-more__content--no-overflow {
    mask: none;
    -webkit-mask: none;
  }

  .see-more__toggle {
    background: none;
    border: none;
    color: var(--color-foreground);
    cursor: pointer;
    font-size: 0.9em;
    font-weight: 500;
    margin-top: 0.5rem;
    padding: 0.25rem 0;
    text-decoration: underline;
    transition: var(--animation-link-hover);
  }

  .see-more__toggle:hover {
    opacity: var(--opacity-link-hover);
  }

  .see-more__toggle-text {
    display: inline-block;
    text-decoration: underline;
  }

  .text-block--truncated {
    display: -webkit-box;
    -webkit-line-clamp: var(--truncate-length);
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }
/* END_BLOCK:text */

/* START_BLOCK:this-pack-contains (INDEX:171) */
.this-pack-contains {
    display: flex;
    flex-direction: column;
    font-size: var(--font-body--size);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .this-pack-contains[data-visual-preview-mode] {
    width: 450px;
  }

  .this-pack-contains__title {
    font-weight: 500;
  }

  .this-pack-contains_description {
    margin-top: var(--margin-xs);
  }

  .this-pack-contains_product-list {
    display: flex;
    gap: var(--gap-sm);
    width: 100%;
    overflow-y: auto;
    padding: var(--padding-sm) 0;
  }
/* END_BLOCK:this-pack-contains */

/* START_BLOCK:video (INDEX:172) */
deferred-media {
    width: var(--size-style-width-mobile, var(--size-style-width));
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);

    @media screen and (width >750px) {
      width: var(--size-style-width);
    }
  }

  .video-placeholder-wrapper {
    position: relative;
    border-radius: var(--card-border-radius);
    overflow: hidden;
    width: var(--size-style-width-mobile, var(--size-style-width));
    aspect-ratio: var(--ratio);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);

    @media screen and (width >750px) {
      width: var(--size-style-width);
    }
  }

  .video-placeholder-wrapper__poster-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: transparent;
    border: none;
    transition: var(--animation-link-hover);

    .icon--play_circle {
      font-size: 60px !important;
      color: var(--color-primary-button-text);
    }
  }
/* END_BLOCK:video */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:accordion (INDEX:173) */
accordion-row:has(.accordion__heading-title:empty),
  accordion-row:has(.accordion__content:empty) {
    display: none;
  }

  .accordion__header {
    display: flex;
    align-items: center;
    cursor: pointer;
    list-style: none;
    transition: margin 150ms ease-out;
    padding: var(--margin-sm) 0;

    /* Masquer la flèche par défaut sur tous les navigateurs */
    &::-webkit-details-marker {
      display: none;
    }

    &::marker {
      display: none;
    }

    /* Fix spécifique pour iOS Safari */
    &::-webkit-details-marker,
    &::before {
      display: none !important;
    }
  }

  .accordion__header .icon,
  .accordion__header .accordion__icons-add {
    margin-inline-start: auto;
    transition: transform var(--animation-speed-fast) var(--animation-easing);
  }

  .accordion[open] .accordion__header .icon--keyboard_arrow_down {
    transform: rotate(180deg);
  }

  .accordion[open] .accordion__header .icon--add {
    transform: rotate(90deg);
  }

  .accordion:not([open]) .accordion__header .icon--remove,
  .accordion[open] .accordion__header .icon--add {
    display: none;
  }

  .accordion[open] .accordion__header .icon--remove,
  .accordion:not([open]) .accordion__header .icon--add {
    display: block;
  }

  .accordion__heading {
    font-size: var(--font-body--size-emphasized);
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
  }

  .accordion__heading .icon {
    font-size: 20px !important;
  }

  .accordion__content {
    padding: 0 0 var(--margin-md);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_SNIPPET:accordion */

/* START_SNIPPET:add-to-wishlist-button (INDEX:174) */
.product-quantity-selector-block[data-visual-preview-mode] {
    width: 100px;
  }

  .add-to-wishlist-button__icon {
    font-variation-settings: 'FILL' 0, 'wght' var(--icon-weight), 'GRAD' 0, 'opsz' 24;
  }

  .add-to-wishlist-button__icon--filled {
    font-variation-settings: 'FILL' 1, 'wght' var(--icon-weight), 'GRAD' 0, 'opsz' 24;
  }
/* END_SNIPPET:add-to-wishlist-button */

/* START_SNIPPET:article-card (INDEX:175) */
.article-card {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    width: 100%;
    overflow: hidden;
    text-decoration: none;
    transition: transform 0.2s ease-in-out;
    color: var(--color-foreground);
  }

  .article-card[data-visual-preview-mode] {
    max-width: 280px;
  }

  @media (width > 750px) {
    .article-card:hover {
      transform: translateY(-2px);
    }
  }
/* END_SNIPPET:article-card */

/* START_SNIPPET:cart-icon (INDEX:177) */
.header__icon-cart {
    position: relative;
    cursor: pointer;
  }
/* END_SNIPPET:cart-icon */

/* START_SNIPPET:checkbox (INDEX:178) */
.checkbox {
    z-index: 0;
    position: relative;
    display: block;
    line-height: var(--checkbox-size);
  }

  .checkbox > input {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    z-index: -1;
    position: absolute;
    left: -8px;
    top: -8px;
    display: block;
    margin: 0;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    box-shadow: none;
    outline: none;
    opacity: 0;
    transform: scale(1);
    pointer-events: none;
    transition: opacity 0.3s, transform 0.2s;
  }

  .checkbox > span {
    display: flex;
    align-items: center;
    width: 100%;
    cursor: pointer;
    font-size: var(--font-body--size-emphasized);
  }

  .checkbox__additionnal-label-content {
    margin-right: var(--margin-sm);
  }

  .checkbox > span::before {
    content: '';
    display: inline-block;
    box-sizing: border-box;
    margin-right: var(--margin-sm);
    border: var(--inputs-border-width) solid var(--color-input-text);
    border-radius: var(--checkbox-border-radius);
    min-width: var(--checkbox-size);
    width: var(--checkbox-size);
    height: var(--checkbox-size);
    vertical-align: top;
    transition: border-color 0.2s, background-color 0.2s;
    background-color: var(--color-input-background);
  }

  .checkbox > span:empty::before {
    margin-right: 0;
  }

  .checkbox > span::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 1px;
    width: 0.6rem;
    height: 0.3rem;
    border: solid 1.5px transparent;
    border-right: none;
    border-top: none;
    transform: translate(0.22rem, 0.32rem) rotate(-45deg);
  }

  .checkbox > input:checked + span::before,
  .checkbox > input:indeterminate + span::before {
    border-color: var(--color-input-text);
    background-color: var(--color-input-text);
  }

  .checkbox > input:checked + span::after,
  .checkbox > input:indeterminate + span::after {
    border-color: var(--color-input-background);
  }

  .checkbox > input:indeterminate + span::after {
    border-left: none;
    transform: translate(0.25rem, 0.1875rem);
  }

  .checkbox > input:focus {
    opacity: 0.12;
  }

  .checkbox > input:disabled {
    opacity: 0;
  }

  .checkbox > input:disabled + span {
    color: var(--color-input-text);
    cursor: initial;
    opacity: 0.5;
  }

  .checkbox > input:disabled + span::before {
    border-color: currentColor;
    cursor: not-allowed;
  }

  .checkbox > input:checked:disabled + span::before,
  .checkbox > input:indeterminate:disabled + span::before {
    border-color: transparent;
    background-color: currentColor;
  }

  .checkbox > input:checked:disabled + span::after {
    border-color: var(--color-input-background);
    cursor: not-allowed;
  }
/* END_SNIPPET:checkbox */

/* START_SNIPPET:collection-card (INDEX:179) */
.collection-card {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    width: 100%;
    overflow: hidden;
    text-decoration: none;
    transition: transform 0.2s ease-in-out;
    position: relative;
    cursor: pointer;
    color: var(--color-foreground);
  }

  .collection-card[data-visual-preview-mode] {
    max-width: 280px;
  }

  @media (width > 750px) {
    .collection-card:hover {
      transform: translateY(-2px);
    }
  }
/* END_SNIPPET:collection-card */

/* START_SNIPPET:dropdown-localization (INDEX:182) */
dropdown-component .dropdown-localization__toggle {
    gap: 3px;
    font-size: var(--font-body--size-emphasized);

    .icon-flag {
      width: 14px;
      height: 14px;
      clip-path: circle(50%);
      background-position: center;
      background-size: cover;
      margin-inline-end: 4px;
      position: relative;
    }
  }

  dropdown-component .dropdown-localization-content {
    min-width: 240px;
    padding: var(--padding-sm);
  }

  @media (width <= 1000px) {
    dropdown-component .dropdown-localization__toggle {
      width: 100%;
      padding: var(--padding-sm) var(--padding-xs);
    }

    dropdown-component .dropdown-localization-content {
      position: fixed;
      top: auto;
      bottom: 0;
      left: 0;
      width: 100%;
      min-width: 100%;
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
    }
  }
/* END_SNIPPET:dropdown-localization */

/* START_SNIPPET:filter-list (INDEX:184) */
.filter-list {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }

  .filter-list__swatch {
    background: var(--swatch-background);
    width: 16px;
    height: 16px;
    display: block;
    border-radius: 50%;
  }
/* END_SNIPPET:filter-list */

/* START_SNIPPET:filter-price-range (INDEX:185) */
.filter-price-range {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--gap-sm);
  }

  .filter-price-range__field {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
  }

  .filter-price-range__field .textfield input {
    width: 100px;
    min-width: 100px;
  }
/* END_SNIPPET:filter-price-range */

/* START_SNIPPET:filters-inline (INDEX:186) */
.filters__container {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
  }

  .filters__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--gap-sm);
  }

  .filter-dropdown-toggle {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .filter-dropdown-toggle__label {
    display: flex;
    align-items: center;
    gap: 4px;
  }

  .filter-count {
    background-color: var(--color-primary-button-background);
    color: var(--color-primary-button-text);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    font-size: var(--font-body--size-small);
  }

  dropdown-component .filter-dropdown-content {
    min-width: fit-content;
    padding: var(--padding-md);
  }

  .filter-clear-button {
    margin-top: var(--margin-md);
  }
/* END_SNIPPET:filters-inline */

/* START_SNIPPET:filters-modal (INDEX:187) */
.side-menu__toggle-link {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
    background-color: transparent;
    color: var(--color-foreground);
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
  }

  .filters-side-panel {
    overflow-y: auto;
    height: 100%;
    padding: 20px;
  }
/* END_SNIPPET:filters-modal */

/* START_SNIPPET:filters-sidebar (INDEX:188) */
.filters-sidebar__list {
    display: flex;
    flex-direction: column;
  }

  .filters-sidebar__filter-label {
    display: block;
    font-size: var(--font-body--size-emphasized);
    font-weight: 600;
    margin-bottom: var(--margin-sm);
  }
/* END_SNIPPET:filters-sidebar */

/* START_SNIPPET:header-actions (INDEX:190) */
.header__actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    height: var(--header-height);
  }

  .header__actions a {
    text-decoration: none;
    color: inherit;
  }

  .header__actions .dropdown-toggle:hover {
    opacity: 1;
  }

  .header__icon {
    height: 24px;
  }

  @media (width < 1000px) {
    .header__actions .dropdown-localization,
    .header__actions .search-popup,
    .header__actions .header__icon-account {
      display: none;
    }
  }
/* END_SNIPPET:header-actions */

/* START_SNIPPET:header-menu-desktop (INDEX:191) */
.header__menu-desktop {
    display: none;
  }

  @media (width > 1000px) {
    .header__menu-desktop {
      display: flex;
    }

    .header__menu-desktop-list {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      column-gap: 1rem;
      row-gap: 0.33rem;
      height: 100%;
    }

    .header__menu-mobile {
      display: none;
    }
  }

  .header__menu-desktop-list--uppercase .header__menu-link-text {
    text-transform: uppercase;
  }

  .header__menu-link-text {
    font-weight: var(--font-weight);
  }

  /* Sous-menus */
  .header__submenu-link--parent .icon {
    transition: transform var(--animation-speed) var(--animation-easing);
    font-size: 22px !important;
  }

  .header__submenu-accordion summary {
    transition: var(--animation-link-hover);
  }

  .header__submenu-accordion summary:hover {
    opacity: var(--opacity-link-hover);
  }

  /* Liens dans les sous-menus */
  .header__submenu-link {
    display: block;
    padding: var(--padding-xs) 0;
    font-size: var(--font-body--size);
    text-decoration: none;
    color: inherit;
  }

  .header__menu-item--dropdown .header__submenu-link {
    padding: var(--padding-xs);
    border-radius: calc(var(--inputs-border-radius) * var(--small-multiplier));
    transition: background-color var(--animation-speed) var(--animation-easing);
  }

  .header__menu-item--dropdown .header__submenu-link:hover {
    background-color: var(--color-input-border-low-opacity);
  }

  /* Accordéons dans les sous-menus */
  .header__submenu-accordion {
    width: 100%;
  }

  .header__submenu-accordion summary {
    list-style: none;
    cursor: pointer;
  }

  .header__submenu-accordion summary::-webkit-details-marker {
    display: none;
  }

  .header__submenu-link--parent {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .header__submenu-accordion[open] > summary .icon {
    transform: rotate(180deg);
  }

  .header__subsubmenu {
    padding: 0 var(--padding-sm);
  }

  /* Megamenu */
  .header__menu-item--megamenu {
    position: static;
  }

  dropdown-component .dropdown-content.header__submenu--megamenu {
    width: 100%;
    top: calc(var(--header-offset-height) - var(--separator-border-width));
    left: 0;
    border: 0;
    border-bottom: var(--separator-border-width) solid var(--color-border);
    border-radius: 0;
  }

  .header__submenu--megamenu__content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--gap-md);
    width: 100%;
    max-width: var(--page-width);
    margin: 0 auto;
    padding: var(--padding-sm) var(--page-margin-desktop);
    max-height: 80vh;
    overflow-y: auto;
  }

  .header__submenu--megamenu__item {
    flex: 1;
  }

  .header__submenu--megamenu__item .header__submenu-link {
    font-size: var(--font-body--size);
  }

  .header__submenu--megamenu__item .header__submenu-link--parent {
    font-size: var(--font-body--size-emphasized);
    font-weight: 500;
  }

  .header__submenu-image-link {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--gap-sm);
    transition: var(--animation-link-hover);

    img {
      width: 100%;
      object-fit: cover;
      border-radius: var(--card-border-radius);
      aspect-ratio: var(--image-ratio);
    }

    &:hover {
      opacity: var(--opacity-link-hover);
    }
  }

  .header__submenu-image-title {
    font-size: var(--font-body--size);
    font-weight: 500;
  }
/* END_SNIPPET:header-menu-desktop */

/* START_SNIPPET:loading-spinner (INDEX:194) */
.loading__spinner {
    position: absolute;
    z-index: 1;
    width: 18px;
    display: inline-block;
    color: black;
    left: calc(50% - 9px);
    display: none;
  }

  .is-loading {
    cursor: wait;
    position: relative;
    opacity: 0.7;
    pointer-events: none;
  }

  .is-loading span:not(.loading__spinner) {
    opacity: 0;
  }

  .is-loading .loading__spinner {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    display: block;
  }

  .spinner {
    animation: rotator 1.4s linear infinite;

    .path {
      stroke-dasharray: 187;
      stroke-dashoffset: 0;
      transform-origin: center;
      animation: dash 1.4s ease-in-out infinite;
      stroke: var(--color-primary-button-text);
    }
  }

  .button--secondary .spinner .path {
    stroke: var(--color-secondary-button-text);
  }

  @keyframes rotator {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(270deg);
    }
  }

  @keyframes dash {
    0% {
      stroke-dashoffset: 187;
    }
    50% {
      stroke-dashoffset: 46.75;
      transform: rotate(135deg);
    }
    100% {
      stroke-dashoffset: 187;
      transform: rotate(450deg);
    }
  }
/* END_SNIPPET:loading-spinner */

/* START_SNIPPET:localization-form (INDEX:195) */
dropdown-localization-component {
    position: relative;
    color: var(--color-foreground);
  }

  /* Choix de pays */

  .localization-form__country-selector {
    overflow-y: auto;
    max-height: 100%;
    flex-grow: 1;
    max-height: 20.5rem;
  }

  .localization-form__countries {
    display: flex;
    flex-direction: column;
    gap: 3px;
    position: relative;
    width: 100%;
    scroll-padding: var(--padding-xs) 0;
    overflow-y: auto;
    white-space: nowrap;
  }

  .localization-form__country {
    border-radius: calc(var(--card-border-radius) - var(--padding-xs));
    display: flex;
    align-items: center;
    padding: var(--padding-xs);
    font-size: var(--font-body--size);
    gap: 3px;
    cursor: pointer;
    transition: background-color var(--animation-speed) var(--animation-easing);
  }

  .localization-form__country:hover,
  .localization-form__country:focus,
  .localization-form__country--selected {
    background-color: rgb(from var(--color-foreground) r g b / 5%);
    font-weight: 500;
  }

  .localization-form__country .country {
    flex: 1;
  }

  .localization-form__country .icon--check {
    visibility: hidden;
    font-size: 18px !important;
  }

  .localization-form__country--selected .icon--check {
    visibility: visible;
  }

  .localization-form__country-currency {
    width: max-content;
    opacity: 0;
    visibility: hidden;
    transition: none;
  }

  .localization-form__country:hover .localization-form__country-currency,
  .localization-form__country--selected .localization-form__country-currency {
    opacity: 1;
    transition: opacity var(--animation-speed-fast) var(--animation-easing);
    visibility: visible;
  }

  /* Choix de langue */

  .localization-form__language-selector {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    font-size: var(--font-body--size);

    &.localization-form__language-selector--with-country {
      border-top: var(--separator-border-width) solid var(--color-border);
      margin-top: var(--padding-xs);
      padding: var(--padding-xs) var(--padding-xs) 0;

      .localization-form__language-select-wrapper {
        width: auto;
      }
    }

    .icon--keyboard_arrow_down {
      font-size: 22px !important;
    }
  }

  .localization-form__language-select-label {
    flex: 1;
  }

  .localization-form__language-select-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
  }

  .localization-form__language-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    height: 35px;
    padding: 0 var(--inputs-padding);
    padding-right: calc(var(--inputs-padding) * 2);
    border: none;
    border-radius: var(--inputs-border-radius);
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    cursor: pointer;
    font-size: var(--inputs-font-size);
    font-weight: var(--font-weight);
    width: 100%;
  }

  .localization-form__language-selector--uppercase .localization-form__language-select {
    text-transform: uppercase;
  }

  .localization-form__language-select:not(:disabled):hover,
  .localization-form__language-select:not(:disabled):focus,
  .localization-form__language-select:focus-visible,
  .localization-form__language-select:focus {
    outline: none;
    margin: 0;
    box-shadow: none;
  }

  .localization-form__language-select-wrapper__icon {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    pointer-events: none;
    color: var(--color-input-text);
    height: 20px;
  }

  .localization-form__language-select-wrapper__icon .icon {
    font-size: 20px !important;
  }

  @media (width <= 1000px) {
    .localization-form__country-currency {
      opacity: 1;
      visibility: visible;
    }
  }
/* END_SNIPPET:localization-form */

/* START_SNIPPET:lonamy-card-price (INDEX:197) */
/* Les règles de base de .lcard__price / .lcard__hover-price (police, corps) vivent
     dans assets/lonamy-card.css, chargé globalement. On n'ajoute ici QUE les classes
     nouvelles, pour ne rien avoir à surcharger : aucune propriété n'est déclarée deux
     fois, donc l'ordre de chargement des deux feuilles n'a aucune importance. */
  .lcard__price--sale {
    display: flex;
    align-items: baseline;
    gap: 7px;
    flex-wrap: wrap;
  }

  /* Prix barré : EXACTEMENT le traitement de la page collection.
     Celle-ci l'obtient de `snippets/price-styles.liquid` (.compare-at-price) :
     l'encre à l'opacité « texte secondaire » du thème, et un trait de barre plus
     clair encore. On reprend les deux mêmes jetons plutôt qu'un gris écrit en
     dur, pour que le jour où le nuancier bouge, la carte suive la collection
     sans qu'on ait à y repenser. */
  .lcard__price-base {
    /* Poids normal FIGÉ : le réglage « Prix carte en gras » pose sa graisse sur
       tout le bloc prix, et le barré en héritait — cocher la case mettait les
       deux montants en gras. Le barré reste léger quelle que soit la case. */
    font-weight: 400;
    color: rgb(var(--color-foreground-rgb, 42 36 32) / var(--opacity-subdued-text, 0.8));
    text-decoration-line: line-through;
    text-decoration-thickness: 1.5px;
    text-decoration-color: rgb(var(--color-foreground-rgb, 42 36 32) / var(--opacity-30, 0.3));
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  .lcard__price-now {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  /* Prix payé en terracotta et en gras — UNIQUEMENT quand il y a remise.
     C'est la règle que Malco a redite le 12/09/2026 : « je veux uniquement les
     prix qui sont soldé en marron ». Le terracotta est un signal de remise ;
     posé aussi sur un prix plein, il ne signale plus rien.
     Mêmes valeurs que la carte de collection
     (`.product-grid__card product-price .price-item__group.price`,
     assets/lonamy-ui.css) : couleur --pdp-accent, graisse 600. */
  .lcard__price--sale .lcard__price-now {
    color: var(--pdp-accent, #b85c38);
    font-weight: 600;
  }

  /* Même puce que la fiche produit, .pdp__price-chip (--pdp-accent n'est défini nulle
     part : la valeur de repli #B85C38 est la couleur réellement affichée sur le site).
     Corps figé à 12px, un cran sous la puce de la fiche (13px) parce que le prix de la
     carte est plus petit — mais jamais en dessous de 12px, seuil de lisibilité mobile. */
  .lcard__price-chip {
    font-family: var(--font-body--family);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.07em;
    padding: 2px 6px;
    white-space: nowrap;
    background: var(--pdp-accent, #b85c38);
    color: #fff;
  }
/* END_SNIPPET:lonamy-card-price */

/* START_SNIPPET:lonamy-flag-fr (INDEX:200) */
.lnm-flag {
    width: 1.3em;
    height: auto;
    flex: none;
    display: block;
  }
/* END_SNIPPET:lonamy-flag-fr */

/* START_SNIPPET:lonamy-outfit (INDEX:203) */
.lo { margin-top:1.6rem; }
  .lo__h { margin:0 0 .3rem; font-family:var(--font-h2--family,var(--font-primary--family)); font-size:1.3rem; line-height:1.15; }
  .lo__sub { margin:0 0 1rem; font-family:var(--font-body--family); font-size:.78rem; opacity:.65; }

  .lo__tiers[hidden] { display:none; }

  /* Barre de progression des paliers. Trois zones sur une ligne : ce qui est
     acquis, le chemin, ce qui est fermé. Sur mobile la ligne passe en colonne
     plutôt que d'écraser les libellés. */
  .lo__prog { display:flex; align-items:center; gap:10px; margin:0 0 1.1rem;
    font-family:var(--font-body--family); font-size:.76rem; line-height:1.3; }
  .lo__prog-now { flex:none; white-space:nowrap; font-weight:700; }
  /* Le palier French days s'écrit en capitales italiques : « French days » en
     minuscules n'avait aucun relief au milieu des chiffres. */
  .lo__prog-now.is-fd { font-style:italic; text-transform:uppercase; letter-spacing:.06em;
    color:var(--pdp-accent,#B85C38); }
  .lo__prog-track { flex:1 1 auto; min-width:34px; height:4px; border-radius:4px;
    background:rgb(var(--color-foreground-rgb,42 36 32) / .14); overflow:hidden; }
  .lo__prog-track i { display:block; height:100%; width:0;
    background:var(--pdp-accent,#B85C38); transition:width .32s ease; }
  .lo__prog-next { flex:none; display:inline-flex; align-items:center; gap:.35em;
    white-space:nowrap; opacity:.72; }
  .lo__prog-next svg { width:11px; height:11px; flex:none; fill:none; stroke:currentColor;
    stroke-width:1.8; stroke-linecap:round; }
  .lo__prog-next b { font-weight:600; }
  .lo__prog--max .lo__prog-next { color:var(--pdp-accent,#B85C38); opacity:1; font-weight:600; }
  @media (max-width:560px) {
    .lo__prog { flex-wrap:wrap; gap:6px 10px; }
    .lo__prog-track { order:3; flex-basis:100%; }
  }
  @media (prefers-reduced-motion: reduce) { .lo__prog-track i { transition:none; } }
  .lo__tiers span { flex:1; text-align:center; padding:7px 3px; border:1px solid var(--color-border,#DCD3C5);
    font-family:var(--font-body--family); font-size:.58rem; letter-spacing:.04em; line-height:1.45; opacity:.7; transition:.2s; }
  .lo__tiers span b { display:block; font-weight:600; }
  /* Mention sous le palier : elle dit d'où vient la remise (« Offre de rentrée »),
     sinon on croit que les -10 % sont eux aussi liés à la quantité. */
  .lo__tiers span em { display:block; font-style:normal; font-size:.92em; opacity:.72; margin-top:2px; }
  .lo__tiers span.is-on { background:var(--color-foreground); color:var(--color-background); border-color:var(--color-foreground); opacity:1; }

  .lo__slots { display:grid; grid-template-columns:1fr; gap:9px; }
  .lo__slot { position:relative; }
  /* `color` explicite sur TOUS les boutons du module. Un <button> n'hérite pas
     de la couleur du texte : iOS lui donne le bleu système, et les libellés
     « un haut · vestes ou gilets » ressemblaient à des liens sur mobile. */
  .lo button, .lo [type='button'] { color: var(--color-foreground, #2a2420); }
  .lo__slot-btn { display:flex; align-items:center; gap:13px; width:100%; text-align:left; cursor:pointer;
    color:var(--color-foreground,#2a2420);
    background:var(--color-background); border:1px solid var(--color-border,#DCD3C5); padding:11px 12px; transition:border-color .15s; }
  .lo__slot-btn:hover { border-color:var(--color-foreground); }
  .lo__slot-btn:focus-visible { outline:2px solid var(--pdp-accent,#B85C38); outline-offset:2px; }
  .lo__slot.is-filled .lo__slot-btn { border-color:var(--pdp-accent,#B85C38); }
  /* Vignettes produit CARRÉES : les photos sources sont toutes en 1:1, un cadre 48x60
     avec object-fit:cover amputait 10 % de chaque côté du vêtement — visible sur les
     ensembles deux pièces posés côte à côte (solene, manon, lola, eloise). */
  .lo__slot-im { flex:none; width:48px; height:48px; background:var(--color-surface-alt,#E4DCCF); display:flex; align-items:center; justify-content:center; overflow:hidden; }
  .lo__slot-im img { width:100%; height:100%; object-fit:cover; display:block; }
  .lo__slot-letter { font-family:var(--font-body--family); font-size:1.1rem; font-weight:600;
    font-variant-numeric:tabular-nums; color:var(--color-foreground,#2a2420); opacity:.55; }
  .lo__slot-in { flex:1; min-width:0; }
  .lo__slot-in b { display:block; font-family:var(--font-body--family); font-size:.83rem; font-weight:600; line-height:1.25; }
  .lo__slot-in em { display:block; font-style:normal; font-family:var(--font-body--family); font-size:.7rem; opacity:.6; margin-top:2px; }
  .lo__slot-rt { flex:none; text-align:right; }
  .lo__slot-cta { font-family:var(--font-body--family); font-size:.63rem; letter-spacing:.07em; text-transform:uppercase; color:var(--pdp-accent,#B85C38); }
  .lo__slot-price { display:flex; flex-direction:column; align-items:flex-end; gap:1px; font-family:var(--font-body--family); font-size:.82rem; font-weight:600; line-height:1.2; }
  .lo__slot-rm { position:absolute; right:10px; bottom:6px; background:none; border:0; cursor:pointer; padding:2px;
    font-family:var(--font-body--family); font-size:.6rem; text-decoration:underline; text-underline-offset:2px; color:var(--pdp-accent,#B85C38); }
  .lo__slot-rm[hidden] { display:none; }
  /* Une pièce choisie affiche désormais DEUX lignes de prix (payé + barré). Sans
     place en bas, la zone tactile de « Retirer » (44 px, étendue sur mobile
     dans assets/lonamy-ui.css) recouvrait le prix payé : toucher le prix
     retirait la pièce. On ménage la hauteur de cette zone sous le contenu ;
     le prix, centré sur la vignette, ne bouge pas. Mesuré en recette. */
  .lo__slot.is-filled .lo__slot-btn { padding-bottom:20px; }
  @media screen and (max-width:749px){ .lo__slot.is-filled .lo__slot-btn { padding-bottom:30px; } }

  .lo__more { width:100%; margin-top:9px; background:none; border:1px dashed var(--color-border,#DCD3C5); cursor:pointer;
    padding:11px; display:flex; align-items:center; justify-content:center; gap:8px; color:inherit;
    font-family:var(--font-body--family); font-size:.74rem; font-weight:600; transition:border-color .15s; }
  .lo__more:hover { border-color:var(--color-foreground); }
  .lo__more svg { width:14px; height:14px; fill:none; stroke:var(--pdp-accent,#B85C38); stroke-width:1.9; stroke-linecap:round; }

  .lo__extras { display:grid; gap:9px; margin-top:9px; }

  .lo__slot--base { background:var(--color-surface-alt,#F3EFE9); border:1px solid var(--color-border,#DCD3C5); border-radius:6px; padding:11px 12px; margin-bottom:9px; }
  .lo__base-top { display:flex; align-items:center; gap:11px; }
  /* Vignette du produit de base : même cadre carré que les autres slots (voir ci-dessus). */
  .lo__base-top .lo__slot-im { flex:0 0 46px; width:46px; height:46px; border-radius:4px; overflow:hidden; background:var(--color-surface-alt,#E4DCCF); }
  .lo__base-top .lo__slot-im img { width:100%; height:100%; object-fit:cover; display:block; }
  .lo__base-top .lo__slot-in { flex:1 1 auto; display:flex; flex-direction:column; gap:2px; min-width:0; }
  .lo__base-top .lo__slot-in b { font-family:var(--font-body--family); font-size:.84rem; font-weight:600; }
  .lo__base-tag { font-family:var(--font-body--family); font-size:.66rem; font-style:normal; letter-spacing:.04em; color:var(--pdp-accent,#B85C38); }
  .lo__base-tag::before { content:'✓ Déjà inclus'; }
  .lo__base-tag:not(:empty)::before { content:'✓ Déjà inclus · '; }
  .lo__base-top .lo__slot-price { font-family:var(--font-body--family); font-size:.84rem; font-weight:600; white-space:nowrap; }
  .lo__base-opts { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:9px; padding-top:9px; border-top:1px solid var(--color-border,#DCD3C5); }
  .lo__base-opts:empty { display:none; }
  .lo__bo-sw { width:19px; height:19px; border-radius:50%; border:1px solid var(--color-border,#DCD3C5); padding:0; cursor:pointer; background-size:cover; }
  .lo__bo-sw.is-on { outline:1.5px solid var(--color-foreground); outline-offset:2px; }
  .lo__bo-sz { min-width:29px; padding:4px 6px; border:1px solid var(--color-border,#DCD3C5); background:var(--color-background); cursor:pointer;
    font-family:var(--font-body--family); font-size:.66rem; color:inherit; border-radius:3px; }
  .lo__bo-sz.is-on { background:var(--color-foreground); color:var(--color-background); border-color:var(--color-foreground); }
  .lo__bo-sz.is-out { opacity:.32; text-decoration:line-through; cursor:not-allowed; }
  .lo__bo-sep { width:1px; height:16px; background:var(--color-border,#DCD3C5); margin:0 3px; }

  .lo__total { margin-top:14px; background:var(--color-foreground); color:var(--color-background); padding:17px 17px 16px; }
  .lo__total-r1 { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
  .lo__total-r1 span { font-family:var(--font-body--family); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; opacity:.85; }
  .lo__total-r1 b { font-family:var(--font-body--family); font-weight:700; font-size:1.95rem; font-variant-numeric:tabular-nums; } /* RETOUCHE 20/09 : tous les prix en police de corps (Jost). */
  .lo__total-r2 { font-family:var(--font-body--family); font-size:.84rem; opacity:.88; margin-top:6px; }
  .lo__total-r2 em { font-style:italic; text-decoration:underline; text-underline-offset:2px; }
  .lo__buy { width:100%; margin-top:13px; background:var(--pdp-accent,#B85C38); color:#fff; border:0; padding:14px; cursor:pointer;
    font-family:var(--font-body--family); font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
  .lo__buy[disabled] { opacity:.45; cursor:not-allowed; }
  .lo__buy.is-done { background:#5E8C57; }

  .lo__md { border:0; padding:0; width:min(680px,94vw); max-height:88vh; background:var(--color-background); color:var(--color-foreground); }
  .lo__md::backdrop { background:rgba(42,36,32,.55); }
  .lo__md-in { display:flex; flex-direction:column; max-height:88vh; }
  .lo__md-head { flex:none; display:flex; align-items:center; gap:10px; padding:16px 16px 13px; border-bottom:1px solid var(--color-border,#DCD3C5); }
  .lo__md-t { flex:1; margin:0; font-family:var(--font-h2--family,var(--font-primary--family)); font-size:1.15rem; }
  .lo__md-x,.lo__md-back { background:none; border:0; cursor:pointer; color:inherit; padding:2px; flex:none; }
  .lo__md-back[hidden] { display:none; }
  .lo__md-x svg,.lo__md-back svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; display:block; }
  .lo__tabs { flex:none; display:flex; gap:22px; padding:0 16px; border-bottom:1px solid var(--color-border,#DCD3C5); overflow-x:auto; scrollbar-width:none; }
  .lo__tabs::-webkit-scrollbar { display:none; }
  .lo__tabs button { flex:none; background:none; border:0; border-bottom:2px solid transparent; padding:13px 0 11px; cursor:pointer; color:inherit;
    font-family:var(--font-body--family); font-size:.66rem; letter-spacing:.09em; text-transform:uppercase; opacity:.55; }
  .lo__tabs button[aria-selected="true"] { opacity:1; border-bottom-color:var(--pdp-accent,#B85C38); }
  .lo__filters { flex:none; display:flex; flex-direction:column; gap:0; padding:6px 16px 4px; border-bottom:1px solid var(--color-border,#DCD3C5); }

  /* Volet de filtre repliable. Chevron qui pivote, libellé à gauche, valeur
     retenue à droite : la même grammaire que les questionnaires du site. */
  .lo__fdet { border-bottom:1px solid rgb(var(--color-foreground-rgb,42 36 32) / .08); }
  .lo__fdet:last-of-type { border-bottom:0; }
  .lo__fdet > summary { display:flex; align-items:center; gap:.5rem; cursor:pointer;
    min-height:44px; padding:0; list-style:none;
    font-family:var(--font-body--family); font-size:.74rem; letter-spacing:.04em;
    text-transform:uppercase; color:var(--color-foreground,#2a2420); }
  .lo__fdet > summary::-webkit-details-marker { display:none; }
  .lo__fdet > summary > span { flex:1 1 auto; }
  .lo__fdet > summary > em { font-style:normal; text-transform:none; letter-spacing:0;
    font-size:.74rem; color:var(--pdp-accent,#B85C38); }
  .lo__fdet > summary svg { width:14px; height:14px; flex:none; fill:none; stroke:currentColor;
    stroke-width:1.7; stroke-linecap:round; opacity:.5; transition:transform .2s ease; }
  .lo__fdet[open] > summary svg { transform:rotate(180deg); }
  .lo__fopts { display:flex; flex-wrap:wrap; gap:7px; padding:2px 0 12px; }
  @media (prefers-reduced-motion: reduce) { .lo__fdet > summary svg { transition:none; } }
  .lo__frow { display:flex; align-items:center; gap:6px; overflow-x:auto; scrollbar-width:none; }
  .lo__frow::-webkit-scrollbar { display:none; }
  .lo__frow > span { flex:none; font-family:var(--font-body--family); font-size:.56rem; letter-spacing:.09em; text-transform:uppercase; opacity:.5; min-width:50px; }
  .lo__fc { flex:none; width:19px; height:19px; border-radius:50%; border:1px solid var(--color-border,#DCD3C5); cursor:pointer; padding:0; }
  .lo__fc[aria-pressed="true"] { box-shadow:0 0 0 1px var(--color-background),0 0 0 2px var(--color-foreground); }
  /* RETOUCHE 20/09 — puces de taille et de coupe un cran plus grandes. */
  .lo__fs { flex:none; background:none; border:1px solid var(--color-border,#DCD3C5); padding:5px 10px; cursor:pointer; color:inherit;
    font-family:var(--font-body--family); font-size:13px; } /* RETOUCHE 20/09 : .64rem = 10,24px, trop petit */
  .lo__fs[aria-pressed="true"] { background:var(--color-foreground); color:var(--color-background); border-color:var(--color-foreground); }
  .lo__fclear { flex:none; background:none; border:0; cursor:pointer; font-family:var(--font-body--family); font-size:.6rem;
    text-decoration:underline; text-underline-offset:2px; color:var(--pdp-accent,#B85C38); }

  .lo__list { flex:1 1 auto; min-height:0; overflow-y:auto; padding:4px 16px 18px; display:grid; grid-template-columns:1fr; gap:0; }
  .lo__empty { margin:0; padding:0 16px 18px; font-family:var(--font-body--family); font-size:.75rem; opacity:.6; }
  .lo__empty[hidden] { display:none; }
  .lo__row { display:flex; gap:12px; align-items:center; padding:11px 0; border-bottom:1px solid var(--color-border,#DCD3C5); }
  .lo__row:last-child { border-bottom:0; }
  /* Liste de suggestions : cadre carré (les sources sont en 1:1), 58x72 rognait le vêtement. */
  .lo__row-im { flex:none; width:58px; height:58px; background:var(--color-surface-alt,#E4DCCF); overflow:hidden; cursor:pointer; border:0; padding:0; }
  .lo__row-im img { width:100%; height:100%; object-fit:cover; display:block; }
  .lo__row-in { flex:1; min-width:0; }
  .lo__row-t { margin:0 0 2px; font-family:var(--font-body--family); font-size:.79rem; font-weight:600; line-height:1.25;
    background:none; border:0; padding:0; cursor:pointer; color:inherit; text-align:left; }
  .lo__row-t:hover { text-decoration:underline; text-underline-offset:2px; }
  .lo__row-p { margin:0; font-family:var(--font-body--family); font-size:.74rem; }
  /* Barré : vraiment barré, en encre, au poids normal. Il était en
     `text-decoration:none` — donc pas barré du tout — et le client ne
     pouvait pas savoir lequel des deux montants il allait payer. */
  .lo__row-p s { font-weight:400; margin-left:6px; }
  .lo__row-p b { font-weight:700; }
  .lo__row-av { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-top:5px; }
  .lo__row-dots { display:flex; gap:3px; }
  .lo__row-dots i { width:11px; height:11px; border-radius:50%; border:1px solid var(--color-border,#DCD3C5); display:block; }
  .lo__row-sz { font-family:var(--font-body--family); font-size:.62rem; letter-spacing:.05em; opacity:.6; }
  .lo__row-go { flex:none; background:var(--color-foreground); color:var(--color-background); border:0; padding:7px 13px; cursor:pointer;
    font-family:var(--font-body--family); font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; }

  .lo__qv { flex:1 1 auto; min-height:0; padding:14px 16px 18px; overflow-y:auto; }
  .lo__qv[hidden] { display:none; }
  .lo__qv-rail { display:flex; gap:8px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin-bottom:11px; }
  .lo__qv-rail::-webkit-scrollbar { display:none; }
  /* Aperçu rapide : le rail affiche les photos produit, toutes carrées. Le cadre 4/5
     coupait 10 % à gauche et à droite — sur ensemble-solene la jambe du pantalon
     était tranchée. En 1/1 la photo est montrée telle qu'elle a été cadrée.
     Le max-width accompagne le max-height : sinon, sur un écran bas (téléphone en
     paysage) la hauteur est plafonnée pendant que la largeur reste à 36 %, le cadre
     redevient rectangulaire et l'image se fait rogner en haut et en bas. */
  .lo__qv-rail img { flex:0 0 36%; scroll-snap-align:start; aspect-ratio:1/1; object-fit:cover;
    max-height:32vh; max-width:32vh; background:var(--color-surface-alt,#E4DCCF); border-radius:3px; }
  .lo__qv-dots { display:flex; justify-content:center; gap:6px; margin:-4px 0 11px; }
  .lo__qv-dots[hidden] { display:none; }
  .lo__qv-dots button { width:6px; height:6px; padding:0; border-radius:50%; border:0; cursor:pointer;
    background:var(--color-foreground); opacity:.22; transition:opacity .2s, transform .2s; }
  .lo__qv-dots button.is-on { opacity:1; transform:scale(1.45); }
  .lo__qv-dots button:focus-visible { outline:2px solid var(--pdp-accent,#B85C38); outline-offset:2px; }
  .lo__qv-t { margin:0 0 3px; font-family:var(--font-h2--family,var(--font-primary--family)); font-size:1.1rem; }
  .lo__qv-p { margin:0 0 10px; font-family:var(--font-body--family); font-size:.82rem; }
  /* Barré : vraiment barré, en encre, au poids normal. Il était en
     `text-decoration:none` — donc pas barré du tout — et le client ne
     pouvait pas savoir lequel des deux montants il allait payer. */
  .lo__qv-p s { font-weight:400; margin-left:6px; }
  .lo__qv-p b { font-weight:700; }
  /* ── RÈGLE DE PRIX DE LA BOUTIQUE, pour tout le module ─────────────────
     Prix plein : encre et gras. Prix soldé : terracotta et gras, UNIQUEMENT
     quand un barré l'accompagne (classe is-sale posée par peindrePrix). Barré :
     jetons de la page collection. Les emplacements empilent prix puis barré,
     calés à droite : côte à côte, ils écrasaient le titre sur 375 px. */
  .lo__row-p s, .lo__qv-p s, .lo__slot-price s {
    color:rgb(var(--color-foreground-rgb, 42 36 32) / var(--opacity-subdued-text, .8));
    text-decoration-line:line-through; text-decoration-thickness:1.5px;
    text-decoration-color:rgb(var(--color-foreground-rgb, 42 36 32) / var(--opacity-30, .3));
    font-variant-numeric:tabular-nums; white-space:nowrap; }
  .lo__row-p b, .lo__qv-p b, .lo__slot-price b { color:var(--color-foreground,#2a2420); font-variant-numeric:tabular-nums; white-space:nowrap; }
  .lo__row-p.is-sale b, .lo__qv-p.is-sale b, .lo__slot-price.is-sale b { color:var(--pdp-accent,#B85C38); }
  .lo__slot-price s { font-size:.75rem; font-weight:400; }
  .lo__slot-price b { font-weight:600; }
  .lo__opts { display:flex; flex-wrap:wrap; gap:5px; align-items:center; margin-bottom:8px; }
  .lo__sw { width:20px; height:20px; border-radius:50%; border:1px solid var(--color-border,#DCD3C5); cursor:pointer; padding:0; }
  .lo__sw[aria-pressed="true"] { box-shadow:0 0 0 1px var(--color-background),0 0 0 2px var(--color-foreground); }
  .lo__sz { background:none; border:1px solid var(--color-border,#DCD3C5); padding:5px 10px; cursor:pointer; color:inherit;
    font-family:var(--font-body--family); font-size:.68rem; }
  .lo__sz[aria-pressed="true"] { background:var(--color-foreground); color:var(--color-background); border-color:var(--color-foreground); }
  .lo__sz[disabled] { opacity:.3; cursor:not-allowed; text-decoration:line-through; }
  .lo__qv-add { width:100%; background:var(--pdp-accent,#B85C38); color:#fff; border:0; padding:12px; cursor:pointer;
    font-family:var(--font-body--family); font-size:.7rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
  .lo__qv-add[disabled] { opacity:.45; cursor:not-allowed; }
  .lo__qv-link { display:inline-block; margin-top:10px; font-family:var(--font-body--family); font-size:.68rem;
    text-decoration:underline; text-underline-offset:3px; color:inherit; }

  @media screen and (min-width:560px){
    .lo__qv-rail img { flex:0 0 26%; }
  }
  @media screen and (min-width:750px){
    .lo__qv-rail img { flex:0 0 20%; max-height:28vh; max-width:28vh; }
  }
  @media (prefers-reduced-motion:reduce){ .lo__slot-btn,.lo__more { transition:none } }
/* END_SNIPPET:lonamy-outfit */

/* START_SNIPPET:pagination (INDEX:212) */
.pagination-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px 0;
  }

  .pagination__list {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
  }

  .pagination__item {
    text-decoration: none;
  }

  .pagination__item--current {
    cursor: default;
    pointer-events: none;
  }
/* END_SNIPPET:pagination */

/* START_SNIPPET:price (INDEX:213) */
.badge:has(.badge__savings:empty) {
    display: none;
  }
/* END_SNIPPET:price */

/* START_SNIPPET:product-badges (INDEX:214) */
.product-badges {
    position: absolute;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-xs);
  }

  .product-badges--bottom-left {
    bottom: var(--padding-sm);
    left: var(--padding-sm);
    justify-content: flex-start;
  }

  .product-badges--top-left {
    top: var(--padding-sm);
    left: var(--padding-sm);
    justify-content: flex-start;
  }

  .product-badges--top-right {
    top: var(--padding-sm);
    right: var(--padding-sm);
    justify-content: flex-end;
  }
/* END_SNIPPET:product-badges */

/* START_SNIPPET:product-card (INDEX:215) */
.product-card {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    width: 100%;
    overflow: hidden;
    text-decoration: none;
    transition: transform 0.2s ease-in-out;
    position: relative;
    cursor: pointer;
  }

  .product-card[data-visual-preview-mode] {
    max-width: 280px;
  }

  @media (width > 750px) {
    .product-card:hover {
      transform: translateY(-2px);
    }
  }
/* END_SNIPPET:product-card */

/* START_SNIPPET:product-media (INDEX:216) */
.product-media img {
    aspect-ratio: var(--ratio);
    object-fit: cover;
  }
/* END_SNIPPET:product-media */

/* START_SNIPPET:product-option-value-button (INDEX:217) */
.variant-picker__option-value input {
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    position: absolute;
    height: 1px;
    width: 1px;
  }

  .variant-picker__option-value input + label {
    appearance: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    min-height: var(--variant-button-min-height);
    min-width: var(--variant-button-min-width);
    max-width: max-content;
    font-size: var(--variant-button-font-size);
    outline: 1px solid transparent;
    transition: all var(--animation-speed-medium) var(--animation-easing);
    padding: var(--variant-button-padding-vertical) var(--variant-button-padding-horizontal);
    color: var(--color-variant-text);
    background-color: var(--color-variant-background);
    border: var(--variant-button-border-width) solid var(--color-variant-border);
    border-radius: var(--inputs-border-radius);
    font-weight: var(--button-primary-font-weight);
    text-transform: var(--button-primary-text-transform);
    letter-spacing: var(--button-letter-spacing);
  }

  .variant-picker__option-value input:checked + label {
    background-color: var(--color-selected-variant-background);
    color: var(--color-selected-variant-text);
    border-color: var(--color-selected-variant-border);
  }

  .variant-picker__option-value input[aria-disabled='true'] + label {
    position: relative;
    opacity: 0.5;
    overflow: hidden;

    &::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      width: 100%;
      height: 1px;
      background-color: var(--color-variant-border);
      rotate: 20deg;
    }
  }

  .variant-picker__option-value input[aria-disabled='true']:checked + label::before {
    background-color: var(--color-selected-variant-text);
  }
/* END_SNIPPET:product-option-value-button */

/* START_SNIPPET:product-section-content (INDEX:218) */
@media (width > 750px) {
    .shopify-section-product-section {
      overflow: visible;
    }
  }

  .product-section {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .product-section__content {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: var(--gap-md);
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .product-section__product-info {
    display: flex;
    flex-direction: column;
    gap: var(--padding-sm);
  }

  @media (width > 750px) {
    .product-section__content {
      flex-direction: var(--image-position);
      gap: var(--gap);
    }

    .product-section__medias-container {
      overflow: hidden;
    }

    .product-section__medias {
      width: calc(100% - var(--product-info-width));
    }

    .product-section__product-info {
      max-width: calc(var(--product-info-width) - var(--gap));
      width: 100%;
    }

    .product-section__medias--sticky,
    .product-section__product-info--sticky {
      height: fit-content;
      position: sticky;
      top: calc(var(--header-height, 0px) + var(--padding-md));
      z-index: 2;
    }
  }

  @media (width <= 750px) {
    .product-section--carrousel-image-full-width {
      .product-section__content {
        padding-top: 0 !important;
      }

      .product-media-gallery-main-slider {
        width: calc(100% + 2 * (var(--page-margin-mobile)));
        margin-left: calc(var(--page-margin-mobile) * -1);
      }

      .product-media-gallery__media--rounded {
        border-radius: 0;
      }
    }
  }
/* END_SNIPPET:product-section-content */

/* START_SNIPPET:quantity-selector (INDEX:220) */
:root {
    --quantity-selector-button-width: 30px;
  }

  .quantity-selector {
    border: var(--inputs-border-width) solid var(--color-input-border);
    border-radius: var(--inputs-border-radius);
    background-color: var(--color-input-background);
    height: var(--inputs-min-height);
    overflow: hidden;
    display: flex;
    min-width: calc(var(--quantity-selector-button-width) * 3 + var(--inputs-border-width) * 2);
    width: calc(var(--quantity-selector-button-width) * 3 + var(--inputs-border-width) * 2);
  }

  .quantity-selector--disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
  }

  .quantity-selector button,
  .quantity-selector input {
    appearance: textfield;
    background-color: var(--color-input-background);
    border: none;
    transition: 0.2s;
    cursor: pointer;
    min-width: var(--quantity-selector-button-width);
    height: var(--inputs-min-height);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0;
    color: var(--color-input-text);
  }

  .quantity-selector--small {
    height: calc(var(--small-multiplier) * var(--inputs-min-height));
    border-radius: calc(var(--small-multiplier) * var(--inputs-border-radius));
  }

  .quantity-selector--small button,
  .quantity-selector--small input {
    height: calc(var(--small-multiplier) * var(--inputs-min-height) - 2 * var(--inputs-border-width));
    width: calc(var(--small-multiplier) * var(--inputs-min-height) - 2 * var(--inputs-border-width));
  }

  .quantity-selector button[disabled] {
    opacity: 0.3;
    pointer-events: none;
  }

  .quantity-selector button:not(:disabled):hover svg {
    transform: scale(1.1);
  }

  .quantity-selector .icon {
    pointer-events: none;
    font-size: 20px !important;
    color: var(--color-input-text);
  }

  .quantity-selector input::-webkit-inner-spin-button,
  .quantity-selector input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }

  .quantity-selector input:focus-visible {
    outline: none;
    outline-offset: 0;
    box-shadow: none;
    z-index: 1;
  }
/* END_SNIPPET:quantity-selector */

/* START_SNIPPET:radio (INDEX:221) */
.radio {
    z-index: 0;
    position: relative;
    display: inline-block;
    line-height: 1.5;
  }

  .radio > input {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    z-index: -1;
    position: absolute;
    left: -10px;
    top: -8px;
    display: block;
    margin: 0;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    outline: none;
    opacity: 0;
    transform: scale(1);
    pointer-events: none;
    transition:
      opacity 0.3s,
      transform 0.2s;
  }

  .radio > .radio__label {
    display: inline-block;
    width: 100%;
    cursor: pointer;
    position: relative;
    font-size: var(--font-body--size-emphasized);
  }

  .radio > .radio__label::before {
    content: '';
    display: inline-block;
    box-sizing: border-box;
    margin: 0px 10px 0px 0;
    border: var(--inputs-border-width) solid var(--color-input-text);
    border-radius: 50%;
    width: 20px;
    min-width: 20px;
    height: 20px;
    vertical-align: top;
    transition: border-color 0.2s;
    background-color: var(--color-input-background);
  }

  .radio > .radio__label::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    background-color: var(--color-input-text);
    transform: translate(5px, 5px) scale(0);
    transition: transform 0.2s;
  }

  .radio > input:checked + .radio__label::before {
    border-color: var(--color-input-text);
  }

  .radio > input:checked + .radio__label::after {
    transform: translate(5px, 5px) scale(1);
  }

  .radio > input:focus {
    opacity: 0.12;
  }

  .radio > input:disabled {
    opacity: 0;
  }

  .radio > input:disabled + .radio__label {
    color: var(--color-input-text);
    opacity: 0.5;
    cursor: not-allowed;
  }

  .radio > input:disabled + .radio__label::before {
    border-color: currentColor;
  }

  .radio > input:disabled + .radio__label::after {
    background-color: currentColor;
  }
/* END_SNIPPET:radio */

/* START_SNIPPET:rating-stars (INDEX:222) */
.rating {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
    flex-wrap: wrap;
  }

  .rating__stars {
    height: 22px;
  }

  .rating-star {
    font-size: 22px !important;
    margin: 0 -4.5px;
    color: var(--color-stars-icons);
  }

  .rating-star--filled {
    font-variation-settings: 'FILL' 1, 'wght' var(--icon-weight), 'GRAD' 0, 'opsz' 24;
  }

  .rating-star--unfilled {
    font-variation-settings: 'FILL' 0, 'wght' var(--icon-weight), 'GRAD' 0, 'opsz' 24;
  }

  .rating__count {
    line-height: 22px;
  }
/* END_SNIPPET:rating-stars */

/* START_SNIPPET:review (INDEX:223) */
.review {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    overflow: hidden;
    width: 100%;
  }

  shopify-visual-preview-block-list shopify-visual-preview-block-list .review[data-visual-preview-mode] {
    width: 100%;
    max-width: 400px;
  }

  .review__image {
    object-fit: cover;
    width: 100%;
    overflow: auto;
    border-radius: calc(var(--card-border-radius) - (var(--card-padding) * 0.5));
  }

  .review__image .placeholder-svg {
    width: 100%;
    height: 100%;
    background-color: #f8f8f8;
    border-radius: calc(var(--card-border-radius) - (var(--card-padding) * 0.5));
  }

  .review__title,
  .review__author-name {
    font-weight: 600;
  }

  .review__date {
    font-style: italic;
  }

  .review--2 {
    .review__author-and-date {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: var(--gap-sm);
      width: 100%;
      margin-top: 10px;
    }
  }

  .review--3 {
    .review__image {
      aspect-ratio: var(--image-ratio);
    }

    .review__image .placeholder-svg {
      aspect-ratio: var(--image-ratio);
    }
  }

  .review--4 {
    flex-direction: row;
    align-items: center;

    .review__content {
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: var(--gap-sm);
    }

    .review__image,
    .review__image .placeholder-svg {
      aspect-ratio: 1 / 1;
    }
  }

  @media (width > 750px) {
    .review--4 {
      flex-direction: row;
      align-items: center;
    }
  }

  .review--5 {
    .review__author-and-date-container {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: var(--gap-sm);
      width: 100%;
      margin-bottom: 10px;

      .review__author-and-date {
        display: flex;
        flex-direction: column;
        gap: var(--gap-xs);
      }

      .review__author-profile,
      .review__author-profile svg {
        width: 50px;
        height: 50px;
        background-color: #f8f8f8;
        border-radius: calc(var(--card-border-radius) - (var(--card-padding) * 0.5));
        object-fit: cover;
      }
    }
  }
/* END_SNIPPET:review */

/* START_SNIPPET:search-popup (INDEX:225) */
.header__icon-search {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: inherit;
    display: flex;
  }

  .dialog-modal--search {
    padding: var(--page-margin-mobile);
    flex-direction: row;
    gap: var(--gap-xs);
    align-items: center;
    width: var(--modal-width);
    overflow: hidden !important;
    max-height: var(--search-modal-max-height-mobile);

    @media (width > 750px) {
      max-height: var(--search-modal-max-height);
    }

    &[open] {
      display: flex;
      align-items: flex-start;
    }

    .dialog-modal__content {
      width: 100%;
    }

    .dialog-modal__content .search-form {
      display: flex;
      flex-direction: row;
      gap: var(--gap-xs);
      align-items: center;
      margin: 0;
    }

    .dialog-modal__close {
      position: relative;
      top: auto;
      right: auto;
    }
  }

  @media (width > 750px) {
    .dialog-modal--search {
      padding: var(--padding-md);
    }
  }
/* END_SNIPPET:search-popup */

/* START_SNIPPET:separator (INDEX:227) */
.separator {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: block;
    width: var(--width);
  }

  .separator hr {
    border: none;
    border-top: var(--separator-border-width) var(--separator-style) var(--color-border, #e0e0e0);
  }
/* END_SNIPPET:separator */

/* START_SNIPPET:slider (INDEX:228) */
slider-component {
    position: relative;
  }
/* END_SNIPPET:slider */

/* START_SNIPPET:sort-inline (INDEX:229) */
.sorting-dropdown-toggle {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .sorting__select {
    border-radius: calc(var(--card-border-radius) - var(--padding-xs));
    display: flex;
    align-items: center;
    padding: var(--padding-xs);
    font-size: var(--font-body--size);
    gap: 3px;
    cursor: pointer;
    transition: background-color var(--animation-speed) var(--animation-easing);
  }

  .sorting__list {
    display: flex;
    flex-direction: column;
    gap: 3px;
    position: relative;
    width: 100%;
    scroll-padding: var(--padding-xs) 0;
    overflow-y: auto;
    white-space: nowrap;
    list-style: none;
    padding: 0;
  }

  .sorting__select:hover,
  .sorting__select:focus,
  .sorting__select--selected {
    background-color: rgb(from var(--color-foreground) r g b / 5%);
    font-weight: 500;
  }
/* END_SNIPPET:sort-inline */

/* START_SNIPPET:swatch (INDEX:231) */
.swatch-input {
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    position: absolute;
    width: 1px;
    height: 1px;
  }

  .swatch-input + .swatch,
  .swatch-link {
    display: block;
    border-radius: calc(var(--swatch-border-radius) - var(--swatch-outline-offset));
    cursor: pointer;
    outline-offset: var(--swatch-outline-offset);
    margin: var(--swatches-border-width);
    width: var(--swatch-size);
    height: var(--swatch-size);
    outline: var(--swatches-border-width) solid transparent;
    transition: outline 0.1s ease-in-out;
    forced-color-adjust: none;
  }

  .swatch-input:active + .swatch,
  .swatch-input:checked + .swatch,
  .swatch-input[aria-checked='true'] + .swatch,
  .swatch-link[aria-checked='true'],
  .swatch-input:focus + .swatch,
  .swatch-input:focus-visible + .swatch {
    outline: var(--swatches-border-width) solid var(--color-selected-input-border);
  }

  .swatch-input:hover:not([aria-checked='true']):not([checked]) + .swatch,
  .swatch-link:hover:not([aria-checked='true']) {
    outline: var(--swatches-border-width) solid var(--color-input-border-low-opacity);
  }

  .swatch span {
    pointer-events: none;
    position: relative;
    overflow: hidden;
    display: block;
    width: var(--swatch-size);
    height: var(--swatch-size);
    background: var(--swatch-background);
    background-size: cover;
    background-origin: border-box;
    border: 0.5px solid var(--color-input-border-low-opacity);
    border-radius: calc(var(--swatch-border-radius) - var(--swatch-outline-offset));
  }

  .swatch--disabled span:after {
    --crossed-line--size: 1px;
    content: '';
    position: absolute;
    bottom: calc(var(--crossed-line--size) * -0.5);
    left: 0;
    width: calc(var(--swatch-size) * 1.414);
    height: var(--crossed-line--size);
    background-color: var(--color-foreground);
    transform: rotate(-45deg);
    transform-origin: left;
  }

  .swatch-input:checked + .swatch {
    outline: var(--swatches-border-width) solid var(--color-selected-input-border);
  }
/* END_SNIPPET:swatch */

/* START_SNIPPET:swatches (INDEX:232) */
.swatches {
    display: flex;
    justify-content: flex-start;
    overflow-x: auto;
    padding: 3px;
    gap: 10px;
    padding-bottom: 10px;
  }

  .swatches {
    --swatch-size: var(--swatches-size);
    --swatch-border-radius: var(--inputs-border-radius);
    --swatch-outline-offset: var(--swatches-outline-offset);
  }

  .swatches--small {
    --swatch-size: calc(var(--swatches-size) * var(--small-multiplier));
    --swatch-border-radius: calc(var(--small-multiplier) * var(--inputs-border-radius));
    --swatch-outline-offset: var(--swatches-small-outline-offset);
  }

  .swatches--big {
    --swatch-size: calc(var(--swatches-size) * var(--big-multiplier));
    --swatch-border-radius: calc(var(--inputs-border-radius) * var(--big-multiplier));
    --swatch-outline-offset: var(--swatches-big-outline-offset);
  }

  .swatches--rounded .swatch,
  .swatches--rounded .swatch-link,
  .swatches--rounded .swatch span {
    --swatch-border-radius: 100%;
  }
/* END_SNIPPET:swatches */

/* START_SNIPPET:textarea (INDEX:233) */
.textarea {
    position: relative;
  }

  .textarea textarea {
    outline: none;
    border: var(--inputs-border-width) solid var(--color-input-border);
    border-radius: var(--inputs-border-radius);
    padding: var(--inputs-padding);
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    transition: 0.1s ease-out;
    height: calc(var(--inputs-min-height) * 2);
    width: 100%;
    font-size: var(--inputs-font-size);
  }

  .textarea--disabled textarea {
    opacity: 0.5;
    cursor: not-allowed;
    background-color: var(--color-input-background);
  }

  .textarea--full-width textarea {
    width: 100%;
  }
/* END_SNIPPET:textarea */

/* START_SNIPPET:textfield (INDEX:234) */
.textfield {
    position: relative;
  }

  .textfield input {
    outline: none;
    border: var(--inputs-border-width) solid var(--color-input-border);
    border-radius: var(--inputs-border-radius);
    padding: 1.25rem var(--inputs-padding) 0.375rem;
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    transition: 0.1s ease-out;
    height: var(--inputs-min-height);
    min-width: var(--inputs-min-width);
    font-size: var(--inputs-font-size);
  }

  .textfield input::placeholder {
    opacity: 0;
  }

  .textfield label {
    position: absolute;
    left: calc(var(--inputs-padding) + var(--inputs-border-width));
    top: 50%;
    transform: translateY(-50%);
    font-size: var(--inputs-font-size);
    color: var(--color-input-text);
    transition: 0.1s ease-out;
    transform-origin: left top;
    pointer-events: none;
  }

  .textfield input:focus + label,
  .textfield input:not(:placeholder-shown) + label {
    top: 0.375rem;
    transform: scale(0.75);
  }

  .textfield--small,
  .textfield--small input {
    height: calc(var(--small-multiplier) * var(--inputs-min-height));
  }

  .textfield--small input {
    padding: 0 var(--inputs-padding);
    border-radius: calc(var(--small-multiplier) * var(--inputs-border-radius));
  }

  .textfield--small label {
    display: none;
  }

  .textfield--small input::placeholder {
    opacity: 1;
  }

  .textfield--disabled input {
    opacity: 0.5;
    cursor: not-allowed;
  }

  .textfield--disabled label {
    opacity: 0.5;
  }

  .textfield--full-width,
  .textfield--full-width input {
    width: 100%;
  }

  .textfield--error input {
    border-color: var(--color-error);
  }

  .textfield--error label {
    color: var(--color-error);
  }

  .input-group {
    display: flex;
    align-items: center;
    border: var(--inputs-border-width) solid var(--color-input-border);
    border-radius: var(--inputs-border-radius);
    background-color: var(--color-input-background);
    transition: border-color 0.1s ease-out;
    width: 100%;

    .textfield {
      flex: 1;
      min-width: 0;
    }

    .textfield input {
      border-color: transparent;
      background-color: transparent;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
    }
  }

  .input-group:focus-within {
    border-color: var(--color-selected-input-border);
  }

  .input-group__action {
    flex-shrink: 0;
    display: flex;
    align-items: center;

    .button {
      border-color: transparent;
      background-color: transparent;
      color: var(--color-input-text);
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
    }
  }
/* END_SNIPPET:textfield */

/* START_SNIPPET:video (INDEX:236) */
deferred-media {
    border-radius: var(--card-border-radius);
    overflow: hidden;
    aspect-ratio: var(--ratio);
    position: relative;
    display: block;
  }

  .video-interaction-hint {
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
  }

  .video-interaction-hint:hover {
    opacity: 1;
  }

  .deferred-media__video:empty {
    z-index: -1;
  }

  .deferred-media__video {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .deferred-media__video video {
    aspect-ratio: var(--ratio);
    object-fit: cover;
  }

  .deferred-media__poster-button {
    opacity: 0;
    transition: opacity 0.3s ease;
  }

  .deferred-media__poster,
  .deferred-media__poster-button {
    cursor: pointer;
  }

  .deferred-media__poster-icon,
  .deferred-media__poster-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: transparent;
    border: none;
    transition: var(--animation-link-hover);

    .icon--play_circle,
    .icon--pause_circle {
      font-size: 60px !important;
      color: var(--color-primary-button-text);
    }
  }

  .deferred-media__poster:hover {
    .deferred-media__poster-button {
      opacity: 1;
    }

    .deferred-media__poster-icon {
      opacity: var(--opacity-link-hover);
    }
  }

  .deferred-media__poster {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
  }

  .deferred-media__poster.deferred-media__playing {
    opacity: 0;
    transition: opacity 0.3s ease;
  }

  deferred-media img {
    height: 100%;
    transition: opacity 0.3s ease;
  }

  deferred-media iframe {
    width: 100%;
    height: 100%;
    border: none;
    aspect-ratio: var(--ratio);
  }

  deferred-media[data-media-loaded] img {
    opacity: 0;
  }
/* END_SNIPPET:video */

/* START_SNIPPET:wishlist-icon (INDEX:237) */
.header__icon-wishlist {
    position: relative;
    cursor: pointer;
    color: inherit;
  }
/* END_SNIPPET:wishlist-icon */