/* Mobile proposal: one-row gallery and a purchase bar using the native form. */
.fp-gallery-strip { display: block; }
.fp-gallery-nav { display: none; }
.fp-mobile-cart { display: none; }
.fp-mobile-top { display: none; }
.fp-hoop-confirm:not([open]) { display: none !important; }
html.fp-hoop-confirm-open { overflow: hidden; }
@layer ps-base {
  @media (max-width: 900px) {
    body#product .fiche-produit { padding-top: 20px !important; }
    body#product .fiche-produit .fp-gallery-strip {
      display: grid !important;
      grid-template-columns: 32px minmax(0, 1fr) 32px !important;
      align-items: center !important;
      gap: 6px !important;
      margin-top: 10px !important;
      min-width: 0 !important;
    }
    body#product .fiche-produit .fp-gallery-strip .fp-thumbs {
      display: flex !important;
      flex-wrap: nowrap !important;
      gap: 8px !important;
      width: 100% !important;
      min-width: 0 !important;
      margin: 0 !important;
      padding: 2px 0 !important;
      overflow-x: auto !important;
      overflow-y: hidden !important;
      overscroll-behavior-x: contain;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
      -webkit-overflow-scrolling: touch;
    }
    body#product .fiche-produit .fp-thumbs::-webkit-scrollbar { display: none; }
    body#product .fiche-produit .fp-gallery-strip .fp-thumb {
      box-sizing: border-box !important;
      flex: 0 0 58px !important;
      width: 58px !important;
      height: 58px !important;
      border: 1px solid #e5d9c7 !important;
      border-radius: 9px !important;
      opacity: .8;
      scroll-snap-align: start;
      scroll-margin-inline: 3px;
    }
    body#product .fiche-produit .fp-thumb[aria-pressed='true'] {
      border: 2px solid #a33e27 !important;
      opacity: 1;
    }
    body#product .fiche-produit .fp-gallery-nav {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      box-sizing: border-box !important;
      width: 32px !important;
      min-width: 32px !important;
      height: 48px !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      border-radius: 8px !important;
      background: transparent !important;
      color: #6b5142 !important;
      box-shadow: none !important;
      cursor: pointer;
    }
    body#product .fiche-produit .fp-gallery-nav:disabled { opacity: .25; cursor: default; }
    body#product .fiche-produit .fp-gallery-nav svg { width: 20px; height: 20px; }
    body#product .fiche-produit :is(.fp-gallery-nav, .fp-thumb):focus-visible {
      outline: 2px solid #a33e27 !important;
      outline-offset: -2px !important;
    }
  }
  @media (max-width: 767px) {
    body#product.fp-mobile-controls-ready #back-to-top { display: none !important; }
    body#product.fp-mobile-controls-ready #tarteaucitronIcon { left: 14px !important; right: auto !important; }
    body#product .fp-mobile-top:not([hidden]) {
      display: flex !important; align-items: center !important; justify-content: center !important;
      position: fixed !important; right: 16px !important; bottom: 18px !important; z-index: 101 !important;
      box-sizing: border-box !important; width: 42px !important; height: 42px !important;
      margin: 0 !important; padding: 10px !important; border: 1px solid #e1d4c5 !important; border-radius: 50% !important;
      background: #fffdf8 !important; color: #6b5142 !important; box-shadow: 0 4px 15px rgba(59, 36, 20, .09) !important;
      cursor: pointer;
    }
    body#product .fp-mobile-top svg { width: 19px; height: 19px; }
    body#product.fp-mobile-cart-visible .fp-mobile-top { bottom: calc(var(--fp-mobile-cart-height, 80px) + 14px) !important; }
    body#product .fp-mobile-top:focus-visible { outline: 2px solid #a33e27 !important; outline-offset: 3px !important; }
    body#product:has(dialog[open]) .fp-mobile-top { visibility: hidden !important; }
    body#product .fp-hoop-confirm[open] {
      display: block !important; position: fixed !important; inset: auto 0 0 !important;
      box-sizing: border-box !important; width: 100% !important; max-width: none !important;
      max-height: calc(100dvh - 24px) !important; overflow-y: auto !important; overscroll-behavior: contain;
      margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 22px 22px 0 0 !important;
      background: #fffdf8 !important; color: #1c1815 !important; box-shadow: 0 -12px 50px rgba(59, 36, 20, .14) !important;
      font-family: 'Manrope', sans-serif !important;
    }
    body#product .fp-hoop-confirm::backdrop { background: rgba(28, 24, 21, .27); backdrop-filter: blur(2px); }
    body#product .fp-hoop-confirm__handle { width: 32px; height: 3px; margin: 10px auto 0; border-radius: 3px; background: #d8cbbb; }
    body#product .fp-hoop-confirm__header { position: relative; padding: 16px 52px 17px 20px; }
    body#product .fp-hoop-confirm__header h2 { margin: 0 0 7px !important; font: 400 26px/1.12 'DM Serif Display', Georgia, serif !important; color: #1c1815 !important; letter-spacing: -.02em !important; }
    body#product .fp-hoop-confirm__header p { margin: 0 !important; font: 400 12px/1.5 'Manrope', sans-serif !important; color: #76685b !important; }
    body#product .fp-hoop-confirm__close { position: absolute !important; top: 7px !important; right: 8px !important; display: grid !important; place-items: center !important; width: 42px !important; height: 42px !important; margin: 0 !important; padding: 11px !important; border: 0 !important; border-radius: 50% !important; background: transparent !important; color: #76685b !important; box-shadow: none !important; cursor: pointer; }
    body#product .fp-hoop-confirm__close svg { width: 19px; height: 19px; }
    body#product .fp-hoop-confirm__choices { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; min-width: 0 !important; margin: 0 20px !important; padding: 0 !important; border: 0 !important; }
    body#product .fp-hoop-confirm__choices legend { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    body#product .fp-hoop-confirm__option { position: relative; min-width: 0; margin: 0; cursor: pointer; }
    body#product .fp-hoop-confirm__option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
    body#product .fp-hoop-confirm__card { display: flex; box-sizing: border-box; flex-direction: column; align-items: center; position: relative; min-height: 139px; padding: 13px 5px 12px; border: 1px solid #e5d9c7; border-radius: 12px; background: #fffdf8; text-align: center; }
    body#product .fp-hoop-confirm__option input:checked + .fp-hoop-confirm__card { border: 1.5px solid #a33e27; background: #fbf1e9; padding: 12.5px 4.5px 11.5px; }
    body#product .fp-hoop-confirm__option input:checked + .fp-hoop-confirm__card::after { content: '✓'; position: absolute; top: 6px; right: 6px; display: grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; background: #a33e27; color: #fffdf8; font: 600 10px/1 'Manrope', sans-serif; }
    body#product .fp-hoop-confirm__option input:focus-visible + .fp-hoop-confirm__card { outline: 2px solid #1c1815; outline-offset: 3px; }
    body#product .fp-hoop-confirm__option input:disabled + .fp-hoop-confirm__card { opacity: .4; cursor: default; }
    body#product .fp-hoop-confirm__image { display: block; width: 58px; height: 58px; margin-bottom: 10px; border-radius: 50%; background: #eee5d8 center/cover no-repeat; }
    body#product .fp-hoop-confirm__name { font: 600 12px/1.3 'Manrope', sans-serif; color: #332b26; }
    body#product .fp-hoop-confirm__supplement { margin-top: 4px; font: 400 11px/1.3 'Manrope', sans-serif; color: #76685b; }
    body#product .fp-hoop-confirm__note { margin: 13px 20px 15px !important; color: #76685b !important; font: 400 11px/1.5 'Manrope', sans-serif !important; }
    body#product .fp-hoop-confirm__error { margin: 0 20px 12px; color: #a33e27; font-size: 12px; }
    body#product .fp-hoop-confirm__footer { display: grid !important; grid-template-columns: minmax(90px, .85fr) minmax(0, 1.5fr) !important; gap: 14px !important; align-items: center !important; margin: 0 !important; padding: 13px 20px calc(13px + env(safe-area-inset-bottom, 0px)) !important; border: 0 !important; border-top: 1px solid #e5d9c7 !important; background: #fffdf8 !important; color: #1c1815 !important; }
    body#product .fp-hoop-confirm button:focus-visible { outline: 2px solid #1c1815 !important; outline-offset: 3px !important; }
    body#product .fp-mobile-cart:not([hidden]) {
      display: grid !important;
      grid-template-columns: minmax(90px, .85fr) minmax(0, 1.5fr) !important;
      align-items: center !important;
      gap: 14px !important;
      box-sizing: border-box !important;
      position: fixed !important;
      inset: auto 0 0 !important;
      z-index: 100 !important;
      width: 100% !important;
      padding: 12px 20px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
      border: 0 !important;
      border-top: 1px solid #e5d9c7 !important;
      background: #fffdf8 !important;
      color: #1c1815 !important;
      box-shadow: 0 -8px 28px rgba(59, 36, 20, .08) !important;
      font-family: 'Manrope', sans-serif !important;
    }
    body#product .fp-mobile-cart__info {
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      justify-content: center !important;
      min-width: 0 !important;
      min-height: 52px !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      background: transparent !important;
      text-align: left !important;
      color: inherit !important;
      box-shadow: none !important;
      cursor: pointer;
    }
    body#product .fp-mobile-cart__price {
      font: 700 23px/1.25 'Manrope', sans-serif !important;
      letter-spacing: -.04em !important;
      white-space: nowrap !important;
    }
    body#product .fp-mobile-cart__selection {
      display: block !important;
      width: 100% !important;
      overflow: hidden !important;
      text-overflow: ellipsis !important;
      white-space: nowrap !important;
      margin-top: 3px !important;
      color: #76685b !important;
      font: 400 11px/1.4 'Manrope', sans-serif !important;
    }
    body#product .fp-mobile-cart__add {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 10px !important;
      box-sizing: border-box !important;
      min-width: 0 !important;
      width: 100% !important;
      min-height: 52px !important;
      margin: 0 !important;
      padding: 12px 13px !important;
      border: 1px solid #a33e27 !important;
      border-radius: 10px !important;
      background: #a33e27 !important;
      color: #fffdf8 !important;
      font: 600 13px/1.3 'Manrope', sans-serif !important;
      letter-spacing: 0 !important;
      text-transform: none !important;
      box-shadow: none !important;
      cursor: pointer;
    }
    body#product .fp-mobile-cart__add svg { flex: 0 0 18px; width: 18px; height: 18px; }
    body#product .fp-mobile-cart__add:disabled { background: #76685b !important; border-color: #76685b !important; cursor: default; }
    body#product .fp-mobile-cart button:focus-visible { outline: 2px solid #1c1815 !important; outline-offset: 3px !important; }
    body#product.fp-mobile-cart-visible { padding-bottom: var(--fp-mobile-cart-height, 80px) !important; }
    body#product.fp-mobile-cart-visible :is(#tarteaucitronIcon, #back-to-top) { bottom: calc(var(--fp-mobile-cart-height, 80px) + 12px) !important; }
    body#product.modal-open .fp-mobile-cart,
    body#product:has(dialog[open]) .fp-mobile-cart { visibility: hidden !important; }
  }
  @media (max-width: 359px) {
    body#product .fp-mobile-cart:not([hidden]) { padding-inline: 14px !important; gap: 10px !important; }
    body#product .fp-mobile-cart__add { font-size: 12px !important; gap: 7px !important; padding-inline: 10px !important; }
    body#product .fp-mobile-cart__price { font-size: 21px !important; }
  }
  @media (prefers-reduced-motion: reduce) {
    body#product .fp-thumbs { scroll-behavior: auto !important; }
  }
}
