/** Shopify CDN: Minification failed

Line 2990:19 Expected identifier but found "="
Line 3937:0 Expected "}" to go with "{"

**/
.color-red {
  color: var(--color-form-errors);
}

.color-subdued {
  opacity: 0.7;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
  font-size: calc(var(--font-body-scale) * 62.5%);
  height: 100%;
}

@media (max-width: 767px) {
  html {
    font-size: calc(var(--font-body-scale-mobile) * 62.5%);
  }
}

body {
  position: static !important;
  color: var(--color-base);
  background-color: var(--color-base-background);
  display: flex;
  flex-direction: column;
  min-width: 32rem;
  min-height: 100%;
  margin: 0;
  line-height: calc(1 + 0.5 / var(--font-body-scale));
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  font-size: 1.6rem;
  -webkit-font-smoothing: antialiased;
}

body.no-scroll {
  overflow: hidden !important;
  touch-action: none;
  width: 100%;
}

@media (max-width: 767px) {
  body.no-scroll-mobile {
    overflow: hidden !important;
    touch-action: none;
    width: 100%;
    height: 100%;
  }
}

#shopify-section-footer,
#shopify-section-main-password-footer {
  margin-top: auto;
}

.no-js:not(html) {
  display: none !important;
}

html.no-js .no-js:not(html) {
  display: block !important;
}

.no-js-inline {
  display: none !important;
}

html.no-js .no-js-inline {
  display: inline-block !important;
}

html.no-js .no-js-hidden {
  display: none !important;
}
html.no-js noscript img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.container {
  width: 100%;
  max-width: var(--page-width);
  padding: 0 4rem;
  margin: 0 auto;
}

@media screen and (max-width: 1023px) {
  .container {
    padding: 0 2.4rem;
  }
}

@media screen and (max-width: 767px) {
  .container {
    padding: 0 1.6rem;
  }
}

.container--narrow {
  max-width: calc(var(--page-width) * 0.65);
}

.container--small {
  max-width: var(--page-width-small);
}

.container--medium {
  max-width: var(--page-width-medium);
}

.container--fullwidth {
  max-width: none;
}

.container--fluid:not(.container--fullwidth) {
  max-width: none;
  padding: 0;
}

.shopify-challenge__container {
  padding: 4rem 0;
}

@media (max-width: 767px) {
  .container--margin,
  .shopify-challenge__container {
    margin: 1.6rem auto;
  }
}

.container--full-left {
  margin-left: 0;
}

.container--full-right {
  margin-right: 0;
}

.list-unstyled {
  margin: 0;
  padding: 0;
  list-style: none;
}

.list-unstyled a {
  text-decoration: none;
}

.flex {
  display: flex;
  flex-flow: row wrap;
}

.flex--justify {
  justify-content: space-between;
}

.flex--justify-center {
  justify-content: center;
}

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

