.elementor-3986 .elementor-element.elementor-element-ad11015{width:100%;max-width:100%;}.woocommerce .elementor-3986 .elementor-element.elementor-element-ad11015 .flex-viewport:not(:last-child){margin-bottom:0px;}.woocommerce .elementor-3986 .elementor-element.elementor-element-ad11015 .flex-control-thumbs img{border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-v4-orange-1 );border-radius:10px 10px 10px 10px;}.woocommerce .elementor-3986 .elementor-element.elementor-element-ad11015 .flex-control-thumbs li{padding-right:calc(10px / 2);padding-left:calc(10px / 2);padding-bottom:10px;}.woocommerce .elementor-3986 .elementor-element.elementor-element-ad11015 .flex-control-thumbs{margin-right:calc(-10px / 2);margin-left:calc(-10px / 2);}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3986 .elementor-element.elementor-element-8c73fe5 .cart button, .elementor-3986 .elementor-element.elementor-element-8c73fe5 .cart .button{transition:all 0.2s;}.elementor-widget-woocommerce-product-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-3986 .elementor-element.elementor-element-123aee1{color:var( --e-global-color-v4-black-recopass );font-family:var( --e-global-typography-v4-paragraphe-font-family ), Sans-serif;font-size:var( --e-global-typography-v4-paragraphe-font-size );font-weight:var( --e-global-typography-v4-paragraphe-font-weight );line-height:var( --e-global-typography-v4-paragraphe-line-height );}.elementor-widget-lottie{--caption-color:var( --e-global-color-text );}.elementor-widget-lottie .e-lottie__caption{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-3986 .elementor-element.elementor-element-efcb6ee{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -20px) 0px;padding:0px 0px 0px 0px;--lottie-container-width:30%;--lottie-container-max-width:30%;--lottie-container-opacity:1;}.elementor-3986 .elementor-element.elementor-element-012dc79{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -20px) 0px;padding:0px 0px 0px 0px;--lottie-container-width:30%;--lottie-container-max-width:30%;--lottie-container-opacity:1;}.elementor-3986 .elementor-element.elementor-element-67bb040{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -20px) 0px;padding:0px 0px 0px 0px;--lottie-container-width:30%;--lottie-container-max-width:30%;--lottie-container-opacity:1;}.elementor-3986 .elementor-element.elementor-element-b72054a{--display:flex;}.elementor-3986 .elementor-element.elementor-element-d7ce517{--display:flex;}.elementor-3986 .elementor-element.elementor-element-ac27a41{--display:flex;}.elementor-3986 .elementor-element.elementor-element-944895d{--display:flex;}.elementor-3986 .elementor-element.elementor-element-ac0c7da{--display:flex;}.elementor-3986 .elementor-element.elementor-element-b66b882{--display:flex;}.elementor-3986 .elementor-element.elementor-element-e58e2c3{--display:flex;}.elementor-3986 .elementor-element.elementor-element-7b21400{--display:flex;}.elementor-3986 .elementor-element.elementor-element-3fb1ebd{--display:flex;}.elementor-3986 .elementor-element.elementor-element-0243bdd{--display:flex;}.elementor-3986 .elementor-element.elementor-element-12db5b7{--display:flex;}.elementor-3986 .elementor-element.elementor-element-495b4ac{--n-accordion-title-font-size:var( --e-global-typography-accent-font-size );margin:0rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;padding:0px 0px 0px 0px;--n-accordion-title-justify-content:initial;--n-accordion-title-flex-grow:initial;--n-accordion-title-icon-order:-1;--n-accordion-item-title-space-between:1rem;--n-accordion-item-title-distance-from-content:0.5rem;--n-accordion-title-normal-color:var( --e-global-color-v4-black-1 );--n-accordion-title-hover-color:var( --e-global-color-v4-black-header );--n-accordion-title-active-color:var( --e-global-color-v4-black-header );--n-accordion-icon-size:15px;--n-accordion-icon-gap:10px;--n-accordion-icon-normal-color:var( --e-global-color-v4-black-1 );--n-accordion-icon-hover-color:var( --e-global-color-v4-black-header );--n-accordion-icon-active-color:var( --e-global-color-v4-black-header );}.elementor-3986 .elementor-element.elementor-element-495b4ac > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title{background-color:var( --e-global-color-v4-blanc-2 );border-style:none;}.elementor-3986 .elementor-element.elementor-element-495b4ac > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title:hover{background-color:var( --e-global-color-v4-orange-1 );}.elementor-3986 .elementor-element.elementor-element-495b4ac > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title{background-color:var( --e-global-color-v4-orange-1 );}:where( .elementor-3986 .elementor-element.elementor-element-495b4ac > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}:where( .elementor-3986 .elementor-element.elementor-element-495b4ac > .e-n-accordion > .e-n-accordion-item ) > .e-con{border-style:none;--padding-top:0rem;--padding-right:0rem;--padding-bottom:0rem;--padding-left:0rem;}@media(min-width:768px){.elementor-3986 .elementor-element.elementor-element-b72054a{--width:100%;}}@media(max-width:1024px){.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-size:var( --e-global-typography-accent-font-size );}.elementor-3986 .elementor-element.elementor-element-123aee1{font-size:var( --e-global-typography-v4-paragraphe-font-size );line-height:var( --e-global-typography-v4-paragraphe-line-height );}.elementor-3986 .elementor-element.elementor-element-efcb6ee{--lottie-container-width:50%;--lottie-container-max-width:50%;}.elementor-3986 .elementor-element.elementor-element-012dc79{--lottie-container-width:50%;--lottie-container-max-width:50%;}.elementor-3986 .elementor-element.elementor-element-67bb040{--lottie-container-width:50%;--lottie-container-max-width:50%;}.elementor-3986 .elementor-element.elementor-element-495b4ac{--n-accordion-title-font-size:var( --e-global-typography-accent-font-size );}}@media(max-width:767px){.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-size:var( --e-global-typography-accent-font-size );}.elementor-3986 .elementor-element.elementor-element-123aee1{font-size:var( --e-global-typography-v4-paragraphe-font-size );line-height:var( --e-global-typography-v4-paragraphe-line-height );}.elementor-3986 .elementor-element.elementor-element-efcb6ee{--lottie-container-width:100%;--lottie-container-max-width:100%;}.elementor-3986 .elementor-element.elementor-element-012dc79{--lottie-container-width:100%;--lottie-container-max-width:100%;}.elementor-3986 .elementor-element.elementor-element-67bb040{--lottie-container-width:100%;--lottie-container-max-width:100%;}.elementor-3986 .elementor-element.elementor-element-495b4ac{--n-accordion-title-font-size:var( --e-global-typography-accent-font-size );}:where( .elementor-3986 .elementor-element.elementor-element-495b4ac > .e-n-accordion > .e-n-accordion-item ) > .e-con{--padding-top:1rem;--padding-right:1rem;--padding-bottom:1rem;--padding-left:1rem;}}/* Start custom CSS for woocommerce-product-images, class: .elementor-element-ad11015 */.flex-control-nav.flex-control-thumbs {
    display: none !important;
}
.woocommerce-product-gallery__trigger,
.woocommerce-product-gallery .zoomImg {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for woocommerce-product-add-to-cart, class: .elementor-element-8c73fe5 *//* RECO PASS — Elementor ".elementor-3986 .elementor-element.elementor-element-8c73fe5" (grille 3 / 2 / 1) — version optimisée */
/* À coller dans : Widget > Avancé > CSS personnalisé (Elementor Pro) */
/* Repose sur le nesting CSS natif et :has() — navigateurs modernes */

.elementor-3986 .elementor-element.elementor-element-8c73fe5 {
  --rp-font: var(--Outfit, "Outfit", sans-serif);
  --rp-font-body: var(--Roboto, "Roboto", sans-serif);

  --rp-black: var(--e-global-color-v4-black-1, #0c0900);
  --rp-muted: var(--e-global-color-v4-black-3, #686868);
  --rp-white: var(--e-global-color-v4-blanc-1, #fff);
  --rp-soft: var(--e-global-color-v4-blanc-2, #f8fafc);
  --rp-selected: #fffdf7;

  --rp-border: #e8edf3;
  --rp-orange: var(--e-global-color-v4-orange-1, #f7ad00);
  --rp-orange-hover: var(--e-global-color-v4-orange-2, #e3b100);

  --rp-gap: 18px;
  --rp-card-radius: 22px;
  --rp-image-radius: 18px;
  --rp-pill-radius: 999px;
  --rp-mobile-edge: 12px;

  --rp-ease: .15s ease;
  --rp-shadow-sm: 0 1px 3px rgba(12, 9, 0, .04);
  --rp-shadow-md: 0 6px 16px rgba(12, 9, 0, .05);
  --rp-shadow-hover: 0 8px 20px rgba(12, 9, 0, .06);

  form.cart {
    font-family: var(--rp-font-body);
  }

  .stock.in-stock,
  .pewc-theme-element {
    display: none !important;
  }

  /* ===== Structure ===== */
  .pewc-product-extra-groups-wrap {
    padding: 0;
    margin-bottom: 40px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    counter-reset: pewc-step;
  }

  /* ===== Une box par topic ===== */
  .pewc-group-wrap {
    margin: 0 0 14px;
    overflow: hidden;
    background: var(--rp-white);
    border: 1px solid var(--rp-border);
    border-radius: var(--rp-card-radius);
    box-shadow: var(--rp-shadow-sm);
    counter-increment: pewc-step;

    &:last-child {
      margin-bottom: 0;
    }
  }

  .pewc-group-heading-wrapper {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    background: var(--rp-white) !important;

    &::before {
      content: counter(pewc-step);
      flex: 0 0 24px;
      display: grid;
      place-items: center;
      width: 24px;
      height: 24px;
      margin-right: 12px;
      margin-left: 12px;
      border-radius: 50%;
      background: var(--rp-orange);
      color: var(--rp-black);
      font-size: .8rem;
      font-weight: 700;
    }
  }

  .pewc-group-heading,
  .pewc-groups-accordion .pewc-group-wrap h3 {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 20px 18px;
    background: var(--rp-white) !important;
    color: var(--rp-black) !important;
    font-family: var(--rp-font);
    font-size: var(--Size-h4, clamp(1.45rem, 1.1rem + .9vw, 2.05rem));
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.035em;
  }

  .pewc-groups-accordion .pewc-group-wrap h3::before {
    right: 18px;
    top: 50%;
    bottom: auto;
    margin: 0;
    border-color: var(--rp-orange);
    transform: translateY(-50%) rotate(45deg);
    transition: transform .2s ease;
  }

  .pewc-groups-accordion .pewc-group-wrap.group-active h3::before {
    transform: translateY(-50%) rotate(135deg);
  }

  .pewc-group-content-wrapper {
    margin: 0 !important;
  }

  .pewc-group-wrap:not(.group-active) .pewc-group-content-wrapper {
    padding: 0 !important;
  }

  .pewc-groups-accordion .pewc-group-wrap.group-active .pewc-group-content-wrapper {
    padding: 0 18px 18px;
    background: var(--rp-white);
  }

  /* ===== Textes ===== */
  .pewc-group-description {
    margin: 0 0 14px;
    color: var(--rp-muted);
    font-family: var(--rp-font-body);
    font-size: var(--Size-body, clamp(.95rem, .88rem + .25vw, 1.1rem));
    font-weight: 500;
    line-height: 1.45;
  }

  .pewc-field-label,
  .pewc-field-label-text {
    margin: 0 0 10px;
    color: var(--rp-black);
    font-family: var(--rp-font);
    font-size: var(--Size-h6, clamp(1rem, .95rem + .2vw, 1.2rem)) !important;
    font-weight: 700;
    line-height: 1.2;
  }

  .required {
    color: var(--rp-orange);
  }

  ul.pewc-product-extra-groups,
  ul.pewc-product-extra-groups li {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  /* ===== Grille : 3 colonnes sur ordinateur ===== */
  :is(
    .pewc-radio-images-wrapper,
    .pewc-checkboxes-images-wrapper
  ) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--rp-gap) !important;
    width: 100% !important;
  }

  /* ===== Cartes ===== */
  :is(
    .pewc-radio-image-wrapper,
    .pewc-checkbox-image-wrapper,
    .pewc-radio-checkbox-image-wrapper
  ) {
    position: relative;
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    background: var(--rp-white);
    border: 2px solid var(--rp-border);
    border-radius: var(--rp-card-radius);
    box-shadow: var(--rp-shadow-sm);
    transition:
      transform var(--rp-ease),
      border-color var(--rp-ease),
      box-shadow var(--rp-ease),
      background-color var(--rp-ease);

    label {
      display: block !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      margin: 0 !important;
      cursor: pointer;
      line-height: normal !important;

      img {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        margin: 0 0 14px !important;
        object-fit: cover !important;
        background: var(--rp-soft);
        border: 0 !important;
        border-radius: var(--rp-image-radius) !important;
      }
    }

    input {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      padding: 0 !important;
      margin: -1px !important;
      overflow: hidden !important;
      clip-path: inset(50%) !important;
      white-space: nowrap !important;
      border: 0 !important;
    }

    &:has(input:focus-visible) {
      outline: 3px solid var(--rp-orange);
      outline-offset: 3px;
    }
  }

  /* État sélectionné : classe du plugin + état natif de l’input */
  :is(
    .pewc-radio-image-wrapper.checked,
    .pewc-checkbox-image-wrapper.checked,
    .pewc-radio-checkbox-image-wrapper.checked,
    .pewc-radio-image-wrapper:has(input:checked),
    .pewc-checkbox-image-wrapper:has(input:checked),
    .pewc-radio-checkbox-image-wrapper:has(input:checked)
  ) {
    background: var(--rp-selected);
    border: 3px solid var(--rp-orange) !important;
    box-shadow:
      0 0 0 4px rgba(247, 173, 0, .15),
      var(--rp-shadow-md);

    &::after {
      content: "✓";
      position: absolute;
      top: 10px;
      right: 10px;
      z-index: 5;
      display: grid;
      place-items: center;
      width: 26px;
      height: 26px;
      border-radius: 50%;
      background: var(--rp-orange);
      color: var(--rp-black);
      font-size: 15px;
      font-weight: 900;
      box-shadow: 0 6px 14px rgba(247, 173, 0, .35);
    }
  }

  /* Hover uniquement sur les appareils disposant d’un vrai pointeur */
  @media (hover: hover) and (pointer: fine) {
    :is(
      .pewc-radio-image-wrapper,
      .pewc-checkbox-image-wrapper,
      .pewc-radio-checkbox-image-wrapper
    ):hover {
      transform: translateY(-2px);
      border-color: rgba(247, 173, 0, .55);
      box-shadow: var(--rp-shadow-hover);
    }
  }

  :is(
    .pewc-radio-image-desc,
    .pewc-checkbox-image-desc
  ) span {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: var(--rp-black);
    font-family: var(--rp-font);
    font-size: var(--Size-small, clamp(.9rem, .82rem + .25vw, 1.05rem));
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.025em;
    text-align: center !important;
    overflow-wrap: anywhere !important;
    hyphens: auto;
  }

  /* ===== Badges quantité ===== */
  .pewc-radio-image-wrapper:has(
    input[value*="3 cartes"],
    input[value*="10 cartes"]
  ) {
    overflow: visible !important;

    &::before {
      content: var(--badge-text);
      position: absolute;
      top: -11px;
      left: 50%;
      z-index: 6;
      padding: 4px 14px;
      border-radius: var(--rp-pill-radius);
      background: var(--badge-bg);
      color: var(--badge-color);
      font-size: .66rem;
      font-weight: 900;
      letter-spacing: .03em;
      white-space: nowrap;
      box-shadow: 0 6px 16px rgba(12, 9, 0, .2);
      transform: translateX(-50%);
    }

    &.checked::after,
    &:has(input:checked)::after {
      top: 14px;
    }
  }

  .pewc-radio-image-wrapper:has(input[value*="3 cartes"]) {
    --badge-text: "POPULAIRE";
    --badge-bg: var(--rp-orange);
    --badge-color: var(--rp-black);
  }

  .pewc-radio-image-wrapper:has(input[value*="10 cartes"]) {
    --badge-text: "MEILLEURE VALEUR";
    --badge-bg: var(--rp-black);
    --badge-color: var(--rp-white);
  }

  /* ===== Upload ===== */
  .dropzone {
    margin: 0;
    padding: 30px 18px;
    background: var(--rp-soft);
    border: 2px dashed rgba(247, 173, 0, .6);
    border-radius: 20px;
    transition:
      background-color var(--rp-ease),
      border-color var(--rp-ease);
  }

  @media (hover: hover) and (pointer: fine) {
    .dropzone:hover {
      background: #fffaf0;
      border-color: var(--rp-orange);
    }
  }

  /* ===== Total + bouton sur ordinateur ===== */
  .pewc-total-only {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 24px 0 0;
    padding: 16px 24px;
    background: var(--rp-white);
    border: 1px solid var(--rp-border);
    border-radius: var(--rp-pill-radius);

    &::before {
      content: "Total";
      color: var(--rp-muted);
      font-size: 1rem;
      font-weight: 500;
      letter-spacing: -.01em;
    }

    :is(
      .pewc-total-field,
      .woocommerce-Price-amount,
      .amount
    ) {
      color: var(--rp-black) !important;
      font-family: var(--rp-font);
      font-size: clamp(1.6rem, 1.3rem + .6vw, 2rem);
      font-weight: 700;
      line-height: 1;
      letter-spacing: -.03em;
    }
  }

  :is(
    button.single_add_to_cart_button,
    .single_add_to_cart_button.button
  ) {
    width: 100%;
    min-height: 66px;
    margin-top: 12px !important;
    border: 0;
    border-radius: var(--rp-pill-radius);
    background: var(--rp-orange) !important;
    color: var(--rp-black) !important;
    font-family: var(--rp-font-body);
    font-size: var(--Size-small, 1.05rem);
    font-weight: 900;
    box-shadow: none;
    transition:
      transform var(--rp-ease),
      background-color var(--rp-ease),
      box-shadow var(--rp-ease);

    &:focus-visible {
      outline: 3px solid var(--rp-black);
      outline-offset: 3px;
    }
  }

  @media (hover: hover) and (pointer: fine) {
    :is(
      button.single_add_to_cart_button,
      .single_add_to_cart_button.button
    ):hover {
      background: var(--rp-orange-hover) !important;
      transform: translateY(-2px);
      box-shadow: 0 8px 18px rgba(247, 173, 0, .22);
    }
  }

  /* ===== Tablette : 2 colonnes ===== */
  @media (max-width: 1024px) {
    form.cart {
      padding-bottom: calc(0px + env(safe-area-inset-bottom, 0px));
    }

    :is(
      .pewc-radio-images-wrapper,
      .pewc-checkboxes-images-wrapper
    ) {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .pewc-total-only {
      position: fixed !important;
      right: var(--rp-mobile-edge);
      bottom: calc(58px + 22px + env(safe-area-inset-bottom, 0px));
      left: var(--rp-mobile-edge);
      z-index: 9998;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      width: auto;
      max-width: 520px;
      margin: 0 auto !important;
      padding: 11px 24px !important;
      background: var(--rp-white);
      border: 1px solid var(--rp-border);
      border-radius: var(--rp-pill-radius);
      box-shadow: 0 10px 30px rgba(12, 9, 0, .12);

      &::before {
        font-size: .95rem;
      }

      :is(
        .pewc-total-field,
        .woocommerce-Price-amount,
        .amount
      ) {
        font-size: 1.2rem !important;
        line-height: 1.2 !important;
      }
    }

    :is(
      button.single_add_to_cart_button,
      .single_add_to_cart_button.button
    ) {
      position: fixed !important;
      right: var(--rp-mobile-edge);
      bottom: calc(14px + env(safe-area-inset-bottom, 0px));
      left: var(--rp-mobile-edge);
      z-index: 9999;
      width: auto;
      max-width: 520px;
      min-height: 58px;
      margin: 0 auto !important;
      border: 0;
      border-radius: var(--rp-pill-radius) !important;
      box-shadow: 0 16px 34px rgba(247, 173, 0, .32);
    }
  }

  /* ===== Mobile : 1 colonne ===== */
  @media (max-width: 767px) {
    :is(
      .pewc-radio-images-wrapper,
      .pewc-checkboxes-images-wrapper
    ) {
      grid-template-columns: minmax(0, 1fr) !important;
    }

    .pewc-group-wrap {
      margin-bottom: 10px;
      border-radius: 18px;
    }

    .pewc-groups-accordion .pewc-group-wrap h3,
    .pewc-group-heading {
      padding: 17px 50px 11px 24px;
      font-size: 1.55rem;
    }

    .pewc-groups-accordion .pewc-group-wrap h3::before {
      right: 24px;
    }

    .pewc-groups-accordion .pewc-group-wrap.group-active .pewc-group-content-wrapper {
      padding: 6px 24px 12px;
    }

    :is(
      .pewc-radio-image-desc,
      .pewc-checkbox-image-desc
    ) span {
      font-size: 1.08rem !important;
    }

    :is(
      button.single_add_to_cart_button,
      .single_add_to_cart_button.button
    ) {
      min-height: 60px;
    }
  }

  /* ===== Réduction des animations ===== */
  @media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
      scroll-behavior: auto !important;
      transition-duration: .01ms !important;
      animation-duration: .01ms !important;
      animation-iteration-count: 1 !important;
    }
  }
}/* End custom CSS */