/* =========================================================
   PRESTAI GIFT WRAP — UX CART / CHECKOUT / SIDE CART
   CSS front intégré au module
========================================================= */


/* ---------------------------------------------------------
   1. BASE — CART / CHECKOUT CLASSIQUE
--------------------------------------------------------- */

.pa-giftwrap-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .875rem;

  width: 100%;
  margin: .75rem 0;
  padding: .875rem .875rem .875rem 1rem;

  background: var(--cc-surface, #f5f7f7);
  border: 1px solid var(--pa-color-border, #dfe3e6);
  border-radius: .5rem;

  color: var(--pa-color-navy, #021330);
}


/* Partie gauche */
.pa-giftwrap-option .form-check,
.pa-giftwrap-option .pa-giftwrap-option__main {
  display: flex;
  align-items: center;
  gap: .5rem;

  min-width: 0;
  margin: 0;
  padding: 0;
}


/* Checkbox */
.pa-giftwrap-option input[type="checkbox"],
.pa-giftwrap-option .form-check-input {
  flex: 0 0 auto;

  width: 1rem;
  height: 1rem;
  margin: 0;

  border: 2px solid var(--pa-giftwrap-accent, #01b3a6);
  border-radius: .2rem;

  box-shadow: none;
  accent-color: var(--pa-giftwrap-accent, #01b3a6);
  cursor: pointer;
}


.pa-giftwrap-option input[type="checkbox"]:checked,
.pa-giftwrap-option .form-check-input:checked {
  background-color: var(--pa-giftwrap-accent, #01b3a6);
  border-color: var(--pa-giftwrap-accent, #01b3a6);
}


.pa-giftwrap-option input[type="checkbox"]:focus,
.pa-giftwrap-option .form-check-input:focus {
  border-color: var(--pa-giftwrap-accent, #01b3a6);
  box-shadow: 0 0 0 .18rem rgba(var(--pa-giftwrap-accent-rgb, 1, 179, 166), .15);
}


/* Label */
.pa-giftwrap-option label,
.pa-giftwrap-option .form-check-label,
.pa-giftwrap-option .pa-giftwrap-option__label {
  display: inline-flex;
  align-items: center;
  gap: .3rem;

  min-width: 0;
  margin: 0;

  font-size: .9375rem;
  font-weight: 700;
  line-height: 1.35;

  color: var(--pa-color-ink, #021330);
  cursor: pointer;
}

.pa-giftwrap-option__text {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  min-width: 0;
  font-weight: var(--pa-giftwrap-text-font-weight, 700);
  color: var(--pa-giftwrap-text-color, #021330);
}

.pa-giftwrap-option__text strong {
  font-weight: inherit;
}


/* Petit pictogramme cadeau */
.pa-giftwrap-option__gift {
  color: var(--pa-giftwrap-accent, #01b3a6);
}


/* Prix */
.pa-giftwrap-option__price {
  flex: 0 0 auto;

  margin-left: auto;

  font-size: .9375rem;
  font-weight: 600;
  line-height: 1;

  white-space: nowrap;
  color: var(--pa-color-ink, #021330);
}


/* Icône information */
.pa-giftwrap-option__info,
.pa-giftwrap-option__help {
  flex: 0 0 auto;
}

.pa-giftwrap-option__info {
  display: inline-grid;
  place-items: center;
  width: 1.1rem;
  height: 1.1rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  color: inherit;
  font-size: .68rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  opacity: .65;
}

.pa-giftwrap-option__info:hover,
.pa-giftwrap-option__info:focus-visible {
  opacity: 1;
}


/* Loading AJAX */
.pa-giftwrap-option.is-loading {
  opacity: .7;
  pointer-events: none;
}



/* =========================================================
   2. SIDE CART CREATIVE ELEMENTS
   Compact + strictement sur une ligne
========================================================= */

.elementor-cart__summary .pa-giftwrap-option--ce {
  display: flex;
  align-items: center;
  justify-content: space-between;

  width: 100%;
  min-width: 0;

  gap: .35rem;

  margin: .35rem 0;
  padding: .35rem 0;

  background: transparent;
  border: 0;
  border-radius: 0;
}

.elementor-cart__summary .pa-giftwrap-option--ce .pa-giftwrap-option__info,
.elementor-cart__summary .pa-giftwrap-option--ce .pa-giftwrap-option__help {
  display: none !important;
}


/* Zone gauche */
.elementor-cart__summary .pa-giftwrap-option--ce .form-check,
.elementor-cart__summary .pa-giftwrap-option--ce .pa-giftwrap-option__main {
  display: flex;
  align-items: center;

  flex: 1 1 auto;
  min-width: 0;

  gap: .35rem;

  margin: 0;
  padding: 0;

  white-space: nowrap;
}


/* Checkbox side cart */
.elementor-cart__summary .pa-giftwrap-option--ce input[type="checkbox"],
.elementor-cart__summary .pa-giftwrap-option--ce .form-check-input {
  flex: 0 0 1rem;

  width: 1rem;
  height: 1rem;

  margin: 0;
}


/* Label side cart */
.elementor-cart__summary .pa-giftwrap-option--ce label,
.elementor-cart__summary .pa-giftwrap-option--ce .form-check-label,
.elementor-cart__summary .pa-giftwrap-option--ce .pa-giftwrap-option__label {
  display: inline-flex;
  align-items: center;

  flex: 0 1 auto;
  min-width: 0;

  margin: 0;
  gap: .3rem;

  font-size: .8125rem;
  font-weight: 600;
  line-height: 1;

  white-space: nowrap;
}

.elementor-cart__summary .pa-giftwrap-option--ce .pa-giftwrap-option__text {
  font-weight: var(--pa-giftwrap-sidecart-text-font-weight, 600);
}


/* Empêche le pictogramme cadeau de passer à la ligne */
.elementor-cart__summary .pa-giftwrap-option--ce label *,
.elementor-cart__summary .pa-giftwrap-option--ce .form-check-label *,
.elementor-cart__summary .pa-giftwrap-option--ce .pa-giftwrap-option__label * {
  flex: 0 0 auto;
}


/* Icône info */
.elementor-cart__summary .pa-giftwrap-option--ce .pa-giftwrap-option__info,
.elementor-cart__summary .pa-giftwrap-option--ce .pa-giftwrap-option__help {
  flex: 0 0 auto;

  margin: 0;

  white-space: nowrap;
}


/* Prix side cart */
.elementor-cart__summary .pa-giftwrap-option--ce .pa-giftwrap-option__price {
  flex: 0 0 auto;

  margin-left: .25rem;

  font-size: 14px;
  font-weight: 400;
  line-height: 1;

  white-space: nowrap;
}


/* Sécurité : aucun retour ligne dans le composant CE */
.elementor-cart__summary .pa-giftwrap-option--ce,
.elementor-cart__summary .pa-giftwrap-option--ce * {
  word-break: normal;
}



/* =========================================================
   3. CART / CHECKOUT
   Harmonisation avec le bloc code promo
========================================================= */

.cart-summary .pa-giftwrap-option:not(.pa-giftwrap-option--ce),
.cart-summary__total .pa-giftwrap-option:not(.pa-giftwrap-option--ce),
.js-cart-summary-totals .pa-giftwrap-option:not(.pa-giftwrap-option--ce),
.checkout__summary .pa-giftwrap-option:not(.pa-giftwrap-option--ce) {
  background: var(--cc-surface, #f5f7f7);
  border-color: var(--pa-color-border, #dfe3e6);
}


/* Hover très léger pour comprendre que le bloc est interactif */
.cart-summary .pa-giftwrap-option:not(.pa-giftwrap-option--ce):hover,
.cart-summary__total .pa-giftwrap-option:not(.pa-giftwrap-option--ce):hover,
.js-cart-summary-totals .pa-giftwrap-option:not(.pa-giftwrap-option--ce):hover,
.checkout__summary .pa-giftwrap-option:not(.pa-giftwrap-option--ce):hover {
  border-color: rgba(var(--pa-giftwrap-accent-rgb, 1, 179, 166), .45);
}



/* =========================================================
   4. MOBILE
========================================================= */

@media (max-width: 575.98px) {

  /* Cart / checkout classique */
  .pa-giftwrap-option:not(.pa-giftwrap-option--ce) {
    gap: .625rem;
    padding: .75rem .875rem;
  }

  .pa-giftwrap-option:not(.pa-giftwrap-option--ce) label,
  .pa-giftwrap-option:not(.pa-giftwrap-option--ce) .form-check-label,
  .pa-giftwrap-option:not(.pa-giftwrap-option--ce) .pa-giftwrap-option__label,
  .pa-giftwrap-option:not(.pa-giftwrap-option--ce) .pa-giftwrap-option__price {
    font-size: .875rem;
  }


  /* Side cart : reste volontairement compact */
  .elementor-cart__summary .pa-giftwrap-option--ce {
    gap: .25rem;
  }

  .elementor-cart__summary .pa-giftwrap-option--ce .form-check,
  .elementor-cart__summary .pa-giftwrap-option--ce .pa-giftwrap-option__main {
    gap: .3rem;
  }

  .elementor-cart__summary .pa-giftwrap-option--ce label,
  .elementor-cart__summary .pa-giftwrap-option--ce .form-check-label,
  .elementor-cart__summary .pa-giftwrap-option--ce .pa-giftwrap-option__label {
    font-size: .8rem;
  }

  .elementor-cart__summary .pa-giftwrap-option--ce .pa-giftwrap-option__price {
    font-size: 14px;
  }

}