.hidden,
[hidden] {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .small-hide {
    display: none !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .medium-hide {
    display: none !important;
  }
}

@media screen and (min-width: 1024px) {
  .medium-less-up-hide {
    display: none !important;
  }
}

@media (max-width: 1023px) {
  .medium-down-hide {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  .medium-up-hide {
    display: none !important;
  }
}

.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  width: 0.1rem;
  height: 0.1rem;
  margin: 0.-1rem;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  word-wrap: normal !important;
}

.skip-to-content-link:focus {
  z-index: 9999;
  position: inherit;
  overflow: auto;
  width: auto;
  height: auto;
  clip: auto;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  font-weight: var(--font-heading-weight);
  text-transform: var(--font-heading-uppercase);
}

h1,
.h1 {
  font-size: calc(var(--font-heading-scale) * 6.4rem);
  line-height: calc(1 + 0.19 / var(--font-heading-scale));
}

@media only screen and (max-width: 767px) {
  h1,
  .h1 {
    font-size: calc(var(--font-heading-scale-mobile) * 4.2rem);
    line-height: calc(1 + 0.14 / var(--font-heading-scale-mobile));
  }
}

h2,
.h2 {
  font-size: calc(var(--font-heading-scale) * 5.4rem);
  line-height: calc(1 + 0.14 / var(--font-heading-scale));
}

@media only screen and (max-width: 767px) {
  h2,
  .h2 {
    font-size: calc(var(--font-heading-scale-mobile) * 3.2rem);
    line-height: calc(1 + 0.25 / var(--font-heading-scale-mobile));
  }
}

h3,
.h3 {
  font-size: calc(var(--font-heading-scale) * 4.2rem);
  line-height: calc(1 + 0.25 / var(--font-heading-scale));
}

@media only screen and (max-width: 767px) {
  h3,
  .h3 {
    font-size: calc(var(--font-heading-scale-mobile) * 2.8rem);
    line-height: calc(1 + 0.33 / var(--font-heading-scale-mobile));
  }
}

h4,
.h4 {
  font-size: calc(var(--font-heading-scale) * 2.4rem);
  line-height: calc(1 + 0.43 / var(--font-heading-scale));
}

@media only screen and (max-width: 767px) {
  h4,
  .h4 {
    font-size: calc(var(--font-heading-scale-mobile) * 2rem);
    line-height: calc(1 + 0.6 / var(--font-heading-scale-mobile));
  }
}

h5,
.h5 {
  font-size: calc(var(--font-heading-scale) * 2rem);
  line-height: calc(1 + 0.33 / var(--font-heading-scale));
}

@media only screen and (max-width: 767px) {
  h5,
  .h5 {
    font-size: calc(var(--font-heading-scale-mobile) * 1.8rem);
    line-height: calc(1 + 0.77 / var(--font-heading-scale-mobile));
  }
}

h6,
.h6 {
  font-size: calc(var(--font-heading-scale) * 1.8rem);
  line-height: calc(1 + 0.6 / var(--font-heading-scale));
}

@media only screen and (max-width: 767px) {
  h6,
  .h6 {
    font-size: calc(var(--font-heading-scale-mobile) * 1.2rem);
    line-height: calc(1 + 0.5 / var(--font-heading-scale-mobile));
  }
}

blockquote {
  font-style: italic;
  border-left: 0.2rem solid var(--color-form-input-border-light);
  padding-left: 1.5rem;
}

@media screen and (max-width: 767px) {
  blockquote {
    padding-left: 1rem;
  }
}

.caption {
  font-size: 1.4rem;
  letter-spacing: 0.04rem;
  line-height: calc(1 + 0.71 / var(--font-body-scale));
}

.caption--small {
  font-size: 1.2rem;
}

.caption-ffb {
  font-family: var(--font-body-family);
}

table:not([class]) {
  table-layout: fixed;
  border-collapse: collapse;
  border-style: hidden;
  box-shadow: 0 0 0 0.1rem var(--color-form-input-border-light);
}

table:not([class]) td,
table:not([class]) th {
  padding: 1.5rem 1.9rem;
  border: 0.1rem solid var(--color-form-input-border-light);
  word-break: break-word;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.uppercase {
  text-transform: uppercase;
}

.regular {
  font-weight: 400;
}

.medium {
  font-weight: 500;
}

.bold {
  font-weight: 700;
}

.spacer {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

a:empty,
ul:empty,
dl:empty,
del:empty,
div:empty,
section:empty,
article:empty,
p:empty,
h1:empty,
h2:empty,
h3:empty,
h4:empty,
h5:empty,
h6:empty {
  display: none;
}

a {
  color: inherit;
}

a:not([href]) {
  cursor: not-allowed;
}

a.link {
  font-family: inherit;
  font-weight: 500;
  letter-spacing: 0.1rem;
  cursor: pointer;
  display: inline-block;
  border: none;
  box-shadow: none;
  text-decoration: none;
  text-underline-offset: 0.3rem;
  background-color: transparent;
  color: inherit;
  text-decoration-thickness: 0.1rem;
  transition: text-decoration-thickness ease var(--duration-short);
}

a.link svg {
  vertical-align: middle;
}

a.link:hover {
  text-decoration: underline;
}

a.link--underline {
  text-decoration: underline;
}

a.link--underline:hover {
  text-decoration: none;
}

p a ,
.list-unstyled p a{
  color: currentColor;
  text-decoration: underline;
}

p a:hover {
  text-decoration: none;
}

hr {
  border: none;
  height: 0.1rem;
  background-color: var(--color-form-input-border-light);
  display: block;
  margin: 7rem 0;
}

.errors ul {
  padding: 0 1.9rem;
}

@media screen and (max-width: 767px) {
  hr {
    margin: 5rem 0;
  }
}

.full-unstyled-link {
  text-decoration: none;
  color: currentColor;
  display: block;
}

.inline-unstyled-link {
  text-decoration: none;
  color: currentColor;
  display: inline-block;
}

details>* {
  box-sizing: border-box;
}

.visibility-hidden {
  visibility: hidden;
}

html.motion-reduce * {
  transition: none !important;
  animation: none !important;
}

@media (prefers-reduced-motion) {
  .motion-reduce {
    transition: none !important;
    animation: none !important;
  }
}

summary {
  cursor: pointer;
  list-style: none;
  position: relative;
}

summary::-webkit-details-marker {
  display: none;
}

*:focus {
  outline: 0;
  box-shadow: none;
}

*:focus-visible {
  outline: 0.2rem solid currentColor;
}

/* Fallback - for browsers that don't support :focus-visible, a fallback is set for :focus */
.focused,
.no-js *:focus {
  outline: 0.2rem solid currentColor;
}

/* Negate the fallback side-effect for browsers that support :focus-visible */
.no-js *:focus:not(:focus-visible) {
  outline: 0;
  box-shadow: none;
}

/*
  Focus ring - inset
*/

.focus-inset:focus-visible {
  outline: 0.2rem solid currentColor;
  outline-offset: -0.2rem;
}

.focused.focus-inset,
.no-js .focus-inset:focus {
  outline: 0.2rem solid currentColor;
  outline-offset: -0.2rem;
}

.no-js .focus-inset:focus:not(:focus-visible) {
  outline: 0;
  box-shadow: none;
}

/*
  Focus ring - none
*/

/* Dangerous for a11y - Use with care */
.focus-none {
  box-shadow: none !important;
  outline: 0 !important;
}

.focus-offset:focus-visible {
  outline: 0.2rem solid currentColor;
  outline-offset: 1rem;
}

.focus-offset.focused,
.no-js .focus-offset:focus {
  outline: 0.2rem solid currentColor;
  outline-offset: 1rem;
}

.no-js .focus-offset:focus:not(:focus-visible) {
  outline: 0;
  box-shadow: none;
}

.grid {
  display: grid;
  column-gap: 3.2rem;
  row-gap: 7.2rem;
  grid-template-rows: max-content;
}

.grid--center {
  align-items: center;
}

.grid--no-column-gap {
  column-gap: 0;
}

.grid--reverse {
  direction: rtl;
}

.grid--reverse > * {
  direction: initial;
}

.grid--2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid--3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid--4 {
  grid-template-columns: repeat(4, 1fr);
}

.grid--5 {
  grid-template-columns: repeat(5, 1fr);
}

@media screen and (max-width: 767px) {
  .grid {
    grid-template-columns: 1fr;
    column-gap: 2.4rem;
    row-gap: 2rem;
  }
}

@media (max-width: 767px) {
  .grid--mobile-1 {
    grid-template-columns: 1fr;
  }

  .grid--mobile-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

img {
  width: auto;
  max-width: 100%;
}

.media {
  display: block;
  position: relative;
  overflow: hidden;
}

.media--transparent {
  background-color: transparent;
}

.media > * {
  display: block;
  max-width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
}

.media {
  transition: opacity var(--duration-default);
  padding-bottom: var(--ratio, 0);
}

@media (hover: hover) {
  a.media:not(.transform-none):hover img {
    transform: scale(1.02);
  }
}

.media > img,
.media > iframe {
  object-fit: cover;
  object-position: center center;
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, transform 0.2s ease-in-out;
  border: none;
}

.media-crop img {
  object-fit: cover;
}

.media--crop-top img {
  object-position: center top;
}

.media--crop-center img {
  object-position: center center;
}

.media--crop-bottom img {
  object-position: center bottom;
}

.media--21-9 {
  --ratio: 42.857%;
}

.media--16-9 {
  --ratio: 56.25%;
}

.media--9-16 {
  --ratio: 177.777%;
}

.media--5-4 {
  --ratio: 80%;
}

.media--4-5 {
  --ratio: 125%;
}

.media--4-3 {
  --ratio: 75%;
}

.media--3-4 {
  --ratio: 133.333%;
}

.media--3-2 {
  --ratio: 66.666%;
}

.media--2-3 {
  --ratio: 150%;
}

.media--2-1 {
  --ratio: 50%;
}

.media--1-2 {
  --ratio: 200%;
}

.media--1-1 {
  --ratio: 100%;
}

.media--original {
  padding-bottom: var(--aspect-ratio-original-desktop);
}

@media (min-width: 768px) {
  .media--viewport {
    height: 100vh;
    padding-bottom: 0;
  }
}

@media (max-width: 767px) {
  .media--mobile-16-9 {
    --ratio: 56.25%;
  }

  .media--mobile-9-16 {
    --ratio: 177.777%;
  }

  .media--mobile-4-5 {
    --ratio: 125%;
  }

  .media--mobile-4-3 {
    --ratio: 75%;
  }

  .media--mobile-3-4 {
    --ratio: 133.333%;
  }

  .media--mobile-3-2 {
    --ratio: 66.666%;
  }

  .media--mobile-2-3 {
    --ratio: 150%;
  }

  .media--mobile-1-3 {
    --ratio: 300%;
  }

  .media--mobile-1-2 {
    --ratio: 200%;
  }

  .media--mobile-1-1 {
    --ratio: 100%;
  }

  .media--mobile-original {
    padding-bottom: var(--aspect-ratio-original-mobile);
  }

  .media--mobile-viewport {
    height: 100vh;
    padding-bottom: 0;
  }
}

.media--portrait {
  padding-bottom: 132%;
}

.media--circle {
  padding-bottom: 100%;
  border-radius: 50%;
}

@media screen and (max-width: 767px) {
  .media--mobile-2-4 {
    padding-bottom: 50%;
  }
}

.media--aspect-ratio {
  padding-bottom: 0;
}

.media--aspect-ratio img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: static;
}

img.lazyload,
img.lazyloading {
  opacity: 0;
  visibility: hidden;
  transform: scale(1.02);
}

img.lazyloaded {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

deferred-media {
  display: block;
}

.deferred-media__button {
  width: 100%;
  background: none;
  padding: 0;
  border: none;
  border-radius: 0;
  cursor: pointer;
  position: relative;
}

.deferred-media[loaded] .deferred-media__button {
  display: none;
}

.deferred-media__button svg {
  background-color: var(--color-base-background);
  position: absolute;
  top: 2rem;
  right: 2rem;
  z-index: 1;
}

.deferred-media iframe,
.deferred-media video {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.button,
.shopify-challenge__button,
button.shopify-payment-button__button--unbranded,
.shopify-payment-button [role='button'],
.cart__dynamic-checkout-buttons [role='button'],
.cart__dynamic-checkout-buttons iframe {
  font-family: var(--font-button);
  font-weight: var(--font-weight-button);
  font-size: 1.4rem;
  line-height: calc(1 + 0.2 / var(--font-body-scale));
  letter-spacing: 0.1rem;
  text-transform: uppercase;
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: var(--button-min-width);
  max-width: 100%;
  height: 6.4rem;
  padding: 0 2.5rem;
  cursor: pointer;
  border: 0.2rem solid currentColor;
  position: relative;
  -webkit-appearance: none;
  appearance: none;
  border-radius: var(--border-radius-form-elements);
}

.shopify-payment-button {
  min-width: var(--button-min-width);
}

button.shopify-payment-button__button {
  margin: 0.5rem 0;
  width: auto;
}

.cart__dynamic-checkout-buttons iframe {
  padding: 0;
}

@media (max-width: 767px) {
  .button,
  .shopify-challenge__button,
  button.shopify-payment-button__button--unbranded,
  .shopify-payment-button [role='button'],
  .cart__dynamic-checkout-buttons [role='button'],
  .cart__dynamic-checkout-buttons iframe {
    height: 5.6rem;
  }

  .button--small-mobile {
    --button-min-width: 14rem;
  }
}

.cart__dynamic-checkout-buttons {
  width: 100%;
}

.shopify-challenge__container .shopify-challenge__button {
  margin: 2rem auto 0;
}

.button:disabled,
.button.disabled,
.button[disabled],
.shopify-payment-button__button[disabled],
button.shopify-payment-button__button--unbranded[aria-disabled="true"] {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.6;
}

button[type="button"]:not(.button) {
  font-size: 1.4rem;
  font-family: inherit;
  background-color: transparent;
  border: none;
  color: currentColor;
  cursor: pointer;
  padding: 0;
}

@media (max-width: 767px) {
  .clickable-area {
    position: relative;
  }

  .clickable-area:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    opacity: 0;
    width: 4.4rem;
    height: 4.4rem;
  }
}

.shopify-payment-button__button--branded {
  z-index: auto;
}

.button,
.shopify-challenge__button,
.shopify-payment-button [role='button'],
.cart__dynamic-checkout-buttons [role='button'],
.cart__dynamic-checkout-buttons iframe {
  color: var(--color-system-button);
  background-color: var(--color-system-button-background);
  border: 1px solid;
  border-color: var(--color-system-button-background);
}

.button:hover,
.shopify-challenge__button:hover,
.shopify-payment-button [role='button']:hover,
.cart__dynamic-checkout-buttons [role='button']:hover {
  color: var(--color-system-button-hover);
  background-color: var(--color-system-button-hover-background);
  border-color: var(--color-system-button-hover-background);
}

[data-shopify-xr-hidden] {
  display: none !important;
}

.shopify-installments {
  font-size: 1.8rem;
  margin: 1.6rem 0;
}

.shopify-payment-button__more-options {
  display: none;
}

shopify-accelerated-checkout-cart {
  margin-block-start: 1rem;
  display: block;
}

.cart__dynamic-checkout-buttons .shopify-cleanslate ul li *[role="button"],
.cart__dynamic-checkout-buttons .shopify-cleanslate ul li button {
  border-radius: var(--border-radius) !important;
}

.shopify-cleanslate div[role="button"] {
  height: 6.4rem;
  min-height: 6.4rem !important;
}

@media (max-width: 767px) {
  .shopify-cleanslate div[role="button"] {
    height: 5.6rem;
    min-height: 5.6rem !important;
  }
}

.form-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

.form-row--double {
  grid-template-columns: repeat(2, 1fr);
}

@media screen and (max-width: 767px) {
  .form-row--double {
    grid-template-columns: 1fr;
  }
}

.form-row + .form-row {
  margin-top: 1.5rem;
}

.field {
  position: relative;
}

.field__label {
  display: block;
  cursor: pointer;
  margin: 0 0 0.5rem;
}

.field__input {
  font: inherit;
  color: var(--color-form-input-label);
  background-color: var(--color-form-input-background);
  width: 100%;
  height: 5rem;
  padding: 0 1rem;
  border: 0.2rem solid currentColor;
  border-color: var(--color-form-input-border);
  -webkit-appearance: none;
  appearance: none;
}

.field__input::placeholder {
  color: var(--color-form-input-placeholder);
}

.field--textarea .field__input {
  height: auto;
  min-height: 12.5rem;
  padding: 2rem 1rem;
  resize: vertical;
  background-color: var(--color-form-input-background);
}

.field__error {
  color: var(--color-form-errors);
  margin: 0.5rem 0 0;
}

input[type="checkbox"] {
  margin: 0 0.3rem 0 0;
}

input,
textarea,
select {
  border-radius: var(--border-radius-form-elements);
}

.invalid-email-error {
  font-size: 1.2rem;
  color: var(--color-form-errors);
  display: flex;
  align-items: center;
  margin: 1rem 0;
}

.invalid-email-error svg {
  margin-right: 0.8rem;
}

.checkbox {
  display: inline-flex;
  align-items: center;
}

.checkbox input {
  position: relative;
  border: 0.1rem solid currentColor;
  margin: 0;
  padding: 0;
  width: 1.5rem;
  height: 1.5rem;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
}

.checkbox input:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  height: 0.3rem;
  width: 0.7rem;
  margin-top: -0.1rem;
  border: solid currentColor;
  border-width: 0.1rem 0.1rem 0 0;
  transform: translate(-50%, -50%) rotate(135deg);
  opacity: 0;
  visibility: hidden;
}

.checkbox input + label {
  width: calc(100% - 2rem);
  padding-left: 1rem;
}

.checkbox input:checked:before {
  opacity: 1;
  visibility: visible;
}

quantity-input {
  display: block;
}

.quantity {
  position: relative;
  width: 11rem;
}

.quantity__wrapper {
  display: flex;
  background-color: transparent;
  border: 1px solid var(--color-form-input-border);
  border-radius: var(--border-radius);
}

.quantity__input {
  text-align: center;
  background-color: transparent;
  border-radius: 0;
  border: none;
  padding: 0;
  width: 4rem;
  height: 4rem;
  flex-grow: 0;
  -webkit-appearance: none;
  appearance: none;
  color: var(--color, var(--color-base));
}

.quantity__button {
  width: 3rem;
  flex-shrink: 0;
  font-size: 1.8rem;
  border: 0;
  background-color: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.quantity__button:first-child {
  margin-right: 0.5rem;
}

.quantity__button:last-child {
  margin-left: 0.5rem;
}

.quantity__button svg {
  pointer-events: none;
}

.quantity__input:-webkit-autofill,
.quantity__input:-webkit-autofill:hover,
.quantity__input:-webkit-autofill:active {
  box-shadow: 0 0 0 10rem var(--color-base-background) inset !important;
  -webkit-box-shadow: 0 0 0 10rem var(--color-base-background) inset !important;
}

.quantity__input::-webkit-outer-spin-button,
.quantity__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.quantity__input[type='number'] {
  -moz-appearance: textfield;
}

.quantity--compact .quantity__input {
  width: 4rem;
  height: 4rem;
  flex-grow: 0;
}

@media (max-width: 767px) {
  .quantity--compact .quantity__input {
    font-size: 1.6rem;
  }
}

.quantity-input_cart .quantity__input,
.quantity-input_cart .quantity__button {
  color: var(--color-cart);
}

select {
  background: none;
  color: inherit;
  cursor: pointer;
}

select option {
  background-color: var(--color-base-background);
}

.select-input__label {
  display: block;
  cursor: pointer;
  margin: 0 0 0.5rem;
}

.select-input__wrapper {
  position: relative;
}

.select-input__wrapper svg {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 1;
  transform: translateY(-50%);
  pointer-events: none;
}

.select-input__el {
  font: inherit;
  width: 100%;
  height: 5rem;
  padding-right: 2rem;
  border: none;
  -webkit-appearance: none;
  appearance: none;
}

.select-input--bordered .select-input__el {
  padding: 0 4rem 0 2rem;
  border: 0.2rem solid var(--color-form-input-border);
}

.select-input--bordered .select-input__wrapper svg {
  right: 1rem;
}

.select-input--inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.select-input--inline .select-input__label {
  margin: 0 1rem 0 0;
}

.rte a {
  color: currentColor;
  word-break: break-word;
}

.rte p > img {
  width: 100%;
}

.rte table {
  width: 100%;
}

.rte table td:not(:first-child) {
  text-align: center;
}

.rte iframe {
  display: block;
  margin-inline: auto;
}

.price {
  font-family: var(--font-body-family);
}

.price ins {
  color: currentColor;
  text-decoration: none;
}

.price del {
  color: currentColor;
  margin-right: 0.5rem;
  opacity: 0.6;
}

.price .price__unit {
  opacity: 0.6;
}

/* Badge */

.badge {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.04rem;
  text-transform: uppercase;
  background-color: var(--color-background-tag-base);
  color: var(--color-tag-base);
  pointer-events: none;
  padding: 0.5rem 0.9rem;
  border-radius: var(--border-radius);
  word-break: break-all;
}

@media (max-width: 480px) {
  .badge {
    font-size: 1rem;
  }
}

.badge--custom {
  background-color: var(--color-background-tag-custom);
  color: var(--color-tag-custom);
}

.badge:empty {
  display: none;
}

.badge--main-product {
  display: inline-block;
}

/* Swiper */

.no-js .swiper-wrapper {
  overflow-x: auto;
  overflow-y: hidden;
}

.swiper-arrows {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2rem;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  z-index: 2;
  transform: translateY(-50%);
  pointer-events: none;
}

.swiper-arrow {
  background: none;
  border: none;
  border-radius: 0;
  cursor: pointer;
  pointer-events: all;
  color: inherit;
  will-change: opacity;
  transition: opacity var(--duration-default);
}

button.swiper-arrow.swiper-button-lock {
  display: none !important;
}

.swiper-arrows--border .swiper-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.6rem;
  min-width: 5.6rem;
  height: 5.6rem;
  min-height: 5.6rem;
  color: var(--color, var(--color-border-arrows));
  border: 1px solid var(--color, var(--color-border-arrows));
  border-radius: calc((var(--border-radius) / 4 + var(--border-arrows-round)));
  background-color: var(--arrows-background-color);
}

@media (max-width: 480px) {
  .swiper-arrows--border .swiper-arrow {
    width: 4.4rem;
    height: 4.4rem;
    min-width: 4.4rem;
    min-height: 4.4rem;
  }
}

.swiper-arrows--border .swiper-arrow:hover {
  border-color: transparent;
}

.swiper-arrow[disabled] {
  opacity: 0.2;
}

.swiper-arrow--prev svg {
  transform: rotate(180deg);
}

.swiper-pagination {
  position: static;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem 1rem;
  padding: 1rem 0;
}

.swiper-pagination-bullet {
  position: relative;
  width: 0.8rem;
  height: 0.8rem;
  min-width: 0.8rem;
  min-height: 0.8rem;
  border: none;
  background-color: var(--color, var(--color-border-arrows));
  margin: 0;
  opacity: 1;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  margin: 0 1rem !important;
}

.swiper-pagination-bullet:not([aria-current]) {
  opacity: 0.6;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(1);
  opacity: 0.3;
}

.swiper-pagination-bullet svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 50%;
}

.swiper-pagination-bullet path:nth-child(1) {
  stroke: var(--color, var(--color-border-arrows));
  opacity: 0.6;
}

*[data-autoplay='true'] .swiper-pagination-bullet-active path:nth-child(2) {
  animation-name: clipCircle;
  animation-timing-function: linear;
}

.swiper-pagination-bullet path:nth-child(2) {
  stroke-dashoffset: 300;
  stroke: var(--color, var(--color-border-arrows));
}

.swiper-pagination-bullet-active path:nth-child(2) {
  stroke-dashoffset: 0;
}

.swiper-pagination-bullet:hover {
  opacity: 1;
}

.swiper-pagination-bullet:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -2;
  transform: translate(-50%,-50%);
  background-color: #CCCCCC;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  opacity: 0;
}

.swiper-pagination-bullet:hover svg {
  display: none;
}

.swiper-pagination-bullet:hover::after {
  opacity: 1;
}

@keyframes clipCircle {
  0% {
    stroke-dashoffset: 300;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

/* Swatches */
.swatch {
  position: relative;
  background-color: currentColor;
  background-size: cover;
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  box-shadow: 0 0 0.2rem #aaa;
  border-radius: 50%;
  cursor: pointer;
}

.swatch::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.2s;
  border: 0.1rem solid;
}

input:checked + .swatch:after {
  width: 2.2rem;
  height: 2.2rem;
}

input:checked + .swatch:after,
input:not(:checked) + .swatch:hover:after,
input:focus-visible + .swatch:after {
  opacity: 1;
}

input:disabled + .swatch {
  opacity: 0.1;
}

/* Size */
.size-box {
  font-size: 1.4rem;
  line-height: 1;
  margin: 0 0.3rem 0.3rem 0;
  min-width: 3.2rem;
  min-height: 3.2rem;
  padding: 0 1rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 0.5rem;
  cursor: pointer;
  position: relative;
}

.size-box:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: 1px solid currentColor;
  border-radius: 0.5rem;
  opacity: 0.4;
  margin: 0;
  padding: 0;
}

.size-box:hover {
  background-color: var(--color-form-input-border);
}

:checked + .size-box {
  background-color: var(--color, var(--color-base));
  color: var(--background, var(--color-base-background));
}

input[disable] + label {
  opacity: 0.7;
}

input.is-unavailable + label {
  position: relative;
  opacity: 0.7;
}

input.is-unavailable + label:not(.swatch),
input[disable] + label.size-box {
  overflow: hidden;
}

input.is-unavailable + label:before,
input[disable] + label.size-box::before {
  content: '';
  background-color: var(--color, var(--color-base));
  width: 142%;
  height: 0.1rem;
  position: absolute;
  inset: auto;
  transform: rotate(-45deg);
}

input:checked + label.size-box::before {
  background-color: var(--background, var(--color-base-background));
}

input.is-unavailable + label.swatch:before {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* Hover icon */

.hover-icon .icon {
  position: relative;
  display: inline-block;
  line-height: 0;
}

.hover-icon .icon::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
  background-color: rgb(0 0 0 / 10%);
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  opacity: 0;
  transition: opacity var(--duration-default);
}

.hover-icon .icon--large::after {
  width: 3.2rem;
  height: 3.2rem;
}

.hover-icon .icon svg {
  position: relative;
  z-index: 2;
}

.hover-icon:hover .icon::after {
  opacity: 1;
}

@media (max-width: 1023px) {
  .hover-icon:hover .icon::after {
    opacity: 0;
  }
}

/* Hover underline */

.hover-underline {
  position: relative;
}

.hover-underline .util-text {
  margin-right: 1.3rem;
}

.hover-underline--icon {
  margin-right: 3.4rem;
}

@media (max-width: 1023px) {
  .hover-underline--icon {
    margin-right: 0;
  }
}

.hover-underline .icon {
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
}

@media (max-width: 767px) {
  .hover-underline .icon {
    margin-left: 0;
  }
}

.hover-underline::after {
  content: '';
  position: absolute;
  top: 120%;
  left: 0;
  width: 0%;
  height: 0.2rem;
  background-color: currentColor;
  transition: all var(--duration-default);
}

@media (max-width: 1023px) {
  .hover-underline::after {
    display: none;
  }
}

.hover-underline:hover::after {
  width: calc(100% - 1.3rem);
}

/* Section */
.section {
  padding: 8rem 0;
  color: var(--color, inherit);
  background-color: var(--background, transparent);
  overflow: hidden;
}

.section .section__pre-heading {
  font-family: var(--font-body-family);
  font-weight: 500;
}

.section .section__heading,
.section .section__pre-heading {
  color: var(--color, inherit);
}

@media (max-width: 767px) {
  .section {
    padding: 4rem 0;
  }
}

.section .section__head {
  position: relative;
  text-align: center;
  margin: 0 auto 2.7rem;
}

@media (max-width: 767px) {
  .section .section__head {
    margin-bottom: 2rem;
  }
}

.section .section__head--left {
  text-align: left;
}

.section .section__head--right {
  text-align: right;
}

@media (max-width: 767px) {
  .section .section__head--left,
  .section .section__head--right {
    text-align: center;
  }
}

.section .section__head--center.section__head--with-arrow {
  padding: 0 7.5rem;
}

.section .section__head--left.section__head--with-arrow {
  padding-right: 25rem;
}

.section .section__head--right.section__head--with-arrow {
  padding-left: 25rem;
}

@media (max-width: 480px) {
  .section .section__head.section__head--with-arrow {
    padding: 0 6rem;
  }
}

.section .section__arrows {
  padding: 0;
  gap: 0.8rem;
}

.section .section__head--left .section__arrows {
  left: unset;
  justify-content: flex-end;
}

.section .section__head--right .section__arrows {
  right: unset;
  justify-content: flex-start;
}

@media (max-width: 767px) {
  .section .section__head--left .section__arrows,
  .section .section__head--right .section__arrows {
    left: 0;
    right: 0;
    justify-content: space-between;
  }
}

.section .section__pre-heading {
  font-size: 1.4rem;
  text-transform: uppercase;
  margin: 0;
}

.section .section__heading {
  margin: 0;
  letter-spacing: -0.12rem;
}

.section .section__list-row {
  display: flex;
  gap: 3.2rem;
}

.section .section__list-row--none {
  gap: 0;
}

.section .section__list-row--small {
  gap: 1rem;
}

.section .section__list-row--medium {
  gap: 1.6rem;
}

.section .section__list-row--large {
  gap: 3.2rem;
}

@media (max-width: 767px) {
  .section .section__list-row {
    display: block;
  }

  .section .section__list-row li + li {
    margin-top: 2.5rem;
  }
}

.section .section__list-row--center {
  align-items: center;
}

.section .section__list-row li {
  flex: 1;
}

.section .section__actions--center {
  text-align: center;
}

.section .section__actions--right {
  text-align: right;
}

.section-featured-product {
  padding: 6rem 0 1.6rem;
}

@media (max-width: 1023px) {
  .section-featured-product {
    padding-bottom: 5rem;
  }
}

@media (max-width: 767px) {
  .section-featured-product {
    padding: 2rem 0 1rem;
  }
}

.section__entry li a:hover {
  text-decoration: none;
}

.shopify-policy__container {
  max-width: 80rem;
}

.account-dashboard .account__head{
  text-align: center;
}

.collection-item .collection__media {
  border-radius: var(--border-radius);
}

.collection-item h2 {
  margin: 2rem 0 0.3rem;
}

.collection-item .collection__entry {
  margin: 0
}

.cart-count-badge {
  font-size: 0.8rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
  position: absolute;
  top: -0.3rem;
  right: -1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
}

@media (max-width: 1023px) {
  .cart-count-badge {
    position: relative;
    top: -0.8rem;
    right: 0;
    margin: 0 0 0 0.7rem;
  }
}

.cart-count-badge:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
  background-color: rgb(0 0 0 / 10%);
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  z-index: -1;
}


/* Product reviews */

#shopify-product-reviews {
  margin: 0;
  padding: 0;
  padding-top: 8rem;
  margin-top: -8rem !important;
}

@media (max-width: 767px) {
  #shopify-product-reviews {
    padding-top: 5.7rem;
    margin-top: -5.7rem !important;
  }
}

#shopify-product-reviews .spr-container {
  padding: 1.6rem 0;
  border: none;
}

#shopify-product-reviews .spr-header-title {
  font-family: var(--font-body-family);
  font-size: 1.8rem;
  text-align: left;
  margin-bottom: 2rem;
}

#shopify-product-reviews .spr-form-label {
  font-size: 1.6rem;
  display: inline-block;
  margin-bottom: 1rem;
}

#shopify-product-reviews input:not([type="submit"]),
#shopify-product-reviews textarea {
  font-family: var(--font-body-family);
  border: 0.2rem solid;
  border-color: var(--color-form-input-border);
  color: var(--color-form-input-label);
  background-color: var(--color-form-input-background);
  padding: 1rem 2rem;
  border-radius: var(--border-radius);
}

#shopify-product-reviews input {
  height: 5.6rem;
}

#shopify-product-reviews input:not([type="submit"]):focus-visible,
#shopify-product-reviews textarea:focus-visible {
  outline: none;
  border-color: var(--color-form-input-label);
}

#shopify-product-reviews .spr-summary {
  text-align: left;
}

#shopify-product-reviews .spr-review-header-title {
  font-family: var(--font-body-family);
}

.spr-starrating {
  display: inline-flex !important;
  line-height: 1;
}

@media (max-width: 480px) {
  .spr-starrating {
    justify-content: center;
  }
}

.spr-stars svg path {
  fill: var(--color-base);
}

#shopify-product-reviews .spr-summary-caption {
  display: inline-block;
}

/* Review Judgme */

#judgeme_product_reviews,
.jdgm-carousel-wrapper,
.jdgm-all-reviews-text {
  width: 100% !important;
  max-width: var(--page-width-medium);
  padding: 0 4rem !important;
  margin: 0 auto;
}

.jdgm-carousel__item-container {
  margin: 0 -2.4rem !important;
}

.jdgm-rev-widg {
  padding: 0 !important;
}

.product #judgeme_product_reviews,
.product .jdgm-carousel-wrapper,
.product .jdgm-all-reviews-text {
  padding: 0 !important;
}

@media screen and (max-width: 1023px) {
  .jdgm-widget {
    padding: 0 2.4rem;
  }
}

@media screen and (max-width: 767px) {
  .jdgm-widget {
    padding: 0 1.6rem;
  }
}

.breadcrumbs ul {
  font-size: 1.4rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 1rem;
  padding: 0 0 2.4rem;
}

.breadcrumbs a {
  opacity: 0.6;
}

.pagination {
  font-size: 1.4rem;
  padding-top: 8rem;
}

.pagination .pagination__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.pagination li {
  padding: 0 0.4rem;
}

.pagination a.pagination__link {
  text-decoration: none;
}

.pagination .pagination__link,
.pagination span[aria-current="page"] {
  border: 1px solid var(--color-base);
  width: 3.2rem;
  height: 3.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
}

.pagination span[aria-current="page"] {
  background-color: var(--color-base);
  color: var(--color-base-background);
}

.pagination .pagination__link:hover {
  background-color: var(--color-base);
  color: var(--color-base-background);
}

.pagination .not-active {
  pointer-events: none;
  opacity: 0.4;
}

.page {
  padding: 4rem 0;
}

.page h1 {
  text-align: center;
}

@media (max-width: 767px) {
  .page {
    padding: 2rem 0;
  }
}

/* Page customer */
.page-customer {
  position: relative;
  padding-bottom: 2rem;
}

.page-customer__image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.page-customer__image--mobile {
  display: none;
}

@media (max-width: 767px) {
  .page-customer__image--mobile-hidden {
    display: none;
  }

  .page-customer__image--mobile {
    display: block;
  }
}

.taxes {
  font-size: 1.4rem;
  font-weight: 400;
  margin: 1rem 0 0 ;
}

.template--password .link {
  background-color: transparent;
  border: none;
  text-decoration: underline;
  cursor: pointer;
}

.template--password .link:hover {
  text-decoration: none;
}

.progress-bar {
  font-size: 1.4rem;
}

.progress-bar__progress {
  height: 1rem;
  border: 0.2rem solid currentColor;
  border-radius: var(--border-radius);
  margin-top: 1rem;
}

.progress-bar__text {
  margin: 0
}

.progress-bar__progress-inner {
  background-color: currentColor;
  display: block;
  height: 100%;
}

.grecaptcha-badge {
  z-index: 2;
}

/* Animate fade */
*[animate-fade-trigger] {
  opacity: 0;
  transition: opacity 10s;
}

*[animate-fade-active] {
  opacity: 1;
}

/* AOS animate */
.no-js [data-aos^=fade][data-aos^=fade] {
  opacity: 1;
  transform: none;
}

/* Modal */

.modal-dialog {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 10;
  margin: 2rem;
  height: calc(100% - 4rem);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.modal-dialog[open] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.modal-dialog::before,
.modal-dialog::after {
  content: '';
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9;
  width: 100%;
  height: 100%;
}

.modal-dialog::before {
  background: var(--color-base-background);
  opacity: 0.8;
}

.modal-dialog::after {
  backdrop-filter: blur(10px);
}

.modal-dialog__container {
  position: relative;
  z-index: 10;
  max-width: 117rem;
  width: 100%;
  height: auto;
  max-height: 100%;
  margin: 0;
  background: var(--background, var(--color-base-background));
  color: var(--color);
  padding: 4rem 0rem;
  border-radius: var(--border-radius);
}

.modal-dialog__inner {
  overflow-y: auto;
  height: 100%;
  padding: 0 1.6rem;
}

.modal-dialog__close {
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 4.4rem;
  height: 4.4rem;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.modal-dialog__content table {
  overflow: auto;
  display: block;
  white-space: nowrap;
}

.modal-dialog__content table tbody {
  width: 100%;
  display: inline-table;
}

.modal-dialog--narrow .modal-dialog__container {
  max-width: 80rem;
}

.modal-dialog--quickview .modal-dialog__inner {
  padding: 0;
}

.modal-dialog--quickview-in-cart-drawer {
  z-index: 999;
}

.card-result__media {
  border-radius: var(--border-radius);
}

.card-result {
  text-align: center;
}

.card-result__title {
  font-size: 2rem;
}

.card-result__title a {
  text-decoration: none;
}

.card-result__title:hover a {
  text-decoration: underline;
}

.template--password .content-for-layout {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}

.main-password__entry {
  max-width: 80%;
  margin: 0 auto;
}

shopify-accelerated-checkout,
shopify-accelerated-checkout-cart {
  --shopify-accelerated-checkout-button-block-size: var(--payment-buttons-height);
  --shopify-accelerated-checkout-button-inline-size: var(--payment-buttons-height);
  --shopify-accelerated-checkout-button-border-radius: var(--border-radius-form-elements);
  --shopify-accelerated-checkout-row-gap: 1rem;
}

/* Back to top */

.back-to-top {
  position: fixed;
  bottom: 3rem;
  right: 3rem;
  z-index: 8;
  transition-property: opacity, visibility, transform;
  transition-duration: var(--duration-long);
}

.back-to-top:not(.is-visible) {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(2.4rem);
}

.back-to-top__button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: auto;
  padding: 0;
  font-size: 1rem;
  width: 5em;
  height: 5em;
  border-radius: 50%;
  box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.25);
}

.back-to-top__button svg {
  width: 2.5em;
  height: auto;
}

@media (max-width: 767px) {
  .back-to-top {
    bottom: 1.6rem;
    right: 1.6rem;
  }

  .back-to-top__button {
    font-size: 0.8rem;
  }
}


/* =========================================================
   MonPersonnage — Product page polish (desktop + mobile)
   ========================================================= */
:root{
  --mp-blue:#004080;
  --mp-blue-acc:#1E73BE;
  --mp-yellow:#F8B400;
  --mp-text:#333;
  --mp-muted:#f7f8fa;
}

/* ---------- PRIX (forcé) ---------- */
/* on met un sélecteur plus spécifique + !important pour battre le thème */
.product__info-container .price .ins,
.product .price .ins,
.price .ins {
  font-size: 1.6rem !important;   /* force la taille */
  line-height: 1.1 !important;
  font-weight: 800 !important;
  color: var(--mp-yellow) !important;
  display: inline-block;
  margin: 4px 0 4px;
}

/* ---------- TITRE PRODUIT ---------- */
.product__title {
  font-size: 3.4rem !important;   /* augmente la taille */
  font-weight: 800 !important;
  color: var(--mp-blue) !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important; /* met en majuscules */
  margin-bottom: 16px !important;
}

h1.product__title {
  padding-top: 50px !important;
}



/* ---------- QUANTITÉ (cohérent) ---------- */
.product-selector__quantity .field__label{
  font-weight: 400;
  color: var(--mp-blue);
}
.quantity__wrapper{
  border: 2px solid var(--mp-blue);
  border-radius: 10px;
  overflow: hidden;
  width: max-content;
}
.quantity__input{
  width: 5px;
  text-align: center;
  font-weight: 500;
  color: var(--mp-blue);
  border: none;
  padding: 0px 0;
}
.quantity__button{
  background: var(--mp-muted);
  color: var(--mp-blue);
  border: none;
  padding: 5px 7px;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, transform .05s;
}
.quantity__button:hover{ background: var(--mp-yellow); color:#fff; }
.quantity__button:active{ transform: translateY(1px); }

/* ---------- CTA ---------- */
/* Add to cart (primaire) */
button[name="add"],
.product-form__submit,
.product__cart-submit{
  background: var(--mp-blue-acc);
  color:#fff;
  border:none;
  border-radius: 999px;
  padding: 12px 22px;
  font-weight: 700;
  box-shadow: 0 6px 14px rgba(30,115,190,.18);
  transition: background .2s, box-shadow .2s, transform .05s;
}
button[name="add"]:hover,
.product-form__submit:hover,
.product__cart-submit:hover{
  background:#115fa3;
  box-shadow:0 8px 18px rgba(17,95,163,.25);
}
button[name="add"]:active,
.product-form__submit:active,
.product__cart-submit:active{ transform: translateY(1px); }

/* Buy it now (secondaire) */
.shopify-payment-button__button,
.shopify-payment-button__button--unbranded,
button[name="buy"]{
  background: var(--mp-yellow) !important;
  color: var(--mp-blue) !important;
  border: 2px solid var(--mp-yellow) !important;
  border-radius: 999px !important;
  padding: 12px 22px !important;
  font-weight: 800 !important;
  transition: filter .2s ease;
}
.shopify-payment-button__button:hover,
.shopify-payment-button__button--unbranded:hover,
button[name="buy"]:hover{
  filter: brightness(0.95);
}

/* petit espacement vertical sain */
.price, .product-selector__quantity, .product-form__buttons{ margin-bottom: 14px; }

/* ---------- DESCRIPTION LONGUE ---------- */
.accordion-item__title{
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--mp-blue);
  border-bottom: 2px solid var(--mp-yellow);
  padding-bottom: 8px;
}
.accordion-item__content-inner{
  background: #f9fafc;
  border: 1px solid #eaeef3;
  border-radius: 10px;
  padding: 16px;
  color: var(--mp-text);
  line-height: 1.65;
}
.accordion-item__content-inner p{ margin: 0 0 10px; }
.accordion-item__content-inner strong{
  color: var(--mp-blue);
  background: #eef6ff;
  padding: 4px 8px;
  border-radius: 6px;
  display: inline-block;
  margin: 6px 0 4px;
}

/* Bulletpoints simplifiés */
.product__description {
  margin: 8px 0;
  font-size: 1.5rem;
  line-height: 1.5;
  color: var(--mp-text)!important;   /* texte normal en noir */
  list-style: none;        /* pas de puce */
  padding-left: 0;         /* pas d’indentation */
}

/* Le texte en gras prend la couleur du titre */
.product__description strong {
  color: var(--mp-blue)!important;
  font-weight: 700;
}

/* tighten PRICE → QUANTITY spacing (Amber theme structure) */
.product__price.h3,
[data-product-price].product__price,
[data-product-price] {
  margin-bottom: 0px !important;   /* was ~20px via h3 default */
  padding-bottom: 0 !important;
}

/* remove any top margin the theme gives to the quantity wrapper */
.product-selector__quantity[data-quantity-input] {
  margin-top: 4px !important;
  margin-bottom: 10px !important;  /* keep a little air before buttons */
}

/* safety: if the quantity follows the price, collapse that junction */
.product__price + .product-selector__quantity {
  margin-top: 0px !important;
}


/* ---------- MOBILE ---------- */
@media (max-width: 768px){
  .product__title{ font-size: 1.55rem; }
  .product__info-container .price .ins,
  .product .price .ins,
  .price .ins{ font-size: 1.6rem !important; }
  button[name="add"],
  .product-form__submit,
  .product__cart-submit,
  .shopify-payment-button__button,
  .shopify-payment-button__button--unbranded,
  button[name="buy"]{ width: 100%; margin: 6px 0; }
  .quantity__input{ width: 48px; }
}

/* ===== PATCH MONPERSONNAGE — priorité maximale prix & CTA ===== */

/* Prix : sur-spécification pour battre le thème (Amber) */
.product__info-container .price .price__regular .ins,
.product__info-container .price .ins,
.product__info .price .price__regular .ins,
.product__info .price .ins,
.product .price .price__regular .ins,
.product .price .ins,
.price .price__regular .ins,
.price .price__regular span.ins,
.price .ins {
  font-size: clamp(2.4rem, 2.2vw, 2.25rem) !important;  /* + responsive */
  line-height: 1.05 !important;
  font-weight: 800 !important;
  color: var(--mp-yellow) !important;
  display: inline-block !important;
  margin: 2px 0 10px !important;
}

/* Option: si le thème ajoute “€” tout seul, on ne double pas le symbole
.price .ins::after { content: " €"; }
*/

/* Ensemble prix + quantité + CTA : petits alignements */
.price,
.product-selector__quantity,
.product-form__buttons {
  margin-bottom: 14px !important;
}

/* Boutons: même hauteur et alignement clean sur desktop */
.product-form__buttons,
.product__submit-buttons,
.shopify-payment-button {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

button[name="add"],
.product-form__submit,
.product__cart-submit,
.shopify-payment-button__button,
.shopify-payment-button__button--unbranded,
button[name="buy"]{
  min-height: 46px !important;
  padding: 12px 22px !important;
}


/* Mobile: plein largeur + prix un poil plus gros encore */
@media (max-width: 768px){
  .product__title{ font-size: 1.55rem !important; }
  .product__info-container .price .price__regular .ins,
  .product__info-container .price .ins,
  .product__info .price .price__regular .ins,
  .product__info .price .ins,
  .product .price .price__regular .ins,
  .product .price .ins,
  .price .price__regular .ins,
  .price .price__regular span.ins,
  .price .ins {
    font-size: clamp(1.6rem, 5vw, 1.9rem) !important;
  }

  button[name="add"],
  .product-form__submit,
  .product__cart-submit,
  .shopify-payment-button__button,
  .shopify-payment-button__button--unbranded,
  button[name="buy"]{
    width: 100% !important;
  }
}

/* Contour / bordure de la barre */
.product__stock-notification .progress-bar__progress {
  border: 2px solid #e03131 !important;   /* rouge pour le contour */
  border-radius: 8px;
}

/* Couleur du remplissage */
.product__stock-notification .progress-bar__progress-inner {
  background: #e03131 !important;          /* rouge uni */
  border-radius: 6px;                      /* arrondi harmonieux */
}


/* Rendre tout le texte gras */
.product__stock-notification-text {
  font-weight: 700;
  color: var(--mp-blue) !important;
}
.low {
  font-weight: 700;
  color: var(--mp-red) !important;
}

/* Même bloc que tu as déjà, aligné à gauche */
.mp-trustbar{
  max-width: 440px!important;   /* largeur limitée */
  margin: 10px 0 0!important;   /* top 10px, gauche/droite 0 */
  padding: 4px 6px!important; /* plus fin qu’actuellement */
}
.mp-trustbar .trust-item {
  font-size: 0.8rem; /* texte un poil plus discret */
}



:root{
  --mp-blue:#004080;
  --mp-blue-acc:#1E73BE;
  --mp-yellow:#F8B400;
  --mp-bg:#f7f9fc;
  --mp-border: rgba(0,64,128,.18);
}

/* Le conteneur qui “colle” à la largeur des boutons */
.mp-purchase-wrap{
  display: inline-block;
  max-width: 100%;
}

/* Trust bar compacte */
.mp-trustbar{
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.mp-trustbar--compact{
  grid-template-columns: repeat(4, 1fr);
  background:#fff;
  border:1px solid var(--mp-border);
  border-radius: 12px;
  padding: 10px 12px;
  box-shadow: 0 4px 12px rgba(0,64,128,.05);
}

/* Items discrets & alignés */
.mp-trustbar--compact .mp-trustbar__item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:6px 4px;
  background:transparent;
  border-radius:10px;
}

.mp-icon{
  width:22px;
  height:22px;
  color: var(--mp-yellow);
}

.mp-trustbar__text{
  font-size:.78rem;
  line-height:1.2;
  text-align:center;
  color: var(--mp-blue);
}
.mp-trustbar__text strong{ font-weight:700; }

/* Mobile: 2 colonnes */
@media (max-width: 768px){
  .mp-trustbar--compact{ grid-template-columns: repeat(2,1fr); }
}

/* --- Barre de stock urgence --- */
.product__stock-notification {
  font-weight: bold;
  color: #d32f2f; /* texte rouge urgent */
}

.product__stock-notification .low-stock-qty {
  color: #ff0000;
  font-weight: bold;
}

/* Barre de stock plus fine */
.product__stock-notification .progress-bar {
  margin-top: 4px; /* optionnel : rapproche un peu du texte */
}

.product__stock-notification .progress-bar__progress{
  height: 8px !important;      /* épaisseur de la barre (ex : 4px, mets 2px si tu veux ultra-fin) */
  border-width: 1px !important;/* bordure plus fine */
  border-radius: 4px !important;
}

.product__stock-notification .progress-bar__progress-inner{
  height: 100% !important;     /* suit la hauteur ci-dessus */
  border-radius: 3px !important;
}

/* même largeur visuelle que les 2 boutons */
.product__actions ~ .product__stock-notification .progress-bar,
.product__actions ~ .product__stock-notification .product__stock-notification-text{
  max-width: 438px !important;   /* ajuste si tes boutons sont plus/moins larges */
}
/* espace compact entre alerte et boutons */
.product__stock-notification { margin-bottom: 10px; }
.product-form__buttons { margin-top: 8px !important; }
/* rail très fin & propre */
.product__stock-notification .progress-bar__progress{
  height: 4px !important;
  border: 1px solid #ef6a6a !important;
  border-radius: 6px !important;
}
.product__stock-notification .progress-bar{
  background: #ffeef0; /* rose très clair */
}
/* remplissage rouge uni */
.product__stock-notification .progress-bar__progress-inner{
  background:#e03131 !important;
  height:100% !important;
  border-radius: 4px !important;
}
.product__stock-notification-text{
  font-weight:700;
  font-size: 1.5rem;         /* -0.1/-0.2 rem selon ton goût */
  line-height:1.35;
  display:flex; align-items:center; gap:.5rem;
  margin-top:15px!important;
}

/* Limiter la largeur de la barre d'urgence */
.product__stock-notification .progress-bar {
  width: 430px !important;   /* largeur fixe */
  max-width: 100% !important; /* pour garder responsive */
  margin: 0 auto 15px 0 !important; /* colle à gauche, espace bas */
}

.product__description ul{margin:8px 0 0 0;padding-left:1.1rem}
.product__description li{margin:8px 0;line-height:1.6}
.product__description li::marker{color:#1E73BE}

/* === Description produit (cible précise) === */
.product .accordion-item__content .accordion-item__content-inner {
  --mp-blue:#0b4b86;
  --mp-ink:#222;
  --mp-muted:#f7f9fc;
  --mp-line:#e9eef6;

  background: var(--mp-muted);
  border: 1px solid var(--mp-line);
  border-radius: 14px;
  padding: 18px 18px 0px;
}

/* Le contenu réel est dans .metafield-rich_text_field */
.product .accordion-item__content .accordion-item__content-inner .metafield-rich_text_field h4{
  margin:16px 0 10px;
  font-size:1.6rem;
  line-height:1.25;
  color:var(--mp-blue);
  font-weight:800;
  display:flex;
  align-items:center;
  gap:.5rem;
  letter-spacing:.2px;
}

.product .accordion-item__content .accordion-item__content-inner .metafield-rich_text_field p{
  font-size:1.4rem;
  margin:0 0 40px;
  line-height:1.05;
  color:#3a3f45;
}

.product .accordion-item__content .accordion-item__content-inner .metafield-rich_text_field strong{
  color:var(--mp-blue);
  font-weight:800;
  background:#eef6ff;
  padding:2px 6px;
  border-radius:6px;
}

/* Listes propres avec puces custom */
.product .accordion-item__content .accordion-item__content-inner .metafield-rich_text_field ul{
  list-style:none;
  padding:0;
  margin:6px 0 40px;
}
.product .accordion-item__content .accordion-item__content-inner .metafield-rich_text_field li{
    font-size:1.4rem;
  position:relative;
  padding-left:15px;
  margin:0px 0;
  line-height:1.55;=
}
.product .accordion-item__content .accordion-item__content-inner .metafield-rich_text_field li::before{
  content:"";
  position:absolute; left:0; top:.90em;
  width:10px; height:10px; border-radius:50%;
  background:var(--mp-blue);
  box-shadow:0 0 0 3px rgba(14,94,170,.12);
}

/* Filet fin entre blocs */
.product .accordion-item__content .accordion-item__content-inner .metafield-rich_text_field > * + *{
  position:relative;
}
.product .accordion-item__content .accordion-item__content-inner .metafield-rich_text_field > * + *::before{
  content:"";
  display:block;
  height:1px;
  background:var(--mp-line);
  margin:2px 0;
}

/* Responsive */
@media (max-width:768px){
  .product .accordion-item__content .accordion-item__content-inner{ padding:14px; border-radius:12px; }
  .product .accordion-item__content .accordion-item__content-inner .metafield-rich_text_field h4{ font-size:1.05rem; }
}

/* --- Navigation header --- */
.header-navigation .header__link-primary {
  color: #004087; /* bleu branding */
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
}

/* Hover effet : bleu → jaune */
.header-navigation .header__link-primary:hover {
  color: #F8B400; /* jaune branding */
  text-decoration: none;
  position: relative;
}

/* Espacement entre les items */
.header-navigation .header__item {
  margin: 0 12px;
  display: inline-block;
}

/* Barre de recherche : bleu clair en fond + texte bleu */
.header .header__search {
  background: #f0f6fc;
  border-radius: 999px;
  padding: 4px 10px;
}

.header .header__search input {
  border: none;
  background: transparent;
  color: #004080;
  font-weight: 500;
}

.header .header__search input::placeholder {
  color: #004080;
  opacity: 0.6;
}

.section__item-title {
  margin-bottom: 4px; /* réduit l’espace sous le titre */
}

.section__item-entry p {
  margin-top: 0;       /* supprime l’espace par défaut du <p> */
  font-size: 0.9rem;   /* texte un peu plus petit */
  color: #475569;      /* gris bleuté lisible */
  line-height: 1.4;    /* garde une bonne lisibilité */
}

.section__item-image {
  margin-bottom: 6px;
}

/* ============================
   MonPersonnage – Recos bloc
   (section recommendations)
   ============================ */
:root{
  --mp-blue:#0b4b86;
  --mp-blue-acc:#1E73BE;
  --mp-yellow:#F8B400;
  --mp-ink:#222;
  --mp-muted:#f7f9fc;
  --mp-line:#e9eef6;
}

/* Conteneur */
.section-products--template--26117885854080__recommendations {
  --mp-card-radius: 14px;
  --mp-card-shadow: 0 10px 22px rgba(11,75,134,.07);
  --mp-card-shadow-hover: 0 14px 26px rgba(11,75,134,.12);
  background: var(--mp-muted);
  border: 1px solid var(--mp-line);
  border-radius: 16px;
  padding: 18px 18px 24px;
}

/* En-tête */
.section-products--template--26117885854080__recommendations .section__head{
  margin-bottom: 14px;
  padding: 0 4px;
}
.section__pre-heading{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .9rem;
  letter-spacing:.04em;
  text-transform: uppercase;
  color: var(--mp-blue);
  background: #eef6ff!important;
  padding: 6px 10px;
  border-radius: 999px;
  margin: 0 0 8px;
}
.section-products--template--26117885854080__recommendations .section__heading{
  color: var(--mp-blue);
  font-weight: 800;
  letter-spacing: -.02em;
  margin: 0;
}

/* Flèches du slider */
.section-products--template--26117885854080__recommendations .swiper-arrows{
  gap: 10px;
}
.section-products--template--26117885854080__recommendations .swiper-arrows .swiper-arrow{
  width: 44px; height: 44px;
  border-radius: 999px;
  border:1px solid var(--mp-blue);
  color: var(--mp-blue);
  background:#fff;
  box-shadow: 0 4px 12px rgba(11,75,134,.06);
  transition: all .2s ease;
}
.section-products--template--26117885854080__recommendations .swiper-arrows .swiper-arrow:hover{
  background: var(--mp-yellow);
  border-color: var(--mp-yellow);
  color:#fff;
}
.section-products--template--26117885854080__recommendations .swiper-arrows .swiper-arrow[disabled]{
  opacity:.35; cursor:not-allowed;
}

/* Cartes produit */
.section-products--template--26117885854080__recommendations .card-product{
  border-radius: var(--mp-card-radius);
  overflow: hidden;
  transition: transform .15s ease, box-shadow .2s ease;
  box-shadow: var(--mp-card-shadow);
  background:#fff;
  border:1px solid #f0f2f7;
}
.section-products--template--26117885854080__recommendations .card-product:hover{
  transform: translateY(-2px);
  box-shadow: var(--mp-card-shadow-hover);
}

/* Image (garde des coins nets) */
.section-products--template--26117885854080__recommendations .card__image{
  background:#fff;
}

/* Titre */
.section-products--template--26117885854080__recommendations .card__title a{
  color: var(--mp-blue);
  font-weight: 700;
  text-decoration: none;
}
.section-products--template--26117885854080__recommendations .card__title a:hover{
  text-decoration: underline;
}

/* Prix (jaune fort) */
.section-products--template--26117885854080__recommendations .card__price .ins{
  color: var(--mp-yellow);
  font-weight: 800;
}

/* Bouton “Ajouter au panier” (même style que sur ta PDP) */
.section-products--template--26117885854080__recommendations .card__add-button{
  background: var(--mp-blue-acc);
  color:#fff;
  border:none;
  border-radius: 999px;
  padding: 10px 18px;
  font-weight: 700;
  box-shadow: 0 6px 14px rgba(30,115,190,.18);
  transition: background .2s, box-shadow .2s, transform .05s;
}
.section-products--template--26117885854080__recommendations .card__add-button:hover{
  background:#115fa3;
  box-shadow:0 8px 18px rgba(17,95,163,.25);
}
.section-products--template--26117885854080__recommendations .card__add-button:active{
  transform: translateY(1px);
}

/* Petits détails visuels */
.section-products--template--26117885854080__recommendations .price .price__unit{opacity:.6}
.section-products--template--26117885854080__recommendations .badge{border-radius:8px}

/* Responsive */
@media (max-width: 768px){
  .section-products--template--26117885854080__recommendations{
    border-radius: 12px;
    padding: 14px 12px 18px;
  }
  .section-products--template--26117885854080__recommendations .section__heading{
    font-size: clamp(1.3rem, 4.4vw, 1.6rem);
  }
  .section-products--template--26117885854080__recommendations .swiper-arrows{display:none;}
}

/* Couleurs branding (au cas où) */
:root{
  --mp-blue: #0b4b86;
  --mp-blue-acc: #1E73BE;  /* bleu bouton par défaut */
  --mp-yellow: #F8B400;    /* jaune hover */
}

/* Bouton "Ajouter au panier" des blocs reco */
.section-products .button.button--style-2.card__add-button{
  background: var(--mp-blue-acc) !important; /* force le fond */
  color:#fff !important;
  border: 0 !important;
  background-image: none !important;         /* supprime tout dégradé du thème */
  border-radius: 999px;
  padding: 12px 22px;
  font-weight: 700;
  box-shadow: 0 8px 18px rgba(30,115,190,.18);
  transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .05s;
}

/* Hover = jaune + texte bleu, petite ombre chaude */
.section-products .button.button--style-2.card__add-button:hover{
  background: var(--mp-yellow) !important;
  color: var(--mp-blue) !important;
  box-shadow: 0 10px 22px rgba(248,180,0,.28);
}

/* Click */
.section-products .button.button--style-2.card__add-button:active{
  transform: translateY(1px);
}

/* Focus accessible */
.section-products .button.button--style-2.card__add-button:focus-visible{
  outline: 3px solid rgba(248,180,0,.7);
  outline-offset: 2px;
}

/* État disabled (si jamais utilisé) */
.section-products .button.button--style-2.card__add-button:disabled{
  filter: grayscale(20%);
  opacity: .6;
  cursor: not-allowed;
  box-shadow: none;
}

/* cible uniquement les liens dans les titres section__heading */
.section__heading a {
  text-decoration: none;   /* enlève le soulignement */
  font-size: 0.6em!important;        /* réduit un peu la taille */
  color: inherit;          /* garde la couleur du h2 */
}

.section__head .section__pre-heading {
  margin-top: 40px!important;
  margin-bottom: 0.1rem!important; /* réduit l’espace en bas du h6 */
}

.section__head .section__heading {
  margin-top: 0!important; /* supprime la marge haute du h2 */
}

/* remet l’écart du titre à 0 si besoin */
#shopify-section-template--26117885854080__recommendations .section__head {
  margin-bottom: 0;
}

/* ajoute de l’espace sous les cartes */
#shopify-section-template--26117885854080__recommendations .section__body {
  padding-bottom: 24px; /* ajuste 16–40px selon ton rendu */
}

/* alternative: directement sur le slider */
#slider-template--26117885854080__recommendations {
  margin-bottom: 24px; /* ou padding-bottom */
}

/* s’assurer que les liens de H2 héritent du style du titre */
.section-products--inline .section__heading a { text-decoration:none; color:inherit; }

/* si besoin, même espacements que la section native */
.section-products--inline .swiper-slide { height: auto; }

/* fond de la section comme la native */
.section-products--inline {
  background: var(--background, #f6f9fd);
}

/* petit padding vertical pour respirer */
.section-products--inline .container {
  padding-top: 24px;
  padding-bottom: 24px;
}

/* badge "Nos coups de cœur" */
.section-products--inline .section__pre-heading {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 9999px;
  background: color-mix(in srgb, var(--color, #103c6a) 10%, transparent);
  color: var(--color, #103c6a);
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* titre H2 + lien comme la section native */
.section-products--inline .section__heading {
  margin-top: 8px;
  color: var(--color, #103c6a);
  font-weight: 700;
}
.section-products--inline .section__heading a {
  color: inherit;
  text-decoration: none;
}
.section-products--inline .section__heading a:hover {
  text-decoration: underline;
}
.section-products__box {
  background: var(--background, #fff);
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 2px 6px rgba(0,0,0,.05);
}

/* fond bleu très clair de la section (déjà en place chez toi) */
.section-products--inline {
  background: var(--background, #f6f9fd);
}

/* enlève le grand fond blanc autour de tout le bloc */
.section-products--inline .section-products__box {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

/* même respirations que le bloc d'origine */
.section-products--inline .section__head {
  margin-bottom: 12px;
}
.section-products--inline .section__body {
  padding-top: 8px;
}

/* applique le style carte à CHAQUE produit */
.section-products--inline .card-product {
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(16, 60, 106, 0.08);
  box-shadow:
    0 1px 0 rgba(16, 60, 106, 0.06),
    0 6px 24px rgba(16, 60, 106, 0.06);
  overflow: hidden; /* coins bien nets */
}

/* optionnel : petit espace sous le header pour respirer */
.section-products--inline .section__head { margin-bottom: 12px; }

/* Assurer une structure verticale propre dans chaque carte */
.section-products--inline .card-product {
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* pousse le bouton en bas */
  height: 100%; /* occupe toute la hauteur dispo */
}

/* Le contenu interne (titre + prix + bouton) */
.section-products--inline .card__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Centrer titre et prix sur mobile */
@media (max-width: 767px) {
  .section-products--inline .card__content-head {
    text-align: center;
  }
  .section-products--inline .card__price {
    text-align: center;
  }
  .section-products--inline .card__actions {
    display: flex;
    justify-content: center;
  }
}

/* Mobile : bouton plus compact et rapproché du prix */
@media (max-width: 767px) {
  /* Réduire l'espace sous le prix */
  .section-products--inline .card__price {
    margin-bottom: 6px !important;
    text-align: center;
  }

  /* Centrer le groupe d'actions */
  .section-products--inline .card__actions {
    display: flex;
    justify-content: center;
  }

  /* Rendre le bouton plus petit et non full-width */
  .section-products--inline .card__actions .button.button--style-2.card__add-button {
    width: auto !important;            /* stoppe le 100% du thème */
    display: inline-block !important;
    max-width: 95% !important;         /* limite la largeur */
    padding: 0px 18px !important;     /* réduit la hauteur/largeur */
    font-size: 1.9rem !important;      /* texte un peu plus petit */
    border-radius: 22px !important;    /* arrondi plus fin */
    margin-top: 0px !important;        /* espace prix → bouton réduit */
  }
}

@media (max-width: 767px) {
  .section-products--inline .section__head {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-align: center;
  }

  .section-products--inline .section__pre-heading,
  .section-products--inline .section__heading {
    flex: 1 1 auto;
    text-align: center !important;
    margin: 0 auto;
  }

  .section-products--inline .section__arrows {
    position: absolute;
    top: 50%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
    pointer-events: none; /* évite que le conteneur bloque les clics */
  }

  .section-products--inline .section__arrows button {
    pointer-events: auto; /* clics actifs sur les boutons */
  }
}

/* mobile: garder les flèches à l'extérieur et centrer le titre */
@media (max-width: 768px){
  .section__head {
    position: relative;
    padding-left: 44px;   /* réserve côté gauche pour la flèche */
    padding-right: 44px;  /* réserve côté droit pour la flèche */
  }
  .section__heading { 
    text-align: center; 
    margin: 0 auto;
  }
  .section__arrows{
    position: absolute;
    inset: 0;            /* occupe toute la largeur du head */
    pointer-events: none;
  }
  .section__arrows .swiper-arrow{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: auto;
  }
  .section__arrows .swiper-arrow--prev{ left: 0; }
  .section__arrows .swiper-arrow--next{ right: 0; }
}


@media (max-width: 480px){
  .card__price { 
    margin-bottom: 0.35rem; 
  }
  .card__actions .button,
  .card__add-button {
    padding: 10px 16px;
    border-radius: 20px;
    font-size: 0.92rem;
  }
}
/* Mobile : h6 au-dessus du h2, les deux centrés, flèches aux extrémités */
@media (max-width: 768px){
  .section-products--inline .section__head{
    position: relative;
    padding-left: 44px;   /* réserve pour la flèche gauche */
    padding-right: 44px;  /* réserve pour la flèche droite */
    text-align: center;
  }

  .section-products--inline .section__titles{
    display: inline-block;
    text-align: center;
  }
  .section-products--inline .section__titles .section__pre-heading{
    margin: 0 0 2px;      /* petit espace au-dessus du h2 */
  }
  .section-products--inline .section__titles .section__heading{
    margin: 0;
  }

  .section-products--inline .section__arrows{
    position: absolute;
    inset: 0;                         /* occupe toute la ligne du head */
    display: flex;
    justify-content: space-between;   /* pousse chaque flèche à l'extérieur */
    align-items: center;
    transform: none;
    pointer-events: none;             /* le conteneur ne capte pas les clics */
  }
  .section-products--inline .section__arrows .swiper-arrow{
    pointer-events: auto;             /* clics actifs sur les boutons */
    position: static;                 /* laisse flex les placer aux bords */
  }
}

/* ---- Description produit ---- */
.metafield-rich_text_field h2
 {
  font-size: 1.7rem;       /* plus petit */
  font-weight: 700;
  margin: 1.2rem 0 0.6rem;
  color: #103c6a;
}

.metafield-rich_text_field h3 {
  font-size: 1.7rem;       /* plus petit */
  font-weight: 700;
  margin: 1.2rem 0 0.6rem;
  color: #103c6a;
}

.metafield-rich_text_field h4 {
  font-size: 1rem;         /* plus grand que par défaut */
  font-weight: 600;
  margin: 1.2rem 0 0.5rem;
  color: #0b4b86;
}

.metafield-rich_text_field p {
  font-size: 1.8rem!important;         /* plus grand */
  line-height: 1;
  margin: 0.4rem 0 0.8rem;
  color: #2a3a4b;
}

/* ---- Listes ---- */
.metafield-rich_text_field ul {
  margin: 0.6rem 0 1rem 0;
  padding-left: 0;        /* supprime indentation par défaut */
  list-style: none;
}

.metafield-rich_text_field ul li {
  position: relative;
  padding-left: 1.6rem;   /* espace pour la puce */
  margin-bottom: 0.5rem;
  font-size: 1.8rem!important;         /* plus grand */
  line-height: 1.5;
  color: #2a3a4b;
}

.metafield-rich_text_field ul li::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0.1rem;
  font-size: 1.8rem!important;         /* plus grand */
  color: #5f9ed8;          /* bleu clair branding */
}

.mp-cta{
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .95rem;
  line-height: 1.35;
  color: #0b4b86; /* bleu thème */
}
.mp-cta__badge{
  padding: 4px 10px;
  border-radius: 999px;
   font-size: 1.15rem;
  background: #eaf3ff;
  border: 1px solid #d6e6ff;
  font-weight: 700;
}
.mp-cta__badge--oos{
  background: #fff3f3;
  border-color: #ffdede;
  color: #b32020;
}
.mp-cta__text strong{
  color: #f8b400; /* jaune accent */
  font-weight: 700;
}
@media (max-width: 640px){
  .mp-cta{ flex-wrap: wrap; gap: .35rem .5rem; }
}

.section-products .is-oos { opacity:.55; pointer-events:none; }

.product__media img,
.product__media picture { 
  aspect-ratio: var(--product-media-ratio, 1/1);
  width:100%;
  height:auto;
  object-fit:cover;
}
.product__media--1-1 { --product-media-ratio: 1/1; }

.product__short-description { margin: 8px 0 14px; line-height: 1.55; }
.product__short-description ul { margin-left: 1.1rem; }

.product__short-description {
  font-size: 1.05rem;
  line-height: 1.55;
  margin-bottom: 10px;
  font-weight: 600;
}

.short-description {
  margin-top: 10px!important;       /* espace après le prix */
  margin-bottom: 15px!important;    /* espace avant quantité */
  font-size: 16px!important;        /* lisible mais pas trop gros */
  line-height: 1.5!important;       /* meilleure aération */
  color: #333!important;           /* texte principal */
}

.short-description strong {
  color: #103c6a!important;         /* ton bleu identitaire */
  font-weight: 600!important;       /* mise en avant légère */
}

.short-description ul {
  margin: 8px 0 0 18px!important;   /* liste aérée */
  padding: 0!important;
}

.short-description li {
  margin-bottom: 4px!important;     /* espace entre bullets */
  font-size: 15px!important;
}

.sticky-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 2px solid #103c6a;
  box-shadow: 0 -3px 10px rgba(0,0,0,0.1);
  z-index: 999;
  padding: 10px 15px;
  transition: transform 0.3s ease-in-out;
}

.sticky-cta.hidden {
  transform: translateY(100%);
}

.sticky-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.sticky-cta__info {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
}

.sticky-cta__image {
  width: 50px;
  height: auto;
  border-radius: 5px;
}

.sticky-cta__title {
  font-size: 14px;
  font-weight: 600;
  color: #103c6a;
}

.sticky-cta__actions {
  display: flex;
  gap: 8px;
}

.official-brand {
  margin-top: 6px;
  font-size: 15px;
  color: #103c6a;         /* ton bleu identitaire */
  font-weight: 500;
}

.official-brand strong {
  font-weight: 600;
  color: #000;           /* contraste pour la marque */
}

/* Photos produit sticky sur desktop, sans scroll interne */
@media (min-width: 992px) {

  /* Desktop uniquement */
@media (min-width: 992px) {

  /* Le bloc complet des médias peut devenir sticky */
  .product__media {
    position: sticky;
    top: 100px; /* à ajuster selon la hauteur header + barre annonce */
  }

  /* On évite que les parents ne cassent le sticky */
  .product,
  .product .container,
  .product .grid__item:first-child {
    overflow: visible !important;
  }

  /* Par sécurité : les vignettes auront une largeur fixe quand on les fixe en JS */
  .product__media-thumbs {
    width: 100%;
  }
}

/* Écrase Shopify avec haute spécificité */
.product__description h2.mp-features__caracteristiques {
  font-size: 1.28rem;
  font-weight: 400;
  color: #d99a00;
  text-transform: uppercase;

  margin-top: 1.8rem !important;   /* espace avec l’intro */
  margin-bottom: -10px !important;     /* colle AVEC les puces */
  padding: 0 !important;

  line-height: 1 !important;
  letter-spacing: 0.4px;
}

@media (max-width: 768px) {
  .product__description h2.mp-features__caracteristiques {
    margin-top: 1.2rem !important;
    margin-bottom: -4px !important;
  }
}

/* === STYLES DES PAGES POLITIQUES / LÉGALES === */
.policy-wrapper {
  max-width: 850px;
  margin: 0 auto 60px;
  padding: 0 15px;
}

.policy-wrapper h2 {
  font-size: 2.2rem;
  text-align: center;
  text-transform: uppercase;
  font-weight: 700;
  color: #1a589e;
  margin: 40px 0 30px;
  letter-spacing: 1px;
}

.policy-wrapper h2::after {
  content: "";
  display: block;
  width: 80px;
  height: 4px;
  background: #1a589e;
  margin: 12px auto 0;
  border-radius: 2px;
}

.policy-wrapper h3 {
  margin-top: 32px;
  margin-bottom: 10px;
  font-size: 1.25rem;
  font-weight: 600;
  color: #222;
  text-transform: uppercase;
}

.policy-wrapper p {
  margin-bottom: 14px;
  line-height: 1.65;
  font-size: 1rem;
  color: #444;
}

.policy-wrapper ul {
  margin-left: 25px;
  margin-bottom: 18px;
  line-height: 1.6;
}

.policy-wrapper a {
  color: #1a589e;
  font-weight: 500;
  text-decoration: underline;
}

.policy-wrapper a:hover {
  color: #0e487a;
  text-decoration: none;
}

/* Adaptation mobile */
@media (max-width: 768px) {
  .policy-wrapper h2 {
    font-size: 1.7rem;
  }
  .policy-wrapper h3 {
    font-size: 1.1rem;
  }
}


.shopify-policy__title {
  text-align: center;
  margin-top: 30px;
  margin-bottom: 20px;
}

.shopify-policy__title h1 {
  color: #1a589e;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 2.1rem;
}

/* Style amélioré des listes légales */
.policy-wrapper ul {
  margin: 8px 0 18px 20px;
  padding: 0;
  list-style-type: disc;
}

.policy-wrapper ul li {
  margin-bottom: 6px;
  font-size: 0.97rem;
  line-height: 1.55;
  color: #333; /* plus neutre, plus pro */
}

/* Style bullet plus fin */
.policy-wrapper ul li::marker {
  color: #555; /* gris discret */
  font-size: 0.8rem; /* réduit la taille du point */
}

/* === MENTIONS LÉGALES — STYLE PREMIUM === */

.legal-identity {
  max-width: 850px;
  margin: 0 auto 60px;
  padding: 0 15px;
}

/* Titre sections (H3) */
.legal-identity h3 {
  margin-top: 35px;
  margin-bottom: 10px;
  font-size: 1.3rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #1a589e; /* Bleu MonPersonnage */
  border-left: 4px solid #1a589e;
  padding-left: 10px;
  letter-spacing: 0.5px;
}

/* Paragraphes */
.legal-identity p {
  margin: 8px 0 15px;
  font-size: 1rem;
  line-height: 1.55;
  color: #333;
}

/* Listes */
.legal-identity ul {
  margin: 5px 0 20px 22px;
}

.legal-identity ul li {
  margin-bottom: 5px;
  color: #444;
  line-height: 1.5;
}

/* Marqueur bullet discret */
.legal-identity ul li::marker {
  color: #777;
  font-size: 0.75rem;
}

/* Liens */
.legal-identity a {
  color: #1a589e;
  text-decoration: underline;
}

.legal-identity a:hover {
  text-decoration: none;
  color: #0c4170;
}

/* Petit séparateur visuel entre les blocs */
.legal-identity h3:first-of-type {
  margin-top: 20px;
}
