/* ==========================================================================
   Chère Colette - Custom CSS
   ========================================================================== */

/* ==========================================================================
   GLOBAL
   ========================================================================== */

.btn:focus,
.btn:hover,
.btn:active,
.btn:visited,
a.btn:focus,
a.btn:hover,
a.btn:active,
a.btn:visited {
  text-decoration: none !important;
}

/* --- Page d'accueil : retirer padding-top du wrapper --- */
body#index #wrapper {
  padding-top: 0;
}

/* ==========================================================================
   PAGE CATEGORIE - Bannière plein écran avec titre incliné
   ========================================================================== */

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products{
  padding:80px;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #wrapper {
  padding-top: 0 !important;
  position: relative;
}

/* Masquer le breadcrumb d'origine (layout) — on le ré-injecte dans #main après la bannière */
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit, #product) section#wrapper > .container:not(#inner-wrapper),
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit, #product) section#wrapper > nav.breadcrumb {
  display: none !important;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #inner-wrapper {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #content-wrapper {
  padding: 0;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main {
  position: relative;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .category-image {
  width: 100%;
  margin: 0;
  position: relative;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .category-image img {
  width: 100%;
  height: auto;
      min-height: 500px;
    max-height: 660px;
  object-fit: cover;
  display: block;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .category-image #js-product-list-header {
  position: absolute;
  top: 60%;
  left: 80px;
  transform: translateY(-50%);
  z-index: 10;
  margin: 0;
  max-width: calc(100% - 170px);
  width: fit-content;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .page-title {
  position: relative;
  background: transparent;
  color: #F6EFD9;
  font-family: 'Climate Crisis', sans-serif;
  font-size: clamp(2.125rem, 3.8vw, 5.5rem) !important;
  line-height: clamp(70px, 6vw, 130px) !important;
  padding: 0;
  margin: 0;
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  transform: rotate(-3deg);
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .page-title span {
  background: #F2A5C8;
  padding: 15px 40px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .page-title::after {
  --badge-flow-size: clamp(40px, 6vw, 80px);
  --badge-visual-scale: 2.5;
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: var(--badge-flow-size);
  height: var(--badge-flow-size);
  margin-left: 10px;
  background-image: url('/img/cms/Formes/forme-categorie.svg');
  background-repeat: no-repeat;
  background-size: contain;
  transform: scale(var(--badge-visual-scale)) translate(-15%, 35%);
  transform-origin: center;
  animation: categorie-rotate 20s linear infinite;
}

@keyframes categorie-rotate {
  from { transform: scale(var(--badge-visual-scale, 2.5)) translate(-15%, 35%) rotate(0deg); }
  to { transform: scale(var(--badge-visual-scale, 2.5)) translate(-15%, 35%) rotate(360deg); }
}


/* --- Page produit : rotation du titre --- */
body#product .product_header_container {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 10px;
}

body#product .product-tabs {
  margin-top: 60px;
  margin-bottom: 0;
}

body#product .product-tabs .block-section:last-child {
  margin-bottom: 0;
}

body#product #content-wrapper .section-title,
body#product #content-wrapper .section-title span {
  font-family: 'DynaPuff', sans-serif;
  font-size: 24px;
  line-height: 28px;
  font-weight: 500;
  color: #1E6E30;
}

body#product #content-wrapper .section-title {
  padding-bottom: 0;
  margin-bottom: 30px;
}

body#product .product-description .rte-content h3 {
  font-size: 20px;
}

/* --- Tableau détails produit + référence intégrée (1 seul grid partagé) --- */
body#product #product-details.js-product-details {
  display: grid;
  grid-template-columns: minmax(160px, auto) 1fr;
  gap: 4px;
  background: #FAEED8;
  border-radius: 10px;
  overflow: hidden;
  padding: 0;
  margin: 0;
  max-width: 500px;
}

body#product .js-product-details .product-features,
body#product .js-product-details .data-sheet,
body#product .js-product-details .product-reference,
body#product .js-product-details .specific-references,
body#product .js-product-details .specific-references > div {
  display: contents;
  margin: 0;
  padding: 0;
}

body#product .js-product-details .data-sheet dt,
body#product .js-product-details .data-sheet dd,
body#product .js-product-details .product-reference .label,
body#product .js-product-details .product-reference > span,
body#product .js-product-details .specific-references .label,
body#product .js-product-details .specific-references > div > span {
  background: #CAD34F;
  padding: 12px 20px;
  margin: 0;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 19px;
  font-weight: 400;
  color: #1E6E30;
  text-transform: none;
  border: none;
  display: block;
}

body#product .js-product-details .product-out-of-stock,
body#product .js-product-details .product-out-of-stock:empty,
body#product .js-product-details > .clearfix,
body#product .js-product-details::before,
body#product .js-product-details::after {
  display: none;
  content: none;
}

body#product .product-prices .tax-shipping-delivery-label {
  display: none;
}

body#product .product_p_price_container {
  margin-top: 0;
  border-top: none;
  padding-top: 0;
  padding-bottom: 0;
}

body#product .product-prices .current-price,
body#product .product-prices .current-price .product-price,
body#product .product-prices .current-price-value {
  font-family: 'DynaPuff', sans-serif;
  font-size: 32px;
  line-height: 34px;
  font-weight: 700;
  color: #246F30;
}

body#product .product-prices .current-price {
  display: inline-block;
  margin-bottom: 0;
}

/* --- Disponibilité : inline à côté du prix avec icônes custom --- */
body#product .product-prices {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 30px;
  margin-bottom: 20px;
}

body#product .product-prices > div:has(.current-price) {
  order: 1;
  margin: 0;
}

body#product .product-prices #product-availability {
  order: 2;
  background: transparent !important;
  color: #5E88B9 !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: 'Merriweather', serif !important;
  font-size: 16px !important;
  line-height: 20px !important;
  font-weight: 900 !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: none;
}

body#product .product-prices #product-availability .fa,
body#product .product-prices #product-availability i {
  display: none !important;
}

body#product .product-prices #product-availability::before {
  content: '';
  display: inline-block;
  width: 22px;
  height: 22px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}

body#product .product-prices #product-availability.product-available::before {
  background-image: url('/img/cms/Icones/icone-en-stock.svg');
}

body#product .product-prices #product-availability.product-unavailable::before {
  background-image: url('/img/cms/Icones/icone-victime-success.svg');
}

body#product .product-prices #product-availability.product-last-items::before,
body#product .product-prices #product-availability.product-unavailable-allow-oosp::before {
  background-image: url('/img/cms/Icones/icone-pas-assez-produit.svg');
}

/* --- Bouton "Me prévenir quand dispo" --- */
body#product .js-product-additional-info {
  margin: 0;
}

body#product .js-mailalert {
  margin: 0 0 50px;
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 10px;
}

body#product .js-mailalert .input-group {
  width: 100%;
  margin: 0;
  padding: 0;
}

/* Force l'ordre : email → GDPR → submit → message réponse */
body#product .js-mailalert .input-group:has(input[type="email"]) { order: 1; }
body#product .js-mailalert .input-group:has([id^="gdpr_consent_"]),
body#product .js-mailalert .input-group:has([class*="gdpr_module_"]) { order: 2; }
body#product .js-mailalert .input-group:has(input[type="submit"]) { order: 3; }
body#product .js-mailalert .input-group:has(.js-mailalert-response),
body#product .js-mailalert .input-group:has(.alert) { order: 4; }

body#product .js-mailalert .input-group:has(input[type="submit"]) {
  margin-bottom: 15px !important;
}

/* --- Consentement RGPD (case + texte) dans mailalert --- */
body#product .js-mailalert [id^="gdpr_consent_"],
body#product .js-mailalert [class*="gdpr_module_"] {
  margin: 0;
  color: #5E88B9;
}

body#product .js-mailalert .psgdpr_consent_message {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #5E88B9;
  font-family: 'Merriweather', serif;
  font-size: 14px;
  line-height: 18px;
  font-weight: 600;
}

body#product .js-mailalert .psgdpr_consent_message span,
body#product .js-mailalert .psgdpr_consent_message a {
  color: #5E88B9;
}

body#product .js-mailalert .psgdpr_consent_message a {
  text-decoration: underline;
}

/* Case à cocher RGPD : bleu */
body#product .js-mailalert .psgdpr_consent_message input[type="checkbox"] {
  accent-color: #5E88B9;
}

body#product .js-mailalert .psgdpr_consent_checkbox_span {
  border: 2px solid #5E88B9;
  background: transparent;
  box-shadow: none;
  border-radius: 3px;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
}

body#product .js-mailalert .psgdpr_consent_icon {
  color: #5E88B9;
  position: static !important;
  font-size: 12px;
}

body#product .js-mailalert .input-group:empty {
  display: none;
}

body#product .js-mailalert input[type="email"].form-control {
  width: 100%;
  border: 4px dashed #5E88B9;
  background: transparent;
  padding: 14px 22px;
  font-family: 'Merriweather', serif;
  font-weight: 700;
  font-size: 20px;
  color: #5E88B9;
  border-radius: 0;
  box-shadow: none;
  height: auto;
}

body#product .js-mailalert input[type="email"].form-control::placeholder {
  color: #5E88B9;
  opacity: 1;
}

body#product .js-mailalert input[type="email"].form-control:focus {
  outline: none;
  box-shadow: none;
  border-color: #5E88B9;
  background: transparent;
}

body#product .js-mailalert input[type="submit"].btn,
body#product .js-mailalert input[type="submit"].btn-secondary,
body#product .js-mailalert button.js-mailalert-add,
body#product .js-mailalert .js-mailalert-add {
  background: #5E88B9 !important;
  color: #FAEED8 !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 20px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  border: none !important;
  border-radius: 33px !important;
  padding: 14px 30px !important;
  width: auto;
  display: inline-block;
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
}

body#product .js-mailalert .alert,
body#product .js-mailalert .js-mailalert-response,
body#product .js-mailalert article.alert-info {
  background: transparent;
  border: none;
  color: #5E88B9;
  font-family: 'Merriweather', serif;
  font-size: 14px;
  line-height: 18px;
  font-style: italic;
  font-weight: 900;
  padding: 0;
  margin: 0;
  text-align: center;
}

body#product .js-product-additional-info .tabs {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

/* --- Quantité : champ rond rouge + boutons +/- à droite --- */
body#product .product-add-to-cart .col-add-qty,
body#product .product-add-to-cart .col-add-btn {
  margin-bottom: 0;
}

body#product .product-add-to-cart .col-add-btn {
  height: 72px;
}

body#product .product-add-to-cart .col-add-btn .add-to-cart {
  height: 100%;
}

body#product .product-add-to-cart .row.product-quantity {
  align-items: center;
  gap: 30px;
}

body#product .js-product-add-to-cart {
  padding-top: 0 !important;
}

body#product .product-minimal-quantity,
body#product .product-discounts {
  margin: 0 !important;
}

body#product .product-additional-info {
  border-top: none;
  padding-top: 0;
}

body#product #wrapper {
  padding-top: 30px;
}

/* --- Variants produit --- */
body#product .product-variants {
  margin-bottom: 40px;
}

body#product .product-variants .product-variants-item {
  margin: 0;
}

body#product .product-variants .product-variants-item .form-control-label {
  font-family: 'DynaPuff', sans-serif;
  font-size: 24px;
  line-height: 28px;
  font-weight: 500;
  color: #1E6E30;
  display: block;
  margin-bottom: 20px;
  padding-top: 0;
  padding-bottom: 0;
}

body#product .product-variants .product-variants-item .custom-select2 {
  max-width: none;
  width: auto;
  display: inline-block;
}

body#product .product-variants .product-variants-item .form-control-select {
  border: 1px solid #246F30;
  border-radius: 33px;
  height: 54px;
  width: auto;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 18px;
  font-weight: 400;
  color: #1E6E30;
}

body#product .product-add-to-cart .row.product-quantity > [class*="col-"] {
  padding-left: 0;
  padding-right: 0;
}

/* --- Bouton favoris : SVG custom --- */
body#product .col-add-wishlist {
  margin-bottom: 0;
}

body#product #iqit-wishlist-product-btn {
  background: url('/img/cms/Formes/bouton-favoris.svg') no-repeat center center;
  background-size: contain;
  border: none;
  width: 65px;
  height: 72px;
  padding: 0;
  box-shadow: none;
}

body#product #iqit-wishlist-product-btn.iqitwishlist-added {
  background-image: url('/img/cms/Formes/bouton-favoris-plein.svg');
}

body#product #iqit-wishlist-product-btn .fa-heart,
body#product #iqit-wishlist-product-btn .fa-heart-o {
  display: none !important;
}

body#product .product-add-to-cart .qty {
  min-width: 0 !important;
  margin: 0;
  width: auto;
}

body#product .product-add-to-cart .qty .input-group.bootstrap-touchspin {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center;
  background: transparent;
  border: none;
  width: auto;
  min-width: 0;
}

body#product .product-add-to-cart .qty input#quantity_wanted.input-group {
  background: #C84F25 !important;
  border: none !important;
  border-radius: 27px !important;
  color: #FAEED8 !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 32px !important;
  line-height: 34px !important;
  font-weight: 700 !important;
  width: 54px !important;
  height: 72px !important;
  min-width: 0 !important;
  max-width: 54px !important;
  flex: 0 0 54px !important;
  text-align: center;
  padding: 0 !important;
  display: block !important;
  -moz-appearance: textfield;
  appearance: textfield;
}

body#product .product-add-to-cart .qty #quantity_wanted::-webkit-outer-spin-button,
body#product .product-add-to-cart .qty #quantity_wanted::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

body#product .product-add-to-cart .qty .input-group-btn-vertical {
  display: flex !important;
  flex-direction: column !important;
  margin-left: 10px !important;
  gap: 2px;
  width: auto !important;
  height: auto !important;
  position: static !important;
  vertical-align: middle;
  float: none !important;
  flex: 0 0 auto !important;
}

body#product .product-add-to-cart .qty .input-group-btn-vertical .btn-touchspin {
  background: transparent !important;
  border: none !important;
  color: #C84F25 !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 32px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  padding: 0 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  height: 34px !important;
  float: none !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: static !important;
}

body#product .product-add-to-cart .qty .btn-touchspin i {
  display: none !important;
}

body#product .product-add-to-cart .qty .bootstrap-touchspin-up::after {
  content: '+';
  color: #C84F25;
}

body#product .product-add-to-cart .qty .bootstrap-touchspin-down::after {
  content: '−';
  color: #C84F25;
}

/* --- Bouton "Ajouter au panier" : même style que "Commander" du mini-panier --- */
body#product .product-add-to-cart .add-to-cart {
  background: #F2A5C8;
  border: none;
  border-radius: 33px;
  font-family: 'DynaPuff', sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: #C84F25;
  padding: 12px 30px 12px 80px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
  overflow: visible;
}

body#product .product-add-to-cart .add-to-cart .bag-icon,
body#product .product-add-to-cart .add-to-cart .spinner-icon {
  display: none;
}

body#product .product-add-to-cart .add-to-cart::before {
  content: '';
  position: absolute;
  left: 20px;
  bottom: -10px;
  width: 65px;
  height: 65px;
  background-image: url('/img/cms/Icones/piment.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.3s ease;
}

body#product .product-add-to-cart .add-to-cart:hover::before {
  transform: rotate(10deg);
}

body#product .product-quantity .add-to-cart:disabled {
  opacity: 0.5;
}

body#product .product-information > [id^="product-description-short"] {
  margin-bottom: 40px;
}

body#product .product-information > [id^="product-description-short"],
body#product .product-information > [id^="product-description-short"] p {
  font-family: 'Meow Script', cursive;
  font-size: 40px;
  line-height: 42px;
}

body#product .product-information > [id^="product-description-short"] p:last-child {
  margin-bottom: 0;
}

body#product .product_header_container .page-title {
  transform: rotate(-4deg);
  transform-origin: left center;
  display: inline-block;
}

/* ==========================================================================
   PAGE CONTACT
   ========================================================================== */

body#contact #wrapper {
  padding-top: 30px;
}

body#contact #inner-wrapper {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body#contact #content-wrapper {
  padding: 0;
}

/* Masquer le breadcrumb (layout) */
body#contact section#wrapper > .container:not(#inner-wrapper),
body#contact section#wrapper > nav.breadcrumb {
  display: none !important;
}

body#contact .contact-page-custom {
  padding: 50px 80px 0;
}

body#contact .contact-page-top {
  display: flex;
  align-items: center;
  gap: 60px;
  margin: 0 auto 150px;
}

body#contact .contact-page-left {
  flex: 0 1 calc(47% - 30px);
  max-width: calc(47% - 30px);
  min-width: 0;
  align-self: flex-end;
}

body#contact .contact-page-right {
  flex: 0 1 calc(53% - 30px);
  max-width: calc(53% - 30px);
  min-width: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

body#contact .contact-page-image {
  max-width: 900px;
  width: 100%;
  height: auto;
  display: block;
}

body#contact .contact-page-title {
  font-family: 'Climate Crisis', sans-serif;
  font-size: clamp(2rem, 3.4vw, 4.8rem) !important;
  line-height: clamp(45px, 3.8vw, 86px) !important;
  font-weight: 400;
  color: #1E6E30;
  margin: 0 0 40px;
  display: inline-block;
  transform: rotate(-4deg);
  transform-origin: left center;
}

body#contact .contact-page-intro {
  font-family: 'Meow Script', cursive;
  font-size: 40px;
  line-height: 42px;
  font-weight: 400;
  color: #1E6E30;
  margin: 0 0 40px;
  max-width: 715px;
}

body#contact .contact-page-socials {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

body#contact .contact-page-socials li {
  margin: 0;
  padding: 0;
}

body#contact .contact-page-socials a {
  display: flex;
  align-items: center;
  gap: 25px;
  text-decoration: none;
  flex-wrap: nowrap;
}

body#contact .contact-page-socials span {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

body#contact .contact-page-socials img {
  flex-shrink: 0;
  width: 86px;
  height: 86px;
}

body#contact .contact-page-socials li:nth-child(1) img {
  width: 86px;
  height: 86px;
}

body#contact .contact-page-socials li:nth-child(2) img {
  width: 86px;
  height: 86px;
}

body#contact .contact-page-socials li:nth-child(3) img {
  width: 82px;
  height: 82px;
}

body#contact .contact-page-socials span {
  font-family: 'Asset', sans-serif;
  font-size: 20px;
  line-height: 1;
  color: #1E6E30;
  text-decoration: none;
}

/* --- Formulaire de contact (contact-form-ultimate) --- */
body#contact .contact-page-form {
  margin: 0 0 80px;
  width: 100%;
}

body#contact .contact-page-form .wpcfu,
body#contact .contact-page-form form.ets-cfu-form {
  width: 100%;
}

body#contact .contact-page-form form.ets-cfu-form > h3 {
  display: none;
}

body#contact .contact-page-form .ets_cfu_wrapper,
body#contact .contact-page-form .ets_cfu_box,
body#contact .contact-page-form .ets_cfu_col {
  width: 100%;
  display: block;
  padding: 0;
  margin: 0;
}

body#contact .contact-page-form .ets_cfu_input {
  width: 100%;
  margin: 0 0 40px;
  padding: 0;
}

body#contact .contact-page-form .ets_cfu_input_html {
  margin-bottom: 20px;
}

body#contact .contact-page-form .ets_cfu_input > label,
body#contact .contact-page-form .ets_cfu_form-control-wrap {
  display: block;
  width: 100%;
  margin: 0;
}

body#contact .contact-page-form input[type="text"],
body#contact .contact-page-form input[type="email"],
body#contact .contact-page-form input[type="tel"],
body#contact .contact-page-form input[type="url"],
body#contact .contact-page-form textarea,
body#contact .contact-page-form select,
body#contact .contact-page-form .ets_cfu_form-control,
body#contact .contact-page-form .form-control {
  width: 100%;
  background-color: transparent;
  background-image: repeating-linear-gradient(to right, #D0C4B0 0, #D0C4B0 18px, transparent 18px, transparent 36px);
  background-position: left bottom;
  background-size: 36px 2px;
  background-repeat: repeat-x;
  border: none;
  border-radius: 0;
  padding: 20px 0 40px;
  font-family: 'Merriweather', serif;
  font-weight: 400;
  font-size: clamp(32px, 4.5vw, 86px);
  line-height: 1.2;
  color: #D0C4B0;
  box-shadow: none;
  outline: none;
  height: auto;
  resize: none;
}

body#contact .contact-page-form input::placeholder,
body#contact .contact-page-form textarea::placeholder {
  color: #D0C4B0;
  opacity: 1;
}

body#contact .contact-page-form input:focus,
body#contact .contact-page-form textarea:focus,
body#contact .contact-page-form select:focus {
  outline: none;
  box-shadow: none;
  border-bottom-color: #D0C4B0;
}

body#contact .contact-page-form textarea,
body#contact .contact-page-form textarea.ets_cfu_form-control,
body#contact .contact-page-form textarea.form-control {
  min-height: 0;
  height: calc(1.2em * 4 + 40px);
  display: block;
  font-family: 'Merriweather', serif !important;
  font-size: clamp(32px, 4.5vw, 86px) !important;
  line-height: 1.2 !important;
  color: #D0C4B0;
}

/* Champs obligatoires + Acceptance : Merriweather 25/28 semibold */
body#contact .contact-page-form .ets_cfu_input_html .ets_cfu-html {
  border: none;
  padding: 0;
  font-family: 'Merriweather', serif;
  font-size: 25px;
  line-height: 28px;
  color: #D0C4B0;
  font-weight: 600;
  background: transparent;
}

body#contact .contact-page-form .ets_cfu_input_acceptance {
  margin: 0 0 40px;
}

body#contact .contact-page-form .ets_cfu_input_acceptance .ets_cfu-acceptance {
  border: none;
  padding: 0;
  background: transparent;
}

body#contact .contact-page-form .ets_cfu_input_acceptance label,
body#contact .contact-page-form .wpcfu-list-item-label {
  display: inline-block;
  color: #D0C4B0;
  font-family: 'Merriweather', serif;
  font-size: 25px;
  line-height: 28px;
  font-weight: 600;
}

body#contact .contact-page-form .wpcfu-list-item,
body#contact .contact-page-form .wpcfu-list-item label {
  display: flex;
  align-items: center;
  gap: 20px;
}

body#contact .contact-page-form input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border: 3px solid #D0C4B0;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
  margin: 0;
  padding: 0;
  flex-shrink: 0;
  box-shadow: none;
}

body#contact .contact-page-form input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -55%) rotate(45deg);
  width: 5px;
  height: 10px;
  border: solid #D0C4B0;
  border-width: 0 2px 2px 0;
}

body#contact .contact-page-form .ets_cfu_note,
body#contact .contact-page-form small,
body#contact .contact-page-form .required-note,
body#contact .contact-page-form .text-muted {
  font-family: 'Merriweather', serif;
  font-size: 14px;
  line-height: 18px;
  color: #D0C4B0;
  margin: 0;
}

body#contact .contact-page-form input[type="checkbox"] {
  accent-color: #1E6E30;
  width: 18px;
  height: 18px;
}

body#contact .contact-page-form [id^="gdpr_consent_"],
body#contact .contact-page-form [class*="gdpr_module_"] {
  margin: 0;
}

body#contact .contact-page-form .psgdpr_consent_message {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #D0C4B0;
  font-family: 'Merriweather', serif;
  font-size: 14px;
  line-height: 18px;
}

body#contact .contact-page-form .ets_cfu_input_submit {
  display: flex;
  justify-content: center;
  margin: 60px 0 0;
  background: none;
}

body#contact .contact-page-form button[type="submit"],
body#contact .contact-page-form input[type="submit"],
body#contact .contact-page-form .btn-primary,
body#contact .contact-page-form .ets_cfu-submit,
body#contact .contact-page-form .ets_cfu_submit {
  background: #F2A5C8 !important;
  background-image: none !important;
  color: #C84F25 !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 33px !important;
  padding: 14px 50px !important;
  width: auto !important;
  display: inline-block;
  cursor: pointer;
}

/* --- Page produit : padding 80px sur la col droite --- */
body#product .col-product-info #col-product-info {
  padding: 40px 80px 80px;
}

/* --- Page produit : colonne image collée au bord gauche --- */
body#product #inner-wrapper {
  padding-left: 0;
  padding-right: 0;
}

body#product .product-info-row {
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0;
}

body#product .col-product-image,
body#product .col-product-info {
  padding-left: 0;
  padding-right: 0;
}

body#product .product-cover img {
  margin: 0;
  width: 100%;
}

/* --- Flags produit (cover) : même style que dans les miniatures --- */
body#product .product-cover {
  position: relative;
}

body#product .product-cover > .product-flags {
  position: absolute;
  top: 20px;
  right: 20px;
  left: auto;
  bottom: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: right;
  z-index: 5;
}

body#product .product-cover > .product-flags .product-flag,
body#product .product-cover > .product-flags li.product-flag {
  font-family: 'Merriweather', serif;
  font-size: 16px;
  font-weight: 900;
  line-height: 20px;
  margin-top: 0;
}

body#product .product-cover > .product-flags .product-flag.new {
  background: #C84F25;
  color: #F2A5C8;
}

body#product .images-container {
  margin-bottom: 0;
}

body#product .col-product-image .mt-4 {
  margin-top: 0 !important;
}

/* --- Sliders produit (accessoires, catégorie, crossselling) --- */
body#product .product-accessories,
body#product .category-products,
body#product .productscategory,
body#product section[class*="crossselling"] {
  padding: 0 80px;
  margin: 100px 0 0;
  background: transparent;
}

body#product #main > .product-accessories:last-child,
body#product #main > .category-products:last-child,
body#product #main > .productscategory:last-child,
body#product #main > section[class*="crossselling"]:last-child,
body#product .product-accessories:last-of-type,
body#product .category-products:last-of-type {
  margin-bottom: 100px;
}

body#product .product-accessories .section-title,
body#product .category-products .section-title,
body#product .productscategory .section-title,
body#product section[class*="crossselling"] .section-title,
body#product section[class*="crossselling"] h2 {
  font-family: 'DynaPuff', sans-serif;
  font-size: clamp(24px, 2vw, 32px);
  line-height: 1.2;
  font-weight: 500;
  color: #1E6E30;
  text-align: left;
  margin: 0 0 40px;
  padding: 0;
  border: none;
}

/* Spécifique slider crossselling : margin-bottom de la section + titre miniature centré */
body#product section[class*="crossselling"] {
  margin-bottom: 100px;
}

body#product section[class*="crossselling"] .product-miniature .product-title,
body#product section[class*="crossselling"] .product-miniature .product-title a {
  text-align: center;
  margin: 0 0 0.4rem;
}

body#product .product-accessories .section-title span,
body#product .category-products .section-title span,
body#product .productscategory .section-title span,
body#product section[class*="crossselling"] .section-title span {
  padding: 0;
  border: none;
  background: transparent;
}

/* Wrapper : négatif margin pour aligner avec les cols padding */
body#product .product-accessories .swiper-container-wrapper,
body#product .category-products .swiper-container-wrapper,
body#product .category-products .block-content,
body#product .productscategory .swiper-container-wrapper,
body#product section[class*="crossselling"] .swiper-container-wrapper {
  margin-left: -40px;
  margin-right: -40px;
  position: relative;
}

/* Padding sur chaque slide pour 80px entre produits */
body#product .product-accessories .swiper-slide .js-product-miniature-wrapper,
body#product .category-products .swiper-slide .js-product-miniature-wrapper,
body#product .productscategory .swiper-slide .js-product-miniature-wrapper,
body#product section[class*="crossselling"] .swiper-slide .js-product-miniature-wrapper {
  padding: 0 40px;
}

/* Images pleine largeur dans les miniatures slider */
body#product .product-accessories .product-miniature .thumbnail-container img,
body#product .product-accessories .product-miniature .thumbnail-container picture,
body#product .category-products .product-miniature .thumbnail-container img,
body#product .category-products .product-miniature .thumbnail-container picture,
body#product .productscategory .product-miniature .thumbnail-container img,
body#product .productscategory .product-miniature .thumbnail-container picture,
body#product section[class*="crossselling"] .product-miniature .thumbnail-container img,
body#product section[class*="crossselling"] .product-miniature .thumbnail-container picture {
  width: 100%;
  margin: 0;
}

/* Typo miniatures : DM Serif Text comme sur la home */
body#product .product-accessories .product-miniature .product-title,
body#product .product-accessories .product-miniature .product-title a,
body#product .product-accessories .product-miniature .product-price,
body#product .category-products .product-miniature .product-title,
body#product .category-products .product-miniature .product-title a,
body#product .category-products .product-miniature .product-price,
body#product .productscategory .product-miniature .product-title,
body#product .productscategory .product-miniature .product-title a,
body#product .productscategory .product-miniature .product-price,
body#product section[class*="crossselling"] .product-miniature .product-title,
body#product section[class*="crossselling"] .product-miniature .product-title a,
body#product section[class*="crossselling"] .product-miniature .product-price {
  font-family: 'DM Serif Text', serif;
  font-size: 16px;
  font-weight: 400;
}

/* --- Fil d'ariane (réinjecté dans #main après la bannière) --- */
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main > .container {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main > nav.breadcrumb,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main > .container > nav.breadcrumb {
  background: transparent;
  border: none;
  padding: 35px 80px 20px;
  margin: 0;
  width: 100%;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main nav.breadcrumb .row {
  justify-content: center;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main nav.breadcrumb .col {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main nav.breadcrumb .col-auto {
  display: none;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main nav.breadcrumb .row {
  margin-left: 0;
  margin-right: 0;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main nav.breadcrumb ol {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main nav.breadcrumb li {
  display: inline-flex;
  align-items: center;
  color: #246F30;
  font-family: 'Merriweather', serif;
  font-size: 14px;
  line-height: 18px;
  font-style: italic;
  letter-spacing: 0.02em;
  text-align: center;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main nav.breadcrumb li a,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main nav.breadcrumb li span {
  color: #246F30;
  text-decoration: none;
  font-style: italic;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main nav.breadcrumb li:not(:last-child)::after {
  content: '»';
  margin: 0 0 0 8px;
  color: #246F30;
  font-size: 14px;
  font-style: normal;
  opacity: 1;
}

/* Supprimer le séparateur "/" du theme parent sur le dernier li uniquement */
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main nav.breadcrumb li:last-child::after {
  content: none !important;
}

/* --- Page produit : breadcrumb dans la col droite (même style que catégorie) --- */
body#product .product-breadcrumb-wrapper > .container {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

body#product .product-breadcrumb-wrapper nav.breadcrumb {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0 0 70px;
  width: 100%;
}

body#product .product-breadcrumb-wrapper nav.breadcrumb .row {
  justify-content: flex-start;
  margin-left: 0;
  margin-right: 0;
}

body#product .product-breadcrumb-wrapper nav.breadcrumb .col {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body#product .product-breadcrumb-wrapper nav.breadcrumb .col-auto {
  display: none;
}

body#product .product-breadcrumb-wrapper nav.breadcrumb ol {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

body#product .product-breadcrumb-wrapper nav.breadcrumb li {
  display: inline-flex;
  align-items: center;
  color: #246F30;
  font-family: 'Merriweather', serif;
  font-size: 14px;
  line-height: 18px;
  font-style: italic;
  letter-spacing: 0.02em;
  text-align: left;
}

body#product .product-breadcrumb-wrapper nav.breadcrumb li a,
body#product .product-breadcrumb-wrapper nav.breadcrumb li span {
  color: #246F30;
  text-decoration: none;
  font-style: italic;
}

body#product .product-breadcrumb-wrapper nav.breadcrumb li:not(:last-child)::after {
  content: '»';
  margin: 0 0 0 8px;
  color: #246F30;
  font-size: 14px;
  font-style: normal;
  opacity: 1;
}

body#product .product-breadcrumb-wrapper nav.breadcrumb li:last-child::after {
  content: none !important;
}

/* --- Reorder : filtres horizontaux AVANT la barre sort/showing --- */
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products {
  display: flex;
  flex-direction: column;
  padding: 0 80px 120px;
  background: #F6EFD9;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-footer {
  display: none;
}

/* --- Message "pas de produit" --- */
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products .alert.alert-warning {
  border: 0;
  padding: 20px;
  background-color: #CAD34F;
  margin-top: 80px;
  text-align: center;
  color: #C84F25;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products .alert.alert-warning strong {
  color: #C84F25;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products > #facets_search_center_dropdown,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products > #facets_search_center {
  order: -1;
  margin: 0;
  padding: 20px 0 0;
}

/* --- Filtres horizontaux : boutons pilule vert --- */
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown #search_filters,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center #search_filters {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown aside.facet,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center aside.facet {
  margin: 0;
  padding: 0;
  float: none;
  width: auto;
  border: none;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .facet-title-dropdown,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .facet-title-dropdown {
  background: #1E6E30;
  color: #FAEED8;
  border-radius: 25px;
  padding: 12px 26px;
  font-family: 'DynaPuff', sans-serif;
  font-size: 20px;
  line-height: 24px;
  font-weight: 400;
  border: none;
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  height: auto;
  min-height: 0;
  width: auto;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .facet-title-dropdown span,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .facet-title-dropdown span {
  color: #FAEED8;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .facet-title-dropdown .drop-icon,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .facet-title-dropdown .drop-icon {
  font-size: 16px;
  color: #FAEED8;
  margin-left: 4px;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .dropdown-menu-facet,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .dropdown-menu-facet {
  background: #1E6E30;
  color: #FAEED8;
  border: none;
  border-radius: 12px;
  padding: 20px 24px;
  margin-top: 10px !important;
  --bs-dropdown-spacer: 10px;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .dropdown-menu-facet li,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .dropdown-menu-facet li {
  list-style: none;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .dropdown-menu-facet .facet-label,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .dropdown-menu-facet .facet-label,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .dropdown-menu-facet .facet-label a,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .dropdown-menu-facet .facet-label a,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .dropdown-menu-facet .search-link,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .dropdown-menu-facet .search-link,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .dropdown-menu-facet .dropdown-item,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .dropdown-menu-facet .dropdown-item {
  color: #FAEED8 !important;
  background: transparent;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .dropdown-menu-facet .magnitude,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .dropdown-menu-facet .magnitude {
  color: #FAEED8;
  opacity: 0.75;
}

/* Retirer le margin-bottom du dernier .facet-label (couvre aussi le cas où il n'y en a qu'un) */
#search_filters .facet .facet-label:last-child,
#search_filters_brands .facet .facet-label:last-child,
#search_filters_suppliers .facet .facet-label:last-child {
  margin-bottom: 0;
}

/* Case à cocher : fond crème, taille fixe pour ne pas déborder */
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .dropdown-menu-facet .custom-checkbox,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .dropdown-menu-facet .custom-checkbox,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .dropdown-menu-facet .custom-radio,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .dropdown-menu-facet .custom-radio {
  background: #FAEED8;
  border: 1px solid #FAEED8;
  border-radius: 3px;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  overflow: hidden;
  vertical-align: middle;
  flex-shrink: 0;
  margin-right: 5px;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .dropdown-menu-facet .custom-checkbox input,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .dropdown-menu-facet .custom-checkbox input,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .dropdown-menu-facet .custom-radio input,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .dropdown-menu-facet .custom-radio input {
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  position: absolute;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .dropdown-menu-facet .custom-checkbox > span,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .dropdown-menu-facet .custom-checkbox > span,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .dropdown-menu-facet .custom-radio > span,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .dropdown-menu-facet .custom-radio > span {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .dropdown-menu-facet .custom-checkbox .checkbox-checked,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .dropdown-menu-facet .custom-checkbox .checkbox-checked {
  color: #1E6E30;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .dropdown-menu-facet .custom-checkbox input[type="checkbox"] + span,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .dropdown-menu-facet .custom-checkbox input[type="checkbox"] + span {
  margin-right: 0;
}

/* --- Filtres actifs (chips) --- */
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products #js-active-search-filters {
  background: transparent;
  border: none;
  padding: 0;
  margin: 16px 0 0;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products #active-search-filters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products .active-filter-title {
  color: #C84F25;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 20px;
  margin: 0;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products .filter-blocks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products .filter-block {
  margin: 0;
  padding: 0;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products .filter-block a.btn,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products .filter-block a.btn-secondary,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products .filter-block a.btn-sm {
  background: #1E6E30;
  color: #FAEED8;
  border: none;
  border-radius: 6px;
  padding: 6px 14px;
  font-size: 14px;
  line-height: 18px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products .filter-block a.btn .fa-times,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products .filter-block a.btn-secondary .fa-times {
  color: #FAEED8;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products .active_filters .filter-block-all {
  border-left: none;
}

/* --- Barre showing + sort : masquer view-switcher & nb-per-page --- */
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top .view-switcher,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top .facated-toggler,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top .products-nb-per-page {
  display: none !important;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top {
  padding: 100px 0 40px;
  background: transparent;
  border: none;
  margin: 0;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top .row {
  align-items: center;
  margin: 0;
}

/* La colonne qui contient showing + sort doit occuper toute la largeur
   pour que space-between éloigne le sort à droite */
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top .row > .col:has(.showing),
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top .row > .col-auto:has(.showing) {
  flex: 1 1 100%;
  width: 100%;
  max-width: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top .showing {
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 20px;
  color: #C84F25;
  display: inline-block;
}

/* --- Dropdown "Trier par :" --- */
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top .products-sort-order {
  margin: 0;
  margin-left: auto;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top .products-sort-order .select-title {
  background: transparent;
  border: none;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 20px;
  color: #C84F25;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: auto;
  min-height: 0;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top .products-sort-order .select-title::before {
  content: 'Trier par : ';
  color: #C84F25;
  font-family: 'Merriweather', serif;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top .products-sort-order .select-title-name {
  color: #C84F25;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top .products-sort-order .fa-angle-down {
  color: #C84F25;
}

/* --- Grille produits : 80px entre chaque produit (H et V) --- */
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list .products-grid {
  margin-left: -40px;
  margin-right: -40px;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list .products-grid > .js-product-miniature-wrapper {
  padding: 0 40px;
  margin-bottom: 60px;
}

/* --- Typo miniatures produits catégorie (même que slider accueil) --- */
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .product-miniature .product-title,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .product-miniature .product-title a,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .product-miniature .product-price {
  font-family: 'DM Serif Text', serif;
  font-size: 16px;
  font-weight: 400;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .product-miniature .thumbnail-container img,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .product-miniature .thumbnail-container picture {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .product-miniature .thumbnail-container {
  overflow: hidden;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .product-miniature .product-availability {
  max-width: calc(100% - 20px);
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .product-miniature .product-availability .badge {
  display: inline-block;
  max-width: 100%;
  white-space: normal;
  word-wrap: break-word;
}

/* --- Badge availability dans les miniatures (global, toutes pages) --- */
.product-miniature .thumbnail-container {
  position: relative;
}

/* Masquer "En Stock" */
.product-miniature .product-availability .badge.product-available {
  display: none !important;
}

/* Conteneur availability : positionné en bas de la thumbnail, centré */
.product-miniature .product-availability:has(.product-unavailable),
.product-miniature .product-availability:has(.product-last-items),
.product-miniature .product-availability:has(.product-unavailable-allow-oosp) {
  position: absolute;
  bottom: 35px;
  left: 50%;
  transform: translateX(-50%) !important;
  margin: 0;
  padding: 0;
  z-index: 4;
  text-align: center;
  pointer-events: none;
  max-width: calc(100% - 30px);
  opacity: 1 !important;
}

/* Neutraliser le fade-out hover du thème parent */
.product-miniature-grid:hover .product-availability:has(.product-unavailable),
.product-miniature-grid:hover .product-availability:has(.product-last-items),
.product-miniature-grid:hover .product-availability:has(.product-unavailable-allow-oosp) {
  opacity: 1 !important;
  transform: translateX(-50%) !important;
}

.product-miniature .product-availability .badge.product-unavailable,
.product-miniature .product-availability .badge.product-last-items,
.product-miniature .product-availability .badge.product-unavailable-allow-oosp {
  display: inline-block;
  width: auto;
  background: #5E88B9;
  color: #FAEED8;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 20px;
  font-weight: 900;
  border-radius: 0;
  padding: 15px 25px;
  margin: 0;
  white-space: normal;
  word-wrap: break-word;
  transform: rotate(-4deg);
}

/* Retirer l'icône FontAwesome du badge */
.product-miniature .product-availability .badge .fa {
  display: none;
}

/* --- Description longue catégorie (bas de liste) --- */
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .category-description-bottom {
  margin-top: 90px;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .category-description-bottom hr {
  display: none;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .category-description-bottom .rte-content h3 {
  font-family: 'Meow Script', cursive;
  font-size: 40px;
  line-height: 42px;
  font-weight: 400;
  margin: 0 0 40px;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .category-description-bottom .rte-content,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .category-description-bottom .rte-content p,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .category-description-bottom .rte-content strong {
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 18px;
  font-weight: 400;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top .products-sort-order .dropdown-menu {
  background: #C84F25;
  color: #FAEED8;
  border: none;
  border-radius: 12px;
  padding: 20px 24px;
  margin-top: 10px !important;
  --bs-dropdown-spacer: 10px;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top .products-sort-order .dropdown-menu .dropdown-item,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top .products-sort-order .dropdown-menu .select-list {
  color: #FAEED8 !important;
  background: transparent;
  border-bottom: none;
  padding-left: 0;
  padding-right: 0;
  text-align: right;
}

body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .dropdown-menu-facet .dropdown-item,
body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .dropdown-menu-facet .dropdown-item {
  border-bottom: none;
  padding-left: 0;
  padding-right: 0;
  text-align: right;
}

/* --- Colonnes section top accueil --- */
.accueil-section-top-column-left {
  width: 55% !important;
}

.accueil-section-top-column-right {
  width: 45% !important;
}

/* --- Image section top accueil : 100% height, max 625px --- */
.accueil-section-top-column-right,
.accueil-section-top-column-right .elementor-column-wrap,
.accueil-section-top-column-right .elementor-widget-wrap,
.accueil-section-top-column-right .elementor-widget,
.accueil-section-top-column-right .elementor-widget-container,
.accueil-section-top-column-right .elementor-image {
  height: 100%;
}

.accueil-section-top-column-right .elementor-image img {
  width: 100%;
  height: 100%;
  max-height: 625px;
  object-fit: cover;
}

/* --- Texte section top accueil --- */
.texte-section-top-accueil {
  max-width: 560px;
}

/* --- H1 global --- */
h1,
.h1 {
  font-family: 'Climate Crisis', sans-serif;
  font-size: clamp(2.125rem, 3.8vw, 5.5rem) !important;
  line-height: clamp(45px, 4.2vw, 95px) !important;
  font-weight: 400;
}

/* --- H2 global --- */
h2 {
  font-family: 'DynaPuff', sans-serif;
  font-size: 24px;
  line-height: 28px;
  font-weight: 500;
}

/* ==========================================================================
   HEADER
   ========================================================================== */

/* --- Espacement autour du header (30px) --- */
#header {
  background: transparent !important;
  padding: 30px 30px 0 30px;
}

/* --- Page d'accueil : fond rose sur le header --- */
body#index #header {
  background: #F2A5C8 !important;
}

#desktop-header .header-top {
  background: #f2a5c8;
  padding: 25px 50px;
}

/* --- 1. Icônes header : remplacement par SVG custom (45px) --- */

/* Masquer les icônes Font Awesome d'origine */
#desktop-header .header-btn .icon.fa {
  display: none !important;
}

/* Style commun pour les nouvelles icônes */
#desktop-header .header-btn {
  position: relative;
}

#desktop-header .header-btn::before {
  content: '';
  display: inline-block;
  width: 45px;
  height: 45px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
}

/* Icône recherche */
#desktop-header .header-search-btn::before {
  background-image: url('/img/cms/Icones/recherche.svg');
}

/* Icône compte */
#desktop-header .header-user-btn::before {
  background-image: url('/img/cms/Icones/compte.svg');
}

/* Icône panier */
#desktop-header .header-cart-btn::before {
  background-image: url('/img/cms/Icones/panier.svg');
}

/* Masquer le texte sous les icônes */
#desktop-header .header-btn .title {
  display: none;
}

/* Repositionner le badge du panier */
#desktop-header .cart-products-count-btn {
  position: absolute;
  top: -5px;
  right: -5px;
}

/* --- Espacement entre les éléments du menu (50px) --- */
.cbp-horizontal > ul > li > a,
.cbp-horizontal > ul > li > a:not([href]):not([tabindex]),
.cbp-horizontal > ul > li > .cbp-main-link {
  padding-left: 1.5625rem;
  padding-right: 1.5625rem;
  max-width: none;
}

/* --- 2. Indicateurs sous-menu : chevron "v" → "+" --- */

#desktop-header .cbp-submenu-aindicator.fa-angle-down::before {
  content: '+';
  font-family: inherit;
  font-weight: bold;
  font-style: normal;
}

/* --- 3. Police du menu : Merriweather 18px bold --- */

#desktop-header #cbp-hrmenu .nav-link {
  font-family: 'Merriweather', serif;
  font-size: 1.125rem;
  font-weight: 700;
}

/* ==========================================================================
   SOUS-MENU (dropdown megamenu)
   ========================================================================== */

/* --- Positionnement : pleine largeur aligné sous le header --- */

/* Le header-top devient le parent de référence */
#desktop-header .header-top {
  position: relative;
}

/* Tous les intermédiaires en static */
#desktop-header #desktop-header-container,
#desktop-header .col-header-menu,
#desktop-header #iqitmegamenu-wrapper,
#desktop-header .container-iqitmegamenu,
#desktop-header #iqitmegamenu-horizontal,
#desktop-header .cbp-hrsub-narrow,
#desktop-header .cbp-hrmenu-tab {
  position: static !important;
}

/* Neutralise les inline styles posés par le JS d'iqitmegamenu (margin/width sur le <li>)
   qui font sauter les items quand on ouvre/quitte un sous-menu */
#desktop-header #cbp-hrmenu .cbp-hrmenu-tab {
  margin: 0 !important;
  width: auto !important;
}

#desktop-header-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Le sous-menu : pleine largeur du header-top, collé en dessous */
#desktop-header .cbp-hrmenu .cbp-hrsub {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  top: 100% !important;
  padding: 0 !important;
  display: block !important;
  visibility: hidden;
  opacity: 1;
  transform: translateY(0) !important;
  transition: visibility 0s linear 0.4s !important;
}

#desktop-header .cbp-hrmenu .cbp-hropen .cbp-hrsub,
#desktop-header .cbp-hrmenu-tab.cbp-hover .cbp-hrsub,
#desktop-header .cbp-hrmenu-tab:hover .cbp-hrsub {
  visibility: visible;
  transform: translateY(0) !important;
  transition: visibility 0s linear 0s !important;
}

/* Pont invisible au-dessus du sous-menu pour garder le hover */
#desktop-header .cbp-hrmenu .cbp-hrsub::before {
  content: '';
  position: absolute;
  top: -44px;
  left: 0;
  width: 100%;
  height: 45px;
}

/* --- Fond vert, border-radius bas, pas de box-shadow --- */
#desktop-header .cbp-hrmenu .cbp-hrsub-inner {
  background: #1E6E30;
  border: none;
  box-shadow: none;
  border-radius: 0 0 70px 70px;
  padding: 60px 80px;
}

/* --- Texte des catégories : DM Serif Text 22px regular, couleur crème --- */
#desktop-header .cbp-hrsub .cbp-category-title,
#desktop-header .cbp-hrsub .cbp-column-title {
  font-family: 'DM Serif Text', serif;
  font-size: 1.375rem;
  font-weight: 400;
  color: #F6EFD9 !important;
  text-transform: none;
  opacity: 1;
  line-height: 1.25;
}

#desktop-header .cbp-hrsub .cbp-category-title:hover,
#desktop-header .cbp-hrsub .cbp-column-title:hover {
  color: #fff !important;
}

/* --- Retirer les marges internes du sous-menu --- */
#desktop-header .cbp-hrmenu .cbp-menu-column {
  margin-top: 0;
}

#desktop-header .cbp-hrmenu .cbp-categories-row {
  margin-top: 0;
}

#desktop-header .cbp-hrmenu .cbp-categories-row > div {
  margin-top: 0;
}

/* --- Retirer le margin-bottom sur la dernière row du sous-menu --- */
#desktop-header .cbp-hrmenu .cbp-hrsub-inner > .row:last-child,
#desktop-header .cbp-hrmenu .cbp-hrsub-inner .iqitmegamenu-submenu-container > .row:last-child {
  margin-bottom: 0;
}

/* --- Image maison alignée en bas à droite --- */
#desktop-header .cbp-hrsub .maison-illustration {
  text-align: right;
}

#desktop-header .cbp-hrsub .cbp-menu-column:last-child .cbp-menu-column-inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
}

.maison-illustration .maison-img {
  max-width: 100%;
  height: auto;
}

/* --- Espacement entre les liens catégories --- */
#desktop-header .cbp-hrsub .cbp-category-link-w {
  margin-bottom: 25px;
}

/* --- Espacement après "Voir tous les produits" --- */
#desktop-header .cbp-hrsub .cbp-menu-column-inner > .cbp-column-title {
  display: block;
  margin-bottom: 25px !important;
}

/* ==========================================================================
   RECHERCHE (modal fullscreen)
   ========================================================================== */

/* --- Input de recherche --- */
.fullscreen-search .search-widget .input-group {
  border: 5px dashed #5E88B9;
  border-radius: 70px;
  padding: 5px;
  overflow: hidden;
  background: #5E88B9 content-box;
  align-items: center;
}

#header-search-btn .fullscreen-search .form-search-control {
  background: transparent;
  border: none;
  border-radius: 0;
  color: #fff;
  font-family: 'Merriweather', serif;
  font-size: 1.625rem;
  font-weight: 700;
  padding: 20px 30px 20px 45px;
  height: 114px;
}

.fullscreen-search .search-widget .form-search-control::placeholder {
  color: #fff;
  opacity: 1;
  font-family: 'Merriweather', serif;
  font-size: 1.625rem;
  font-weight: 700;
}

/* --- Bouton recherche : icône SVG custom --- */
.fullscreen-search .search-widget .search-btn {
  background: transparent;
  border: none;
  padding: 0;
}

.fullscreen-search .search-widget .search-btn .fa-search {
  display: none;
}

.fullscreen-search .search-widget .search-btn::before {
  content: '';
  display: inline-block;
  width: 70px;
  height: 70px;
  background-image: url('/img/cms/Icones/icone-search.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
  margin-right: 35px;
}

/* --- Résultats de recherche (autocomplétion) --- */
.autocomplete-suggestions {
  background-color: #FEEED8 !important;
  border-radius: 30px !important;
  padding: 20px !important;
  border: 0 !important;
  margin-top: 20px !important;
  box-shadow: none !important;
}

.autocomplete-suggestion .col-shop {
  display: none !important;
}

.autocomplete-suggestions .dropdown-item {
  border-bottom: none !important;
}


/* --- Bouton "Show all results" --- */
.autocomplete-suggestion-show-all {
  border-top: none !important;
  background: #F2A5C8;
  border-radius: 33px;
  font-family: 'DynaPuff', sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #C84F25;
  text-align: center;
  padding: 12px 30px;
  margin-top: 15px;
  display: block !important;
  width: fit-content !important;
  margin-left: auto;
  margin-right: auto;
}

.autocomplete-suggestion-show-all .name {
  color: #C84F25;
}

.autocomplete-suggestion-show-all .fa-angle-right {
  display: none;
}

/* ==========================================================================
   PANIER (side cart)
   ========================================================================== */

/* --- Conteneur principal --- */
#blockcart-content {
  background: transparent;
  position: relative;
  padding: 30px;
}

/* --- Vague décorative à gauche --- */
.ps-shoppingcart.side-cart #blockcart-content {
  width: 380px;
  padding-bottom: 30px;
  background: #246F30;
  overflow: visible !important;
}

#blockcart-content::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -50px;
  width: 50px;
  background-image: url('/img/cms/Formes/vague-panier-stretch.svg');
  background-size: 100% 100%;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 5006;
}

/* --- Titre "Panier" --- */
#blockcart-content .cart-title .modal-title {
  font-family: 'DynaPuff', sans-serif;
  font-size: 2.0625rem;
  font-weight: 500;
  color: #FAEED8;
  line-height: 30px;
}

/* --- Bouton fermer : icône SVG custom --- */
#blockcart-content .cart-title .close {
  background: none;
  border: none;
  padding: 0;
  font-size: 0;
  opacity: 1;
}

#blockcart-content .cart-title .close::before {
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  background-image: url('/img/cms/Icones/icone-close-panier.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

#blockcart-content .cart-title .close span {
  display: none;
}

/* --- Séparateur dashed --- */
#blockcart-content .cart-title hr,
#blockcart-content .cart-subtotals,
#blockcart-content .cart-totals {
  border-color: #FAEED8;
  border-style: dashed;
}

#blockcart-content .cart-title hr {
  display: none;
}

#blockcart-content .cart-title {
  margin-bottom: 50px;
}

/* --- Produits : nom et prix --- */
#blockcart-content .cart-products a,
#blockcart-content .cart-products .col-info span {
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  font-weight: 400;
  color: #FAEED8;
}

#blockcart-content .cart-products a:hover {
  color: #fff;
}

/* --- Sélecteur de quantité --- */

/* Input quantité */
#blockcart-content .bootstrap-touchspin {
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 0;
}

#blockcart-content .bootstrap-touchspin .form-control {
  background: #CAD34F;
  border: none;
  border-radius: 27px;
  width: 30px !important;
  height: 40px;
  flex: 0;
  color: #246F30;
  font-family: 'DynaPuff', sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  text-align: center;
  padding: 0;
  min-width: unset;
}

/* Boutons +/- en SVG custom */
#blockcart-content .bootstrap-touchspin .input-group-btn-vertical {
  display: flex;
  flex-direction: column;
  position: static;
  height: 32px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin-top: 2px;
  margin-left: 5px;
}

#blockcart-content .bootstrap-touchspin .btn-touchspin {
  background: transparent;
  border: none;
  padding: 0;
  width: 11px;
  height: 11px;
  display: inline-block;
  float: none;
  max-width: 11px;
}

#blockcart-content .bootstrap-touchspin .btn-touchspin i {
  display: none;
}

#blockcart-content .bootstrap-touchspin .bootstrap-touchspin-up::before {
  content: '';
  display: block;
  width: 11px;
  height: 11px;
  background-image: url('/img/cms/Icones/plus.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

#blockcart-content .bootstrap-touchspin .bootstrap-touchspin-down::before {
  content: '';
  display: block;
  width: 11px;
  height: 11px;
  background-image: url('/img/cms/Icones/moins.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Réordonner : - en bas, + en haut */
#blockcart-content .bootstrap-touchspin .bootstrap-touchspin-down {
  order: 2;
}

#blockcart-content .bootstrap-touchspin .bootstrap-touchspin-up {
  order: 1;
}

/* --- Layout ligne quantité / prix / poubelle --- */
#blockcart-content .cart-products .row.align-items-center.mt-2 {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  margin-top: 3px !important;
}

#blockcart-content .cart-products .row.align-items-center.mt-2 > .col {
  flex: 0 0 auto;
  width: auto;
}

#blockcart-content .cart-products .row.align-items-center.mt-2 .col.p-0 {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  gap: 10px;
  flex: 1;
  justify-content: flex-start;
}

/* --- Icône poubelle : SVG custom --- */
#blockcart-content .remove-from-cart .fa-trash-o {
  display: none;
}

#blockcart-content .remove-from-cart::before {
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  background-image: url('/img/cms/Icones/icone-poubelle-panier.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

#blockcart-content .remove-from-cart {
  color: #FAEED8;
}

#blockcart-content .remove-from-cart:hover {
  opacity: 0.8;
}

/* --- Pas de séparateur entre produits --- */
#blockcart-content .cart-products li {
  border: none;
}

#blockcart-content .cart-products > li {
  padding-bottom: 0;
  margin-bottom: 20px;
}

#blockcart-content .cart-products .col-3 {
  flex: 0 0 98px;
  max-width: 98px;
}

#blockcart-content .cart-products .col.col-info {
  flex: 0 0 calc(100% - 98px);
  max-width: calc(100% - 98px);
  width: calc(100% - 98px);
  min-width: 0;
}

/* --- Prix produit --- */
#blockcart-content .cart-products .col.p-0 span {
  color: #FAEED8;
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  font-weight: 400;
}

/* --- Espacement entre les lignes de sous-totaux --- */
#blockcart-content .cart-subtotals .cart-summary-line + .cart-summary-line {
  margin-top: 10px;
}

/* --- Sous-totaux (1 article, Livraison) --- */
#blockcart-content .cart-subtotals {
  border: none;
  padding: 15px 0;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='370' height='1'%3E%3Cline x1='0' y1='0.5' x2='370' y2='0.5' stroke='%23FAEED8' stroke-width='1' stroke-dasharray='10,10'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='370' height='1'%3E%3Cline x1='0' y1='0.5' x2='370' y2='0.5' stroke='%23FAEED8' stroke-width='1' stroke-dasharray='10,10'/%3E%3C/svg%3E");
  background-size: 100% 1px, 100% 1px;
  background-position: top left, bottom left;
  background-repeat: no-repeat;
}

#blockcart-content .cart-subtotals .label,
#blockcart-content .cart-subtotals .value {
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  font-weight: 400;
  color: #FAEED8;
}

/* --- Total TTC --- */
#blockcart-content .cart-totals {
  border: none;
  padding: 20px 0 30px;
}

#blockcart-content .cart-totals .clearfix {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

#blockcart-content .cart-totals .clearfix::after {
  display: none;
}

#blockcart-content .cart-totals .label,
#blockcart-content .cart-totals .value {
  font-family: 'Meow Script', cursive;
  font-size: 2.5rem;
  font-weight: 400;
  color: #FAEED8;
  float: none;
}

/* --- Message livraison gratuite --- */
#blockcart-content .iqitfreedeliverycount {
  background: #CAD34F;
  border: none;
  border-radius: 0;
  color: #246F30;
  font-family: 'Merriweather', serif;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: 400;
  text-align: center;
  padding: 10px 15px !important;
  margin: 0 0 20px !important;
}

#blockcart-content .iqitfreedeliverycount strong {
  font-weight: 400;
}

/* --- Bouton Commander --- */
#blockcart-content .cart-buttons .btn-primary {
  background: #F2A5C8;
  border: none;
  border-radius: 33px;
  font-family: 'DynaPuff', sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: #C84F25;
  padding: 12px 30px 12px 80px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 280px !important;
  position: relative;
  overflow: visible;
}

#blockcart-content .cart-buttons .btn-primary::before {
  content: '';
  position: absolute;
  left: 20px;
  bottom: -10px;
  width: 65px;
  height: 65px;
  background-image: url('/img/cms/Icones/piment.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

#blockcart-content .cart-buttons .btn-primary::before {
  transition: transform 0.3s ease;
}

#blockcart-content .cart-buttons .btn-primary:hover::before {
  transform: rotate(10deg);
}

/* --- Lien Panier --- */
#blockcart-content .cart-buttons .btn-secondary {
  background: transparent;
  border: none;
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  font-weight: 700;
  color: #FAEED8;
  text-decoration: none;
  padding: 10px 0;
}

#blockcart-content .cart-buttons .btn-secondary:hover {
  color: #fff;
}

/* ==========================================================================
   PAGE PANIER (#cart)
   ========================================================================== */

/* --- Reset wrapper --- */
body#cart #inner-wrapper {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body#cart #content-wrapper {
  padding: 0;
}

body#cart section#wrapper > .container:not(#inner-wrapper),
body#cart section#wrapper > nav.breadcrumb {
  display: none !important;
}

body#cart #main {
  padding: 50px 80px 80px;
}

/* --- Titre Panier (hérite Climate Crisis du h1 global, on override couleur + rotation) --- */
body#cart .page-title {
  color: #5E88B9 !important;
  text-align: center;
  margin: 0 0 90px;
  display: block;
  background: transparent;
  padding: 0;
}

body#cart .page-title span {
  display: inline-block;
  transform: rotate(-4deg);
  transform-origin: center;
}

/* --- Layout grille (proportions maquette : 1190 / 120 / 447 sur 1920) --- */
body#cart .cart-grid {
  display: flex;
  flex-wrap: nowrap;
  gap: 120px;
  margin: 0;
}

body#cart .cart-grid-body {
  flex: 0 0 calc(75% - 120px);
  max-width: calc(75% - 120px);
  padding: 0;
}

body#cart .cart-grid-right {
  flex: 0 0 25%;
  max-width: 25%;
  padding: 0;
}

/* --- Liste produits --- */
body#cart .cart-overview {
  margin: 0;
}

body#cart .cart-items {
  list-style: none;
  margin: 0;
  padding: 0;
}

body#cart .cart-item {
  border: none;
  padding: 0;
  margin-top: 30px;
}

body#cart .cart-item:first-child {
  margin-top: 0;
}

body#cart .product-line-grid-body > .row {
  flex-wrap: nowrap;
}

body#cart .product-line-grid .product-image {
  flex: 0 0 170px;
  max-width: 170px;
}

body#cart .product-line-grid-body .col.col-9 {
  flex: 1 1 0;
  max-width: none;
  min-width: 0;
}

body#cart .product-line-grid .product-image img {
  width: 150px;
  height: 150px;
  max-width: 150px;
  object-fit: cover;
  border-radius: 0;
  display: block;
}

body#cart .product-line-info .label {
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  font-weight: 400;
  color: #246F30;
  text-decoration: none;
}

body#cart .product-line-info-secondary {
  margin-top: 4px;
}

body#cart .product-line-info-secondary .label,
body#cart .product-line-info-secondary .value {
  font-family: 'Merriweather', serif;
  font-size: 0.8125rem;
  font-weight: 400;
  color: #246F30;
}

/* --- Prix unitaire --- */
body#cart .product-line-grid-right .unit-price .value {
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  font-weight: 400;
  color: #246F30;
}

/* --- Prix total ligne produit --- */
body#cart .product-line-grid-right .price .product-price strong {
  font-family: 'Merriweather', serif;
  font-size: 20px;
  line-height: 25px;
  font-weight: 900;
  color: #246F30;
}

/* --- Quantité (touchspin) — pastille ronde orange + chevrons --- */
body#cart .product-line-grid .qty {
  display: flex;
  justify-content: center;
}

body#cart .product-line-grid .qty .input-group.bootstrap-touchspin {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center;
  background: transparent;
  border: none;
  width: auto;
}

body#cart .product-line-grid .qty .input-group-addon {
  display: none !important;
}

body#cart .product-line-grid .qty .form-control {
  background: #C84F25 !important;
  border: none !important;
  border-radius: 27px !important;
  color: #FAEED8 !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  width: 31px !important;
  height: 42px !important;
  min-width: 0 !important;
  max-width: 31px !important;
  flex: 0 0 31px !important;
  text-align: center !important;
  padding: 0 !important;
  display: block !important;
  box-shadow: none !important;
  -moz-appearance: textfield;
  appearance: textfield;
}

body#cart .product-line-grid .qty .form-control::-webkit-outer-spin-button,
body#cart .product-line-grid .qty .form-control::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

body#cart .product-line-grid .qty .input-group-btn-vertical {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  margin-left: 6px;
  width: auto !important;
  height: auto !important;
  position: static !important;
  float: none !important;
  flex: 0 0 auto !important;
}

body#cart .product-line-grid .qty .btn-touchspin {
  background: transparent !important;
  border: none !important;
  color: #C84F25 !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  padding: 0 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: static !important;
  margin: 0 !important;
  float: none !important;
  box-shadow: none !important;
}

body#cart .product-line-grid .qty .btn-touchspin i {
  display: none !important;
}

body#cart .product-line-grid .qty .bootstrap-touchspin-up::after {
  content: '+';
  color: #C84F25;
}

body#cart .product-line-grid .qty .bootstrap-touchspin-down::after {
  content: '−';
  color: #C84F25;
}

/* --- Icône poubelle (réutilisée du popup blockcart) --- */
body#cart .cart-line-product-actions {
  text-align: right;
}

body#cart .cart-line-product-actions .remove-from-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: transparent;
}

body#cart .cart-line-product-actions .remove-from-cart .fa-trash-o {
  display: none;
}

body#cart .cart-line-product-actions .remove-from-cart::before {
  content: '';
  display: inline-block;
  width: 41.49px;
  height: 44.16px;
  background-image: url('/img/cms/Icones/icone-poubelle-cart.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* --- Bouton "Continuer mes achats" — pill orange --- */
body#cart .cart-grid-body > .btn-secondary {
  background: #C84F25;
  border: none;
  border-radius: 25px;
  font-family: 'DynaPuff', sans-serif;
  font-size: 20px;
  line-height: 24px;
  font-weight: 400;
  color: #FAEED8;
  height: 50px;
  padding: 0 28px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 70px 0 0 !important;
  text-transform: none;
}

body#cart .cart-grid-body > .btn-secondary i {
  font-size: 14px;
}

/* --- Carte récapitulative (cart-summary) — fond vert --- */
body#cart .cart-summary {
  background: #246F30;
  border: none;
  border-radius: 0;
  padding: 30px 30px 40px;
  box-shadow: none;
}

body#cart .cart-summary .card-body {
  padding: 0;
}

/* --- Sous-totaux (1 article + Livraison) --- */
body#cart .cart-summary .cart-detailed-subtotals {
  padding: 0 0 20px;
}

body#cart .cart-detailed-totals hr {
  display: none;
}

body#cart .cart-detailed-totals .cart-detailed-subtotals + hr {
  display: block;
  border: none;
  height: 1px;
  background-color: transparent;
  background-image: linear-gradient(to right, #FAEED8 50%, transparent 0%);
  background-size: 14px 1px;
  background-repeat: repeat-x;
  background-position: left center;
  opacity: 1;
  color: #FAEED8;
  margin: 0;
  padding: 0;
}

body#cart .cart-summary-line {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: baseline;
  width: 100%;
  margin: 0 0 8px;
  padding: 0;
}

body#cart .cart-summary-line:last-child {
  margin-bottom: 0;
}

body#cart .cart-summary-line > div {
  display: none;
}

body#cart .cart-summary-line::before,
body#cart .cart-summary-line::after {
  display: none !important;
  content: none !important;
}

body#cart .cart-summary-line .label,
body#cart .cart-summary-line .value {
  display: inline-block;
  float: none;
  background: transparent;
  border-radius: 0;
  padding: 0;
  margin: 0;
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  font-weight: 400;
  color: #FAEED8;
  text-align: left;
  white-space: nowrap;
}

body#cart .cart-summary-line .value {
  text-align: right;
}

/* --- Total TTC --- */
body#cart .cart-summary .cart-summary-totals {
  padding: 18px 0 30px;
}

body#cart .cart-summary-totals > hr {
  display: none;
}

body#cart .cart-summary-line.cart-total {
  margin: 0;
  align-items: center;
}

body#cart .cart-summary-line.cart-total .label,
body#cart .cart-summary-line.cart-total .value {
  font-family: 'Meow Script', cursive;
  font-size: 2.25rem;
  line-height: 1;
  font-weight: 400;
  color: #FAEED8;
}

/* --- Message livraison gratuite (jaune lime) --- */
body#cart .iqitfreedeliverycount,
#blockcart-notification .iqitfreedeliverycount {
  background: #CAD34F;
  border: none;
  border-radius: 0;
  color: #246F30;
  font-family: 'Merriweather', serif;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: 400;
  text-align: center;
  padding: 12px 15px !important;
  margin: 18px 0 0;
}

#blockcart-notification .ns-delivery {
  margin-top: 0 !important;
}

body#cart .iqitfreedeliverycount strong,
#blockcart-notification .iqitfreedeliverycount strong {
  font-weight: 400;
}

/* --- Bouton "Commander" : exact mirror du bouton produit --- */
body#cart .cart-detailed-actions {
  padding: 45px 0 0;
}

body#cart .cart-detailed-actions .text-xs-center {
  text-align: center;
}

body#cart .cart-detailed-actions .btn-primary,
body#cart .cart-detailed-actions .btn-primary.btn-block,
body#cart .checkout.card-body .btn-primary {
  background: #F2A5C8;
  border: none;
  border-radius: 33px;
  font-family: 'DynaPuff', sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: #C84F25;
  padding: 12px 30px 12px 80px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: auto !important;
  max-width: 100%;
  position: relative;
  overflow: visible;
  text-transform: none;
}

body#cart .cart-detailed-actions .btn-primary::before,
body#cart .checkout.card-body .btn-primary::before {
  content: '';
  position: absolute;
  left: 20px;
  bottom: -10px;
  width: 65px;
  height: 65px;
  background-image: url('/img/cms/Icones/piment.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.3s ease;
}

body#cart .cart-detailed-actions .btn-primary:hover::before,
body#cart .checkout.card-body .btn-primary:hover::before {
  transform: rotate(10deg);
}

body#cart .checkout.card-body {
  text-align: center;
  padding: 45px 0 0;
}

body#cart .alert-warning {
  background: #CAD34F !important;
  color: #246F30 !important;
  border: none !important;
  border-radius: 0;
  padding: 12px 20px;
  font-family: 'Merriweather', serif;
  font-size: 0.875rem;
}

/* --- Code promo --- */
body#cart .block-promo {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
}

body#cart .block-promo .cart-voucher,
body#cart .block-promo .cart-voucher-area,
body#cart .block-promo .promo-code {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
}

body#cart .block-promo .promo-code form {
  margin: 0;
}

/* Cacher l'alert vide (le span js-error-text est vide quand pas d'erreur) */
body:is(#cart, #checkout) .promo-code .alert.alert-danger:has(.js-error-text:empty) {
  display: none !important;
}

/* Message d'erreur du code promo (cart + checkout) — style notifications du site */
body:is(#cart, #checkout) .block-promo .promo-code .alert.alert-danger,
body:is(#cart, #checkout) .promo-code .alert.alert-danger.js-error {
  background: #C84F25;
  color: #FAEED8;
  border: none;
  border-radius: 0;
  margin: 0 0 15px;
  padding: 12px 20px;
  font-family: 'Merriweather', serif;
  font-size: 0.875rem;
  display: inline-block !important;
  width: auto;
  max-width: 100%;
}

body:is(#cart, #checkout) .promo-code .alert.alert-danger .fa-exclamation-triangle {
  color: #FAEED8;
  margin-right: 6px;
}

body:is(#cart, #checkout) .promo-code .alert.alert-danger .js-error-text {
  color: #FAEED8;
}

body#cart .block-promo .voucher-icon {
  display: none;
}

body#cart .block-promo .input-group {
  background: transparent;
  align-items: center;
  flex-wrap: nowrap;
  gap: 12px;
}

body#cart .block-promo .input-group .form-control[name="discount_name"] {
  background: transparent;
  background-image:
    linear-gradient(to right, #FAEED8 50%, transparent 0%),
    linear-gradient(to right, #FAEED8 50%, transparent 0%),
    linear-gradient(to bottom, #FAEED8 50%, transparent 0%),
    linear-gradient(to bottom, #FAEED8 50%, transparent 0%);
  background-size: 14px 1px, 14px 1px, 1px 14px, 1px 14px;
  background-position: left top, left bottom, left top, right top;
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  border: none;
  outline: none;
  box-shadow: none;
  font-family: 'Merriweather', serif;
  font-size: 12px;
  line-height: 18px;
  font-weight: 600;
  font-style: italic;
  color: #FAEED8;
  padding: 0 18px;
  height: 43px;
  flex: 1 1 auto;
  min-width: 0;
}

body#cart .block-promo .input-group .form-control[name="discount_name"]::placeholder {
  color: #FAEED8;
  opacity: 1;
  font-style: italic;
  font-weight: 600;
}

body#cart .block-promo .input-group-append {
  margin-left: 0;
}

body#cart .block-promo .input-group .btn-secondary {
  background: #7898BD;
  border: none;
  border-radius: 25px;
  font-family: 'DynaPuff', sans-serif;
  font-size: 20px;
  line-height: 24px;
  font-weight: 400;
  color: #CAD34F;
  padding: 0 24px;
  height: 43px !important;
  text-transform: none;
  box-shadow: none;
  white-space: nowrap;
}

/* --- Slider crossselling "Les coups de cœur de nos clients" sur page panier
   (même style que les sliders crossselling de la page produit / home) --- */
body#cart .cart-crossselling-row {
  margin-top: 80px;
}

body#cart .crossselling-products {
  padding: 0;
  margin: 0;
  background: transparent;
}

body#cart .crossselling-products .section-title,
body#cart .crossselling-products h4.section-title {
  font-family: 'DynaPuff', sans-serif;
  font-size: clamp(24px, 2vw, 32px);
  line-height: 1.2;
  font-weight: 500;
  color: #1E6E30;
  text-align: left;
  margin: 0 0 40px;
  padding: 0;
  border: none;
}

body#cart .crossselling-products .section-title span {
  padding: 0;
  border: none;
  background: transparent;
}

body#cart .crossselling-products .swiper-container-wrapper,
body#cart .crossselling-products .block-content {
  margin-left: -40px;
  margin-right: -40px;
  position: relative;
}

body#cart .crossselling-products .swiper-slide .js-product-miniature-wrapper {
  padding: 0 40px;
}

body#cart .crossselling-products .product-miniature .thumbnail-container img,
body#cart .crossselling-products .product-miniature .thumbnail-container picture {
  width: 100%;
  margin: 0;
}

body#cart .crossselling-products .product-miniature .product-title,
body#cart .crossselling-products .product-miniature .product-title a,
body#cart .crossselling-products .product-miniature .product-price {
  font-family: 'DM Serif Text', serif;
  font-size: 16px;
  font-weight: 400;
}

/* Flèches positionnées dans le wrapper */
body#cart .crossselling-products .swiper-container-wrapper .swiper-button-prev {
  left: 18px;
  right: auto;
}

body#cart .crossselling-products .swiper-container-wrapper .swiper-button-next {
  right: 18px;
  left: auto;
}

/* ==========================================================================
   NOTIFICATIONS GLOBALES
   ========================================================================== */

#notifications {
  padding: 0;
  margin: 0;
}

#notifications:has(.alert) {
  padding: 0 30px 0 0;
  margin: 0 0 20px;
}

body#index #notifications {
  display: none;
}

#notifications .alert {
  background: #CAD34F;
  color: #246F30;
  border: none;
  border-radius: 0;
  margin: 0;
  padding: 12px 20px;
  font-family: 'Merriweather', serif;
  font-size: 0.875rem;
  display: inline-block;
  width: auto;
  max-width: 100%;
}

#notifications .alert ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#notifications .alert li {
  color: #246F30;
}

#cart-error-toast,
.toast.ns-box-danger {
  background: #CAD34F !important;
  color: #246F30 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: 'Merriweather', serif;
  font-size: 0.875rem;
  padding: 12px 20px;
}

body#cart #cart-error-toast,
body#cart .toast.ns-box-danger {
  display: none !important;
}

/* ==========================================================================
   PAGES COMPTE (#my-account, #identity, #address, #addresses, #history,
   #order-slip, #discount, #order-detail, #order-follow, #gdpr,
   #module-iqitwishlist-list/-view, #module-psgdpr-gdpr,
   #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal)
   ========================================================================== */

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) #inner-wrapper {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) #content-wrapper {
  padding: 0;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) section#wrapper > .container:not(#inner-wrapper),
body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) section#wrapper > nav.breadcrumb {
  display: none !important;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) #main {
  padding: 50px 80px 80px 0;
}

/* --- Titre page --- */
body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .page-header {
  padding: 0 0 0 80px;
  margin: 0 0 70px;
  border: none;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .page-title {
  color: #C84F25 !important;
  text-align: center;
  margin: 0;
  display: block;
  background: transparent;
  padding: 0;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) #content {
  padding: 0;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) #content > .row {
  margin: 0;
  flex-wrap: nowrap;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) #content > .row > .my-account-side-links {
  flex: 0 0 auto;
  max-width: none;
  width: auto;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) #content > .row > .my-account-page-content {
  flex: 1 1 0;
  max-width: none;
  min-width: 0;
}

/* --- Reset bordures du wrapper compte --- */
.my-account-page-content-wrapper,
.page-authentication #content,
.page-customer-account #content {
  border: none !important;
}

.my-account-page-content-wrapper .my-account-side-links {
  border-right: none !important;
}

/* --- Menu de gauche : pills vertes collées au bord gauche --- */
body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links {
  padding: 0;
  margin: 0;
  min-width: 560px;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  background: #246F30;
  border-bottom: none !important;
  border-radius: 0 35px 35px 0;
  margin: 0 0 12px;
  padding: 0 15px 0 30px;
  color: #F2A5C8;
  font-family: 'Meow Script', cursive;
  font-size: 28px;
  line-height: 28px;
  text-decoration: none;
  width: 530px;
  height: 70px;
  max-width: 100%;
  transform: translateX(-70px);
  transition: transform 0.3s ease;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a:hover {
  transform: translateX(0);
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a .link-item {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  gap: 22px;
  width: 100%;
  color: inherit;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a .link-item i {
  display: inline-block;
  width: 40px;
  height: 40px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  font-size: 0;
  color: transparent;
  flex-shrink: 0;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a .link-item i::before {
  display: none;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a#identity-link[href*="identite"] .link-item i {
  background-image: url('/img/cms/Icones/icones-informations.svg');
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a#address-link .link-item i,
body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a#addresses-link .link-item i {
  background-image: url('/img/cms/Icones/icone-adresse.svg');
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a#history-link .link-item i {
  background-image: url('/img/cms/Icones/icone-commande.svg');
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a#order-slips-link .link-item i {
  background-image: url('/img/cms/Icones/icone-avoirs.svg');
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a#returns-link .link-item i {
  background-image: url('/img/cms/Icones/retours.svg');
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a#advb2bc-withdrawal-link .link-item i {
  background-image: url('/img/cms/Icones/formulaire.svg');
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a#discounts-link .link-item i {
  background-image: url('/img/cms/Icones/code-promo.svg');
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a#iqitwishlist .link-item i {
  background-image: url('/img/cms/Icones/icone-wishlist.svg');
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a[href*="psgdpr"] .link-item i {
  background-image: url('/img/cms/Icones/icone-donnees-perso.svg');
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a#emailsalerts .link-item i {
  background-image: url('/img/cms/Icones/icones-alertes.svg');
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a[href*="mylogout"] .link-item i {
  background-image: url('/img/cms/Icones/icone-deconnexion.svg');
}

/* --- Zone de contenu droite --- */
body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-page-content {
  padding: 0 30px;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-page-content > h2 {
  font-family: 'DynaPuff', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #246F30;
  margin: 0 0 30px;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-page-content .container {
  padding-left: 0;
  padding-right: 0;
}

#module-psgdpr-gdpr .psgdprinfo17 {
  background: transparent;
  background-image:
    linear-gradient(to right, #246F30 50%, transparent 0%),
    linear-gradient(to right, #246F30 50%, transparent 0%),
    linear-gradient(to bottom, #246F30 50%, transparent 0%),
    linear-gradient(to bottom, #246F30 50%, transparent 0%);
  background-size: 14px 2px, 14px 2px, 2px 14px, 2px 14px;
  background-position: left top, left bottom, left top, right top;
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  padding: 25px;
  margin-bottom: 20px;
}

#module-psgdpr-gdpr .psgdprinfo17 p {
  margin-bottom: 0;
}

#module-psgdpr-gdpr .psgdprinfo17 .clearfix {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 15px;
  margin-top: 20px;
}

#module-psgdpr-gdpr .psgdprinfo17 .clearfix::before,
#module-psgdpr-gdpr .psgdprinfo17 .clearfix::after {
  display: none;
}

#module-psgdpr-gdpr .psgdprgetdatabtn17 {
  background: #F2A5C8 !important;
  border: none !important;
  border-radius: 33px !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #C84F25 !important;
  padding: 12px 30px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  text-transform: none !important;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-page-content .alert,
body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-page-content .alert-info {
  background: #CAD34F !important;
  color: #246F30 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: 'Merriweather', serif;
  font-size: 0.875rem;
  padding: 12px 20px;
  display: inline-block;
  width: auto;
  max-width: 100%;
}

/* --- Form fields : label au-dessus, input à gauche avec dashed bottom, optionnel à droite --- */
body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-group.row {
  display: grid;
  grid-template-columns: 1fr 90px;
  align-items: end;
  gap: 4px 20px;
  margin: 0 0 25px;
  padding: 0;
  background: none;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-group.row:has(.custom-checkbox) {
  margin-bottom: 0;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-group.row .col-form-label {
  grid-column: 1 / -1;
  grid-row: 1;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 18px;
  font-weight: 900;
  color: #246F30;
  text-align: left;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-group.row .js-input-column {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
}

/* Dashed bottom appliqué sur l'input lui-même — pour que le span d'aide passe en dessous */
body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-group.row .form-control-comment {
  grid-column: 2;
  grid-row: 2;
  width: auto;
  max-width: none;
  padding: 0 0 8px;
  text-align: right;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 18px;
  color: #D0C4B0;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-group.row .form-control,
body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-group.row .form-control-select {
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none;
  padding: 15px 0 0;
  margin: 0;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 24px;
  color: #246F30;
  width: 100%;
  height: auto;
  min-height: 0;
}

/* Dashed bottom appliqué sur l'input lui-même — pour que le span d'aide passe en dessous */
body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-group.row .form-control {
  background-image: linear-gradient(to right, #246F30 50%, transparent 0%) !important;
  background-size: 14px 2px !important;
  background-repeat: repeat-x !important;
  background-position: left bottom !important;
  padding-bottom: 15px !important;
}

/* Texte d'aide sous le champ */
body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-group.row .js-input-column > .form-control-comment {
  display: block;
  margin: 10px 0 0;
  padding: 0;
  font-family: 'Merriweather', serif;
  font-size: 14px;
  line-height: 18px;
  color: #D0C4B0;
  text-align: left;
}

/* --- Champs password : bouton afficher/masquer à droite de l'input --- */
body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-group.row .input-group {
  display: flex;
  flex-wrap: nowrap;
  align-items: end;
  width: 100%;
  background-image: linear-gradient(to right, #246F30 50%, transparent 0%);
  background-size: 14px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-group.row .input-group .form-control {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  background-image: none !important;
  padding-bottom: 15px !important;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-group.row .input-group-append {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  margin: 0 0 8px 10px;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-group.row .input-group-append .btn[data-action="show-password"] {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 4px 6px;
  margin: 0;
  color: #246F30;
  font-size: 16px;
  line-height: 1;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-group.row .form-control:focus {
  box-shadow: none !important;
  outline: none;
}

/* --- Bouton submit --- */
body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-footer {
  text-align: right;
  margin-top: 50px;
  padding: 0;
  border: none;
}

body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-control-submit {
  background: #F2A5C8;
  border: none;
  border-radius: 33px;
  font-family: 'DynaPuff', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #C84F25;
  padding: 12px 30px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* --- Wishlist : ligne produit stylée comme la page panier --- */
#iqitwishlist-user-products .iqitwishlist-product {
  margin-top: 30px;
}

#iqitwishlist-user-products .iqitwishlist-product:first-child {
  margin-top: 0;
}

#iqitwishlist-user-products .iqitwishlist-product hr {
  display: none;
}

#iqitwishlist-user-products .iqitwishlist-product > .row {
  flex-wrap: nowrap;
  align-items: center;
  margin: 0;
}

#iqitwishlist-user-products .iqitwishlist-product > .row > .col.col-auto {
  display: flex;
  align-items: center;
  justify-content: center;
}

#iqitwishlist-user-products .iqitwishlist-product .col-3.col-sm-auto {
  padding-left: 0;
  padding-right: 0;
  margin-right: 20px;
}

#iqitwishlist-user-products .iqitwishlist-product .col-3.col-sm-auto img {
  width: 150px;
  height: 150px;
  max-width: 150px;
  object-fit: cover;
  display: block;
}

#iqitwishlist-user-products .iqitwishlist-product .col._name a {
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  font-weight: 400;
  color: #246F30;
  text-decoration: none;
}

#iqitwishlist-user-products .iqitwishlist-product .col._name .text-muted {
  font-family: 'Merriweather', serif;
  font-size: 0.8125rem;
  font-weight: 400;
  color: #246F30;
  margin-top: 4px;
}

#iqitwishlist-user-products .iqitwishlist-product > .row > .col:not(.col-auto):not(._name):not(.col-3) {
  text-align: center;
}

#iqitwishlist-user-products .iqitwishlist-product .product-price {
  font-family: 'Merriweather', serif;
  font-size: 20px;
  line-height: 25px;
  font-weight: 900;
  color: #246F30;
}

#iqitwishlist-user-products .iqitwishlist-product .btn-product-list {
  background: #F2A5C8;
  border: none;
  border-radius: 25px;
  font-family: 'DynaPuff', sans-serif;
  font-size: 20px;
  line-height: 24px;
  font-weight: 400;
  color: #C84F25;
  height: 50px;
  padding: 0 28px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-transform: none;
}

#iqitwishlist-user-products .iqitwishlist-product .btn-product-list .bag-icon,
#iqitwishlist-user-products .iqitwishlist-product .btn-product-list .spinner-icon {
  display: none !important;
}

#iqitwishlist-user-products .iqitwishlist-product .btn-product-list.add-to-cart {
  position: relative;
  padding-left: 60px;
}

#iqitwishlist-user-products .iqitwishlist-product .btn-product-list.add-to-cart::before {
  content: '';
  position: absolute;
  left: 12px;
  bottom: -8px;
  width: 50px;
  height: 50px;
  background-image: url('/img/cms/Icones/piment.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.3s ease;
}

#iqitwishlist-user-products .iqitwishlist-product .btn-product-list.add-to-cart:hover::before {
  transform: rotate(10deg);
}

/* --- Wishlist : ajout au panier inline (qty + bouton sur la même ligne) --- */
#iqitwishlist-user-products .iqitwishlist-product .product-add-cart > form,
#iqitwishlist-user-products .iqitwishlist-product .input-group-add-cart {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  margin: 0;
}

#iqitwishlist-user-products .iqitwishlist-product .input-group-add-cart .input-qty {
  background: #C84F25 !important;
  border: none !important;
  border-radius: 27px !important;
  color: #FAEED8 !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  width: 31px !important;
  height: 42px !important;
  min-width: 0 !important;
  max-width: 31px !important;
  flex: 0 0 31px !important;
  text-align: center !important;
  padding: 0 !important;
  box-shadow: none !important;
  -moz-appearance: textfield;
  appearance: textfield;
}

#iqitwishlist-user-products .iqitwishlist-product .input-group-add-cart .input-qty::-webkit-outer-spin-button,
#iqitwishlist-user-products .iqitwishlist-product .input-group-add-cart .input-qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* --- Forcer la même largeur de colonne d'action sur toutes les lignes --- */
#iqitwishlist-user-products .iqitwishlist-product > .row > .col.col-auto:has(.product-add-cart) {
  flex: 0 0 333px;
  max-width: 333px;
  display: flex;
  justify-content: flex-end;
}

#iqitwishlist-user-products .iqitwishlist-product .js-iqitwishlist-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: transparent;
}

#iqitwishlist-user-products .iqitwishlist-product .js-iqitwishlist-remove .fa-trash-o {
  display: none;
}

#iqitwishlist-user-products .iqitwishlist-product .js-iqitwishlist-remove::before {
  content: '';
  display: inline-block;
  width: 41.49px;
  height: 44.16px;
  background-image: url('/img/cms/Icones/icone-poubelle-cart.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* --- Wishlist : input de partage stylé comme la page adresse --- */
#iqitwishlist-share {
  margin-top: 50px;
}

#iqitwishlist-share .input-group {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  width: 100%;
}

#iqitwishlist-share .input-group .form-control {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  background-color: transparent !important;
  background-image: linear-gradient(to right, #246F30 50%, transparent 0%) !important;
  background-size: 14px 2px !important;
  background-repeat: repeat-x !important;
  background-position: left bottom !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none;
  padding: 15px 0;
  margin: 0 40px 0 0;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 24px;
  color: #246F30;
  height: auto;
  min-height: 0;
}

#iqitwishlist-share .input-group .form-control:focus {
  box-shadow: none !important;
  outline: none;
}

#iqitwishlist-share .input-group-append {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  margin: 0;
}

#iqitwishlist-share .input-group-append .btn {
  background: #7898BD !important;
  border: none !important;
  border-radius: 25px !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 20px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  color: #CAD34F !important;
  height: 50px;
  padding: 0 28px !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-transform: none;
  box-shadow: none !important;
}

/* --- Page adresses : article.address (même style que checkout .address-item) --- */
body#addresses article.address {
  background: #E9DEC9;
  border: 1px solid #246F30;
  box-shadow: none;
  border-radius: 0;
}

body#addresses article.address .address-body {
  padding: 30px;
}

body#addresses article.address hr {
  display: none;
}

.page-addresses .address .address-footer {
  border-top: 1px solid #246F30;
}

/* --- Page formulaire de rétractation : cards en pointillés --- */
#module-advanced_b2b_b2c-withdrawal .withdrawal-legal-notice.card,
#module-advanced_b2b_b2c-withdrawal .withdrawal-contact.card,
#module-advanced_b2b_b2c-withdrawal .withdrawal-pdf-download.card {
  background: transparent;
  background-image:
    linear-gradient(to right, #246F30 50%, transparent 0%),
    linear-gradient(to right, #246F30 50%, transparent 0%),
    linear-gradient(to bottom, #246F30 50%, transparent 0%),
    linear-gradient(to bottom, #246F30 50%, transparent 0%);
  background-size: 14px 2px, 14px 2px, 2px 14px, 2px 14px;
  background-position: left top, left bottom, left top, right top;
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  border: none;
  border-radius: 0;
  color: #246F30;
}

#module-advanced_b2b_b2c-withdrawal .withdrawal-legal-notice.card .card-body,
#module-advanced_b2b_b2c-withdrawal .withdrawal-contact.card .card-body,
#module-advanced_b2b_b2c-withdrawal .withdrawal-pdf-download.card .card-body {
  padding: 25px;
  color: #246F30;
}

#module-advanced_b2b_b2c-withdrawal .withdrawal-legal-notice.card .card-title,
#module-advanced_b2b_b2c-withdrawal .withdrawal-contact.card .card-title,
#module-advanced_b2b_b2c-withdrawal .withdrawal-pdf-download.card .card-title,
#module-advanced_b2b_b2c-withdrawal .withdrawal-legal-notice.card .card-text,
#module-advanced_b2b_b2c-withdrawal .withdrawal-contact.card .card-text,
#module-advanced_b2b_b2c-withdrawal .withdrawal-pdf-download.card .card-text {
  color: #246F30;
}

#module-advanced_b2b_b2c-withdrawal .withdrawal-pdf-download.card .card-body .btn-secondary {
  background: #7898BD !important;
  border: none !important;
  border-radius: 25px !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 20px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  color: #CAD34F !important;
  height: 50px;
  padding: 0 28px !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-transform: none;
  box-shadow: none !important;
}

#module-advanced_b2b_b2c-withdrawal .withdrawal-pdf-download.card .card-body .btn-secondary i {
  display: none;
}

/* --- Label de form (Sélectionnez la commande, Motif, Joindre fichier...) --- */
#module-advanced_b2b_b2c-withdrawal .withdrawal-form .form-label {
  display: block;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  font-weight: 700;
  color: #246F30;
  margin: 0 0 8px;
}

/* --- Inputs / select / textarea : pointillés vert en bas comme les pages compte --- */
#module-advanced_b2b_b2c-withdrawal .withdrawal-form .form-control {
  background: transparent;
  background-image: linear-gradient(to right, #246F30 50%, transparent 0%);
  background-size: 14px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
  border: none;
  border-radius: 0;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 24px;
  color: #246F30;
  padding: 0 0 15px;
  box-shadow: none;
  outline: none;
}

#module-advanced_b2b_b2c-withdrawal .withdrawal-form select.form-control {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23246F30'><path d='M7 10l5 5 5-5z'/></svg>"),
    linear-gradient(to right, #246F30 50%, transparent 0%);
  background-repeat: no-repeat, repeat-x;
  background-position: right center, left bottom;
  background-size: 20px, 14px 2px;
  padding: 0 30px 15px 0;
  cursor: pointer;
}

#module-advanced_b2b_b2c-withdrawal .withdrawal-form textarea.form-control {
  resize: vertical;
  min-height: 100px;
}

#module-advanced_b2b_b2c-withdrawal .withdrawal-form .form-control:focus {
  background-image: linear-gradient(to right, #246F30 50%, transparent 0%);
  background-size: 14px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
  outline: none;
  box-shadow: none;
}

#module-advanced_b2b_b2c-withdrawal .withdrawal-form select.form-control:focus {
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23246F30'><path d='M7 10l5 5 5-5z'/></svg>"),
    linear-gradient(to right, #246F30 50%, transparent 0%);
  background-repeat: no-repeat, repeat-x;
  background-position: right center, left bottom;
  background-size: 20px, 14px 2px;
}

#module-advanced_b2b_b2c-withdrawal .withdrawal-form .form-text {
  display: block;
  margin: 8px 0 0;
  font-family: 'Merriweather', serif;
  font-size: 13px;
  color: rgba(36, 111, 48, 0.7);
}

/* --- Bloc produits de la commande : carte pointillée comme les autres (override module) --- */
#module-advanced_b2b_b2c-withdrawal .withdrawal-products {
  background-color: transparent !important;
  background-image:
    linear-gradient(to right, #246F30 50%, transparent 0%),
    linear-gradient(to right, #246F30 50%, transparent 0%),
    linear-gradient(to bottom, #246F30 50%, transparent 0%),
    linear-gradient(to bottom, #246F30 50%, transparent 0%) !important;
  background-size: 14px 2px, 14px 2px, 2px 14px, 2px 14px !important;
  background-position: left top, left bottom, left top, right top !important;
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y !important;
  border: none !important;
  border-radius: 0 !important;
  color: #246F30;
  padding: 25px !important;
  margin-top: 20px;
}

#module-advanced_b2b_b2c-withdrawal .products-title {
  font-family: 'Merriweather', serif;
  font-size: 18px;
  font-weight: 700;
  color: #246F30;
  margin: 0 0 16px;
}

#module-advanced_b2b_b2c-withdrawal .products-title #order-reference-display {
  font-weight: 400;
  font-size: 16px;
  margin-left: 6px;
}

#module-advanced_b2b_b2c-withdrawal .products-instructions {
  background: transparent;
  border: none;
  border-radius: 0;
  color: #246F30;
  font-family: 'Merriweather', serif;
  font-size: 14px;
  line-height: 22px;
  padding: 0;
  margin-bottom: 20px;
}

#module-advanced_b2b_b2c-withdrawal .products-instructions i {
  margin-right: 8px;
}

/* --- Banner livraison : même look pointillé --- */
#module-advanced_b2b_b2c-withdrawal .delivery-info-banner {
  background: transparent;
  background-image:
    linear-gradient(to right, #246F30 50%, transparent 0%),
    linear-gradient(to right, #246F30 50%, transparent 0%),
    linear-gradient(to bottom, #246F30 50%, transparent 0%),
    linear-gradient(to bottom, #246F30 50%, transparent 0%);
  background-size: 14px 2px, 14px 2px, 2px 14px, 2px 14px;
  background-position: left top, left bottom, left top, right top;
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  border: none;
  border-radius: 0;
  color: #246F30;
  padding: 16px 18px;
  margin-bottom: 16px;
}

#module-advanced_b2b_b2c-withdrawal .delivery-info-banner .no-delivery-date {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-family: 'Merriweather', serif;
  color: #246F30;
}

#module-advanced_b2b_b2c-withdrawal .delivery-info-banner .no-delivery-date > i {
  font-size: 22px;
  flex: 0 0 auto;
  margin-top: 2px;
}

#module-advanced_b2b_b2c-withdrawal .delivery-info-banner .no-delivery-message strong {
  display: block;
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 4px;
}

#module-advanced_b2b_b2c-withdrawal .delivery-info-banner .no-delivery-message p {
  font-size: 14px;
  line-height: 22px;
  margin: 0;
}

/* --- Liste produits : retirer le gap du module --- */
#module-advanced_b2b_b2c-withdrawal .withdrawal-products .products-list {
  gap: 0;
}

/* --- Item produit : ligne simple avec pointillé en bas (override module) --- */
#module-advanced_b2b_b2c-withdrawal .withdrawal-products .product-item,
#module-advanced_b2b_b2c-withdrawal .withdrawal-products .product-item.readonly,
#module-advanced_b2b_b2c-withdrawal .withdrawal-products .product-item.selected {
  display: flex;
  align-items: center;
  gap: 16px;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  background-image: linear-gradient(to right, #246F30 50%, transparent 0%) !important;
  background-size: 14px 2px !important;
  background-repeat: repeat-x !important;
  background-position: left bottom !important;
  padding: 14px 0 !important;
  margin: 0;
  opacity: 1;
}

#module-advanced_b2b_b2c-withdrawal .withdrawal-products .product-item:last-child {
  background-image: none !important;
}

#module-advanced_b2b_b2c-withdrawal .withdrawal-products .product-item .product-image {
  flex: 0 0 80px !important;
  width: 80px !important;
  height: 80px !important;
  margin-right: 0 !important;
}

#module-advanced_b2b_b2c-withdrawal .withdrawal-products .product-item .product-image img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  display: block;
}

#module-advanced_b2b_b2c-withdrawal .product-item .product-info {
  flex: 1;
}

#module-advanced_b2b_b2c-withdrawal .product-item .product-name {
  font-family: 'Merriweather', serif;
  font-size: 15px;
  font-weight: 700;
  color: #246F30;
  margin-bottom: 4px;
}

#module-advanced_b2b_b2c-withdrawal .product-item .product-price {
  font-family: 'Merriweather', serif;
  font-size: 14px;
  color: #246F30;
}

/* --- Bouton submit "Envoyer ma demande" --- */
#module-advanced_b2b_b2c-withdrawal .withdrawal-submit .btn-primary {
  background: #7898BD !important;
  border: none !important;
  border-radius: 25px !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 20px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  color: #CAD34F !important;
  height: 50px;
  padding: 0 28px !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-transform: none;
  box-shadow: none !important;
}

#module-advanced_b2b_b2c-withdrawal .withdrawal-submit .btn-primary i {
  display: none;
}

#module-advanced_b2b_b2c-withdrawal .withdrawal-contact.card .card-body .btn-secondary {
  background: #7898BD !important;
  border: none !important;
  border-radius: 25px !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 20px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  color: #CAD34F !important;
  height: 50px;
  padding: 0 28px !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-transform: none;
  box-shadow: none !important;
}

#module-advanced_b2b_b2c-withdrawal .withdrawal-contact.card .card-body .btn-secondary i {
  display: none;
}

/* ==========================================================================
   PAGE 404 (#pagenotfound)
   ========================================================================== */

/* --- Reset wrapper plein largeur --- */
body#pagenotfound #wrapper {
  background: transparent;
  padding: 0;
}

body#pagenotfound #inner-wrapper {
  max-width: 100%;
  padding: 0;
}

body#pagenotfound #content-wrapper,
body#pagenotfound #main {
  padding: 0;
}

body#pagenotfound .page-404 {
  width: 100%;
  padding-bottom: 130px;
}

/* --- Hero lime full bleed avec coins arrondis en bas --- */
body#pagenotfound .page-404-hero {
  background: #CAD34F;
  border-radius: 0 0 70px 70px;
  padding: 250px 50px 250px;
  text-align: center;
  margin-top: -166px;
}

body#pagenotfound .page-404-title {
  color: #246F30;
  font-family: 'Climate Crisis', sans-serif;
  font-weight: 400;
  font-size: clamp(2rem, 5.5vw, 6.5rem);
  line-height: 1.05;
  margin: 0;
  text-align: center;
  display: inline-block;
  transform: rotate(2deg);
}

/* --- Cards (3 colonnes) --- */
body#pagenotfound .page-404-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 55px;
  padding: 0;
  width: 1160px;
  max-width: calc(100% - 60px);
  margin: -190px auto 90px;
  position: relative;
  z-index: 2;
}

body#pagenotfound .page-404-card {
  position: relative;
  display: block;
  overflow: hidden;
  text-decoration: none;
}

body#pagenotfound .page-404-card img {
  width: 100%;
  height: auto;
  display: block;
}

body#pagenotfound .page-404-card-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #FAEED8;
  text-align: center;
  width: 90%;
  pointer-events: none;
}

body#pagenotfound .page-404-card-1 .page-404-card-title {
  font-family: 'DynaPuff', sans-serif;
  font-size: 40px;
  line-height: 44px;
  font-weight: 700;
}

body#pagenotfound .page-404-card-2 .page-404-card-title {
  font-family: 'Climate Crisis', sans-serif;
  font-size: 30px;
  line-height: 34px;
  font-weight: 400;
}

body#pagenotfound .page-404-card-3 .page-404-card-title {
  font-family: 'Asset', cursive;
  font-size: 25px;
  line-height: 30px;
  font-weight: 400;
}

/* --- Sous-titre script --- */
body#pagenotfound .page-404-subtitle {
  font-family: 'Meow Script', cursive;
  font-size: 40px;
  line-height: 42px;
  font-weight: 400;
  color: #C84F25;
  text-align: center;
  margin: 0 auto 40px;
  max-width: 740px;
  padding: 0 30px;
}

/* --- Bouton retour à l'accueil --- */
body#pagenotfound .page-404-btn {
  display: block;
  width: fit-content;
  margin: 0 auto;
  background: #5E88B9;
  color: #CAD34F;
  font-family: 'DynaPuff', sans-serif;
  font-size: 28px;
  line-height: 32px;
  font-weight: 700;
  border-radius: 50px;
  padding: 18px 25px;
  text-decoration: none;
  text-align: center;
  border: none;
}

/* --- Page FAQ (cms-id-8) : masquer titre + breadcrumb --- */
body#cms.cms-id-8 .page-header,
body#cms.cms-id-8 section#wrapper > .container nav.breadcrumb,
body#cms.cms-id-8 section#wrapper > nav.breadcrumb {
  display: none !important;
}

/* --- h3 des pages CGV (id 6), Politique de confidentialité (id 3), Expédition/Livraison/Retours (id 1) --- */
body#cms.cms-id-1 #content h3,
body#cms.cms-id-3 #content h3,
body#cms.cms-id-6 #content h3 {
  font-family: 'Merriweather', serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #5E88B9 !important;
}

/* --- Page Qui est Colette (cms-id-7) : masquer titre + breadcrumb --- */
body#cms.cms-id-7 .page-header,
body#cms.cms-id-7 section#wrapper > .container nav.breadcrumb,
body#cms.cms-id-7 section#wrapper > nav.breadcrumb {
  display: none !important;
}

body#cms.cms-id-7 #inner-wrapper {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body#cms.cms-id-7 #content-wrapper,
body#cms.cms-id-7 #main {
  padding: 0;
}

/* --- Page Qui est Colette : section header colonne 60/40 --- */
body#cms.cms-id-7 .column-left-qui-est-colette {
  flex: 0 0 60% !important;
  max-width: 60% !important;
  width: 60% !important;
}

body#cms.cms-id-7 .column-right-qui-est-colette {
  flex: 0 0 40% !important;
  max-width: 40% !important;
  width: 40% !important;
}

body#cms.cms-id-7 .titre-qui-est-colette {
  transform: rotate(-4deg);
  transform-origin: center center;
}

body#cms.cms-id-7 .column-inside-bienvenue,
body#cms.cms-id-7 .column-inside-bienvenue > .elementor-element-populated {
  min-height: 322px;
}

body#cms.cms-id-7 .column-inside-bienvenue > .elementor-element-populated {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body#cms.cms-id-7 .column-inside-bienvenue .elementor-widget-wrap {
  align-content: flex-end;
  align-items: flex-end;
  justify-content: flex-end;
  flex-direction: column;
}

body#cms.cms-id-7 .psst {
  font-size: 8.5vw !important;
  line-height: 1 !important;
  text-align: center !important;
}

body#cms.cms-id-7 .psst .elementor-text-editor,
body#cms.cms-id-7 .psst p {
  word-break: break-all;
  overflow-wrap: anywhere;
}

body#cms.cms-id-7 .damier-bienvenue .elementor-image,
body#cms.cms-id-7 .damier-bienvenue .elementor-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
}

body#cms.cms-id-7 .column-victoire-colette {
  margin-top: -240px;
  margin-left: -95px;
}

body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  flex-wrap: nowrap;
}

body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image {
  flex: 0 0 auto;
  width: auto;
}

body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:nth-child(1) {
  padding-top: 80px;
}

/* --- Section Ressentir / Vivre / Oser : hauteurs fixes par colonne --- */
body#cms.cms-id-7 .section-ressentir-vivre-oser .elementor-row {
  gap: 100px;
}

/* Margin-top sur la colonne du milieu (Vivre) — l'Elementor original a un typo `0200px` */
body#cms.cms-id-7 .elementor-element-06l0f47 > .elementor-element-populated {
  margin: 200px 0 0 0 !important;
}

body#cms.cms-id-7 .section-ressentir-vivre-oser .elementor-row > .elementor-column.elementor-col-33 {
  flex: 0 0 calc((100% - 200px) / 3);
  max-width: calc((100% - 200px) / 3);
  width: calc((100% - 200px) / 3);
}

body#cms.cms-id-7 .section-ressentir-vivre-oser .column-ressentir {
  width: 70%;
  max-width: 100%;
}

body#cms.cms-id-7 .section-ressentir-vivre-oser .column-vivre {
  width: 65%;
  max-width: 100%;
  margin-left: auto;
}

body#cms.cms-id-7 .section-ressentir-vivre-oser .column-oser {
  width: 70%;
  max-width: 100%;
  margin-left: auto;
}

body#cms.cms-id-7 .section-ressentir-vivre-oser-titre,
body#cms.cms-id-7 .section-ressentir-vivre-oser-texte {
  max-width: 580px;
}

body#cms.cms-id-7 .section-ressentir-vivre-oser-texte-right {
  max-width: 440px;
  margin-left: auto;
}

body#cms.cms-id-7 .section-ressentir-vivre-oser .column-ressentir,
body#cms.cms-id-7 .section-ressentir-vivre-oser .column-ressentir > .elementor-element-populated {
  aspect-ratio: 450 / 565;
  height: auto;
}

body#cms.cms-id-7 .section-ressentir-vivre-oser .column-ressentir > .elementor-element-populated,
body#cms.cms-id-7 .section-ressentir-vivre-oser .column-vivre > .elementor-element-populated,
body#cms.cms-id-7 .section-ressentir-vivre-oser .column-oser > .elementor-element-populated {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body#cms.cms-id-7 .section-ressentir-vivre-oser .column-ressentir .elementor-widget-wrap,
body#cms.cms-id-7 .section-ressentir-vivre-oser .column-vivre .elementor-widget-wrap,
body#cms.cms-id-7 .section-ressentir-vivre-oser .column-oser .elementor-widget-wrap {
  flex-direction: column;
  justify-content: center;
  align-content: center;
  align-items: stretch;
  width: 100%;
}

body#cms.cms-id-7 .section-ressentir-vivre-oser .column-vivre,
body#cms.cms-id-7 .section-ressentir-vivre-oser .column-vivre > .elementor-element-populated {
  aspect-ratio: 365 / 460;
  height: auto;
}

body#cms.cms-id-7 .section-ressentir-vivre-oser .column-oser,
body#cms.cms-id-7 .section-ressentir-vivre-oser .column-oser > .elementor-element-populated {
  aspect-ratio: 450 / 570;
  height: auto;
}

/* --- Section Ressentir / Vivre / Oser : font-size fluide via clamp (comme h1) --- */
body#cms.cms-id-7 .column-ressentir .elementor-widget-text-editor {
  font-size: clamp(1.375rem, 2.4vw, 3.125rem) !important;
  line-height: clamp(1.625rem, 2.5vw, 3.125rem) !important;
}

body#cms.cms-id-7 .column-vivre .elementor-widget-text-editor {
  font-size: clamp(1.125rem, 2.3vw, 2.75rem) !important;
  line-height: clamp(1.625rem, 3.7vw, 4.375rem) !important;
}

body#cms.cms-id-7 .column-oser .elementor-widget-text-editor {
  font-size: clamp(1.25rem, 2.76vw, 3.3125rem) !important;
  line-height: clamp(1.625rem, 3.7vw, 4.375rem) !important;
}

body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:nth-child(1) img {
  width: 340px;
  max-width: 340px;
  height: auto;
}

body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:nth-child(2) img {
  width: 320px;
  max-width: 320px;
  height: auto;
}

body#cms.cms-id-7 .column-left-bienvenue > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:first-child {
  transform: rotate(-4deg);
  transform-origin: center center;
}

body#cms.cms-id-8 #inner-wrapper {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body#cms.cms-id-8 #content-wrapper,
body#cms.cms-id-8 #main {
  padding: 0;
}

/* --- FAQ : section top : aligner contenu en bas + padding-bottom --- */
body#cms.cms-id-8 .section-top-faq > .elementor-container {
  align-items: flex-end !important;
  padding-bottom: 125px !important;
}

body#cms.cms-id-8 .section-top-faq .elementor-row {
  align-items: flex-end;
}

body#cms.cms-id-8 .section-top-faq .elementor-column {
  align-self: flex-end;
}

/* --- FAQ : rotation -4° sur le titre --- */
body#cms.cms-id-8 .titre-faq .elementor-heading-title {
  display: inline-block;
  transform: rotate(-4deg);
  transform-origin: center center;
}

/* --- FAQ : bouton "Nous contacter" comme bouton ajouter au panier --- */
body#cms.cms-id-8 .bouton-faq .elementor-button {
  background: #F2A5C8 !important;
  border: none !important;
  border-radius: 33px !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  color: #C84F25 !important;
  padding: 12px 30px 12px 80px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  text-decoration: none;
  position: relative;
  text-transform: none;
  box-shadow: none !important;
}

body#cms.cms-id-8 .bouton-faq .elementor-button::before {
  content: '';
  position: absolute;
  left: 20px;
  bottom: -10px;
  width: 65px;
  height: 65px;
  background-image: url('/img/cms/Icones/piment.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.3s ease;
}

body#cms.cms-id-8 .bouton-faq .elementor-button:hover::before {
  transform: rotate(10deg);
}

/* --- FAQ : layout colonnes 340px + reste avec gap 110px --- */
body#cms.cms-id-8 .section-faq .elementor-row {
  gap: 110px;
}

body#cms.cms-id-8 .section-faq-column-left {
  flex: 0 0 350px !important;
  max-width: 350px !important;
  width: 350px !important;
}

body#cms.cms-id-8 .section-faq-column-right {
  flex: 0 0 calc(100% - 350px - 110px) !important;
  max-width: calc(100% - 350px - 110px) !important;
  width: calc(100% - 350px - 110px) !important;
}

/* --- FAQ : sidebar sticky avec liens d'ancre --- */
body#cms.cms-id-8 .section-faq .elementor-row {
  align-items: stretch;
}

body#cms.cms-id-8 .section-faq-column-left {
  position: sticky !important;
  top: 100px;
  align-self: flex-start;
  height: fit-content;
}

body#cms.cms-id-8 .faq-sidebar {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0;
}

body#cms.cms-id-8 .faq-sidebar-link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  height: 66px;
  padding: 0 25px;
  font-family: 'Merriweather', serif;
  font-size: 22px;
  line-height: 28px;
  font-weight: 400;
  color: #1E6E30;
  text-decoration: none;
  border-radius: 33px;
  background: transparent;
  transition: background 0.2s ease, font-weight 0.2s ease;
}

body#cms.cms-id-8 .faq-sidebar-link.active {
  background: #CAD34F;
  color: #1E6E30;
  font-weight: 900;
}

/* --- FAQ : titres section droite (Commande & Livraison, Retours, etc.) --- */
body#cms.cms-id-8 .section-faq-column-right .titre-faq .elementor-heading-title,
body#cms.cms-id-8 .section-faq-column-right .titre-faq h2 {
  font-family: 'Climate Crisis', sans-serif !important;
  font-size: 52px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  color: #C84F25 !important;
  text-align: left !important;
  margin: 0 0 50px !important;
  transform: none !important;
}

/* --- FAQ : accordions --- */
body#cms.cms-id-8 .section-faq-column-right .elementor-accordion {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-item {
  border: none;
  border-radius: 0;
  background-color: transparent;
  background-image:
    linear-gradient(to right, #5E88B9 50%, transparent 0%),
    linear-gradient(to right, #5E88B9 50%, transparent 0%),
    linear-gradient(to bottom, #5E88B9 50%, transparent 0%),
    linear-gradient(to bottom, #5E88B9 50%, transparent 0%);
  background-size: 14px 3px, 14px 3px, 3px 14px, 3px 14px;
  background-position: left top, left bottom, left top, right top;
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
}

body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-title {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 25px 35px;
  cursor: pointer;
  font-family: 'DynaPuff', sans-serif;
  font-size: 24px;
  line-height: 29px;
  font-weight: 500;
  color: #1E6E30;
  border: none !important;
  background: transparent !important;
}

body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-title > span:not(.elementor-accordion-icon) {
  flex: 1;
}

body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-icon {
  order: 2;
  margin: 0 !important;
  width: 64px;
  height: 59px;
  flex: 0 0 64px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-icon i {
  display: none;
}

body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-icon::before {
  content: '';
  display: block;
  width: 64px;
  height: 59px;
  background-image: url('/img/cms/Icones/icone-faq-plus.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-title.active .elementor-accordion-icon::before {
  background-image: url('/img/cms/Icones/icone-faq-moins.svg');
}

body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-content {
  border-top: none !important;
  padding: 0 115px 25px 35px;
  margin-top: -15px;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  color: #1E6E30;
  background: transparent !important;
}

body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-content p {
  margin: 0 0 12px;
}

body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-content p:last-child {
  margin-bottom: 0;
}

/* ==========================================================================
   PAGES CMS (#cms — politique conf, CGV, mentions, livraison, etc.)
   ========================================================================== */

/* --- Masquer le breadcrumb --- */
body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) section#wrapper > .container nav.breadcrumb,
body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) section#wrapper > nav.breadcrumb {
  display: none !important;
}

/* --- Wrapper / main padding --- */
body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #inner-wrapper {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content-wrapper {
  padding: 0;
}

body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #main {
  padding: 50px 80px 80px;
}

/* --- Titre centré --- */
body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) .page-header {
  max-width: 1550px;
  margin: 0 auto 50px;
  padding: 0;
  border: none;
  text-align: center;
}

body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) .page-title {
  text-align: center;
  margin: 0;
  display: block;
  background: transparent;
  padding: 0;
}

/* --- Contenu CMS : max-width + Merriweather pour lisibilité --- */
body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content {
  max-width: 1550px;
  margin: 0 auto;
  padding: 0;
}

body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content .rte,
body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content > div {
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 1.7;
  color: #246F30;
}

body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content h2,
body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content h3,
body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content h4 {
  font-family: 'DynaPuff', sans-serif;
  color: #C84F25;
  margin: 40px 0 20px;
  font-weight: 600;
}

body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content h2 {
  font-size: 28px;
  line-height: 32px;
}

body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content h4 {
  font-size: 20px;
  line-height: 24px;
}

body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content p {
  margin: 0 0 16px;
}

body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content ul,
body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content ol {
  margin: 0 0 16px;
  padding-left: 28px;
}

body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content a {
  color: #C84F25;
  text-decoration: underline;
}

body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content table {
  width: 100%;
  margin: 20px 0;
  border-collapse: collapse;
}

body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content table th,
body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content table td {
  border: 1px solid #D0C4B0;
  padding: 12px 16px;
  text-align: left;
}

body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content table th {
  background: #F6EFD9;
  font-weight: 600;
}

/* ==========================================================================
   PAGE CARTE CADEAU (#module-giftcard-choicegiftcard)
   ========================================================================== */

/* --- Bloc d'introduction (titre + subtitle + info) --- */
#module-giftcard-choicegiftcard .giftcard-title {
  font-family: 'Climate Crisis', sans-serif;
  font-weight: 400;
  color: #246F30;
  text-align: center;
  margin: 0 0 50px;
}

#module-giftcard-choicegiftcard .giftcard-subtitle {
  font-family: 'Meow Script', cursive;
  font-size: clamp(28px, 2.4vw, 40px);
  line-height: clamp(34px, 2.8vw, 48px);
  font-weight: 400;
  color: #246F30;
  text-align: center;
  margin: 0 auto 50px;
  max-width: 1100px;
}

#module-giftcard-choicegiftcard .giftcard-info {
  background: #C84F25;
  color: #FAEED8;
  font-family: 'DM Serif Text', serif;
  font-size: 30px;
  line-height: 41px;
  font-weight: 400;
  text-align: center;
  padding: 35px;
  margin: 0 auto 115px;
  max-width: 1300px;
}

/* --- Reset wrapper --- */
body#module-giftcard-choicegiftcard #inner-wrapper {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body#module-giftcard-choicegiftcard #content-wrapper {
  padding: 0;
}

body#module-giftcard-choicegiftcard #main {
  padding: 80px 80px;
}

body#module-giftcard-choicegiftcard #content {
  padding: 0;
}

/* --- Titres d'étape (h2) avec badge numéroté --- */
body#module-giftcard-choicegiftcard #formgiftcard h2 {
  display: flex;
  align-items: center;
  gap: 20px;
  font-family: 'DynaPuff', sans-serif;
  font-size: 24px;
  line-height: 28px;
  font-weight: 600;
  color: #C84F25;
  margin: 0 0 30px;
}

body#module-giftcard-choicegiftcard #formgiftcard h2 .step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  background: #C84F25;
  color: #F6EFD9;
  border-radius: 50%;
  font-family: 'DynaPuff', sans-serif;
  font-size: 28px;
  font-weight: 700;
  flex-shrink: 0;
}

body#module-giftcard-choicegiftcard #gc-step-receptmode {
  margin-bottom: 130px;
}

body#module-giftcard-choicegiftcard #gc-step-template {
  margin-bottom: 130px;
}

/* --- Section 1 : modes de réception (pills) --- */
body#module-giftcard-choicegiftcard .gc-receptmode-option {
  display: flex;
  flex-wrap: wrap;
  gap: 70px;
}

body#module-giftcard-choicegiftcard .gc-receptmode-option input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

body#module-giftcard-choicegiftcard .gc-receptmode-option label,
body#module-giftcard-choicegiftcard .gc-receptmode-option label:hover,
body#module-giftcard-choicegiftcard .gc-receptmode-option input[type="radio"]:checked + label {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  background: #E7A9C7 !important;
  color: #2A7140 !important;
  border: none;
  border-radius: 50px;
  padding: 8px 25px;
  font-family: 'DM Serif Text', serif;
  font-size: 28px;
  line-height: 32px;
  font-weight: 400;
  cursor: pointer;
  margin: 0;
  position: relative;
}

body#module-giftcard-choicegiftcard .gc-receptmode-option label svg {
  display: none;
}

body#module-giftcard-choicegiftcard .gc-receptmode-option label::before {
  content: '';
  width: 45px;
  height: 45px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}

body#module-giftcard-choicegiftcard .gc-receptmode-option label[for="receptmode_printathome"]::before {
  background-image: url('/img/cms/Icones/icone-impression.svg');
}

body#module-giftcard-choicegiftcard .gc-receptmode-option label[for="receptmode_mail"]::before {
  background-image: url('/img/cms/Icones/icone-email.svg');
}

body#module-giftcard-choicegiftcard .gc-receptmode-option input[type="radio"]:checked + label::after {
  content: '';
  position: absolute;
  top: -8px;
  left: -8px;
  right: -8px;
  bottom: -8px;
  border: 3px dashed #E7A9C7;
  border-radius: 58px;
  pointer-events: none;
}

/* --- Bloc additionnel "Envoyer par email" --- */
body#module-giftcard-choicegiftcard #recepmode-mail-additional-information {
  margin-top: 30px;
  background: #FAEED8;
  width: 1000px;
  max-width: 100%;
}

body#module-giftcard-choicegiftcard #recepmode-mail-additional-information h3 {
  font-family: 'DynaPuff', sans-serif;
  font-size: 22px;
  color: #246F30;
  margin: 0 0 20px;
}

body#module-giftcard-choicegiftcard #recepmode-mail-additional-information p {
  font-family: 'Merriweather', serif;
  color: #246F30;
  font-size: 16px;
  line-height: 24px;
  margin: 0 0 20px;
}

body#module-giftcard-choicegiftcard #recepmode-mail-additional-information .form-group .form-control {
  background: transparent;
  background-image: repeating-linear-gradient(to right, #246F30 0, #246F30 18px, transparent 18px, transparent 36px);
  background-position: left bottom;
  background-size: 36px 2px;
  background-repeat: repeat-x;
  border: none;
  border-radius: 0;
  padding: 12px 0 18px;
  font-family: 'Merriweather', serif;
  font-size: 18px;
  color: #246F30;
  box-shadow: none;
  outline: none;
  width: 100%;
  height: auto;
}

body#module-giftcard-choicegiftcard #recepmode-mail-additional-information .form-group.datesendcard {
  display: flex;
  gap: 10px;
}

body#module-giftcard-choicegiftcard #recepmode-mail-additional-information .form-group.datesendcard select.form-control {
  flex: 1;
  appearance: none;
  -webkit-appearance: none;
  background-image:
    repeating-linear-gradient(to right, #246F30 0, #246F30 18px, transparent 18px, transparent 36px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23246F30' stroke-width='2' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-position: left bottom, right 6px center;
  background-size: 36px 2px, 12px 8px;
  background-repeat: repeat-x, no-repeat;
  padding-right: 26px;
}

/* --- Section 2 : templates --- */
body#module-giftcard-choicegiftcard #templates_block {
  width: 100%;
}

body#module-giftcard-choicegiftcard #templates_block ul.row {
  list-style: none;
  margin: 0 !important;
  padding: 0;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
  width: 100%;
}

body#module-giftcard-choicegiftcard .template_item {
  list-style: none;
  margin: 0;
  padding: 0;
  cursor: pointer;
  max-width: none !important;
  width: 100% !important;
  flex: none !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  position: relative;
}

/* Overlay vert au-dessus du template sélectionné, sous l'icône check */
body#module-giftcard-choicegiftcard .template_item.selected::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(4, 38, 12, 0.3);
  z-index: 2;
  pointer-events: none;
}

body#module-giftcard-choicegiftcard .template_item .link_template {
  display: block;
}

body#module-giftcard-choicegiftcard .template_item img {
  width: 100%;
  height: auto;
  display: block;
  border: none;
  transition: none;
}

body#module-giftcard-choicegiftcard .template_item.selected::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;
  height: 50%;
  transform: translate(-50%, -50%);
  background: transparent;
  background-image: url('/img/cms/Icones/tic-cartes-cadeaux.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  border: none;
  border-radius: 0;
  outline: none;
  box-shadow: none;
  z-index: 3;
}

#choicegiftcard .gctab_content .row > li {
  padding: 0 !important;
}

/* --- Section 3 : information (fond lime) --- */
body#module-giftcard-choicegiftcard #gc-step-information {
  background: #CAD34F;
  padding: 80px;
  margin: 130px -80px 0;
}

body#module-giftcard-choicegiftcard #gc-step-information h2 {
  color: #C84F25;
}

body#module-giftcard-choicegiftcard #gc-step-information label {
  display: none;
}

body#module-giftcard-choicegiftcard #gc-step-information .form-group {
  margin: 0 0 30px;
  position: relative;
}

body#module-giftcard-choicegiftcard #gc-step-information .form-control {
  width: 100%;
  background: transparent;
  background-image: repeating-linear-gradient(to right, #9CA33D 0, #9CA33D 18px, transparent 18px, transparent 36px);
  background-position: left bottom;
  background-size: 36px 2px;
  background-repeat: repeat-x;
  border: none;
  border-radius: 0;
  padding: 20px 0 30px;
  font-family: 'Merriweather', serif;
  font-weight: 400;
  font-size: clamp(28px, 3.5vw, 60px);
  line-height: 1.2;
  color: #9CA33D;
  box-shadow: none;
  outline: none;
  height: auto;
  resize: none;
}

body#module-giftcard-choicegiftcard #gc-step-information .form-control::placeholder {
  color: #9CA33D;
  opacity: 1;
}

body#module-giftcard-choicegiftcard #gc-step-information .form-control:focus {
  outline: none;
  box-shadow: none;
}

body#module-giftcard-choicegiftcard #gc-step-information textarea.form-control {
  min-height: 240px;
}

body#module-giftcard-choicegiftcard #gc-step-information select.form-control {
  appearance: none;
  -webkit-appearance: none;
  background-image:
    repeating-linear-gradient(to right, #9CA33D 0, #9CA33D 18px, transparent 18px, transparent 36px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='14' viewBox='0 0 20 14'%3E%3Cpath fill='%239CA33D' d='M0 0l10 14L20 0z'/%3E%3C/svg%3E");
  background-position: left bottom, right center;
  background-size: 36px 2px, 20px 14px;
  background-repeat: repeat-x, no-repeat;
  padding-right: 40px;
}

/* --- Custom select (remplace le natif pour avoir un dropdown stylable) --- */
body#module-giftcard-choicegiftcard #gc-step-information .custom-select-wrapper {
  position: relative;
  width: 100%;
}

body#module-giftcard-choicegiftcard #gc-step-information .custom-select-wrapper:has(#ta_gc_products_physical) {
  display: none;
}

body#module-giftcard-choicegiftcard #gc-step-information .custom-select-wrapper select {
  display: none !important;
}

body#module-giftcard-choicegiftcard #gc-step-information .custom-select-display {
  width: 100%;
  background: transparent;
  background-image:
    repeating-linear-gradient(to right, #9CA33D 0, #9CA33D 18px, transparent 18px, transparent 36px),
    url('/img/cms/Icones/fleche-select.svg');
  background-position: left bottom, right 70px center;
  background-size: 36px 2px, 22px auto;
  background-repeat: repeat-x, no-repeat;
  border: none;
  border-radius: 0;
  padding: 20px 110px 30px 0;
  font-family: 'Merriweather', serif;
  font-weight: 400;
  font-size: clamp(28px, 3.5vw, 60px);
  line-height: 1.2;
  color: #9CA33D;
  cursor: pointer;
  user-select: none;
}

body#module-giftcard-choicegiftcard #gc-step-information .custom-select-options {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #FAEED8;
  border: none;
  max-height: 300px;
  overflow-y: auto;
  z-index: 100;
  box-shadow: none;
  margin-top: 15px;
}

body#module-giftcard-choicegiftcard #gc-step-information .custom-select-options.open {
  display: block;
}

body#module-giftcard-choicegiftcard #gc-step-information .custom-select-option {
  padding: 12px 20px;
  font-family: 'Merriweather', serif;
  font-size: 18px;
  line-height: 1.4;
  color: #246F30;
  cursor: pointer;
  font-weight: 400;
}

body#module-giftcard-choicegiftcard #gc-step-information .custom-select-option:hover {
  background: #9CA33D;
  color: #FAEED8;
}

body#module-giftcard-choicegiftcard #gc-step-information .custom-select-option.selected {
  background: #9CA33D;
  color: #FAEED8;
  font-weight: 600;
}

body#module-giftcard-choicegiftcard #gc-step-information #ta_gc_products_physical {
  display: none !important;
}

body#module-giftcard-choicegiftcard #remaining_characters {
  font-family: 'Merriweather', serif;
  font-size: 25px;
  line-height: 30px;
  color: #9CA33D;
  margin: 30px 0 0;
  font-style: normal;
  font-weight: 600;
}

/* --- Boutons Aperçu / Ajouter au panier --- */
body#module-giftcard-choicegiftcard .ta-gc-submit {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin: 80px 0 0 !important;
}

body#module-giftcard-choicegiftcard .ta-gc-submit button {
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  border-radius: 33px !important;
  padding: 14px 40px !important;
  border: none !important;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 !important;
  width: auto !important;
  text-transform: none;
  box-shadow: none !important;
  position: relative;
}

body#module-giftcard-choicegiftcard .ta-gc-submit button[data-ta-action="preview"] {
  background: #5E88B9 !important;
  color: #F6EFD9 !important;
}

body#module-giftcard-choicegiftcard .ta-gc-submit button[data-ta-action="add_to_cart"] {
  background: #F2A5C8 !important;
  color: #C84F25 !important;
  padding: 14px 40px 14px 80px !important;
}

body#module-giftcard-choicegiftcard .ta-gc-submit button[data-ta-action="add_to_cart"] i {
  display: none;
}

body#module-giftcard-choicegiftcard .ta-gc-submit button[data-ta-action="add_to_cart"]::before {
  content: '';
  position: absolute;
  left: 20px;
  bottom: -10px;
  width: 65px;
  height: 65px;
  background-image: url('/img/cms/Icones/piment.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.3s ease;
}

body#module-giftcard-choicegiftcard .ta-gc-submit button[data-ta-action="add_to_cart"]:hover::before {
  transform: rotate(10deg);
}

body#module-giftcard-choicegiftcard .ta-gc-submit button[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

/* --- Messages d'erreur (mêmes que les notifications) --- */
body#module-giftcard-choicegiftcard .messages {
  margin: 30px 0 0;
  text-align: center;
}

body#module-giftcard-choicegiftcard .messages .error,
body#module-giftcard-choicegiftcard .messages p.error {
  background: #CAD34F;
  color: #246F30;
  border: none;
  border-radius: 0;
  margin: 0;
  padding: 12px 20px;
  font-family: 'Merriweather', serif;
  font-size: 0.875rem;
  display: inline-block;
  width: auto;
  max-width: 100%;
}

/* ==========================================================================
   PAGE TUNNEL DE COMMANDE (#checkout)
   ========================================================================== */

/* --- Reset wrappers --- */
body#checkout #inner-wrapper {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body#checkout #content-wrapper {
  padding: 0;
}

body#checkout section#wrapper > .container:not(#inner-wrapper),
body#checkout section#wrapper > nav.breadcrumb {
  display: none !important;
}

body#checkout #main {
  padding: 50px 80px 80px;
}

/* --- Titre "Commander" — vert, centré, rotation --- */
body#checkout .page-title {
  color: #246F30 !important;
  text-align: center;
  margin: 0 0 90px;
  display: block;
  background: transparent;
  padding: 0;
}

body#checkout .page-title span {
  display: inline-block;
  transform: rotate(-4deg);
  transform-origin: center;
}

/* --- Layout grille (réutilise la logique panier) --- */
body#checkout #main > .row {
  display: flex;
  flex-wrap: nowrap;
  gap: 120px;
  margin: 0;
}

body#checkout #main > .row > .col-md-8 {
  flex: 0 0 calc(75% - 120px);
  max-width: calc(75% - 120px);
  padding: 0;
}

body#checkout #main > .row > .col-md-4.cart-grid-right {
  flex: 0 0 25%;
  max-width: 25%;
  padding: 0;
}

/* --- Titres d'étape (Informations personnelles, Adresses, …) --- */
body#checkout section.checkout-step .step-title {
  font-family: 'DynaPuff', sans-serif;
  font-size: 40px !important;
  line-height: 40px !important;
  font-weight: 500;
  color: #C84F25;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 15px;
  text-transform: none;
}

body#checkout section.checkout-step .step-title .step-number,
body#checkout section.checkout-step .step-title .done {
  display: none !important;
}

body#checkout section.checkout-step.-current .step-title {
  border-bottom: 0;
  margin-bottom: 30px;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
}

body#checkout section.checkout-step .step-edit {
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  color: #246F30;
  margin-left: auto;
  text-transform: none;
}

body#checkout section.checkout-step {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0 0 60px;
  margin-bottom: 60px;
  box-shadow: none;
  background-image: linear-gradient(to right, #CAD34F 50%, transparent 0%);
  background-size: 14px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
}

body#checkout section.checkout-step:last-of-type {
  background-image: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

body#checkout section.checkout-step.-unreachable .step-title {
  opacity: 0.4;
}

body#checkout section.checkout-step .content {
  padding: 0;
}

/* --- Form fields : input style identique aux pages compte --- */
body#checkout .form-group.row {
  display: grid;
  grid-template-columns: 1fr 90px;
  align-items: end;
  gap: 4px 20px;
  margin: 0 0 25px;
  padding: 0;
  background: none;
}

body#checkout .form-group.row:has(.custom-checkbox) {
  margin-bottom: 0;
}

body#checkout .form-group.row:has(.custom-checkbox) > * {
  padding-left: 0;
  padding-right: 0;
}

body#checkout .form-group.row .col-form-label {
  grid-column: 1 / -1;
  grid-row: 1;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 18px;
  font-weight: 900;
  color: #246F30;
  text-align: left;
}

body#checkout .form-group.row .js-input-column {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
}

body#checkout .form-group.row .form-control-comment {
  grid-column: 2;
  grid-row: 2;
  width: auto;
  max-width: none;
  padding: 0 0 8px;
  text-align: right;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 18px;
  color: #D0C4B0;
}

body#checkout .form-group.row .form-control,
body#checkout .form-group.row .form-control-select {
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none;
  padding: 15px 0 0;
  margin: 0;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 24px;
  color: #246F30;
  width: 100%;
  height: auto;
  min-height: 0;
}

body#checkout .form-group.row .form-control {
  background-image: linear-gradient(to right, #246F30 50%, transparent 0%) !important;
  background-size: 14px 2px !important;
  background-repeat: repeat-x !important;
  background-position: left bottom !important;
  padding-bottom: 15px !important;
}

body#checkout .form-group.row .js-input-column > .form-control-comment {
  display: block;
  margin: 10px 0 0;
  padding: 0;
  font-family: 'Merriweather', serif;
  font-size: 14px;
  line-height: 18px;
  color: #D0C4B0;
  text-align: left;
}

body#checkout .form-group.row .form-control:focus {
  box-shadow: none !important;
  outline: none;
}

/* --- Champs password : bouton afficher/masquer à droite de l'input --- */
body#checkout .form-group.row .input-group {
  display: flex;
  flex-wrap: nowrap;
  align-items: end;
  width: 100%;
  background-image: linear-gradient(to right, #246F30 50%, transparent 0%);
  background-size: 14px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
}

body#checkout .form-group.row .input-group .form-control {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  background-image: none !important;
  padding-bottom: 15px !important;
}

body#checkout .form-group.row .input-group-append {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  margin: 0 0 8px 10px;
}

body#checkout .form-group.row .input-group-append .btn[data-action="show-password"] {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 4px 6px;
  margin: 0;
  color: #246F30;
  font-size: 16px;
  line-height: 1;
}

/* --- Section login (non connecté) : pas de grille, fond beige --- */
body#checkout section.checkout-step #personal-information-step-login {
  background: #E9DEC9;
  padding: 50px;
  margin-bottom: 30px;
}

body#checkout #personal-information-step-login .form-group.row {
  grid-template-columns: 1fr;
  gap: 4px 0;
}

body#checkout #personal-information-step-login .form-group.row .form-control-comment {
  display: none;
}

/* --- Bouton Continuer (pill rose) --- */
body#checkout .form-footer,
body#checkout section.checkout-step .clearfix:has(.continue) {
  margin-top: 30px;
  padding: 0;
  border: none;
}

body#checkout button[name="confirmDeliveryOption"] {
  margin-top: 20px !important;
}

body#checkout .continue.btn-primary,
body#checkout .continue.btn-primary.btn-block,
body#checkout button[name="confirm-addresses"] {
  background: #F2A5C8 !important;
  border: none !important;
  border-radius: 33px !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #C84F25 !important;
  padding: 12px 30px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  text-transform: none !important;
  box-shadow: none !important;
}

/* --- Section "Connecté en tant que…" --- */
body#checkout section.checkout-step .identity,
body#checkout #checkout-personal-information-step p {
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  color: #246F30;
}

/* --- Réduire la colonne radio + élargir la colonne logo/nom --- */
body#checkout .delivery-option > .col-sm-1 {
  flex: 0 0 auto;
  width: 40px;
  max-width: 40px;
  padding-right: 0;
}

body#checkout .delivery-option > .col-sm-11 {
  flex: 1;
  max-width: calc(100% - 40px);
}

body#checkout .delivery-option .delivery-option-2 > .row > .col-sm-5 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}

body#checkout .delivery-option .delivery-option-2 > .row > .col-sm-4 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}

body#checkout .delivery-option .delivery-option-2 > .row > .col-sm-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}

/* Centrer le contenu du bloc point de retrait sous le transporteur */
body#checkout .delivery-option .bx-extra-content {
  text-align: center;
}

/* --- Logo transporteur + nom alignés sur la même ligne --- */
body#checkout .delivery-option .carrier-hasLogo {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  margin: 0;
}

body#checkout .delivery-option .carrier-hasLogo > .col-xs-3 {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
  padding: 0;
}

body#checkout .delivery-option .carrier-hasLogo img {
  width: 80px;
  height: auto;
  max-width: 80px;
  object-fit: contain;
  display: block;
}

body#checkout .delivery-option .carrier-hasLogo > .carriere-name-container {
  flex: 1 1 auto;
  width: auto;
  max-width: none;
  padding: 0;
}

body#checkout .delivery-option .carrier-hasLogo .carrier-name {
  display: block;
}

body#checkout section.checkout-step .delivery-option,
body#checkout section.checkout-step .address-item,
body#checkout #order-summary-content,
body#checkout .summary-selected-carrier {
  background: #E9DEC9;
}

body#checkout #order-summary-content {
  padding: 30px;
  margin-bottom: 0;
}

body#checkout #order-summary-content .order-confirmation-table,
body#checkout #order-summary-content .summary-selected-carrier {
  padding: 30px;
}

body#checkout .definition-list dl dd,
body#checkout .definition-list dl dt {
  background: #E9DEC9;
}

body#checkout .js-alert-payment-conditions {
  background: #CAD34F !important;
  color: #246F30 !important;
  border: none !important;
  border-radius: 0;
  padding: 12px 20px;
  margin-top: 0 !important;
  font-family: 'Merriweather', serif;
  font-size: 0.875rem;
}

body#checkout .js-alert-payment-conditions a {
  color: #246F30 !important;
  text-decoration: underline;
}

/* --- Bouton final "Commander" : style "Ajouter au panier" avec piment --- */
body#checkout #payment-confirmation {
  text-align: center;
  margin-top: 0 !important;
}

body#checkout label.js-terms {
  line-height: 1.5;
}

body#checkout #payment-confirmation .ps-shown-by-js {
  display: flex;
  flex-direction: column;
  align-items: center;
}

body#checkout #payment-confirmation .ps-shown-by-js .js-alert-payment-conditions {
  order: -1;
  width: 100%;
  margin-bottom: 0;
}

body#checkout .product-pack article,
body#checkout #cart-summary-product-list .cart-summary-product {
  border-bottom: none !important;
}

body#checkout #payment-confirmation .btn-primary {
  background: #F2A5C8 !important;
  border: none !important;
  border-radius: 33px !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  color: #C84F25 !important;
  padding: 12px 30px 12px 80px !important;
  margin-top: 20px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
  overflow: visible;
  width: auto !important;
  text-transform: none !important;
  box-shadow: none !important;
}

body#checkout #payment-confirmation .btn-primary::before {
  content: '';
  position: absolute;
  left: 20px;
  bottom: -10px;
  width: 65px;
  height: 65px;
  background-image: url('/img/cms/Icones/piment.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.3s ease;
}

body#checkout #payment-confirmation .btn-primary:hover::before {
  transform: rotate(10deg);
}

body#checkout #payment-confirmation .btn-primary:disabled,
body#checkout #payment-confirmation .btn-primary.disabled {
  opacity: 0.5;
}

body#checkout .summary-selected-carrier .row {
  display: flex;
  align-items: center;
  gap: 5px;
}

body#checkout .summary-selected-carrier img {
  width: 80px;
  height: auto;
  max-width: 80px;
  object-fit: contain;
}

body#checkout .summary-selected-carrier .row > .col:not(.col-auto) {
  display: flex;
  gap: 20px;
  align-items: center;
}

body#checkout #order-summary-content,
body#checkout #order-summary-content *,
body#checkout #order-summary-content *::before,
body#checkout #order-summary-content *::after {
  border-color: #1E6E30 !important;
}

body#checkout #order-summary-content hr {
  border: none;
  background-color: #1E6E30;
  height: 1px;
  color: #1E6E30;
  opacity: 1;
  margin-bottom: 20px;
}

/* --- Récap commande (#order-summary-content) — style identique au panier --- */
body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line {
  margin: 0;
  padding: 0 0 30px;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: nowrap;
}

body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line > [class*="col-"] {
  padding-left: 0;
  padding-right: 0;
  flex: 0 0 auto;
  max-width: none;
  width: auto;
}

body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line > .details {
  flex: 1 1 0;
  min-width: 0;
}

body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line > .qty {
  flex: 0 0 auto;
}

body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line .qty > .row > [class*="col-"] {
  display: flex;
  align-items: center;
}

body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line + .order-line {
  padding-top: 0;
  border-top: none;
}

body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line .image img {
  width: 150px;
  height: 150px;
  max-width: 150px;
  object-fit: cover;
  display: block;
  border-radius: 0;
  margin-bottom: 0;
}

body:is(#checkout, #order-confirmation) #order-items .details,
body:is(#checkout, #order-confirmation) #order-items .qty {
  margin-bottom: 0;
}

body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line .details a {
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  font-weight: 400;
  color: #246F30;
  text-decoration: none;
}

body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line .details .product-line-info,
body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line .details .product-line-info-secondary {
  font-family: 'Merriweather', serif;
  font-size: 0.8125rem;
  font-weight: 400;
  color: #246F30;
  margin-top: 4px;
}

body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line .details .product-line-info .label,
body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line .details .product-line-info .value {
  font-family: 'Merriweather', serif;
  font-size: 0.8125rem;
  color: #246F30;
}

body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line .qty {
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  color: #246F30;
}

body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line .qty .bold {
  font-family: 'Merriweather', serif;
  font-size: 20px;
  line-height: 25px;
  font-weight: 900;
  color: #246F30;
}


body#checkout section.checkout-step .address-item {
  border: none;
  box-shadow: none;
}

body#checkout section.checkout-step .address-item hr {
  display: none;
}

body#checkout .cancel-address,
body#checkout .cancel-address:hover,
body#checkout .cancel-address:focus {
  text-decoration: none !important;
}

body#checkout section.checkout-step .delivery-option > label {
  text-align: left;
}

body#checkout .order-options {
  margin-top: 20px;
}

body#checkout #delivery > label[for="delivery_message"] {
  display: block;
  margin-bottom: 10px;
}

body#checkout #delivery #delivery_message {
  background-color: transparent !important;
  background-image:
    linear-gradient(to right, #246F30 50%, transparent 0%),
    linear-gradient(to right, #246F30 50%, transparent 0%),
    linear-gradient(to bottom, #246F30 50%, transparent 0%),
    linear-gradient(to bottom, #246F30 50%, transparent 0%) !important;
  background-size: 14px 2px, 14px 2px, 2px 14px, 2px 14px !important;
  background-position: left top, left bottom, left top, right top !important;
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none;
  padding: 15px;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 24px;
  color: #246F30;
  width: 100%;
  resize: vertical;
}

body#checkout #delivery #delivery_message:focus {
  box-shadow: none !important;
  outline: none;
}

/* --- Carte récapitulative à droite (réutilise le style panier) --- */
body#checkout .cart-summary {
  background: #246F30;
  border: none;
  border-radius: 0;
  padding: 30px;
  box-shadow: none;
}

body#checkout .card {
  color: #1E6E30;
}

body#checkout .cart-summary .card-body,
body#checkout .cart-summary .card-block {
  padding: 0;
}

body#checkout .cart-summary hr {
  display: block;
  border: none;
  height: 1px;
  background-color: transparent;
  background-image: linear-gradient(to right, #FAEED8 50%, transparent 0%);
  background-size: 14px 1px;
  background-repeat: repeat-x;
  background-position: left center;
  opacity: 1;
  color: #FAEED8;
  margin: 20px 0;
  padding: 0;
}

body#checkout .cart-summary hr:last-child,
body#checkout .cart-summary hr:has(+ .block-promo) {
  display: none;
}

body#checkout .cart-summary-products {
  color: #FAEED8;
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  margin-bottom: 0;
}

body#checkout .cart-summary-products a,
body#checkout .cart-summary-products a:hover,
body#checkout .cart-summary-products a:focus,
body#checkout .cart-summary-products a:active {
  color: #FAEED8 !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

body#checkout .cart-summary-products .cart-summary-product .product-name,
body#checkout .cart-summary-products .product-line-info,
body#checkout .cart-summary-products .product-quantity {
  color: #FAEED8 !important;
  font-family: 'Merriweather', serif;
  text-decoration: none !important;
}

body#checkout .cart-summary-products .cart-summary-product a,
body#checkout .cart-summary-products .cart-summary-product a:hover {
  text-decoration: none !important;
}

body#checkout .cart-summary-line {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: baseline;
  width: 100%;
  margin: 0 0 8px;
  padding: 0;
}

body#checkout .cart-summary-line::before,
body#checkout .cart-summary-line::after {
  display: none !important;
  content: none !important;
}

body#checkout .cart-summary-line .label,
body#checkout .cart-summary-line .value {
  display: inline-block;
  float: none;
  background: transparent;
  border-radius: 0;
  padding: 0;
  margin: 0;
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  font-weight: 400;
  color: #FAEED8;
}

body#checkout .cart-summary-line .value {
  text-align: right;
}

body#checkout .cart-summary .cart-summary-totals {
  padding: 0;
}

body#checkout .cart-summary-line.cart-total {
  margin: 0;
  align-items: center;
}

body#checkout .cart-summary-line.cart-total .label,
body#checkout .cart-summary-line.cart-total .value {
  font-family: 'Meow Script', cursive;
  font-size: 2.25rem;
  line-height: 1;
  font-weight: 400;
  color: #FAEED8;
}

body#checkout .iqitfreedeliverycount {
  background: #CAD34F;
  border: none;
  border-radius: 0;
  color: #246F30;
  font-family: 'Merriweather', serif;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: 400;
  text-align: center;
  padding: 10px 15px !important;
  margin: 18px 0 0;
}

body#checkout .iqitfreedeliverycount strong {
  color: #246F30;
  font-weight: 400;
}

/* --- Code promo (tunnel commande) --- */
body#checkout .block-promo {
  background: transparent;
  border: none;
  padding: 0;
  margin: 30px 0 0;
}

body#checkout .block-promo .cart-voucher,
body#checkout .block-promo .cart-voucher-area,
body#checkout .block-promo .promo-code {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
}

body#checkout .block-promo .promo-code form {
  margin: 0;
}

body#checkout .block-promo .voucher-icon {
  display: none;
}

body#checkout .block-promo .input-group {
  background: transparent;
  align-items: center;
  flex-wrap: nowrap;
  gap: 12px;
}

body#checkout .block-promo .input-group .form-control[name="discount_name"] {
  background: transparent;
  background-image:
    linear-gradient(to right, #FAEED8 50%, transparent 0%),
    linear-gradient(to right, #FAEED8 50%, transparent 0%),
    linear-gradient(to bottom, #FAEED8 50%, transparent 0%),
    linear-gradient(to bottom, #FAEED8 50%, transparent 0%);
  background-size: 14px 1px, 14px 1px, 1px 14px, 1px 14px;
  background-position: left top, left bottom, left top, right top;
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  border: none;
  outline: none;
  box-shadow: none;
  font-family: 'Merriweather', serif;
  font-size: 12px;
  line-height: 18px;
  font-weight: 600;
  font-style: italic;
  color: #FAEED8;
  padding: 0 18px;
  height: 43px;
  flex: 1 1 auto;
  min-width: 0;
}

body#checkout .block-promo .input-group .form-control[name="discount_name"]::placeholder {
  color: #FAEED8;
  opacity: 1;
  font-style: italic;
  font-weight: 600;
}

body#checkout .block-promo .input-group-append {
  margin-left: 0;
}

body#checkout .block-promo .input-group .btn-secondary {
  background: #7898BD;
  border: none;
  border-radius: 25px;
  font-family: 'DynaPuff', sans-serif;
  font-size: 20px;
  line-height: 24px;
  font-weight: 400;
  color: #CAD34F;
  padding: 0 24px;
  height: 43px !important;
  text-transform: none;
  box-shadow: none;
  white-space: nowrap;
}

/* ==========================================================================
   PAGE CONFIRMATION DE COMMANDE (#order-confirmation)
   ========================================================================== */

/* --- Reset wrappers --- */
body#order-confirmation #inner-wrapper {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body#order-confirmation section#wrapper > .container:not(#inner-wrapper),
body#order-confirmation section#wrapper > nav.breadcrumb {
  display: none !important;
}

body#order-confirmation #content-wrapper {
  padding: 50px 80px 80px;
}

/* --- Section principale en 2 colonnes --- */
body#order-confirmation #content-hook_order_confirmation > .row {
  margin: 0;
  gap: 60px;
  flex-wrap: nowrap;
}

body#order-confirmation #content-hook_order_confirmation > .row > .order-confirmation-title-payment {
  flex: 0 0 calc(58% - 30px) !important;
  max-width: calc(58% - 30px) !important;
  width: calc(58% - 30px) !important;
  padding: 0;
  border-right: none;
}

body#order-confirmation #content-hook_order_confirmation > .row > .order-confirmation-details {
  flex: 0 0 calc(42% - 30px) !important;
  max-width: calc(42% - 30px) !important;
  width: calc(42% - 30px) !important;
  padding: 0;
}

/* --- Titre "Votre commande est confirmée" --- */
body#order-confirmation .page-title {
  color: #246F30 !important;
  text-align: left;
  margin: 0 0 30px;
  display: block;
  background: transparent;
  padding: 0;
}

body#order-confirmation .page-title span {
  display: inline-flex;
  align-items: center;
  gap: 18px;
}

body#order-confirmation .page-title .fa-check {
  display: none;
}

/* --- Mail info --- */
body#order-confirmation .mail-sent-info {
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 24px;
  color: #246F30;
  margin: 0 0 30px;
}

/* --- Détails commande (encart vert lime) --- */
body#order-confirmation #order-details {
  background: #CAD34F;
  padding: 30px;
  margin: 0 0 30px;
}

body#order-confirmation #order-details .h3,
body#order-confirmation #order-details h3 {
  font-family: 'DynaPuff', sans-serif;
  font-size: 24px;
  line-height: 28px;
  font-weight: 600;
  color: #246F30;
  margin: 0 0 18px;
}

body#order-confirmation #order-details ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

body#order-confirmation #order-details li {
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 22px;
  color: #246F30;
  margin: 0 0 8px;
}

body#order-confirmation #order-details li:last-child {
  margin-bottom: 0;
}

body#order-confirmation #order-details em.text-muted {
  display: block;
  font-style: italic;
  font-size: 14px;
  color: #246F30;
  opacity: 0.8;
  margin-top: 4px;
}

/* --- Articles de la commande --- */
body#order-confirmation #order-items {
  background: #E9DEC9;
  padding: 30px;
}

body#order-confirmation #order-items .card-title,
body#order-confirmation #order-items h3 {
  font-family: 'DynaPuff', sans-serif;
  font-size: 24px;
  line-height: 28px;
  font-weight: 600;
  color: #246F30;
  margin: 0 0 20px;
}

body#order-confirmation .order-confirmation-table .order-line {
  margin: 0;
  padding: 0 0 20px;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: nowrap;
}

body#order-confirmation .order-confirmation-table .order-line .image img {
  width: 100px;
  height: 100px;
  max-width: 100px;
  object-fit: cover;
  display: block;
}

body#order-confirmation .order-confirmation-table .order-line .details span {
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  font-weight: 400;
  color: #246F30;
}

body#order-confirmation .order-confirmation-table hr {
  display: none;
}

body#order-confirmation .order-confirmation-table table {
  width: 100%;
  margin: 0;
}

body#order-confirmation .order-confirmation-table table tr {
  display: flex;
  justify-content: space-between;
  font-family: 'Merriweather', serif;
  font-size: 15px;
  line-height: 22px;
  color: #246F30;
  padding: 4px 0;
}

body#order-confirmation .order-confirmation-table table tr.totals,
body#order-confirmation .order-confirmation-table table tr.font-weight-bold {
  font-weight: 700;
  font-size: 18px;
  margin-top: 10px;
  padding-top: 12px;
  border-top: 2px solid #246F30;
}

body#order-confirmation .order-confirmation-table table td {
  padding: 0;
  border: none;
}

/* ==========================================================================
   PAGE HISTORIQUE COMMANDES (#history)
   ========================================================================== */

/* Fix bug du thème : .hidden-* sont en display:none permanent au lieu d'être
   wrappés dans des media queries — on restaure le comportement responsive. */
@media (min-width: 768px) {
  body:is(#order-detail, #history) .hidden-xs-down {
    display: revert !important;
  }
}

@media (max-width: 767.98px) {
  body:is(#order-detail, #history) .hidden-sm-up {
    display: revert !important;
  }
}

@media (min-width: 992px) {
  body#order-detail .hidden-sm-down {
    display: revert !important;
  }
}

@media (max-width: 991.98px) {
  body#order-detail .hidden-md-up {
    display: revert !important;
  }
}

body#history h2 {
  font-family: 'Climate Crisis', sans-serif;
  font-size: 36px;
  line-height: 42px;
  font-weight: 400;
  color: #246F30;
  margin: 0 0 12px;
}

body#history h6 {
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 400;
  color: #246F30;
  margin: 0 0 30px;
}

/* --- Tableau desktop --- */
body#history table.table {
  border: none;
  border-collapse: separate;
  border-spacing: 0 12px;
  background: transparent;
  margin: 0;
}

body#history table.table thead {
  background: transparent;
}

body#history table.table thead tr {
  background: transparent;
}

body#history table.table thead th {
  font-family: 'Merriweather', serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #246F30;
  background: transparent;
  border: none;
  padding: 4px 16px;
}

body#history table.table tbody tr {
  background: #FAEED8;
}

body#history table.table tbody tr:nth-of-type(odd),
body#history table.table tbody tr:nth-of-type(even) {
  background: #FAEED8;
}

body#history table.table tbody th,
body#history table.table tbody td {
  font-family: 'Merriweather', serif;
  font-size: 15px;
  line-height: 22px;
  color: #246F30;
  background: transparent;
  border-top: 1px solid #246F30;
  border-bottom: 1px solid #246F30;
  border-left: none;
  border-right: none;
  padding: 18px 16px;
  vertical-align: middle;
}

body#history table.table tbody th[scope="row"] {
  font-weight: 700;
  border-left: 1px solid #246F30;
}

body#history table.table tbody tr td:last-child {
  border-right: 1px solid #246F30;
}

/* --- Pill statut --- */
body#history .label.label-pill {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 20px;
  font-family: 'Merriweather', serif;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
  color: #FAEED8;
  background-color: #246F30 !important;
}

/* --- Actions (Détails / Commander à nouveau) --- */
body#history .order-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
}

body#history .order-actions a {
  font-family: 'DynaPuff', sans-serif;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 400;
  color: #C84F25;
  text-decoration: none;
}

body#history .order-actions hr {
  display: none;
}

/* --- Cartes mobile --- */
body#history .orders {
  margin: 0;
}

body#history .orders .order,
body#history .orders .order:last-child {
  background: #FAEED8;
  border: 1px solid #246F30;
  border-radius: 0;
  padding: 20px 24px;
  margin-bottom: 16px;
}

body#history .orders .order a {
  text-decoration: none;
}

body#history .orders .order h3 {
  font-family: 'Merriweather', serif;
  font-size: 18px;
  line-height: 24px;
  font-weight: 700;
  color: #246F30;
  margin: 0 0 8px;
}

body#history .orders .order .date,
body#history .orders .order .total,
body#history .orders .order .invoice {
  font-family: 'Merriweather', serif;
  font-size: 14px;
  line-height: 22px;
  color: #246F30;
}

body#history .orders .order .total {
  font-weight: 700;
  font-size: 16px;
}

body#history .orders .order .status {
  margin-top: 10px;
}

/* ==========================================================================
   PAGE DÉTAIL COMMANDE (#order-detail)
   ========================================================================== */

body#order-detail h2 {
  font-family: 'Climate Crisis', sans-serif;
  font-size: 36px;
  line-height: 42px;
  font-weight: 400;
  color: #246F30;
  margin: 0 0 30px;
}

body#order-detail .page-order-detail {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

body#order-detail .page-order-detail .box {
  background: #FAEED8;
  border: 1px solid #246F30;
  border-radius: 0;
  padding: 24px 28px;
  margin: 0;
}

body#order-detail h4 {
  font-family: 'Merriweather', serif;
  font-size: 18px;
  line-height: 24px;
  font-weight: 700;
  color: #246F30;
  margin: 0 0 14px;
}

/* --- Box top : numéro de commande + bouton --- */
body#order-detail #order-infos .box {
  border: none;
  padding: 0 !important;
}

body#order-detail #order-infos strong {
  font-family: 'Merriweather', serif;
  font-size: 18px;
  line-height: 24px;
  font-weight: 700;
  color: #246F30;
}

body#order-detail #order-infos .btn-primary {
  background: #F2A5C8;
  border: none;
  border-radius: 33px;
  font-family: 'DynaPuff', sans-serif;
  font-size: 18px;
  line-height: 24px;
  font-weight: 400;
  color: #C84F25;
  padding: 10px 28px;
  text-decoration: none;
  text-transform: none;
}

/* --- Tables génériques (history, products, shipping) --- */
body#order-detail .page-order-detail .table {
  border: none;
  border-collapse: separate;
  border-spacing: 0;
  background: transparent;
  margin: 0;
}

body#order-detail .page-order-detail .table thead th {
  font-family: 'Merriweather', serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #246F30;
  background: transparent;
  border: none;
  border-bottom: 2px solid #246F30;
  padding: 8px 12px;
}

body#order-detail .page-order-detail .table tbody td,
body#order-detail .page-order-detail .table tbody th {
  font-family: 'Merriweather', serif;
  font-size: 15px;
  line-height: 22px;
  color: #246F30;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(36, 111, 48, 0.15);
  padding: 14px 12px;
  vertical-align: middle;
}

body#order-detail .page-order-detail .table tbody tr:last-child td,
body#order-detail .page-order-detail .table tbody tr:last-child th {
  border-bottom: none;
}

/* --- Pill statut --- */
body#order-detail .label.label-pill {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 20px;
  font-family: 'Merriweather', serif;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
  color: #FAEED8;
  background-color: #246F30 !important;
}

/* --- Box transporteur/paiement (#order-infos2) --- */
body#order-detail #order-infos2 ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body#order-detail #order-infos2 li {
  font-family: 'Merriweather', serif;
  font-size: 15px;
  line-height: 22px;
  color: #246F30;
}

body#order-detail #order-infos2 li strong {
  font-weight: 700;
  margin-right: 8px;
}

/* --- Adresses --- */
body#order-detail .addresses {
  margin: 0;
}

body#order-detail .addresses > .col {
  padding-left: 0;
  padding-right: 12px;
}

body#order-detail .addresses > .col + .col {
  padding-right: 0;
  padding-left: 12px;
}

body#order-detail .addresses > .col {
  display: flex;
  flex: 1 1 0;
  max-width: 50%;
}

body#order-detail .addresses > .col > article.box {
  width: 100%;
  height: 100%;
}

/* --- Forcer le padding sur les boxes mobiles (.order-items / .order-totals) — theme utilise !important --- */
body#order-detail .order-items.box,
body#order-detail .order-totals.box {
  padding: 24px 28px !important;
}

body#order-detail #delivery-address.box,
body#order-detail #invoice-address.box {
  background: #E9DEC9;
  padding: 30px;
}

body#order-detail address {
  font-family: 'Merriweather', serif;
  font-size: 14px;
  line-height: 22px;
  color: #246F30;
  margin: 0;
  font-style: normal;
}

/* --- Tableau produits --- */
body#order-detail .page-order-detail .box:has(#order-products) {
  overflow-x: auto;
}

body#order-detail #order-products tbody td {
  padding: 16px 12px;
}

body#order-detail #order-products tbody td > .row {
  flex-wrap: nowrap;
  align-items: center;
  gap: 16px;
  margin: 0;
}

body#order-detail #order-products tbody td > .row > .col-2 {
  flex: 0 0 auto;
  max-width: none;
  width: auto;
  padding: 0;
}

body#order-detail #order-products tbody td > .row > .col-10 {
  flex: 1;
  max-width: none;
  width: auto;
  padding: 0;
}

body#order-detail #order-products tbody img {
  width: 100px;
  height: 100px;
  max-width: 100px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

body#order-detail #order-products tbody a {
  color: #246F30;
  text-decoration: none;
  font-weight: 700;
}

body#order-detail #order-products tfoot td {
  font-family: 'Merriweather', serif;
  font-size: 15px;
  line-height: 22px;
  color: #246F30;
  background: transparent;
  border: none;
  padding: 8px 12px;
}

body#order-detail #order-products tfoot tr.line-total td {
  font-weight: 700;
  font-size: 18px;
  border-top: 2px solid #246F30;
  padding-top: 16px;
}

/* --- Mobile order-items --- */
body#order-detail .order-items .order-item {
  padding: 14px 0;
  border-bottom: 1px solid rgba(36, 111, 48, 0.15);
}

body#order-detail .order-items .order-item:last-child {
  border-bottom: none;
}

body#order-detail .order-items .name {
  font-family: 'Merriweather', serif;
  font-size: 16px;
  font-weight: 700;
  color: #246F30;
  margin-bottom: 4px;
}

body#order-detail .order-items .ref {
  font-family: 'Merriweather', serif;
  font-size: 13px;
  color: #246F30;
}

body#order-detail .order-items .qty {
  font-family: 'Merriweather', serif;
  font-size: 14px;
  color: #246F30;
  margin-top: 6px;
}

body#order-detail .order-totals .order-total {
  font-family: 'Merriweather', serif;
  font-size: 15px;
  color: #246F30;
  padding: 6px 0;
  margin: 0;
}

body#order-detail .order-totals .order-total:last-child {
  font-weight: 700;
  font-size: 18px;
  border-top: 2px solid #246F30;
  padding-top: 12px;
  margin-top: 6px;
}

/* --- Mobile history-lines & shipping-lines --- */
body#order-detail .history-lines .history-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  font-family: 'Merriweather', serif;
  font-size: 15px;
  color: #246F30;
  border-bottom: 1px solid rgba(36, 111, 48, 0.15);
}

body#order-detail .history-lines .history-line:last-child {
  border-bottom: none;
}

body#order-detail .shipping-lines .shipping-line ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

body#order-detail .shipping-lines .shipping-line li {
  font-family: 'Merriweather', serif;
  font-size: 14px;
  line-height: 22px;
  color: #246F30;
}

body#order-detail .shipping-lines .shipping-line strong {
  font-weight: 700;
  margin-right: 6px;
}

/* --- Formulaire message --- */
body#order-detail .order-message-form .form-group.row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  grid-template-columns: none;
  margin: 0 -15px 16px;
  padding: 0;
}

body#order-detail .order-message-form .form-group.row .form-control-label {
  flex: 0 0 110px;
  max-width: 110px;
  padding: 0 15px;
  text-align: right;
  font-family: 'Merriweather', serif;
  font-weight: 700;
  font-size: 15px;
  color: #246F30;
  margin: 0;
}

body#order-detail .order-message-form .form-group.row > .col-md-5,
body#order-detail .order-message-form .form-group.row > .col-md-9 {
  padding: 0 15px;
  flex: 1;
  max-width: none;
}

body#order-detail .order-message-form textarea.form-control {
  resize: vertical;
  min-height: 90px;
}

body#order-detail .order-message-form header strong {
  font-family: 'Merriweather', serif;
  font-size: 18px;
  font-weight: 700;
  color: #246F30;
  display: block;
  margin-bottom: 12px;
}

body#order-detail .order-message-form header p {
  font-family: 'Merriweather', serif;
  font-size: 14px;
  line-height: 22px;
  color: #246F30;
  margin: 0 0 18px;
}

body#order-detail .order-message-form .form-control-label {
  font-family: 'Merriweather', serif;
  font-weight: 700;
  font-size: 15px;
  color: #246F30;
  padding-top: 10px;
}

body#order-detail .order-message-form .form-control {
  background: #fff;
  border: 1px solid rgba(36, 111, 48, 0.3);
  border-radius: 10px;
  font-family: 'Merriweather', serif;
  font-size: 15px;
  color: #246F30;
  padding: 10px 14px;
}

body#order-detail .order-message-form .form-control-submit {
  background: #F2A5C8;
  border: none;
  border-radius: 33px;
  font-family: 'DynaPuff', sans-serif;
  font-size: 18px;
  line-height: 24px;
  font-weight: 400;
  color: #C84F25;
  padding: 10px 32px;
  text-transform: none;
}

/* ==========================================================================
   PAGE CONNEXION (#authentication)
   ========================================================================== */

/* --- Reset wrappers --- */
body:is(#authentication, #registration, #password) #inner-wrapper {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body:is(#authentication, #registration, #password) #content-wrapper {
  padding: 0;
}

body:is(#authentication, #registration, #password) section#wrapper > .container:not(#inner-wrapper),
body:is(#authentication, #registration, #password) section#wrapper > nav.breadcrumb {
  display: none !important;
}

body:is(#authentication, #registration, #password) #main {
  padding: 50px 80px 80px;
}

/* --- Titre — vert, centré, rotation --- */
body:is(#authentication, #registration, #password) .page-header {
  padding: 0;
  margin: 0;
  border: none;
}

body:is(#authentication, #registration, #password) .page-title {
  color: #5E88B9 !important;
  text-align: center;
  margin: 0 auto 50px;
  display: block;
  background: transparent;
  padding: 0;
  max-width: 1200px;
}

body:is(#authentication, #registration, #password) .page-title span {
  display: inline-block;
  transform: rotate(-4deg);
  transform-origin: center;
}

.page-authentication #content,
.page-customer-account #content {
  padding: 0;
  border: none;
}

/* --- Bloc login / inscription --- */
body:is(#authentication, #registration, #password) .login-form,
body:is(#authentication, #registration, #password) .register-form {
  background: #CAD34F;
  border-radius: 70px 70px 0 70px;
  padding: 50px;
  margin-bottom: 30px;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

body:is(#authentication, #registration, #password) .register-form > p {
  font-family: 'Merriweather', serif;
  color: #246F30;
  margin: 0 0 20px;
}

body:is(#authentication, #registration, #password) .register-form > p a {
  color: #246F30;
  text-decoration: underline;
}

/* --- Page mot de passe oublié --- */
body#password .send-renew-password-link {
  font-family: 'Merriweather', serif;
  color: #246F30;
  margin: 0 auto 20px;
  text-align: center;
  max-width: 1000px;
}

body#password .form-fields {
  background: #CAD34F;
  border-radius: 70px 70px 0 70px;
  padding: 50px;
  margin: 0 auto;
  max-width: 1000px;
}

body#password .form-fields .form-inline {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

body#password .form-fields .form-inline label {
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 18px;
  font-weight: 900;
  color: #246F30;
  text-align: left;
  margin: 0;
}

body#password .form-fields .form-inline input.form-control {
  background-color: transparent !important;
  background-image: linear-gradient(to right, #246F30 50%, transparent 0%) !important;
  background-size: 14px 2px !important;
  background-repeat: repeat-x !important;
  background-position: left bottom !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none;
  padding: 15px 0 !important;
  margin: 0 !important;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 24px;
  color: #246F30;
  width: 100%;
  height: auto;
  min-height: 0;
}

body#password .form-fields .form-inline input.form-control:focus {
  box-shadow: none !important;
  outline: none;
}

body#password #send-reset-link {
  background: #C84F25 !important;
  border: none !important;
  border-radius: 25px !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 20px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  color: #FEEED8 !important;
  height: 50px;
  padding: 0 28px !important;
  margin: 30px auto 0 !important;
  text-decoration: none;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: auto !important;
  text-transform: none !important;
  box-shadow: none !important;
}

body#password #content > hr {
  display: none;
}

body#password #back-to-login {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Merriweather', serif;
  color: #246F30;
  text-decoration: underline;
  margin: 30px auto 0;
  text-align: center;
  width: 100%;
  justify-content: center;
}

body#password #back-to-login i {
  display: none;
}

/* --- Texte d'aide sous l'input (Seules les lettres…) --- */
body:is(#authentication, #registration, #password) .form-group.row .js-input-column > .form-control-comment {
  display: block;
  margin: 10px 0 0;
  padding: 0;
  font-family: 'Merriweather', serif;
  font-size: 14px;
  line-height: 18px;
  color: #246F30;
  text-align: left;
}

/* --- Cases à cocher : pas de margin --- */
body:is(#authentication, #registration, #password) .form-group.row:has(.custom-checkbox) {
  margin-bottom: 0;
}

body:is(#authentication, #registration, #password) .form-group.row:has(.custom-checkbox) > *,
body:is(#authentication, #registration, #password) .form-group.row:has(.radio-inline) > * {
  padding-left: 0;
  padding-right: 0;
}

/* --- Form fields : input style identique aux pages compte --- */
body:is(#authentication, #registration, #password) .form-group.row {
  display: grid;
  grid-template-columns: 1fr;
  align-items: end;
  gap: 4px 0;
  margin: 0 0 25px;
  padding: 0;
  background: none;
}

body:is(#authentication, #registration, #password) .form-group.row .col-form-label {
  grid-column: 1 / -1;
  grid-row: 1;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 18px;
  font-weight: 900;
  color: #246F30;
  text-align: left;
}

body:is(#authentication, #registration, #password) .form-group.row .js-input-column {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
}

body:is(#authentication, #registration, #password) .form-group.row .form-control-comment {
  display: none;
}

body:is(#authentication, #registration, #password) .form-group.row .form-control {
  background-color: transparent !important;
  background-image: linear-gradient(to right, #246F30 50%, transparent 0%) !important;
  background-size: 14px 2px !important;
  background-repeat: repeat-x !important;
  background-position: left bottom !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none;
  padding: 15px 0 !important;
  margin: 0;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 24px;
  color: #246F30;
  width: 100%;
  height: auto;
  min-height: 0;
}

body:is(#authentication, #registration, #password) .form-group.row .form-control:focus {
  box-shadow: none !important;
  outline: none;
}

/* --- Champs password : bouton afficher/masquer à droite --- */
body:is(#authentication, #registration, #password) .form-group.row .input-group {
  display: flex;
  flex-wrap: nowrap;
  align-items: end;
  width: 100%;
  background-image: linear-gradient(to right, #246F30 50%, transparent 0%);
  background-size: 14px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
}

body:is(#authentication, #registration, #password) .form-group.row .input-group .form-control {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  background-image: none !important;
  padding-bottom: 15px !important;
}

body:is(#authentication, #registration, #password) .form-group.row .input-group-append {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  margin: 0 0 8px 10px;
}

body:is(#authentication, #registration, #password) .form-group.row .input-group-append .btn[data-action="show-password"] {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 4px 6px;
  margin: 0;
  color: #246F30;
  font-size: 16px;
  line-height: 1;
}

/* --- Mot de passe oublié --- */
body:is(#authentication, #registration, #password) .forgot-password {
  margin-top: 15px;
  font-family: 'Merriweather', serif;
  font-size: 0.875rem;
}

body:is(#authentication, #registration, #password) .forgot-password a {
  color: #246F30;
  text-decoration: underline;
}

/* --- Bouton Connexion : style "Ajouter au panier" avec piment --- */
body:is(#authentication, #registration, #password) .form-footer {
  text-align: center;
  margin-top: 30px;
  padding: 0;
  border: none;
}

body:is(#authentication, #registration, #password) #submit-login,
body:is(#authentication, #registration, #password) .form-control-submit {
  background: #C84F25 !important;
  border: none !important;
  border-radius: 25px !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 20px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  color: #FEEED8 !important;
  height: 50px;
  padding: 0 28px !important;
  text-decoration: none;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-transform: none;
  box-shadow: none !important;
}

/* --- Séparateur masqué --- */
body:is(#authentication, #registration, #password) #content > hr {
  display: none;
}

body:is(#authentication, #registration, #password) .no-account {
  text-align: center;
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  margin-top: 20px;
}

body:is(#authentication, #registration, #password) .no-account a {
  color: #246F30;
  text-decoration: underline;
}

/* ==========================================================================
   MODAL WISHLIST (login obligatoire)
   ========================================================================== */

#iqitwishlist-modal .modal-dialog {
  max-width: 600px;
}

#iqitwishlist-modal .modal-content {
  background: #CAD34F;
  border: none;
  border-radius: 70px 70px 0 70px;
  padding: 30px 35px 40px;
}

#iqitwishlist-modal .modal-header {
  border: none;
  padding: 0 0 20px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

#iqitwishlist-modal .modal-title {
  font-family: 'Climate Crisis', sans-serif;
  font-size: 26px;
  line-height: 32px;
  font-weight: 400;
  color: #246F30;
}

#iqitwishlist-modal .modal-header .close {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  font-size: 30px;
  line-height: 1;
  color: #246F30;
  opacity: 1;
  text-shadow: none;
  flex: 0 0 auto;
}

#iqitwishlist-modal .modal-body {
  padding: 0;
}

#iqitwishlist-modal .login-form {
  background: transparent;
  border-radius: 0;
  padding: 0;
  margin: 0;
}

#iqitwishlist-modal .login-form > p {
  font-family: 'Merriweather', serif;
  font-size: 15px;
  line-height: 22px;
  color: #246F30;
  margin: 0 0 25px;
}

/* Form rows : label au-dessus de l'input, comme la page connexion */
#iqitwishlist-modal .form-group.row {
  display: grid;
  grid-template-columns: 1fr;
  align-items: end;
  gap: 4px 0;
  margin: 0 0 25px;
  padding: 0;
  background: none;
}

#iqitwishlist-modal .form-group.row .col-form-label {
  grid-column: 1 / -1;
  grid-row: 1;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 18px;
  font-weight: 900;
  color: #246F30;
  text-align: left;
}

#iqitwishlist-modal .form-group.row .js-input-column {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
}

#iqitwishlist-modal .form-group.row .form-control {
  background-color: transparent !important;
  background-image: linear-gradient(to right, #246F30 50%, transparent 0%) !important;
  background-size: 14px 2px !important;
  background-repeat: repeat-x !important;
  background-position: left bottom !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none;
  padding: 15px 0 !important;
  margin: 0;
  font-family: 'Merriweather', serif;
  font-size: 16px;
  line-height: 24px;
  color: #246F30;
  width: 100%;
  height: auto;
  min-height: 0;
}

#iqitwishlist-modal .form-group.row .form-control:focus {
  box-shadow: none !important;
  outline: none;
}

/* Password show/hide */
#iqitwishlist-modal .form-group.row .input-group {
  display: flex;
  flex-wrap: nowrap;
  align-items: end;
  width: 100%;
  background-image: linear-gradient(to right, #246F30 50%, transparent 0%);
  background-size: 14px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
}

#iqitwishlist-modal .form-group.row .input-group .form-control {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  background-image: none !important;
  padding-bottom: 15px !important;
}

#iqitwishlist-modal .form-group.row .input-group-append {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  margin: 0 0 8px 10px;
}

#iqitwishlist-modal .form-group.row .input-group-append .btn[data-action="show-password"] {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 4px 6px;
  margin: 0;
  color: #246F30;
  font-size: 16px;
  line-height: 1;
}

/* Mot de passe oublié */
#iqitwishlist-modal .forgot-password {
  margin-top: 15px;
  font-family: 'Merriweather', serif;
  font-size: 0.875rem;
}

#iqitwishlist-modal .forgot-password a {
  color: #246F30;
  text-decoration: underline;
}

/* Bouton Connexion */
#iqitwishlist-modal .form-footer {
  text-align: center;
  margin-top: 30px;
  padding: 0;
  border: none;
}

#iqitwishlist-modal #submit-login,
#iqitwishlist-modal .form-control-submit {
  background: #C84F25 !important;
  border: none !important;
  border-radius: 25px !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 20px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  color: #FEEED8 !important;
  height: 50px;
  padding: 0 28px !important;
  margin-bottom: 25px;
  text-decoration: none;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-transform: none;
  box-shadow: none !important;
}

/* Séparateur HR : caché */
#iqitwishlist-modal .modal-body > hr {
  display: none;
}

/* ==========================================================================
   MODAL SUCCÈS CARTE CADEAU AJOUTÉE
   ========================================================================== */

/* Wrapper fancybox : reset + container brand */
.fancybox-wrap:has(#gc-success-modal) .fancybox-skin,
.fancybox-wrap:has(#gc-success-modal) .fancybox-outer,
.fancybox-wrap:has(#gc-success-modal) .fancybox-inner {
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
}

#gc-success-modal {
  background: #CAD34F;
  border-radius: 70px 70px 0 70px;
  padding: 30px 35px 40px;
  font-family: 'Merriweather', serif;
  color: #246F30;
}

/* Header */
#gc-success-modal .gcsm-header {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 0 25px;
}

#gc-success-modal .gcsm-header h4 {
  font-family: 'Climate Crisis', sans-serif;
  font-size: 24px;
  line-height: 30px;
  font-weight: 400;
  color: #246F30;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

#gc-success-modal .gcsm-header h4 i {
  display: none;
}

/* Body */
#gc-success-modal .gcsm-body {
  background: transparent !important;
  padding: 0 !important;
}

#gc-success-modal .gcsmb-left {
  display: flex;
  align-items: center;
  border-right: none !important;
  background-image: linear-gradient(to bottom, #246F30 50%, transparent 0%);
  background-size: 2px 14px;
  background-repeat: repeat-y;
  background-position: right top;
}

#gc-success-modal .gcsmb-left > .row {
  align-items: center;
  width: 100%;
  margin: 0;
}

#gc-success-modal .gcsm-body > .row > .col-md-6:last-child {
  padding-left: 35px;
}

#gc-success-modal .gcsmb-left img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

#gc-success-modal .gcsmb-left p,
#gc-success-modal .gcsm-cart-summary p {
  font-family: 'Merriweather', serif;
  font-size: 15px;
  line-height: 22px;
  color: #246F30;
  margin: 0 0 6px;
}

#gc-success-modal .gcsmb-left p strong,
#gc-success-modal .gcsm-cart-summary p strong {
  font-weight: 700;
}

/* Cart summary */
#gc-success-modal .gcsm-cart-summary {
  background: transparent;
  padding: 0;
}

#gc-success-modal .gcsm-cart-summary .cart-products-count {
  font-family: 'Merriweather', serif;
  font-size: 16px;
  font-weight: 700;
  color: #246F30;
  margin: 0 0 12px;
}

/* Boutons */
#gc-success-modal .gcsm-cart-summary .btn-secondary,
#gc-success-modal .gcsm-cart-summary .btn-primary {
  border: none !important;
  border-radius: 25px !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 18px !important;
  line-height: 22px !important;
  font-weight: 400 !important;
  height: 48px;
  padding: 0 24px !important;
  text-decoration: none;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-transform: none;
  box-shadow: none !important;
  margin-top: 18px;
  margin-right: 10px;
}

#gc-success-modal .gcsm-cart-summary .btn-secondary {
  background: #7898BD !important;
  color: #FAEED8 !important;
}

#gc-success-modal .gcsm-cart-summary .btn-primary {
  background: #F2A5C8 !important;
  border: none !important;
  border-radius: 33px !important;
  font-family: 'DynaPuff', sans-serif !important;
  font-size: 1.75rem !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: #C84F25 !important;
  padding: 12px 30px 12px 80px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 280px !important;
  height: auto !important;
  position: relative;
  overflow: visible;
  box-shadow: none !important;
  text-transform: none;
  text-decoration: none;
}

#gc-success-modal .gcsm-cart-summary .btn-primary i {
  display: none;
}

#gc-success-modal .gcsm-cart-summary .btn-primary::before {
  content: '';
  position: absolute;
  left: 20px;
  bottom: -10px;
  width: 65px;
  height: 65px;
  background-image: url('/img/cms/Icones/piment.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Bouton close fancybox */
.fancybox-wrap:has(#gc-success-modal) .fancybox-close {
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  top: 18px;
  right: 40px;
}

.fancybox-wrap:has(#gc-success-modal) .fancybox-close::before {
  content: '×';
  font-family: sans-serif;
  font-size: 32px;
  line-height: 1;
  color: #246F30;
  display: block;
  text-align: center;
}

/* Lien "Pas de compte ?" */
#iqitwishlist-modal .no-account {
  text-align: center;
  font-family: 'Merriweather', serif;
  font-size: 1rem;
}

#iqitwishlist-modal .no-account a {
  color: #246F30;
  text-decoration: underline;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */

/* --- Boutons catégories --- */
/* --- Vague décorative au-dessus du footer --- */
#footer {
  margin-top: 75px;
}

.footer-section-top {
  position: relative;
}

.footer-section-top::before {
  content: '';
  position: relative;
  top: -75px;
  left: 0;
  right: 0;
  height: 190px;
  background-image: url('/img/cms/Formes/footer-design%202.svg');
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  background-position: top left;
  display: block;
  margin-bottom: -50px;
}

.footer-section-top .elementor-container {
  padding: 0 30px;
}

.footer-section-top .elementor-row {
  gap: 90px;
  align-items: center;
}

.footer-column-top-left .elementor-image {
  text-align: center;
}

.footer-column-top-left .elementor-image img {
  width: 388px;
  max-width: 100% !important;
}

.footer-column-top-right {
  padding-top: 50px;
}

.footer-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: flex-start;
}

.footer-cat-btn {
  font-family: 'DynaPuff', sans-serif;
  font-size: 1.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0 30px;
  height: 61px;
  line-height: 61px;
  border-radius: 0;
  display: inline-block;
  transform: skewX(-8deg);
}

.footer-cat-btn span {
  display: inline-block;
  transform: skewX(8deg);
}

#footer-container-main .footer-cat-entree {
  background: #CAD34F;
  color: #5E88B9;
}

#footer-container-main .footer-cat-salon {
  background: #C84F25;
  color: #FEEED8;
}

#footer-container-main .footer-cat-cuisine {
  background: #1E6E30;
  color: #CAD34F;
}

#footer-container-main .footer-cat-sdb {
  background: #5E88B9;
  color: #F2A5C8;
}

#footer-container-main .footer-cat-dressing {
  background: #FEEED8;
  color: #1E6E30;
}

#footer-container-main .footer-cat-balcon {
  background: #FEEED8;
  color: #5E88B9;
}

#footer-container-main .footer-cat-cadeaux {
  background: #CAD34F;
  color: #C84F25;
}

#footer-container-main .footer-cat-entree:hover { color: #5E88B9; }
#footer-container-main .footer-cat-salon:hover { color: #FEEED8; }
#footer-container-main .footer-cat-cuisine:hover { color: #CAD34F; }
#footer-container-main .footer-cat-sdb:hover { color: #F2A5C8; }
#footer-container-main .footer-cat-dressing:hover { color: #1E6E30; }
#footer-container-main .footer-cat-balcon:hover { color: #5E88B9; }
#footer-container-main .footer-cat-cadeaux:hover { color: #C84F25; }

/* --- Liens légaux footer --- */
.footer-legal {
  margin-top: 20px;
  font-family: 'DM Serif Text', serif;
  font-size: 0.875rem;
  font-weight: 400;
}

.footer-legal a {
  text-decoration: none;
}

.footer-legal-sep {
  margin: 0 10px;
}

/* --- Liens footer bas --- */

.footer-section-bottom {
  background-color: transparent !important;
}

.footer-section-bottom .elementor-row {
  align-items: center;
}

.footer-links {
  display: flex;
  gap: 25px;
}

.footer-links-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#footer-container-main .footer-links-col a {
  font-family: 'Merriweather', serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #1E6E30;
  text-decoration: none;
  line-height: 1.4;
}

/* --- Contact footer bas droite --- */
.footer-contact {
  background-image: url('/img/cms/Formes/papier-bottom-right.png');
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  padding: 120px 80px 80px 120px;
  width: 730px;
  max-width: 100%;
}

.footer-contact-inner {
  display: flex;
  flex-direction: column;
  gap: 20px;
  transform: rotate(4deg);
}

#footer-container-main .footer-contact-item {
  display: flex;
  align-items: center;
  gap: 25px;
  text-decoration: none;
  color: #1E6E30;
  font-family: 'Asset', sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
}

.footer-contact-icon {
  width: 69px;
  height: 64px;
}

/* ==========================================================================
   RUBAN ACCUEIL (marquee + damier)
   ========================================================================== */

.ribbon-section {
  transform: rotate(-2deg);
  width: 110%;
  margin-left: -5%;
  overflow: hidden;
}

.ribbon-top {
  position: relative;
  z-index: 2;
  background: #1E6E30;
  padding: 15px 0;
  overflow: hidden;
}

.ribbon-marquee {
  display: flex;
  overflow: hidden;
  white-space: nowrap;
}

.ribbon-marquee-track {
  display: flex;
  width: max-content;
  animation: ribbon-scroll 40s linear infinite;
  gap: 60px;
  padding-right: 60px;
}

.ribbon-item {
  font-family: 'Merriweather', serif;
  font-size: 1rem;
  font-weight: 700;
  color: #FEEED8;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.ribbon-item img {
  width: 24px;
  height: 24px;
}

@keyframes ribbon-scroll {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}

.ribbon-bottom {
  position: relative;
  z-index: 1;
  margin-top: -1px;
  height: 80px;
  background-image: url('/img/cms/Formes/damier-rose-repeat.jpg');
  background-repeat: repeat-x;
  background-size: auto 100%;
}

/* ==========================================================================
   SLIDER PRODUITS - FLECHES CUSTOM
   ========================================================================== */

.swiper-products-carousel + .swiper-button-prev,
.swiper-products-carousel + .swiper-button-next,
.swiper-products-carousel ~ .swiper-button-prev,
.swiper-products-carousel ~ .swiper-button-next,
.elementor-products-carousel .swiper-button-prev,
.elementor-products-carousel .swiper-button-next,
.swiper-container-wrapper .swiper-button-prev,
.swiper-container-wrapper .swiper-button-next {
  width: 40px;
  height: 40px;
  opacity: 1;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.swiper-products-carousel + .swiper-button-prev,
.swiper-products-carousel ~ .swiper-button-prev,
.elementor-products-carousel .swiper-button-prev,
.swiper-container-wrapper .swiper-button-prev {
  background-image: url('https://www.cherecolette.fr/img/cms/Icones/fleche-left-slider.svg');
  left: -20px;
  right: auto;
}

.swiper-products-carousel + .swiper-button-next,
.swiper-products-carousel ~ .swiper-button-next,
.elementor-products-carousel .swiper-button-next,
.swiper-container-wrapper .swiper-button-next {
  background-image: url('https://www.cherecolette.fr/img/cms/Icones/fleche-right-slider.svg');
  right: -20px;
  left: auto;
}

/* --- Flèches sliders page produit : décalées à 18px du bord --- */
body#product .product-accessories .swiper-container-wrapper .swiper-button-prev,
body#product .category-products .swiper-container-wrapper .swiper-button-prev,
body#product .category-products .block-content .swiper-button-prev,
body#product .productscategory .swiper-container-wrapper .swiper-button-prev,
body#product section[class*="crossselling"] .swiper-container-wrapper .swiper-button-prev {
  left: 18px;
  right: auto;
}

body#product .product-accessories .swiper-container-wrapper .swiper-button-next,
body#product .category-products .swiper-container-wrapper .swiper-button-next,
body#product .category-products .block-content .swiper-button-next,
body#product .productscategory .swiper-container-wrapper .swiper-button-next,
body#product section[class*="crossselling"] .swiper-container-wrapper .swiper-button-next {
  right: 18px;
  left: auto;
}

.swiper-container-wrapper .swiper-button-prev:after,
.swiper-container-wrapper .swiper-button-next:after,
.elementor-products-carousel .swiper-button-prev:after,
.elementor-products-carousel .swiper-button-next:after {
  content: none;
}

.swiper-container-wrapper .swiper-button-prev.swiper-button-disabled,
.swiper-container-wrapper .swiper-button-next.swiper-button-disabled,
.elementor-products-carousel .swiper-button-prev.swiper-button-disabled,
.elementor-products-carousel .swiper-button-next.swiper-button-disabled {
  opacity: 0.2;
}

.elementor-products .swiper-container-wrapper {
  margin-left: -40px;
  margin-right: -40px;
}

.swiper-products-carousel .swiper-slide .js-product-miniature-wrapper {
  padding: 0 40px;
}

.swiper-products-carousel .product-miniature .thumbnail-container img,
.swiper-products-carousel .product-miniature .thumbnail-container picture {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
}

.swiper-products-carousel .product-miniature .product-title,
.swiper-products-carousel .product-miniature .product-title a,
.swiper-products-carousel .product-miniature .product-price {
  font-family: 'DM Serif Text', serif;
  font-size: 16px;
  font-weight: 400;
}

.products-grid .product-miniature-layout-1 .product-description {
  margin-top: 10px;
  padding-bottom: 0;
}

.products-grid .product-miniature-layout-1 .product-price-and-shipping {
  padding-bottom: 0;
}

.product-miniature .product-functional-buttons-bottom {
  display: none !important;
}

.product-miniature .product-flags {
  position: absolute;
  top: 20px;
  right: 20px;
  left: auto;
  bottom: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: right;
}

.product-miniature .product-flags .product-flag {
  font-family: 'Merriweather', serif;
  font-size: 16px;
  font-weight: 900;
  line-height: 20px;
}

.product-miniature .product-flags .product-flag.new {
  background: #C84F25;
  color: #F2A5C8;
}

/* ==========================================================================
   SECTION NEWSLETTER ACCUEIL
   ========================================================================== */

.colmumn-left-newsletter.elementor-col-50 {
  width: 55%;
  padding-right: 30px;
}

.column-right-newsletter.elementor-col-50 {
  width: 45%;
  padding-left: 10px;
}

.column-right-newsletter > .elementor-column-wrap,
.column-right-newsletter > .elementor-column-wrap > .elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.colmumn-left-newsletter > .elementor-column-wrap,
.colmumn-left-newsletter > .elementor-column-wrap > .elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

/* ==========================================================================
   CATEGORIES UNIVERS (hexagones + noms)
   ========================================================================== */

.categories-univers {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 30px;
}

.categorie-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  text-align: center;
}

.categorie-image {
  max-width: 100%;
  height: auto;
  margin: auto 0;
  transition: transform 0.3s ease;
}

.categorie-item:hover .categorie-image {
  transform: rotate(7deg);
}

.categorie-label {
  position: relative;
  margin-top: 50px;
  font-family: 'Meow Script', cursive;
  font-size: 60px;
  line-height: 1;
  font-weight: 400;
  color: #FEEED8;
  padding-bottom: 8px;
}

.categorie-label::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 40px;
  height: 8px;
  background-image: url('https://www.cherecolette.fr/img/cms/Formes/soulignement.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.categorie-item:hover .categorie-label::after {
  opacity: 1;
}

/* Slider Swiper pour categories-univers */
.categories-univers-slider-wrapper {
  position: relative;
}

.categories-univers-swiper {
  overflow: hidden;
}

.categories-univers-swiper .swiper-wrapper {
  align-items: stretch;
}

.categories-univers-swiper .categorie-item {
  height: auto;
}

.categories-univers-prev,
.categories-univers-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  z-index: 10;
  cursor: pointer;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 1;
  margin: 0;
}

.categories-univers-prev {
  left: -90px;
  background-image: url('https://www.cherecolette.fr/img/cms/Icones/fleche-left-slider.svg');
}

.categories-univers-next {
  right: -90px;
  background-image: url('https://www.cherecolette.fr/img/cms/Icones/fleche-right-slider.svg');
}

.categories-univers-prev::after,
.categories-univers-next::after {
  content: none;
}

.categories-univers-prev.swiper-button-disabled,
.categories-univers-next.swiper-button-disabled {
  opacity: 0.2;
}

/* Coups de coeur - image colonne droite pleine hauteur */
.section-coups-de-coeur .coup-de-coeur-left ~ .elementor-column .elementor-widget-image,
.section-coups-de-coeur .coup-de-coeur-left ~ .elementor-column .elementor-widget-image .elementor-widget-container,
.section-coups-de-coeur .coup-de-coeur-left ~ .elementor-column .elementor-image {
  height: 100%;
}

.section-coups-de-coeur .coup-de-coeur-left ~ .elementor-column .elementor-image img {
  height: 100%;
  width: 100%;
  max-height: 100vh;
  object-fit: cover;
}

/* Coups de coeur - colonne gauche centrée verticalement */
.coup-de-coeur-left > .elementor-column-wrap,
.coup-de-coeur-left > .elementor-column-wrap > .elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

/* ==========================================================================
   SECTION DECO COLETTE
   ========================================================================== */

.deco-colette-column-left > .elementor-column-wrap,
.deco-colette-column-left > .elementor-column-wrap > .elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.deco-colette-column-left-text-top-top {
  max-width: 520px;
}

.deco-colette-column-left-text-top .elementor-text-editor,
.deco-colette-column-left-text-top p {
  font-family: 'Meow Script', cursive;
  font-size: 40px;
  line-height: 42px;
  font-weight: 400;
}

.deco-colette-column-left-text-bottom {
  margin-top: 20px;
}

.deco-colette-column-right {
  position: relative;
}

.decouvre-univers-forme {
  position: absolute;
  top: 80px;
  right: 80px;
  width: 270px;
  height: 270px;
  z-index: 2;
  animation: decouvre-univers-rotate 20s linear infinite;
}

.decouvre-univers-forme .elementor-image,
.decouvre-univers-forme .elementor-image img {
  width: 100%;
  height: 100%;
}

@keyframes decouvre-univers-rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.deco-colette-column-right .elementor-widget-image:not(.decouvre-univers-forme),
.deco-colette-column-right .elementor-widget-image:not(.decouvre-univers-forme) .elementor-widget-container,
.deco-colette-column-right .elementor-widget-image:not(.decouvre-univers-forme) .elementor-image {
  height: 100%;
}

.deco-colette-column-right .elementor-widget-image:not(.decouvre-univers-forme) .elementor-image img {
  height: 100%;
  width: 100%;
  max-height: 100vh;
  object-fit: cover;
}

/* ==========================================================================
   SECTION RESEAUX SOCIAUX
   ========================================================================== */

.reseaux-sociaux-column-left.elementor-col-50 {
  width: 65%;
  padding-right: 55px;
}

.reseaux-sociaux-column-right.elementor-col-50 {
  width: 35%;
  padding-left: 55px;
}

.reseaux-sociaux-column-left > .elementor-column-wrap > .elementor-widget-wrap {
  display: flex;
  flex-direction: row;
  gap: 20px;
}

.reseaux-sociaux-column-left > .elementor-column-wrap > .elementor-widget-wrap > .elementor-widget-image {
  flex: 1;
}

.reseaux-sociaux-column-left > .elementor-column-wrap,
.reseaux-sociaux-column-left > .elementor-column-wrap > .elementor-widget-wrap {
  height: 100%;
}

.reseaux-sociaux-column-left .elementor-widget-image,
.reseaux-sociaux-column-left .elementor-widget-image .elementor-widget-container,
.reseaux-sociaux-column-left .elementor-widget-image .elementor-image {
  width: 100%;
  height: 100%;
}

.reseaux-sociaux-column-left .elementor-widget-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.reseaux-sociaux-column-right > .elementor-column-wrap,
.reseaux-sociaux-column-right > .elementor-column-wrap > .elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.reseaux-sociaux-column-right-section-top .elementor-widget-wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.reseaux-sociaux-column-right-section-top .elementor-widget-heading {
  flex: 0 1 auto;
  min-width: 0;
  margin: 0;
  display: flex;
  align-items: center;
}

.reseaux-sociaux-column-right-section-top .elementor-widget-image {
  width: auto;
  flex: 0 0 auto;
  margin: 0;
  display: flex;
  align-items: center;
}

.reseaux-sociaux-column-right-section-top .elementor-heading-title {
  margin: 0;
  line-height: 1.2;
  white-space: normal;
}

.deco-colette-column-left-text-bottom .elementor-text-editor,
.deco-colette-column-left-text-bottom p {
  font-family: 'Climate Crisis', sans-serif;
  font-size: 88px;
  line-height: 100px;
  font-weight: 400;
}

.colette-newsletter .elementor-text-editor,
.colette-newsletter p {
  font-family: 'Climate Crisis', sans-serif;
  font-size: 40px;
  line-height: 42px;
  color: #C84F25;
}

.texte-newsletter {
  margin-top: 40px;
}

.texte-newsletter .elementor-text-editor,
.texte-newsletter p {
  font-family: 'Meow Script', cursive;
  font-size: 40px;
  line-height: 42px;
  color: #1E6E30;
}

.texte-newsletter span[style*="underline"] {
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 6px;
}

/* --- Formulaire newsletter (ps_emailsubscription) --- */
.ps-emailsubscription-block {
  margin-top: 40px;
}

.ps-emailsubscription-block form {
  display: flex;
  flex-direction: column;
}

.ps-emailsubscription-block .newsletter-input-group {
  display: contents;
}

.ps-emailsubscription-block .input-subscription {
  order: 1;
  width: 100%;
  border: 4px dashed #1E6E30;
  background: transparent;
  padding: 14px 22px;
  font-family: 'Merriweather', serif;
  font-weight: 700;
  font-size: 20px;
  color: #1E6E30;
  border-radius: 0;
  box-shadow: none;
  height: auto;
}

.ps-emailsubscription-block .input-subscription::placeholder {
  color: #1E6E30;
  opacity: 1;
}

.ps-emailsubscription-block .input-subscription:focus {
  outline: none;
  box-shadow: none;
  border-color: #1E6E30;
  background: transparent;
}

.ps-emailsubscription-block .input-group-append {
  order: 3;
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
  float: none;
}

/* --- Consentement RGPD dans le bloc newsletter accueil --- */
.ps-emailsubscription-block form > .mt-2.text-muted,
.ps-emailsubscription-block form > div:has([id^="gdpr_consent_"]),
.ps-emailsubscription-block form > div:has([class*="gdpr_module_"]) {
  order: 2 !important;
  margin: 15px 0 !important;
  color: #1E6E30 !important;
  width: 100%;
  opacity: 1 !important;
}

.ps-emailsubscription-block .text-muted {
  color: #1E6E30 !important;
  opacity: 1 !important;
}

.ps-emailsubscription-block [id^="gdpr_consent_"],
.ps-emailsubscription-block [class*="gdpr_module_"] {
  margin: 0;
  color: #1E6E30;
}

.ps-emailsubscription-block .custom-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ps-emailsubscription-block .psgdpr_consent_message {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #1E6E30;
  font-family: 'Merriweather', serif;
  font-size: 14px;
  line-height: 18px;
  font-weight: 600;
}

.ps-emailsubscription-block .psgdpr_consent_message span,
.ps-emailsubscription-block .psgdpr_consent_message a {
  color: #1E6E30;
  font-weight: 600;
}

.ps-emailsubscription-block .psgdpr_consent_message a {
  text-decoration: underline;
}

/* Masquer la vraie checkbox (elle garde son rôle d'accessibilité via le label) */
.ps-emailsubscription-block .psgdpr_consent_message input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
  pointer-events: none;
}

.ps-emailsubscription-block .psgdpr_consent_checkbox_span {
  border: 2px solid #1E6E30;
  background: transparent;
  box-shadow: none;
  border-radius: 3px;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  margin: 0;
}

.ps-emailsubscription-block .psgdpr_consent_icon {
  color: #1E6E30;
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  width: 100% !important;
  height: 100% !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
}

.ps-emailsubscription-block input[type="checkbox"]:checked ~ .psgdpr_consent_checkbox_span .psgdpr_consent_icon,
.ps-emailsubscription-block input[type="checkbox"]:checked + .psgdpr_consent_checkbox_span .psgdpr_consent_icon {
  display: flex !important;
}

.ps-emailsubscription-block .btn-subscribe {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #F2A5C8 !important;
  color: #C84F25 !important;
  font-family: 'DynaPuff', sans-serif;
  font-weight: 700;
  font-size: 28px;
  padding: 15px 30px;
  border-radius: 999px;
  border: none;
  width: auto;
  height: auto;
  line-height: 1;
  text-transform: none;
}

.ps-emailsubscription-block .btn-subscribe i {
  display: none;
}

.ps-emailsubscription-block .btn-subscribe::before {
  content: "S'inscrire à la Newsletter";
}

.ps-emailsubscription-block .ps-emailsubscription-conditions {
  order: 2;
  width: 100%;
  color: #1E6E30;
  font-family: 'Merriweather', serif;
  font-size: 14px;
  margin-top: 15px !important;
}

/* Consentement RGPD dans le formulaire newsletter */
.ps-emailsubscription-block form > .mt-2.text-muted {
  order: 4;
  width: 100%;
  margin: 15px 0 !important;
  color: #1E6E30;
}

.ps-emailsubscription-block [id^="gdpr_consent_"],
.ps-emailsubscription-block [class*="gdpr_module_"] {
  margin: 0;
  color: #1E6E30;
}

.ps-emailsubscription-block .psgdpr_consent_message {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #1E6E30;
  font-family: 'Merriweather', serif;
  font-size: 14px;
  line-height: 18px;
  font-weight: 600;
}

.ps-emailsubscription-block .psgdpr_consent_message span,
.ps-emailsubscription-block .psgdpr_consent_message a {
  color: #1E6E30;
  font-weight: 600;
}

.ps-emailsubscription-block .psgdpr_consent_message a {
  text-decoration: underline;
}

.ps-emailsubscription-block .psgdpr_consent_message input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}

.ps-emailsubscription-block .psgdpr_consent_checkbox_span {
  border: 2px solid #1E6E30;
  background: transparent;
  box-shadow: none;
  border-radius: 3px;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  margin: 0;
}

.ps-emailsubscription-block .psgdpr_consent_icon {
  color: #1E6E30;
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  width: 100% !important;
  height: 100% !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
}

.ps-emailsubscription-block input[type="checkbox"]:checked ~ .psgdpr_consent_checkbox_span .psgdpr_consent_icon,
.ps-emailsubscription-block input[type="checkbox"]:checked + .psgdpr_consent_checkbox_span .psgdpr_consent_icon {
  display: flex !important;
}

/* --- Badge "Plus de couleurs" sur les miniatures produit --- */
.thumbnail-container {
  position: relative;
}

.product-multicolor-badge {
  position: absolute;
  bottom: 20px;
  left: 20px;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #458527;
  color: #FAEED8;
  font-family: 'DM Serif Text', serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  padding: 5px;
  pointer-events: none;
}

.product-multicolor-badge__icon {
  display: inline-block;
  width: 27px;
  height: 27px;
  background-image: url('/img/cms/Formes/degrade-couleurs.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}

.product-multicolor-badge__label {
  white-space: nowrap;
}

/* ==========================================================================
   POPUP NEWSLETTER (#iqitpopup)
   ========================================================================== */

/* --- Barre du haut : "Ne plus montrer" + bouton fermer --- */
#iqitpopup .iqitpopup-close {
  position: absolute;
  top: -36px;
  right: 0;
  height: 29px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  background: transparent;
  padding: 0;
  border: none;
}

#iqitpopup .iqit-close-checkbox {
  background: #FAEED8;
  border-radius: 25px;
  padding: 8px 40px 8px 18px;
  display: inline-flex;
  align-items: center;
  border: none;
  box-shadow: none;
  height: 32px;
}

#iqitpopup .iqit-close-checkbox .custom-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  position: relative;
}

#iqitpopup .iqit-close-checkbox .custom-checkbox input[type="checkbox"] {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  opacity: 0;
  width: 18px;
  height: 18px;
  margin: 0;
  cursor: pointer;
  z-index: 1;
}

#iqitpopup .iqit-close-checkbox .custom-checkbox > span:first-of-type {
  border: 2px solid #1E6E30;
  background: transparent;
  border-radius: 3px;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  margin: 0;
  position: static;
}

#iqitpopup .iqit-close-checkbox .custom-checkbox .checkbox-checked {
  color: #1E6E30;
  font-size: 12px;
  line-height: 1;
  display: none;
  position: static !important;
  top: auto !important;
  left: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

#iqitpopup .iqit-close-checkbox .custom-checkbox input[type="checkbox"]:checked ~ span:first-of-type .checkbox-checked,
#iqitpopup .iqit-close-checkbox .custom-checkbox input[type="checkbox"]:checked + span .checkbox-checked {
  display: inline-flex;
}

#iqitpopup .iqit-close-checkbox .custom-checkbox label {
  font-family: 'Merriweather', serif;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  color: #1E6E30;
  margin: 0;
  padding: 0;
  cursor: pointer;
  text-transform: none;
}

#iqitpopup .iqit-close-popup {
  background: #1E6E30;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: none;
  position: absolute;
  top: -1.5px;
  right: -1px;
}

#iqitpopup .iqit-close-popup .cross {
  position: relative;
  width: 14px;
  height: 14px;
  display: inline-block;
  background: transparent;
}

#iqitpopup .iqit-close-popup .cross::before,
#iqitpopup .iqit-close-popup .cross::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background: #FAEED8;
  border-radius: 2px;
}

#iqitpopup .iqit-close-popup .cross::before {
  transform: translateY(-50%) rotate(45deg);
}

#iqitpopup .iqit-close-popup .cross::after {
  transform: translateY(-50%) rotate(-45deg);
}

#iqitpopup .iqitpopup-newsletter-form {
  background: #FAEED8;
  padding: 30px 50px 40px;
}

#iqitpopup .iqitpopup-newsletter-form .row,
#iqitpopup .iqitpopup-newsletter-form .row > [class*="col-"] {
  margin: 0;
  padding: 0;
}

#iqitpopup .iqitpopup-newsletter-form form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  margin: 0;
  width: 100%;
  flex-wrap: wrap;
  justify-content: flex-start !important;
}

#iqitpopup .iqitpopup-newsletter-form .inputNew,
#iqitpopup .iqitpopup-newsletter-form .newsletter-input {
  order: 1;
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
  border: 4px dashed #1E6E30 !important;
  background: transparent !important;
  padding: 14px 22px !important;
  font-family: 'Merriweather', serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: #1E6E30 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: auto !important;
  margin: 0 !important;
}

#iqitpopup .iqitpopup-newsletter-form .inputNew::placeholder,
#iqitpopup .iqitpopup-newsletter-form .newsletter-input::placeholder {
  color: #1E6E30 !important;
  opacity: 1 !important;
}

#iqitpopup .iqitpopup-newsletter-form .inputNew::-webkit-input-placeholder,
#iqitpopup .iqitpopup-newsletter-form .newsletter-input::-webkit-input-placeholder {
  color: #1E6E30 !important;
  opacity: 1 !important;
}

#iqitpopup .iqitpopup-newsletter-form .inputNew::-moz-placeholder,
#iqitpopup .iqitpopup-newsletter-form .newsletter-input::-moz-placeholder {
  color: #1E6E30 !important;
  opacity: 1 !important;
}

#iqitpopup .iqitpopup-newsletter-form .inputNew:focus,
#iqitpopup .iqitpopup-newsletter-form .newsletter-input:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: #1E6E30 !important;
  background: transparent !important;
  color: #1E6E30 !important;
}

#iqitpopup .iqitpopup-newsletter-form .col-12.text-center.mt-3,
#iqitpopup .iqitpopup-newsletter-form .col-12.text-muted {
  order: 2;
  width: 100%;
  margin: 15px 0 0 !important;
  padding: 0;
  color: #1E6E30 !important;
  text-align: left !important;
  opacity: 1 !important;
}

#iqitpopup .iqitpopup-newsletter-form .text-muted {
  color: #1E6E30 !important;
  opacity: 1 !important;
}

#iqitpopup [id^="gdpr_consent_"],
#iqitpopup [class*="gdpr_module_"] {
  margin: 0;
  color: #1E6E30;
}

#iqitpopup .iqitpopup-newsletter-form .custom-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
}

#iqitpopup .iqitpopup-newsletter-form .psgdpr_consent_message {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #1E6E30;
  font-family: 'Merriweather', serif;
  font-size: 13px;
  line-height: 16px;
  font-weight: 600;
}

#iqitpopup .iqitpopup-newsletter-form .psgdpr_consent_message span,
#iqitpopup .iqitpopup-newsletter-form .psgdpr_consent_message a {
  color: #1E6E30;
  font-weight: 600;
}

#iqitpopup .iqitpopup-newsletter-form .psgdpr_consent_message a {
  text-decoration: underline;
}

#iqitpopup .iqitpopup-newsletter-form .psgdpr_consent_message input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}

#iqitpopup .iqitpopup-newsletter-form .psgdpr_consent_checkbox_span {
  border: 2px solid #1E6E30;
  background: transparent;
  box-shadow: none;
  border-radius: 3px;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  margin: 0;
}

#iqitpopup .iqitpopup-newsletter-form .psgdpr_consent_icon {
  color: #1E6E30;
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  width: 100% !important;
  height: 100% !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
}

#iqitpopup .iqitpopup-newsletter-form input[type="checkbox"]:checked ~ .psgdpr_consent_checkbox_span .psgdpr_consent_icon,
#iqitpopup .iqitpopup-newsletter-form input[type="checkbox"]:checked + .psgdpr_consent_checkbox_span .psgdpr_consent_icon {
  display: flex !important;
}

#iqitpopup .iqitpopup-newsletter-form .iqit-btn-newsletter {
  order: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #F2A5C8 !important;
  color: #C84F25 !important;
  font-family: 'DynaPuff', sans-serif;
  font-weight: 700;
  font-size: 24px;
  padding: 12px 36px;
  border-radius: 999px;
  border: none;
  width: auto;
  height: auto;
  line-height: 1;
  text-transform: none;
  margin: 20px auto 0;
  align-self: center;
  box-shadow: none;
  opacity: 1;
}

#iqitpopup .iqitpopup-newsletter-form .iqit-btn-newsletter[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

#iqitpopup .iqitpopup-newsletter-form .iqit-btn-newsletter span {
  display: none;
}

#iqitpopup .iqitpopup-newsletter-form .iqit-btn-newsletter::before {
  content: "S'inscrire";
  font-family: inherit;
  color: inherit;
  font-weight: inherit;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

/* --- Force 33.333% sur les col-33 internes de la section bienvenue à toutes les tailles (sinon Elementor les passe en 100% sous 768px) --- */
body#cms.cms-id-7 .column-right-bienvenue .elementor-column.elementor-col-33 {
  width: 33.333%;
}

@media (max-width: 1940px) {
  #desktop-header #cbp-hrmenu .nav-link {
    padding-right: 15px;
    padding-left: 15px;
  }
}

@media (max-width: 1900px) {
  #desktop-header .header-top {
    padding: 25px 25px;
  }

  .section-top-accueil,
  .section-nouveautes-accueil,
  .section-newsletter-accueil,
  .section-dans-ta-maison,
  .section-reseaux-sociaux {
    padding-left: 55px !important;
    padding-right: 55px !important;
  }

  .coup-de-coeur-left > .elementor-element-populated,
  .deco-colette-column-left > .elementor-column-wrap {
    padding: 55px !important;
  }

  .reseaux-sociaux-column-left.elementor-col-50 {
    padding-right: 27.5px;
  }

  .reseaux-sociaux-column-right.elementor-col-50 {
    padding-left: 27.5px;
  }

  /* Pages listing (category/promo/best-sales/new/search) */
  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products {
    padding-left: 55px;
    padding-right: 55px;
    padding-bottom: 80px;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .category-description-bottom {
    margin-top: 55px;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main > nav.breadcrumb,
  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main > .container > nav.breadcrumb {
    padding-left: 55px;
    padding-right: 55px;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .category-image #js-product-list-header {
    left: 55px;
    max-width: calc(100% - 145px);
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list .products-grid {
    margin-left: -27.5px;
    margin-right: -27.5px;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list .products-grid > .js-product-miniature-wrapper {
    padding: 0 27.5px;
    margin-bottom: 55px;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top {
    padding: 70px 0 30px;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .facet-title-dropdown,
  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .facet-title-dropdown {
    font-size: 18px;
    line-height: 22px;
  }

  body#product .product-accessories,
  body#product .category-products,
  body#product .productscategory,
  body#product section[class*="crossselling"] {
    padding: 0 55px;
    margin-top: 80px;
  }

  body#product section[class*="crossselling"] {
    margin-bottom: 80px;
  }

  body#product .js-mailalert {
    margin: 0 0 40px;
  }

  body#product .product-accessories:last-of-type,
  body#product .category-products:last-of-type,
  body#product .productscategory:last-of-type,
  body#product section[class*="crossselling"]:last-of-type {
    margin-bottom: 80px;
  }

  body#product .product-accessories .swiper-container-wrapper,
  body#product .category-products .swiper-container-wrapper,
  body#product .category-products .block-content,
  body#product .productscategory .swiper-container-wrapper,
  body#product section[class*="crossselling"] .swiper-container-wrapper {
    margin-left: -27.5px;
    margin-right: -27.5px;
  }

  body#product .product-accessories .swiper-slide .js-product-miniature-wrapper,
  body#product .category-products .swiper-slide .js-product-miniature-wrapper,
  body#product .productscategory .swiper-slide .js-product-miniature-wrapper,
  body#product section[class*="crossselling"] .swiper-slide .js-product-miniature-wrapper {
    padding: 0 27.5px;
  }

  body#product .product-accessories .swiper-container-wrapper .swiper-button-prev,
  body#product .category-products .swiper-container-wrapper .swiper-button-prev,
  body#product .category-products .block-content .swiper-button-prev,
  body#product .productscategory .swiper-container-wrapper .swiper-button-prev,
  body#product section[class*="crossselling"] .swiper-container-wrapper .swiper-button-prev {
    left: 6px;
  }

  body#product .product-accessories .swiper-container-wrapper .swiper-button-next,
  body#product .category-products .swiper-container-wrapper .swiper-button-next,
  body#product .category-products .block-content .swiper-button-next,
  body#product .productscategory .swiper-container-wrapper .swiper-button-next,
  body#product section[class*="crossselling"] .swiper-container-wrapper .swiper-button-next {
    right: 6px;
  }

  /* --- Page produit : padding col droite réduit --- */
  body#product .col-product-info #col-product-info {
    padding: 40px 55px 55px;
  }

  body#product .product-information > [id^="product-description-short"],
  body#product .product-information > [id^="product-description-short"] p {
    font-size: 36px;
    line-height: 38px;
  }

  /* Quantité + bouton + wishlist : même hauteur 56px */
  body#product .product-add-to-cart .qty input#quantity_wanted.input-group {
    width: 50px !important;
    height: 56px !important;
    max-width: 50px !important;
    flex: 0 0 50px !important;
    font-size: 28px !important;
    line-height: 30px !important;
  }

  body#product .product-add-to-cart .col-add-btn {
    height: auto;
  }

  body#product .product-add-to-cart .add-to-cart {
    height: 56px;
    font-size: 1.5rem;
    padding: 6px 25px 6px 70px;
  }

  body#product .product-add-to-cart .add-to-cart::before {
    width: 55px;
    height: 55px;
    left: 18px;
    bottom: -8px;
  }

  body#product #iqit-wishlist-product-btn {
    width: 60px;
    height: 56px;
  }

  body#product .product-breadcrumb-wrapper nav.breadcrumb {
    margin-bottom: 50px;
  }

  /* --- Page contact ≤1900 --- */
  body#contact .contact-page-custom {
    padding: 50px 55px 0;
  }

  body#contact .contact-page-title {
    margin: 0 0 35px;
  }

  body#contact .contact-page-intro {
    font-size: 36px;
    line-height: 38px;
    margin-bottom: 30px;
  }

  body#contact .contact-page-top {
    margin-bottom: 120px;
  }

  body#contact .contact-page-form {
    margin-bottom: 60px;
  }

  body#product .product-information > [id^="product-description-short"] {
    margin-bottom: 30px;
  }

  body#product .product-variants {
    margin-bottom: 30px;
  }

  body#product #content-wrapper .section-title {
    margin-bottom: 24px;
  }

  body#product .block-section {
    margin-bottom: 2.5rem;
  }

  /* --- Page panier ≤1900 --- */
  body#cart #main {
    padding: 50px 55px 60px;
  }

  body#cart .cart-crossselling-row {
    margin-top: 60px;
  }

  body#cart .page-title {
    margin: 0 0 60px;
  }

  body#cart .cart-summary {
    padding: 25px 25px 35px;
  }

  body#cart .checkout.card-body {
    padding: 40px 0 0;
  }

  body#cart .cart-grid-body > .btn-secondary {
    margin: 55px 0 0 !important;
  }

  /* --- Tunnel commande ≤1900 --- */
  body#checkout #main {
    padding: 50px 55px 60px;
  }

  body#checkout .page-title {
    margin: 0 0 60px;
  }

  body#checkout .cart-summary {
    padding: 25px;
  }

  /* --- Confirmation commande ≤1900 --- */
  body#order-confirmation #content-wrapper {
    padding: 50px 55px 60px;
  }

  body#order-confirmation #content-hook_order_confirmation > .row {
    gap: 50px;
  }

  body#order-confirmation #content-hook_order_confirmation > .row > .order-confirmation-title-payment {
    flex: 0 0 calc(58% - 25px) !important;
    max-width: calc(58% - 25px) !important;
    width: calc(58% - 25px) !important;
  }

  body#order-confirmation #content-hook_order_confirmation > .row > .order-confirmation-details {
    flex: 0 0 calc(42% - 25px) !important;
    max-width: calc(42% - 25px) !important;
    width: calc(42% - 25px) !important;
  }

  /* --- Page connexion ≤1900 --- */
  body:is(#authentication, #registration, #password) #main {
    padding: 50px 55px 60px;
  }

  /* --- Pages compte ≤1900 --- */
  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) #main {
    padding-right: 55px;
    padding-bottom: 60px;
  }

  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-footer {
    margin-top: 40px;
  }

  /* --- Giftcard ≤1900 --- */
  body#module-giftcard-choicegiftcard #main {
    padding: 70px 60px;
  }

  body#module-giftcard-choicegiftcard .giftcard-info {
    margin-bottom: 100px;
  }

  body#module-giftcard-choicegiftcard #gc-step-receptmode,
  body#module-giftcard-choicegiftcard #gc-step-template {
    margin-bottom: 110px;
  }

  body#module-giftcard-choicegiftcard #gc-step-information {
    padding: 70px;
    margin: 110px -60px 0;
  }

  /* --- Page 404 ≤1900 --- */
  body#pagenotfound .page-404-hero {
    padding: 220px 40px 220px;
    margin-top: -160px;
  }

  body#pagenotfound .page-404-cards {
    margin: -170px auto 80px;
    gap: 45px;
  }

  /* --- CMS ≤1900 --- */
  body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #main {
    padding: 50px 60px 70px;
  }

  /* --- FAQ ≤1900 --- */
  body#cms.cms-id-8 .section-faq {
    padding: 0 60px !important;
    margin-top: 120px !important;
    margin-bottom: 120px !important;
  }

  body#cms.cms-id-8 .section-faq .elementor-row {
    gap: 90px;
  }

  body#cms.cms-id-8 .section-faq-column-right {
    flex: 0 0 calc(100% - 350px - 90px) !important;
    max-width: calc(100% - 350px - 90px) !important;
    width: calc(100% - 350px - 90px) !important;
  }

  /* --- Page Qui est Colette ≤1900 : padding/margin sections (basé sur Elementor : padding 0 80px, margin 120/100) --- */
  body#cms.cms-id-7 .elementor-element-aq37jym {
    padding: 0 55px !important;
    margin-top: 100px !important;
    margin-bottom: 80px !important;
  }

  body#cms.cms-id-7 .elementor-element-silf21w {
    padding: 60px 55px 160px 55px !important;
  }

  body#cms.cms-id-7 .elementor-element-lryrfh0 > .elementor-element-populated {
    padding: 70px !important;
  }

  body#cms.cms-id-7 .section-ressentir-vivre-oser-texte .elementor-widget-container {
    margin: 22px 0 160px 0 !important;
  }

  body#cms.cms-id-7 .elementor-element-wv0x160 {
    margin-bottom: 200px !important;
  }
}

@media (max-width: 1814px) {
  .reseaux-sociaux-column-right-section-top .elementor-widget-heading {
    flex: 0 0 100%;
    width: 100%;
  }
}

@media (max-width: 1800px) {
  body#cms.cms-id-7 .image-papier-dechire .elementor-widget-container {
    margin-top: 40px !important;
    margin-left: -130px !important;
    padding-right: 0 !important;
  }
}

@media (max-width: 1730px) {
  .cbp-horizontal .cbp-tab-title {
    font-size: 1rem;
  }
}

@media (max-width: 1700px) {
  body#cms.cms-id-7 .section-ressentir-vivre-oser .column-ressentir,
  body#cms.cms-id-7 .section-ressentir-vivre-oser .column-vivre,
  body#cms.cms-id-7 .section-ressentir-vivre-oser .column-oser {
    width: 100%;
  }

  /* Page adresses : passer les cards en 2 colonnes au lieu de 3 */
  body#addresses .col-lg-4:has(> .address) {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .footer-section-top::before {
    top: -50px;
    height: 150px;
  }

  .footer-contact {
    padding: 80px 50px 60px 80px;
  }
}

@media (max-width: 1650px) {
  #desktop-header .cbp-hrmenu .cbp-hrsub-inner {
    padding: 40px;
  }
}

@media (max-width: 1640px) {
  #desktop-header #cbp-hrmenu > ul > li > .nav-link {
    line-height: 2;
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media (max-width: 1560px) {
  .cbp-horizontal > ul {
    text-align: center;
  }
}

@media (max-width: 1551px) {
  /* Menu sur 2 lignes : réduire le pont du sous-menu pour ne pas couvrir la 2e ligne */
  #desktop-header .cbp-hrmenu .cbp-hrsub::before {
    top: -30px;
    height: 30px;
  }
}

@media (max-width: 1550px) {
  body#contact .contact-page-socials span {
    font-size: 16px;
  }

  body#contact .contact-page-socials img,
  body#contact .contact-page-socials li:nth-child(1) img,
  body#contact .contact-page-socials li:nth-child(2) img,
  body#contact .contact-page-socials li:nth-child(3) img {
    width: 60px;
    height: 60px;
  }

  body#contact .contact-page-title {
    margin: 0 0 30px;
  }
}

@media (max-width: 1500px) {
  .swiper-products-carousel .swiper-slide .js-product-miniature-wrapper,
  body#cart .crossselling-products .swiper-slide .js-product-miniature-wrapper {
    padding: 0 20px;
  }

  .elementor-products .swiper-container-wrapper,
  body#cart .crossselling-products .swiper-container-wrapper,
  body#cart .crossselling-products .block-content {
    margin-left: -20px;
    margin-right: -20px;
  }

  .deco-colette-column-left-text-bottom .elementor-text-editor,
  .deco-colette-column-left-text-bottom p {
    font-size: 65px;
    line-height: 75px;
  }

  .decouvre-univers-forme {
    width: 200px;
    height: 200px;
    top: 40px;
    right: 40px;
  }

  /* --- Page panier ≤1500 : réduction du gap et du padding --- */
  body#cart #main {
    padding: 50px 30px 60px;
  }

  body#cart .cart-crossselling-row {
    margin-top: 50px;
  }

  /* --- Tunnel commande ≤1500 --- */
  body#checkout #main {
    padding: 50px 30px 60px;
  }

  /* --- Confirmation commande ≤1500 --- */
  body#order-confirmation #content-wrapper {
    padding: 50px 30px 60px;
  }

  body#order-confirmation #content-hook_order_confirmation > .row {
    gap: 40px;
  }

  body#order-confirmation #content-hook_order_confirmation > .row > .order-confirmation-title-payment {
    flex: 0 0 calc(58% - 20px) !important;
    max-width: calc(58% - 20px) !important;
    width: calc(58% - 20px) !important;
  }

  body#order-confirmation #content-hook_order_confirmation > .row > .order-confirmation-details {
    flex: 0 0 calc(42% - 20px) !important;
    max-width: calc(42% - 20px) !important;
    width: calc(42% - 20px) !important;
  }

  body#order-confirmation #order-details,
  body#order-confirmation #order-items {
    padding: 25px;
  }

  /* --- Page connexion ≤1500 --- */
  body:is(#authentication, #registration, #password) #main {
    padding: 50px 30px 60px;
  }

  body:is(#authentication, #registration, #password) .login-form,
body:is(#authentication, #registration, #password) .register-form {
    padding: 40px;
  }

  body#checkout #main > .row {
    gap: 80px;
  }

  body#checkout #main > .row > .col-md-8 {
    flex: 0 0 calc(75% - 80px);
    max-width: calc(75% - 80px);
  }

  body#checkout section.checkout-step {
    padding: 0 0 50px;
    margin-bottom: 50px;
  }

  body#checkout section.checkout-step .step-title {
    font-size: 36px !important;
    line-height: 36px !important;
  }

  body#checkout section.checkout-step #personal-information-step-login {
    padding: 40px;
  }

  body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line .image img {
    width: 130px;
    height: 130px;
    max-width: 130px;
  }

  /* --- Pages compte ≤1500 --- */
  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) #main {
    padding-right: 30px;
    padding-top: 40px;
    padding-bottom: 50px;
  }

  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-footer {
    margin-top: 30px;
  }

  /* --- Wishlist ≤1500 : ligne produit en flex wrap --- */
  #iqitwishlist-user-products .iqitwishlist-product > .row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }

  #iqitwishlist-user-products .iqitwishlist-product > .row > .col._name {
    flex: 1 0 calc(100% - 170px);
  }

  #iqitwishlist-user-products .iqitwishlist-product > .row > .col:not(.col-auto):not(._name):not(.col-3) {
    text-align: right;
  }

  #iqitwishlist-user-products .iqitwishlist-product > .row > .col.col-auto:has(.product-add-cart) {
    flex: 0 1 auto;
    max-width: none;
  }

  body#cart .cart-grid {
    gap: 80px;
  }

  body#cart .cart-grid-body {
    flex: 0 0 calc(75% - 80px);
    max-width: calc(75% - 80px);
  }

  body#cart .cart-grid-body > .btn-secondary {
    margin: 45px 0 0 !important;
  }

  /* --- Page Qui est Colette ≤1500 --- */
  body#cms.cms-id-7 .elementor-element-aq37jym {
    padding: 0 40px !important;
    margin-top: 80px !important;
    margin-bottom: 60px !important;
  }

  body#cms.cms-id-7 .elementor-element-silf21w {
    padding: 50px 40px 130px 40px !important;
  }

  body#cms.cms-id-7 .image-papier-dechire .elementor-widget-container {
    margin-top: 30px !important;
    margin-left: -90px !important;
  }

  body#cms.cms-id-7 .elementor-element-sacsm18 {
    margin-top: 180px !important;
  }

  body#cms.cms-id-7 .elementor-element-u8zrh71 {
    margin-bottom: 140px !important;
  }

  body#cms.cms-id-7 .elementor-element-lryrfh0 > .elementor-element-populated {
    padding: 55px !important;
  }

  body#cms.cms-id-7 .section-ressentir-vivre-oser-texte .elementor-widget-container {
    margin: 22px 0 120px 0 !important;
  }

  body#cms.cms-id-7 .elementor-element-wv0x160 {
    margin-bottom: 150px !important;
  }

  body#cms.cms-id-7 .elementor-element-v3lccsn {
    font-size: 80px;
    line-height: 75px;
  }

  body#cms.cms-id-7 .elementor-element-2nwg3bv .elementor-button {
    font-size: 24px;
    padding: 8px 32px;
  }

  body#cms.cms-id-7 .column-victoire-colette {
    margin-top: -180px;
    margin-left: -50px;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:nth-child(1) img {
    width: 280px;
    max-width: 280px;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:nth-child(2) img {
    width: 260px;
    max-width: 260px;
  }
}

@media (max-width: 1474px) {
  body#cms.cms-id-8 .section-top-faq {
    margin-top: -167px;
  }
}

@media (max-width: 1440px) {
  #desktop-header .cbp-hrsub .menu_row > .cbp-menu-column:nth-child(3) {
    display: none;
  }

  #desktop-header .cbp-hrsub .menu_row > .cbp-menu-column {
    flex: 0 0 33.33%;
    max-width: 33.33%;
  }
}

@media (max-width: 1400px) {
  body#cms.cms-id-7 .section-ressentir-vivre-oser .elementor-row {
    gap: 50px;
  }

  body#cms.cms-id-7 .section-ressentir-vivre-oser .elementor-row > .elementor-column.elementor-col-33 {
    flex: 0 0 calc((100% - 100px) / 3);
    max-width: calc((100% - 100px) / 3);
    width: calc((100% - 100px) / 3);
  }

  /* --- Section bienvenue ≤1400 : stack des 2 colonnes --- */
  body#cms.cms-id-7 .elementor-element-sacsm18 .elementor-row {
    flex-wrap: wrap;
  }

  body#cms.cms-id-7 .column-left-bienvenue,
  body#cms.cms-id-7 .column-right-bienvenue {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body#cms.cms-id-7 .elementor-element-azg71oi > .elementor-element-populated {
    padding: 0 0 250px 0 !important;
  }

  /* --- Section victoire/colette ≤1400 : hide left, full-width right, padding 100px --- */
  body#cms.cms-id-7 .elementor-element-oq7rl58 {
    display: none;
  }

  body#cms.cms-id-7 .column-victoire-colette {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated {
    padding-left: 100px;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:nth-child(1) img {
    width: 350px;
    max-width: 350px;
  }

  .texte-newsletter .elementor-text-editor,
  .texte-newsletter p,
  .colette-newsletter .elementor-text-editor,
  .colette-newsletter p {
    font-size: 32px;
    line-height: 36px;
  }

  .texte-newsletter,
  .ps-emailsubscription-block {
    margin-top: 30px;
  }

  .ps-emailsubscription-block .input-group-append {
    margin-top: 0;
  }

  .ps-emailsubscription-block .btn-subscribe {
    font-size: 22px;
  }

  /* --- Confirmation commande ≤1400 : colonnes empilées --- */
  body#order-confirmation #content-hook_order_confirmation > .row {
    flex-direction: column;
    gap: 30px;
  }

  body#order-confirmation #content-hook_order_confirmation > .row > .order-confirmation-title-payment,
  body#order-confirmation #content-hook_order_confirmation > .row > .order-confirmation-details {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body#order-confirmation .mail-sent-info {
    margin: 0;
  }
}

@media (max-width: 1375px) {
  .footer-links {
    gap: 20px 20px;
    flex-wrap: wrap;
    padding-bottom: 20px;
  }

  .footer-links-col {
    width: calc(50% - 10px);
  }

  .footer-section-bottom {
    margin-top: 60px;
  }

  .footer-section-bottom .elementor-row {
    align-items: flex-end;
  }

  .footer-contact {
    padding: 100px 50px 70px 80px;
  }

  /* --- Giftcard ≤1500 --- */
  body#module-giftcard-choicegiftcard #main {
    padding: 60px 50px;
  }

  body#module-giftcard-choicegiftcard .giftcard-title {
    margin-bottom: 40px;
  }

  body#module-giftcard-choicegiftcard .giftcard-subtitle {
    margin-bottom: 40px;
  }

  body#module-giftcard-choicegiftcard .giftcard-info {
    font-size: 26px;
    line-height: 36px;
    padding: 30px;
    margin-bottom: 90px;
  }

  body#module-giftcard-choicegiftcard #formgiftcard h2 {
    font-size: 22px;
    line-height: 26px;
    margin-bottom: 25px;
  }

  body#module-giftcard-choicegiftcard #formgiftcard h2 .step-number {
    width: 38px;
    height: 38px;
    font-size: 24px;
  }

  body#module-giftcard-choicegiftcard #gc-step-receptmode,
  body#module-giftcard-choicegiftcard #gc-step-template {
    margin-bottom: 90px;
  }

  body#module-giftcard-choicegiftcard #gc-step-information {
    padding: 60px;
    margin: 90px -50px 0;
  }

  body#module-giftcard-choicegiftcard .gc-receptmode-option {
    gap: 50px;
  }

  body#module-giftcard-choicegiftcard .gc-receptmode-option label,
  body#module-giftcard-choicegiftcard .gc-receptmode-option label:hover,
  body#module-giftcard-choicegiftcard .gc-receptmode-option input[type="radio"]:checked + label {
    font-size: 24px;
    line-height: 28px;
  }

  body#module-giftcard-choicegiftcard .gc-receptmode-option label::before {
    width: 38px;
    height: 38px;
  }

  body#module-giftcard-choicegiftcard #gc-step-information textarea.form-control {
    min-height: 200px;
  }

  body#module-giftcard-choicegiftcard #gc-step-information .custom-select-display {
    background-position: left bottom, right 50px center;
    padding-right: 90px;
  }

  body#module-giftcard-choicegiftcard #remaining_characters {
    font-size: 22px;
    line-height: 26px;
    margin-top: 25px;
  }

  body#module-giftcard-choicegiftcard .ta-gc-submit {
    margin-top: 60px !important;
  }

  /* --- Page 404 ≤1500 --- */
  body#pagenotfound .page-404-hero {
    padding: 200px 40px 200px;
    margin-top: -158px;
    border-radius: 0 0 60px 60px;
  }

  body#pagenotfound .page-404-cards {
    margin: -150px auto 70px;
    gap: 40px;
  }

  body#pagenotfound .page-404-card-1 .page-404-card-title {
    font-size: 34px;
    line-height: 38px;
  }

  body#pagenotfound .page-404-card-2 .page-404-card-title {
    font-size: 26px;
    line-height: 30px;
  }

  body#pagenotfound .page-404-card-3 .page-404-card-title {
    font-size: 22px;
    line-height: 26px;
  }

  body#pagenotfound .page-404-subtitle {
    font-size: 36px;
    line-height: 38px;
    margin-bottom: 35px;
  }

  body#pagenotfound .page-404-btn {
    font-size: 24px;
    line-height: 28px;
    padding: 16px 24px;
  }

  body#pagenotfound .page-404 {
    padding-bottom: 110px;
  }

  /* --- CMS ≤1500 --- */
  body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #main {
    padding: 40px 50px 60px;
  }

  body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) .page-header {
    margin-bottom: 40px;
  }

  /* --- FAQ ≤1500 --- */
  body#cms.cms-id-8 .sous-titre-faq {
    font-size: 38px !important;
    line-height: 40px !important;
  }

  body#cms.cms-id-8 .section-top-faq > .elementor-container {
    min-height: 780px !important;
  }

  body#cms.cms-id-8 .bouton-faq .elementor-button {
    font-size: 26px !important;
  }

  body#cms.cms-id-8 .section-faq {
    padding: 0 50px !important;
    margin-top: 100px !important;
    margin-bottom: 100px !important;
  }

  body#cms.cms-id-8 .section-faq .elementor-row {
    gap: 70px;
  }

  body#cms.cms-id-8 .section-faq-column-right {
    flex: 0 0 calc(100% - 350px - 70px) !important;
    max-width: calc(100% - 350px - 70px) !important;
    width: calc(100% - 350px - 70px) !important;
  }

  body#cms.cms-id-8 .section-faq-column-right .titre-faq .elementor-heading-title,
  body#cms.cms-id-8 .section-faq-column-right .titre-faq h2 {
    font-size: 44px !important;
    margin-bottom: 40px !important;
  }

  body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-title {
    padding: 22px 30px;
    font-size: 22px;
    line-height: 26px;
  }

  body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-content {
    padding: 0 100px 22px 30px;
  }
}

@media (max-width: 1300px) {
  .footer-contact {
    padding: 80px 30px 50px 50px;
  }

  .footer-contact-icon {
    width: 50px;
    height: 47px;
  }

  #footer-container-main .footer-contact-item {
    font-size: 0.75rem;
    gap: 15px;
  }

  #footer-container-main .footer-links-col a {
    font-size: 1rem;
  }

  .footer-section-top .elementor-row {
    gap: 30px;
  }

  body#contact .contact-page-left,
  body#contact .contact-page-right {
    flex: 0 1 calc(50% - 30px);
    max-width: calc(50% - 30px);
  }

  body#contact .contact-page-title {
    margin: 0 0 25px;
  }

  /* --- Pages compte : menu au-dessus du contenu --- */
  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) #content > .row {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
  }

  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    min-width: 0;
  }

  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a {
    transform: none;
    width: auto;
    height: 70px;
    border-radius: 35px;
    margin: 0;
    padding: 0 30px;
    white-space: nowrap;
  }

  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a .link-item {
    white-space: nowrap;
  }

  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) #content > .row > .my-account-page-content {
    width: 100%;
    margin-top: 50px;
  }

  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-page-content {
    padding: 0;
  }

  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) #main {
    padding-left: 30px;
  }

  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .page-header {
    padding-left: 0;
  }

  /* --- Wishlist ≤1300 : reset des largeurs de colonnes --- */
  #iqitwishlist-user-products .iqitwishlist-product > .row > .col._name {
    flex: 1 1 0;
  }

  #iqitwishlist-user-products .iqitwishlist-product > .row > .col.col-auto:has(.product-add-cart) {
    flex: 0 0 333px;
    max-width: 333px;
  }
}

@media (max-width: 1270px) {
  h1 {
    font-size: clamp(2.125rem, 3.2vw, 3.5rem);
    line-height: clamp(45px, 3.6vw, 65px);
  }
}

@media (max-width: 1250px) {
  /* --- Page panier ≤1250 : gap réduit + colonne droite plus large --- */
  body#cart .cart-grid {
    gap: 50px;
  }

  body#cart .cart-grid-body {
    flex: 0 0 calc(70% - 50px);
    max-width: calc(70% - 50px);
  }

  body#cart .cart-grid-right {
    flex: 0 0 30%;
    max-width: 30%;
  }

  body#cart .cart-grid-body > .btn-secondary {
    margin: 35px 0 0 !important;
  }

  /* --- Tunnel commande ≤1250 --- */
  body#checkout #main > .row {
    gap: 50px;
  }

  body#checkout #main > .row > .col-md-8 {
    flex: 0 0 calc(70% - 50px);
    max-width: calc(70% - 50px);
  }

  body#checkout #main > .row > .col-md-4.cart-grid-right {
    flex: 0 0 30%;
    max-width: 30%;
  }

  body#checkout section.checkout-step {
    padding: 0 0 40px;
    margin-bottom: 40px;
  }

  body#checkout section.checkout-step .step-title {
    font-size: 32px !important;
    line-height: 32px !important;
  }

  body#checkout section.checkout-step #personal-information-step-login {
    padding: 30px;
  }

  body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line .image img {
    width: 110px;
    height: 110px;
    max-width: 110px;
  }
}

@media (max-width: 1200px) {
  body#product .product-add-to-cart .row.product-quantity {
    gap: 20px;
  }

  body#contact .contact-page-custom {
    padding-top: 0;
  }

  body#contact .contact-page-top {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 40px;
  }

  body#contact .contact-page-left,
  body#contact .contact-page-right {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
    align-self: stretch;
  }

  body#contact .contact-page-image {
    max-width: 600px;
    margin: 0 auto;
  }

  body#contact .contact-page-title {
    margin: 0 0 20px;
  }

  /* --- Page Qui est Colette ≤1200 --- */
  body#cms.cms-id-7 .elementor-element-aq37jym {
    padding: 0 30px !important;
    margin-top: 60px !important;
    margin-bottom: 50px !important;
  }

  body#cms.cms-id-7 .elementor-element-silf21w {
    padding: 50px 30px 100px 30px !important;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated {
    padding-left: 70px;
  }

  body#cms.cms-id-7 .image-papier-dechire .elementor-widget-container {
    margin-top: 20px !important;
    margin-left: -50px !important;
  }

  body#cms.cms-id-7 .elementor-element-sacsm18 {
    margin-top: 130px !important;
  }

  body#cms.cms-id-7 .elementor-element-u8zrh71 {
    margin-bottom: 100px !important;
  }

  body#cms.cms-id-7 .elementor-element-lryrfh0 > .elementor-element-populated {
    padding: 40px !important;
  }

  body#cms.cms-id-7 .section-ressentir-vivre-oser-texte .elementor-widget-container {
    margin: 20px 0 80px 0 !important;
  }

  body#cms.cms-id-7 .elementor-element-wv0x160 {
    margin-bottom: 100px !important;
  }

  body#cms.cms-id-7 .elementor-element-v3lccsn {
    font-size: 64px;
    line-height: 60px;
  }

  body#cms.cms-id-7 .elementor-element-ucc4jx3 {
    font-size: 16px;
    line-height: 22px;
  }

  body#cms.cms-id-7 .elementor-element-2nwg3bv .elementor-button {
    font-size: 22px;
    padding: 8px 28px;
  }

  body#cms.cms-id-7 .elementor-element-u6gbw2m,
  body#cms.cms-id-7 .elementor-element-6n9zp7u {
    font-size: 22px;
    line-height: 26px;
  }

  body#cms.cms-id-7 .elementor-element-srcfgc5,
  body#cms.cms-id-7 .elementor-element-ytnrzgy {
    font-size: 16px;
    line-height: 18px;
  }

  body#cms.cms-id-7 .elementor-element-umdm8oz {
    font-size: 22px !important;
    line-height: 26px !important;
  }

  body#cms.cms-id-7 .column-victoire-colette {
    margin-top: -120px;
    margin-left: 0;
  }

}

@media (max-width: 1150px) {
  .footer-section-top::before {
    top: -35px;
    height: 120px;
  }
}

@media (max-width: 1080px) {
  #desktop-header .header-top {
    padding: 20px;
  }

  #desktop-header .header-top > .container > .row > .col,
  #desktop-header .header-top > .container > .row > [class*="col-"] {
    padding-right: 0;
    padding-left: 0;
  }

  #header .header-btn-w {
    padding: 0 5px;
  }

  .footer-section-top .elementor-row {
    flex-direction: row;
    flex-wrap: nowrap !important;
  }

  .footer-column-top-left .elementor-image {
    text-align: center;
  }

  .footer-column-top-left .elementor-image img {
    width: 300px;
  }

  .footer-legal {
    text-align: center;
  }

  .footer-links {
    gap: 40px;
    padding-bottom: 40px;
    justify-content: space-between;
  }

  .footer-column-top-right {
    padding-top: 0;
  }

  .footer-cat-btn {
    font-size: 1.25rem;
    height: 50px;
    line-height: 50px;
    padding: 0 20px;
  }

  .footer-column-bottom-right .elementor-widget-container {
    display: flex;
    justify-content: center;
  }

  .footer-section-bottom .elementor-row {
    flex-direction: column;
  }

  .footer-column-bottom-left {
    padding: 0 30px;
  }

  .footer-section-bottom .elementor-col-50 {
    width: 100% !important;
  }

  .footer-links-col {
    width: auto !important;
  }

  #footer-container-main .footer-links-col a {
    font-size: 1.25rem;
  }

  .footer-section-bottom {
    margin-top: 40px;
  }

  .section-top-accueil,
  .section-nouveautes-accueil,
  .section-newsletter-accueil,
  .section-dans-ta-maison,
  .section-reseaux-sociaux {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }

  .coup-de-coeur-left > .elementor-element-populated,
  .deco-colette-column-left > .elementor-column-wrap {
    padding: 50px !important;
  }

  /* --- Giftcard ≤1300 --- */
  body#module-giftcard-choicegiftcard #main {
    padding: 50px 40px;
  }

  body#module-giftcard-choicegiftcard .giftcard-title {
    margin-bottom: 35px;
  }

  body#module-giftcard-choicegiftcard .giftcard-subtitle {
    margin-bottom: 35px;
  }

  body#module-giftcard-choicegiftcard .giftcard-info {
    font-size: 24px;
    line-height: 34px;
    margin-bottom: 80px;
  }

  body#module-giftcard-choicegiftcard #gc-step-receptmode,
  body#module-giftcard-choicegiftcard #gc-step-template {
    margin-bottom: 75px;
  }

  body#module-giftcard-choicegiftcard #gc-step-information {
    padding: 50px;
    margin: 75px -40px 0;
  }

  body#module-giftcard-choicegiftcard .gc-receptmode-option {
    gap: 40px;
  }

  body#module-giftcard-choicegiftcard #templates_block ul.row {
    gap: 20px;
  }

  body#module-giftcard-choicegiftcard #recepmode-mail-additional-information {
    width: 100%;
  }

  body#module-giftcard-choicegiftcard #gc-step-information .custom-select-display {
    background-position: left bottom, right 35px center;
    padding-right: 70px;
  }

  body#module-giftcard-choicegiftcard .ta-gc-submit {
    margin-top: 50px !important;
  }

  /* --- Page 404 ≤1300 --- */
  body#pagenotfound .page-404-hero {
    padding: 180px 30px 180px;
    margin-top: -145px;
    border-radius: 0 0 50px 50px;
  }

  body#pagenotfound .page-404-cards {
    margin: -130px auto 60px;
    gap: 30px;
  }

  body#pagenotfound .page-404-card-1 .page-404-card-title {
    font-size: 28px;
    line-height: 32px;
  }

  body#pagenotfound .page-404-card-2 .page-404-card-title {
    font-size: 22px;
    line-height: 26px;
  }

  body#pagenotfound .page-404-card-3 .page-404-card-title {
    font-size: 20px;
    line-height: 24px;
  }

  body#pagenotfound .page-404-subtitle {
    font-size: 32px;
    line-height: 34px;
    margin-bottom: 30px;
  }

  body#pagenotfound .page-404-btn {
    font-size: 22px;
    line-height: 26px;
    padding: 14px 22px;
  }

  body#pagenotfound .page-404 {
    padding-bottom: 90px;
  }

  /* --- CMS ≤1300 --- */
  body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #main {
    padding: 30px 40px 50px;
  }

  body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) .page-header {
    margin-bottom: 30px;
  }

  body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content h2 {
    font-size: 24px;
    line-height: 28px;
  }

  /* --- FAQ ≤1300 --- */
  body#cms.cms-id-8 .sous-titre-faq {
    font-size: 36px !important;
    line-height: 38px !important;
  }

  body#cms.cms-id-8 .section-top-faq > .elementor-container {
    min-height: 700px !important;
    padding-bottom: 100px !important;
  }

  body#cms.cms-id-8 .bouton-faq .elementor-button {
    font-size: 24px !important;
    padding: 12px 28px 12px 75px !important;
  }

  body#cms.cms-id-8 .bouton-faq .elementor-button::before {
    width: 60px;
    height: 60px;
  }

  body#cms.cms-id-8 .section-faq {
    padding: 0 40px !important;
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }

  body#cms.cms-id-8 .section-faq .elementor-row {
    gap: 50px;
  }

  body#cms.cms-id-8 .section-faq-column-left {
    flex: 0 0 315px !important;
    max-width: 315px !important;
    width: 315px !important;
  }

  body#cms.cms-id-8 .section-faq-column-right {
    flex: 0 0 calc(100% - 315px - 50px) !important;
    max-width: calc(100% - 315px - 50px) !important;
    width: calc(100% - 315px - 50px) !important;
  }

  body#cms.cms-id-8 .section-faq-column-right .titre-faq .elementor-heading-title,
  body#cms.cms-id-8 .section-faq-column-right .titre-faq h2 {
    font-size: 38px !important;
    margin-bottom: 35px !important;
  }

  body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-title {
    padding: 20px 28px;
    font-size: 20px;
    line-height: 24px;
  }

  body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-content {
    padding: 0 80px 20px 28px;
  }

  body#cms.cms-id-8 .faq-sidebar-link {
    font-size: 20px;
    line-height: 26px;
    height: 60px;
    padding: 0 20px;
  }
}

@media (max-width: 1024px) {
  body#cms.cms-id-7 .elementor-element-gulfhc2 .elementor-image img {
    width: 450px;
    max-width: 100%;
  }

  #header {
    padding: 20px 20px 0 20px;
  }

  .section-top-accueil,
  .section-nouveautes-accueil,
  .section-newsletter-accueil,
  .section-dans-ta-maison,
  .section-reseaux-sociaux {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }

  .coup-de-coeur-left > .elementor-element-populated,
  .deco-colette-column-left > .elementor-column-wrap {
    padding: 40px !important;
  }

  /* --- Padding latéral 20px à partir de 1024px sur toutes les pages --- */

  /* Accueil */
  .section-top-accueil,
  .section-nouveautes-accueil,
  .section-newsletter-accueil,
  .section-dans-ta-maison,
  .section-reseaux-sociaux {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Pages listing (category/promo/best-sales/new/search) */
  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products {
    padding-left: 20px;
    padding-right: 20px;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main > nav.breadcrumb,
  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #main > .container > nav.breadcrumb {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* Page produit : sliders bas de page */
  body#product .product-accessories,
  body#product .category-products,
  body#product .productscategory,
  body#product section[class*="crossselling"] {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* Page contact */
  body#contact .contact-page-custom {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* Page panier */
  body#cart #main {
    padding-left: 20px;
    padding-right: 20px;
  }

  body#cart .cart-crossselling-row {
    margin-top: 40px;
  }

  /* Confirmation commande */
  body#order-confirmation #content-wrapper {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* Tunnel commande */
  body#checkout #main {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* Page connexion */
  body:is(#authentication, #registration, #password) #main {
    padding-left: 20px;
    padding-right: 20px;
  }

  body:is(#authentication, #registration, #password) .login-form,
body:is(#authentication, #registration, #password) .register-form {
    padding: 30px;
  }

  /* --- Pages compte ≤1024 --- */
  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) #main {
    padding-top: 30px;
    padding-bottom: 40px;
  }

  /* Pages compte */
  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) #main {
    padding-right: 20px;
  }

  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-footer {
    margin-top: 25px;
  }

  /* --- Giftcard ≤1024 --- */
  body#module-giftcard-choicegiftcard #main {
    padding: 40px 30px;
  }

  body#module-giftcard-choicegiftcard .giftcard-title {
    margin-bottom: 30px;
  }

  body#module-giftcard-choicegiftcard .giftcard-subtitle {
    margin-bottom: 30px;
  }

  body#module-giftcard-choicegiftcard .giftcard-info {
    font-size: 22px;
    line-height: 30px;
    padding: 25px;
    margin-bottom: 65px;
  }

  body#module-giftcard-choicegiftcard #gc-step-receptmode,
  body#module-giftcard-choicegiftcard #gc-step-template {
    margin-bottom: 60px;
  }

  body#module-giftcard-choicegiftcard #gc-step-information {
    padding: 40px;
    margin: 60px -30px 0;
  }

  body#module-giftcard-choicegiftcard #templates_block ul.row {
    grid-template-columns: repeat(3, 1fr);
  }

  body#module-giftcard-choicegiftcard .ta-gc-submit {
    margin-top: 50px !important;
  }

  /* --- Page 404 ≤1024 --- */
  body#pagenotfound .page-404-hero {
    padding: 190px 30px 160px;
    margin-top: -150px;
    border-radius: 0 0 40px 40px;
  }

  body#pagenotfound .page-404-cards {
    margin: -110px auto 50px;
    gap: 25px;
  }

  body#pagenotfound .page-404-card-1 .page-404-card-title {
    font-size: 24px;
    line-height: 28px;
  }

  body#pagenotfound .page-404-card-2 .page-404-card-title {
    font-size: 20px;
    line-height: 24px;
  }

  body#pagenotfound .page-404-card-3 .page-404-card-title {
    font-size: 18px;
    line-height: 22px;
  }

  body#pagenotfound .page-404-btn {
    font-size: 20px;
    line-height: 24px;
    padding: 12px 20px;
  }

  body#pagenotfound .page-404 {
    padding-bottom: 70px;
  }

  /* --- CMS ≤1024 --- */
  body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #main {
    padding: 30px 30px 40px;
  }

  body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) .page-header {
    margin-bottom: 25px;
  }

  body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content h2 {
    font-size: 22px;
    line-height: 26px;
  }

  /* --- FAQ ≤1024 : sidebar et contenu en colonne empilés --- */
  body#cms.cms-id-8 .sous-titre-faq {
    font-size: 34px !important;
    line-height: 36px !important;
  }

  body#cms.cms-id-8 .section-top-faq > .elementor-container {
    min-height: 650px !important;
    padding-bottom: 50px !important;
  }

  body#cms.cms-id-8 .bouton-faq .elementor-button {
    font-size: 22px !important;
    padding: 10px 25px 10px 65px !important;
  }

  body#cms.cms-id-8 .bouton-faq .elementor-button::before {
    width: 52px;
    height: 52px;
    left: 16px;
  }

  /* --- FAQ ≤1024 : pas d'état actif au scroll, seulement hover/click --- */
  body#cms.cms-id-8 .faq-sidebar-link.active {
    background: transparent;
    color: #1E6E30;
    font-weight: 400;
  }

  body#cms.cms-id-8 .faq-sidebar-link:hover,
  body#cms.cms-id-8 .faq-sidebar-link:active,
  body#cms.cms-id-8 .faq-sidebar-link:focus {
    background: #CAD34F;
    color: #1E6E30;
    font-weight: 900;
  }

  body#cms.cms-id-8 .section-faq {
    padding: 0 30px !important;
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }

  body#cms.cms-id-8 .section-faq .elementor-container,
  body#cms.cms-id-8 .section-faq .elementor-row {
    display: block;
  }

  body#cms.cms-id-8 .section-faq-column-left,
  body#cms.cms-id-8 .section-faq-column-right {
    flex: none !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body#cms.cms-id-8 .section-faq-column-left {
    position: static !important;
    height: auto;
    margin-bottom: 30px;
  }

  body#cms.cms-id-8 .faq-sidebar {
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0;
    gap: 8px;
  }

  body#cms.cms-id-8 .faq-sidebar-link {
    font-size: 18px;
    line-height: 22px;
    height: 50px;
    padding: 0 18px;
  }

  body#cms.cms-id-8 .section-faq-column-right .titre-faq .elementor-heading-title,
  body#cms.cms-id-8 .section-faq-column-right .titre-faq h2 {
    font-size: 36px !important;
    margin-bottom: 30px !important;
  }

  body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-title {
    padding: 18px 24px;
    font-size: 18px;
    line-height: 22px;
  }

  body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-content {
    padding: 0 60px 18px 24px;
  }

  body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-icon {
    width: 50px;
    height: 46px;
    flex: 0 0 50px;
  }
}

@media (max-width: 991px) {
  /* Popup iqitpopup : compenser dynamiquement le scale appliqué par le JS du module
     (le JS expose --iqitpopup-scale via l'override template, on applique son inverse
     sur la barre de fermeture pour qu'elle reste cliquable et bien positionnée) */
  #iqitpopup .iqitpopup-close {
    top: calc(-36px / var(--iqitpopup-scale, 1));
    transform: scale(calc(1 / var(--iqitpopup-scale, 1)));
    transform-origin: top right;
  }

  /* Pages compte : titre h2 plus serré sur mobile/tablette */
  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-page-content > h2 {
    margin-bottom: 20px;
  }

  /* Détail commande : padding boxes plus serré */
  body#order-detail .page-order-detail .box,
  body#order-detail .order-items.box,
  body#order-detail .order-totals.box,
  body#order-detail #delivery-address.box,
  body#order-detail #invoice-address.box {
    padding: 18px 20px !important;
  }

  /* Pages listing (category/promo/best-sales/new/search) */
  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products {
    padding-bottom: 50px;
  }

  /* --- FAQ ≤991 --- */
  body#cms.cms-id-8 .section-top-faq > .elementor-container {
    padding-bottom: 80px !important;
  }

  /* --- Wishlist ≤991 : ligne produit en flex wrap --- */
  #iqitwishlist-user-products .iqitwishlist-product > .row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }

  #iqitwishlist-user-products .iqitwishlist-product > .row > .col-3.col-sm-auto {
    flex: 0 0 120px;
    max-width: 120px;
    width: 120px;
  }

  #iqitwishlist-user-products .iqitwishlist-product > .row > .col-3.col-sm-auto img {
    width: 120px;
    height: 120px;
    max-width: 120px;
  }

  #iqitwishlist-user-products .iqitwishlist-product > .row > .col._name {
    flex: 1 1 calc(100% - 140px);
    min-width: 0;
    max-width: calc(100% - 140px);
    word-break: break-word;
  }

  #iqitwishlist-user-products .iqitwishlist-product > .row > .col:not(.col-auto):not(._name):not(.col-3) {
    text-align: right;
  }

  #iqitwishlist-user-products .iqitwishlist-product > .row > .col.col-auto:has(.product-add-cart) {
    flex: 0 1 auto;
    max-width: none;
  }

  #iqitwishlist-user-products .iqitwishlist-product > .row > .col-3.col-sm-auto {
    margin-bottom: 20px;
  }

  /* --- Wishlist ≤991 : input de partage en colonne --- */
  #iqitwishlist-share .input-group {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }

  #iqitwishlist-share .input-group .form-control {
    width: 100%;
    margin: 0;
    align-self: stretch;
  }

  #iqitwishlist-share .input-group-append {
    align-self: center;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .category-description-bottom {
    margin-top: 40px;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .category-image #js-product-list-header {
    left: 30px;
    max-width: calc(100% - 365px);
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list .products-grid {
    margin-left: -15px;
    margin-right: -15px;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list .products-grid > .js-product-miniature-wrapper {
    padding: 0 15px;
    margin-bottom: 30px;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list-top {
    padding: 40px 0 20px;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center_dropdown .facet-title-dropdown,
  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #facets_search_center .facet-title-dropdown {
    font-size: 16px;
    line-height: 20px;
  }

  body#product .product-accessories,
  body#product .category-products,
  body#product .productscategory,
  body#product section[class*="crossselling"] {
    margin-top: 60px;
  }

  body#product section[class*="crossselling"] {
    margin-bottom: 60px;
  }

  body#product .js-mailalert {
    margin: 0 0 30px;
  }

  body#product .product-accessories:last-of-type,
  body#product .category-products:last-of-type,
  body#product .productscategory:last-of-type,
  body#product section[class*="crossselling"]:last-of-type {
    margin-bottom: 60px;
  }

  .categories-univers-prev {
    left: -70px;
  }

  .categories-univers-next {
    right: -70px;
  }

  .colmumn-left-newsletter.elementor-col-50,
  .column-right-newsletter.elementor-col-50 {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .colmumn-left-newsletter img {
    width: 80%;
  }

  .deco-colette-column-left-text-bottom .elementor-text-editor,
  .deco-colette-column-left-text-bottom p {
    font-size: 50px;
    line-height: 55px;
  }

  .reseaux-sociaux-column-left > .elementor-column-wrap > .elementor-widget-wrap > .elementor-widget-image:nth-child(3) {
    display: none;
  }

  .coup-de-coeur-left > .elementor-element-populated,
  .deco-colette-column-left > .elementor-column-wrap {
    padding: 30px !important;
  }

  /* --- Header mobile --- */
  #mobile-header .mobile-main-bar {
    background: #f2a5c8;
    padding: 15px 20px;
  }

  #mobile-header .m-nav-btn .fa {
    display: none !important;
  }

  #mobile-header .m-nav-btn span {
    display: none;
  }

  #mobile-header .m-nav-btn::before {
    content: '';
    display: inline-block;
    width: 46px;
    height: 46px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
  }

  #mobile-header .js-m-nav-btn-menu::before {
    background-image: url('/img/cms/Icones/menu-responsive.svg');
  }

  #mobile-header .col-mobile-btn-search .m-nav-btn::before {
    background-image: url('/img/cms/Icones/recherche.svg');
  }

  #mobile-header .col-mobile-btn-account .m-nav-btn::before {
    background-image: url('/img/cms/Icones/compte.svg');
  }

  #mobile-header .col-mobile-btn-cart .m-nav-btn::before {
    background-image: url('/img/cms/Icones/panier.svg');
  }

  #mobile-header .cart-products-count-btn {
    display: none;
  }

  #mobile-header-sticky > .container {
    padding-right: 0;
    padding-left: 0;
  }

  /* --- Menu mobile (slide) --- */
  #iqitmegamenu-mobile {
    background: #246F30;
  }

  #iqitmegamenu-mobile::after {
    content: '';
    position: absolute;
    top: 0;
    right: -40px;
    width: 50px;
    height: 100%;
    background-image: url('/img/cms/Formes/forme-right-menu-resp.svg');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 1;
  }

  #_mobile_iqitmegamenu-mobile {
    overflow: visible !important;
  }

  .mobile-menu__link,
  .mobile-menu__link span {
    font-family: 'Merriweather', serif !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    color: #FEEED8 !important;
  }

  .mobile-menu__column-title {
    font-family: 'Merriweather', serif !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    color: #FEEED8 !important;
    margin-bottom: 0 !important;
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
  }

  .mobile-menu__tab {
    border: none !important;
  }

  .mobile-menu__arrow {
    position: static;
    margin-left: 5px;
    padding-left: 0;
  }

  .mobile-menu__arrow .fa-angle-right::before {
    content: '+';
    font-family: 'Merriweather', serif;
    font-weight: 700;
    font-style: normal;
    color: #FEEED8;
  }

  #iqitmegamenu-mobile .mobile-menu__tab .mobile-menu__link {
    flex: 0 0 auto !important;
    width: auto !important;
  }

  .mobile-menu__close {
    opacity: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }

  .mobile-menu__close span {
    display: none;
  }

  .mobile-menu__close::before {
    content: '';
    display: inline-block;
    width: 30px;
    height: 30px;
    background-image: url('/img/cms/Icones/icone-close-panier.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }

  #iqitmegamenu-mobile .mobile-menu__header-wrapper {
    padding: 20px 30px !important;
  }

  .mobile-menu__back-btn {
    padding: 0 !important;
  }

  .mobile-menu__back-btn .fa-angle-left {
    display: none !important;
  }

  .mobile-menu__back-btn::before {
    content: '';
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url('/img/cms/Icones/retour-menu.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
    margin-right: 10px;
  }

  .mobile-menu__back-btn .mobile-menu__title {
    font-family: 'Merriweather', serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: #FEEED8;
  }

  .mm-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #246F30;
  }

  .mobile-menu__submenu .maison-img {
    width: 100%;
    height: auto;
  }

  .mobile-menu__column-categories:not(:last-child) {
    margin-bottom: 0 !important;
  }

  .mobile-menu__submenu .cbp-category-link-w {
    margin: 0;
    padding: 0;
  }

  .mobile-menu__column-categories .mobile-menu__column-title {
    display: block;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    text-transform: none !important;
    margin-bottom: 0;
    font-size: 1.125rem !important;
    line-height: 1.2em;
  }

  .mobile-menu__footer {
    display: none !important;
  }

  #iqitmegamenu-mobile .mobile-menu__scroller,
  #iqitmegamenu-mobile .mobile-menu__submenu {
    padding: 0 30px 30px 30px !important;
  }

  .mobile-menu__submenu {
    background: #246F30 !important;
  }

  #blockcart-content .cart-products .bootstrap-touchspin {
    width: auto !important;
  }

  .ps-shoppingcart.side-cart #blockcart-content {
    padding-bottom: 30px !important;
  }

  /* --- Recherche mobile --- */
  #search-widget-mobile {
    padding: 15px 30px !important;
    border: none !important;
  }

  #search-widget-mobile .input-group {
    border: 5px dashed #5E88B9;
    border-radius: 70px;
    padding: 5px;
    overflow: hidden;
    background: #5E88B9 content-box;
    align-items: center;
  }

  #search-widget-mobile .form-search-control {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    color: #fff !important;
    font-family: 'Merriweather', serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    padding: 15px 20px !important;
    height: 60px !important;
  }

  #search-widget-mobile .form-search-control::placeholder {
    color: #fff;
    opacity: 1;
    font-family: 'Merriweather', serif;
    font-size: 1rem;
    font-weight: 700;
  }

  #search-widget-mobile .search-btn {
    background: transparent;
    border: none;
    padding: 0;
  }

  #search-widget-mobile .search-btn .fa-search {
    display: none;
  }

  #search-widget-mobile .search-btn::before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 40px;
    background-image: url('/img/cms/Icones/icone-search.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
    margin-right: 15px;
  }

  /* --- Page produit : columns Bootstrap stackent en mobile, ajustements --- */
  body#product .col-product-info #col-product-info {
    padding: 40px 30px 40px;
  }

  body#product .product-cover {
    margin-bottom: 0;
  }

  body#product #wrapper {
    padding-top: 20px;
  }

  body#product .product-information > [id^="product-description-short"],
  body#product .product-information > [id^="product-description-short"] p {
    font-size: 32px;
    line-height: 34px;
  }

  body#product .product-accessories .swiper-container-wrapper,
  body#product .category-products .swiper-container-wrapper,
  body#product .category-products .block-content,
  body#product .productscategory .swiper-container-wrapper,
  body#product section[class*="crossselling"] .swiper-container-wrapper {
    margin-left: -15px;
    margin-right: -15px;
  }

  body#product .product-accessories .swiper-slide .js-product-miniature-wrapper,
  body#product .category-products .swiper-slide .js-product-miniature-wrapper,
  body#product .productscategory .swiper-slide .js-product-miniature-wrapper,
  body#product section[class*="crossselling"] .swiper-slide .js-product-miniature-wrapper {
    padding: 0 15px;
  }

  body#product .product-accessories .swiper-container-wrapper .swiper-button-prev,
  body#product .category-products .swiper-container-wrapper .swiper-button-prev,
  body#product .category-products .block-content .swiper-button-prev,
  body#product .productscategory .swiper-container-wrapper .swiper-button-prev,
  body#product section[class*="crossselling"] .swiper-container-wrapper .swiper-button-prev {
    left: 0;
  }

  body#product .product-accessories .swiper-container-wrapper .swiper-button-next,
  body#product .category-products .swiper-container-wrapper .swiper-button-next,
  body#product .category-products .block-content .swiper-button-next,
  body#product .productscategory .swiper-container-wrapper .swiper-button-next,
  body#product section[class*="crossselling"] .swiper-container-wrapper .swiper-button-next {
    right: 0;
  }

  /* Quantité + bouton + wishlist : même hauteur 56px */
  body#product .product-add-to-cart .qty input#quantity_wanted.input-group {
    width: 46px !important;
    height: 56px !important;
    max-width: 46px !important;
    flex: 0 0 46px !important;
    font-size: 24px !important;
    line-height: 26px !important;
  }

  body#product .product-add-to-cart .col-add-btn {
    height: 56px;
  }

  body#product .product-add-to-cart .add-to-cart {
    font-size: 1.25rem;
    padding: 8px 22px 8px 60px;
  }

  body#product .product-add-to-cart .add-to-cart::before {
    width: 48px;
    height: 48px;
    left: 15px;
    bottom: -7px;
  }

  body#product #iqit-wishlist-product-btn {
    width: 54px;
    height: 56px;
  }

  body#product .product-breadcrumb-wrapper nav.breadcrumb {
    margin-bottom: 40px;
  }

  /* --- Page contact ≤991 : stack des 2 colonnes --- */

  body#contact .contact-page-title {
    margin: 0 0 15px;
  }

  body#contact .contact-page-top {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 40px;
    margin-bottom: 80px;
  }

  body#contact .contact-page-left,
  body#contact .contact-page-right {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
    align-self: stretch;
  }

  body#contact .contact-page-image {
    max-width: 600px;
    margin: 0 auto;
  }

  body#contact .contact-page-intro {
    font-size: 32px;
    line-height: 34px;
    margin-bottom: 24px;
  }

  body#contact .contact-page-socials img {
    width: 70px !important;
    height: 70px !important;
  }

  body#contact .contact-page-socials li:nth-child(1) img,
  body#contact .contact-page-socials li:nth-child(2) img {
    width: 70px !important;
    height: 70px !important;
  }

  body#contact .contact-page-socials li:nth-child(3) img {
    width: 66px !important;
    height: 66px !important;
  }

  body#contact .contact-page-socials a {
    gap: 20px;
  }

  body#contact .contact-page-socials span {
    font-size: 18px;
  }

  body#contact .contact-page-form {
    margin-bottom: 50px;
  }

  body#product .product-information > [id^="product-description-short"] {
    margin-bottom: 24px;
  }

  body#product .product-variants {
    margin-bottom: 24px;
  }

  body#product #content-wrapper .section-title {
    margin-bottom: 20px;
  }

  body#product .block-section {
    margin-bottom: 2rem;
  }

  /* --- Page panier ≤991 : stack des 2 colonnes --- */
  body#cart #main {
    padding-top: 30px;
    padding-bottom: 50px;
  }

  body#cart .cart-crossselling-row {
    margin-top: 30px;
  }

  /* --- Confirmation commande ≤991 --- */
  body#order-confirmation #content-wrapper {
    padding-top: 30px;
    padding-bottom: 50px;
  }

  body#cart .page-title {
    margin: 0 0 40px;
  }

  body#cart .cart-grid {
    flex-direction: column;
    gap: 40px;
  }

  body#cart .cart-grid-body,
  body#cart .cart-grid-right {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }

  /* --- Tunnel commande ≤991 : stack des 2 colonnes --- */
  body#checkout #main {
    padding-top: 30px;
    padding-bottom: 50px;
  }

  /* --- Page connexion ≤991 --- */
  body:is(#authentication, #registration, #password) #main {
    padding-top: 30px;
    padding-bottom: 50px;
  }

  body:is(#authentication, #registration, #password) .page-title {
    margin: 0 auto 40px;
  }

  body:is(#authentication, #registration, #password) .form-footer {
    margin-top: 20px;
  }

  body#checkout .page-title {
    margin: 0 0 40px;
  }

  body#checkout #main > .row {
    flex-direction: column;
    gap: 40px;
  }

  body#checkout #main > .row > .col-md-8,
  body#checkout #main > .row > .col-md-4.cart-grid-right {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }

  body#checkout section.checkout-step {
    padding: 0 0 35px;
    margin-bottom: 35px;
  }

  body#checkout section.checkout-step .step-title {
    font-size: 28px !important;
    line-height: 30px !important;
  }

  body#cart .product-line-grid .product-image {
    flex: 0 0 130px;
    max-width: 130px;
  }

  body#cart .product-line-grid .product-image img {
    width: 110px;
    height: 110px;
    max-width: 110px;
  }

  body#cart .cart-summary-line.cart-total .label,
  body#cart .cart-summary-line.cart-total .value {
    font-size: 2rem;
  }

  body#cart .cart-detailed-actions .btn-primary,
  body#cart .cart-detailed-actions .btn-primary.btn-block {
    font-size: 1.5rem;
    padding: 10px 25px 10px 70px;
  }

  body#cart .cart-detailed-actions .btn-primary::before {
    width: 55px;
    height: 55px;
  }

  body#cart .cart-grid-body > .btn-secondary {
    margin: 30px 0 0 !important;
  }

  /* --- Giftcard ≤991 --- */
  body#module-giftcard-choicegiftcard #gc-step-information {
    padding: 35px;
    margin: 55px -30px 0;
  }

  body#module-giftcard-choicegiftcard #templates_block ul.row {
    grid-template-columns: repeat(2, 1fr);
  }

  body#module-giftcard-choicegiftcard .gc-receptmode-option {
    gap: 25px;
    flex-wrap: wrap;
  }

  body#module-giftcard-choicegiftcard #recepmode-mail-additional-information .form-group.datesendcard {
    flex-wrap: wrap;
  }

  body#module-giftcard-choicegiftcard #recepmode-mail-additional-information .form-group.datesendcard select.form-control {
    flex: 1 1 calc(33% - 10px);
  }

  /* --- Page 404 ≤991 --- */
  body#pagenotfound .page-404-cards {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }

  body#pagenotfound .page-404-card-1 .page-404-card-title {
    font-size: 20px;
    line-height: 24px;
  }

  body#pagenotfound .page-404-card-2 .page-404-card-title {
    font-size: 16px;
    line-height: 20px;
  }

  body#pagenotfound .page-404-card-3 .page-404-card-title {
    font-size: 16px;
    line-height: 20px;
  }

  /* --- Page Qui est Colette ≤991 --- */
  body#cms.cms-id-7 .elementor-element-aq37jym {
    padding: 0 25px !important;
    margin-top: 30px !important;
    margin-bottom: 60px !important;
  }

  body#cms.cms-id-7 .elementor-element-aq37jym .elementor-row {
    flex-wrap: wrap;
  }

  body#cms.cms-id-7 .column-left-qui-est-colette,
  body#cms.cms-id-7 .column-right-qui-est-colette {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body#cms.cms-id-7 .column-right-qui-est-colette {
    order: -1;
    margin-bottom: -80px;
    position: relative;
    z-index: 2;
  }

  body#cms.cms-id-7 .column-right-qui-est-colette > .elementor-element-populated > .elementor-widget-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
  }

  body#cms.cms-id-7 .titre-qui-est-colette {
    flex: 0 0 40% !important;
    max-width: 40% !important;
    width: 40% !important;
    padding-top: 75px;
  }

  body#cms.cms-id-7 .image-papier-dechire {
    flex: 0 0 60% !important;
    max-width: 60% !important;
    width: 60% !important;
  }

  body#cms.cms-id-7 .titre-qui-est-colette .elementor-heading-title {
    font-size: clamp(32px, 5.5vw, 50px) !important;
    line-height: clamp(40px, 6.6vw, 65px) !important;
  }

  body#cms.cms-id-7 .image-papier-dechire .elementor-widget-container {
    margin-top: 0 !important;
    margin-left: 0 !important;
  }

  body#cms.cms-id-7 .elementor-element-93lvdfy .elementor-image img {
    max-width: 70px;
  }

  body#cms.cms-id-7 .elementor-element-v3lccsn {
    font-size: 48px;
    line-height: 48px;
  }

  body#cms.cms-id-7 .elementor-element-ucc4jx3 .elementor-widget-container {
    margin: 15px 0 30px 0 !important;
  }

  body#cms.cms-id-7 .elementor-element-2nwg3bv .elementor-button {
    font-size: 20px;
    padding: 8px 24px;
  }

  body#cms.cms-id-7 .elementor-element-2hj2a9h .elementor-widget-container {
    margin: 50px 0 0 0 !important;
  }

  body#cms.cms-id-7 .elementor-element-sacsm18 {
    margin-top: 90px !important;
  }

  body#cms.cms-id-7 .elementor-element-lryrfh0 > .elementor-element-populated {
    padding: 30px !important;
  }

  body#cms.cms-id-7 .elementor-element-u6gbw2m,
  body#cms.cms-id-7 .elementor-element-6n9zp7u {
    font-size: 20px;
    line-height: 24px;
  }

  body#cms.cms-id-7 .elementor-element-srcfgc5,
  body#cms.cms-id-7 .elementor-element-ytnrzgy {
    font-size: 15px;
    line-height: 18px;
  }

  body#cms.cms-id-7 .elementor-element-u8zrh71 {
    margin-bottom: 60px !important;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:nth-child(1) img {
    width: 320px;
    max-width: 320px;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:nth-child(2) img {
    width: 240px;
    max-width: 240px;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated {
    padding-left: 40px;
  }

  body#cms.cms-id-7 .elementor-element-silf21w {
    padding: 50px 25px 80px !important;
  }

  body#cms.cms-id-7 .elementor-element-umdm8oz {
    font-size: 20px !important;
    line-height: 24px !important;
  }

  body#cms.cms-id-7 .section-ressentir-vivre-oser-texte .elementor-widget-container {
    margin: 20px 0 30px 0 !important;
  }

  body#cms.cms-id-7 .elementor-element-wv0x160 {
    margin-bottom: 50px !important;
  }
}

@media (max-width: 880px) {
  #footer-container-main .footer-links-col a {
    font-size: 1rem;
  }
}

@media (max-width: 800px) {
  .footer-section-top::before {
    top: -24px;
    height: 120px;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .category-image #js-product-list-header {
    max-width: calc(100% - 230px);
  }
}

@media (max-width: 767px) {
  h2 {
    font-size: 20px;
    line-height: 24px;
  }

  body#product .product-description .rte-content h3 {
    font-size: 16px;
  }

  /* Pages compte : titre h2 plus serré sur mobile */
  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-page-content > h2 {
    margin-bottom: 15px;
  }

  /* Détail commande : padding boxes encore plus serré */
  body#order-detail .page-order-detail .box,
  body#order-detail .order-items.box,
  body#order-detail .order-totals.box,
  body#order-detail #delivery-address.box,
  body#order-detail #invoice-address.box {
    padding: 14px 16px !important;
  }

  #footer {
    margin-top: 25px;
  }

  /* --- Pages compte : menu pleine largeur, items en colonne empilée --- */
  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) #main {
    padding-right: 20px;
    padding-left: 20px;
    padding-top: 20px;
    padding-bottom: 30px;
  }

  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-footer {
    margin-top: 20px;
  }

  /* --- Tunnel commande ≤767 --- */
  body#checkout #main {
    padding-top: 20px;
    padding-bottom: 30px;
  }

  /* --- Confirmation commande ≤767 --- */
  body#order-confirmation #content-wrapper {
    padding: 25px 20px 40px;
  }

  body#order-confirmation #content-hook_order_confirmation > .row {
    flex-direction: column;
    gap: 30px;
  }

  body#order-confirmation #content-hook_order_confirmation > .row > .order-confirmation-title-payment,
  body#order-confirmation #content-hook_order_confirmation > .row > .order-confirmation-details {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body#order-confirmation .page-title {
    margin: 0 0 20px;
  }

  body#order-confirmation #order-details,
  body#order-confirmation #order-items {
    padding: 20px;
  }

  body#order-confirmation #order-details .h3,
  body#order-confirmation #order-details h3,
  body#order-confirmation #order-items .card-title,
  body#order-confirmation #order-items h3 {
    font-size: 20px;
    line-height: 24px;
  }

  body#order-confirmation .order-confirmation-table .order-line .image img {
    width: 80px;
    height: 80px;
    max-width: 80px;
  }

  /* --- Page connexion ≤767 --- */
  body:is(#authentication, #registration, #password) #main {
    padding-top: 20px;
    padding-bottom: 30px;
  }

  body:is(#authentication, #registration, #password) .login-form,
body:is(#authentication, #registration, #password) .register-form {
    padding: 40px;
    border-radius: 40px 40px 0 40px;
  }

  body:is(#authentication, #registration, #password) .page-title {
    margin: 0 auto 30px;
  }

  body:is(#authentication, #registration, #password) .form-footer {
    margin-top: 15px;
  }

  body#checkout .page-title {
    margin: 0 0 30px;
  }

  body#checkout section.checkout-step {
    padding: 0 0 30px;
    margin-bottom: 30px;
  }

  body#checkout section.checkout-step .step-title {
    font-size: 24px !important;
    line-height: 28px !important;
  }

  body#checkout #order-summary-content,
  body#checkout #order-summary-content .order-confirmation-table,
  body#checkout #order-summary-content .summary-selected-carrier {
    padding: 20px;
  }

  body#checkout section.checkout-step #personal-information-step-login {
    padding: 20px;
  }

  body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line {
    flex-wrap: wrap;
  }

  body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line > .image img {
    width: 100px;
    height: 100px;
    max-width: 100px;
  }

  body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line > [class*="col-"]:has(.image) {
    flex: 0 0 100px;
    max-width: 100px;
  }

  body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line > .details {
    flex: 1 1 calc(100% - 120px);
    max-width: calc(100% - 120px);
    min-width: 0;
  }

  body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line > .qty {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
  }

  body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line > .qty > .row {
    margin: 0;
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    justify-content: flex-end;
    gap: 10px;
  }

  body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line > .qty > .row > [class*="col-"] {
    padding: 0;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  body#checkout #payment-confirmation .btn-primary {
    font-size: 1.5rem !important;
    padding: 10px 25px 10px 70px !important;
  }

  body#checkout #payment-confirmation .btn-primary::before {
    width: 55px;
    height: 55px;
  }

  /* --- Form fields ≤767 : Optionnel sous l'input --- */
  body#checkout .form-group.row {
    grid-template-columns: 1fr;
    gap: 4px 0;
  }

  body#checkout .form-group.row .form-control-comment {
    grid-column: 1;
    grid-row: 3;
    width: 100%;
    max-width: 100%;
    margin: 10px 0 0;
    padding: 0;
    text-align: left;
    font-size: 14px;
  }

  body#checkout .summary-selected-carrier .row > .col:not(.col-auto) > .carrier-name,
  body#checkout .summary-selected-carrier .row > .col:not(.col-auto) > .text-muted {
    text-align: center;
  }

  body:is(#checkout, #order-confirmation) .order-confirmation-table .order-line .qty .bold {
    font-size: 18px;
  }

  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .page-header {
    padding: 0;
    border: none;
    margin-bottom: 30px;
  }

  .my-account-page-content-wrapper .my-account-side-links {
    border-bottom: 0;
  }

  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links {
    gap: 10px;
  }

  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a {
    flex: 1 1 100% !important;
    font-size: 24px;
    height: auto;
    min-height: 70px;
    white-space: normal;
  }

  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-side-links a .link-item {
    flex-direction: row;
    gap: 15px;
    white-space: normal;
  }

  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .my-account-page-content {
    padding: 0;
  }

  /* --- Form fields ≤767 : Optionnel sous l'input comme le texte d'aide --- */
  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-group.row {
    grid-template-columns: 1fr;
    gap: 4px 0;
  }

  body:is(#my-account, #identity, #address, #addresses, #history, #order-detail, #order-slip, #discount, #order-follow, #gdpr, #module-iqitwishlist-list, #module-iqitwishlist-view, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #module-advanced_b2b_b2c-withdrawal) .form-group.row .form-control-comment {
    grid-column: 1;
    grid-row: 3;
    width: 100%;
    max-width: 100%;
    margin: 10px 0 0;
    padding: 0;
    text-align: left;
    font-size: 14px;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .category-image img {
    min-height: 400px;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .page-title::after {
    display: none;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .page-title {
    line-height: 60px !important;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .category-image #js-product-list-header {
    max-width: calc(100% - 60px);
  }

  .coup-de-coeur-left > .elementor-element-populated {
    padding-top: 0 !important;
  }

  .accueil-section-top-column-left > .elementor-element-populated {
    border-radius: 30px 30px 0 0 !important;
  }

  .accueil-section-top-column-right > .elementor-element-populated,
  .accueil-section-top-column-right .elementor-image img {
    border-radius: 0 !important;
  }

  .section-coups-de-coeur .elementor-container .elementor-row {
    display: flex !important;
    flex-direction: column-reverse !important;
    flex-wrap: wrap !important;
    gap: 30px;
  }

  .coup-de-coeur-left.elementor-col-50,
  .coup-de-coeur-right.elementor-col-50 {
    width: 100% !important;
  }

  .coup-de-coeur-right .elementor-image img {
    border-radius: 30px 0 0 30px !important;
  }

  .section-dans-ta-maison .elementor-inner-column > .elementor-element-populated {
    border-radius: 30px 30px 0 30px !important;
  }

  .reseaux-sociaux-column-left.elementor-col-50 {
    padding-right: 15px;
  }

  .reseaux-sociaux-column-right.elementor-col-50 {
    padding-left: 15px;
  }

  .section-top-accueil .elementor-container .elementor-row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }

  .section-top-accueil .accueil-section-top-column-left.elementor-col-50,
  .section-top-accueil .accueil-section-top-column-right.elementor-col-50 {
    width: 100% !important;
  }

  .accueil-section-top-column-right,
  .accueil-section-top-column-right .elementor-column-wrap,
  .accueil-section-top-column-right .elementor-widget-wrap,
  .accueil-section-top-column-right .elementor-widget,
  .accueil-section-top-column-right .elementor-widget-container,
  .accueil-section-top-column-right .elementor-image {
    height: auto;
  }

  .categories-univers-prev {
    left: -50px;
  }

  .categories-univers-next {
    right: -50px;
  }

  .footer-section-top .elementor-row {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }

  .footer-section-top .elementor-col-50 {
    width: 100% !important;
  }

  .footer-categories {
    justify-content: center;
  }

  .footer-section-top::before {
    height: 105px;
  }

  .footer-section-bottom {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .footer-section-top .elementor-container {
    padding: 0 20px;
  }

  .footer-links-col {
    width: calc(33.33% - 14px) !important;
  }

  .footer-links {
    gap: 20px;
  }

  /* --- Page produit : padding réduit + quantité/bouton stack --- */
  body#product .col-product-info #col-product-info {
    padding: 30px;
  }

  body#product .product-add-to-cart .row.product-quantity {
    gap: 15px;
  }

  body#product .product-info-row {
    margin-bottom: 0;
  }

  body#product .product-accessories,
  body#product .category-products,
  body#product .productscategory,
  body#product section[class*="crossselling"] {
    margin-top: 40px;
  }

  body#product section[class*="crossselling"] {
    margin-bottom: 40px;
  }

  body#product .js-mailalert {
    margin: 0 0 20px;
  }

  body#product .product-accessories:last-of-type,
  body#product .category-products:last-of-type,
  body#product .productscategory:last-of-type,
  body#product section[class*="crossselling"]:last-of-type {
    margin-bottom: 40px;
  }

  body#product .product-tabs {
    margin-top: 40px;
  }

  body#product .product-information > [id^="product-description-short"],
  body#product .product-information > [id^="product-description-short"] p {
    font-size: 30px;
    line-height: 32px;
  }

  body#product .product-breadcrumb-wrapper nav.breadcrumb {
    margin-bottom: 30px;
  }

  /* --- Page contact ≤767 --- */
  body#contact .contact-page-title {
    margin: 0 0 10px;
  }

  body#contact .contact-page-top {
    gap: 30px;
    margin-bottom: 60px;
  }

  body#contact .contact-page-intro {
    font-size: 30px;
    line-height: 32px;
    margin-bottom: 20px;
  }

  body#contact .contact-page-socials {
    gap: 16px;
  }

  body#contact .contact-page-socials img,
  body#contact .contact-page-socials li:nth-child(1) img,
  body#contact .contact-page-socials li:nth-child(2) img {
    width: 56px !important;
    height: 56px !important;
  }

  body#contact .contact-page-socials li:nth-child(3) img {
    width: 53px !important;
    height: 53px !important;
  }

  body#contact .contact-page-socials a {
    gap: 16px;
  }

  body#contact .contact-page-socials span {
    font-size: 16px;
  }

  body#contact .contact-page-form input[type="text"],
  body#contact .contact-page-form input[type="email"],
  body#contact .contact-page-form input[type="tel"],
  body#contact .contact-page-form input[type="url"],
  body#contact .contact-page-form textarea,
  body#contact .contact-page-form .ets_cfu_form-control,
  body#contact .contact-page-form .form-control {
    padding: 12px 0 24px;
  }

  body#contact .contact-page-form .ets_cfu_input {
    margin: 0 0 24px;
  }

  body#contact .contact-page-form .ets_cfu_input_html .ets_cfu-html,
  body#contact .contact-page-form .ets_cfu_input_acceptance label,
  body#contact .contact-page-form .wpcfu-list-item-label {
    font-size: 18px;
    line-height: 22px;
  }

  body#contact .contact-page-form .ets_cfu_input_submit {
    margin: 40px 0 0;
  }

  body#contact .contact-page-form {
    margin-bottom: 40px;
  }

  body#product .product-information > [id^="product-description-short"] {
    margin-bottom: 20px;
  }

  body#product .product-variants {
    margin-bottom: 20px;
  }

  body#product .product-variants .product-variants-item .form-control-select {
    height: 40px;
  }

  body#product .product-variants .product-variants-item .form-control-label {
    margin-bottom: 10px;
  }

  body#product #product-details.js-product-details {
    grid-template-columns: 1fr 1.5fr;
  }

  body#product .js-product-details .data-sheet dt,
  body#product .js-product-details .data-sheet dd,
  body#product .js-product-details .product-reference .label,
  body#product .js-product-details .product-reference > span {
    padding: 10px 14px;
    font-size: 14px;
    line-height: 18px;
  }


  body#product #content-wrapper .section-title {
    margin-bottom: 18px;
  }

  body#product .block-section {
    margin-bottom: 1.5rem;
  }

  /* Quantité + bouton + wishlist : même hauteur 50px à 767 */
  body#product .product-add-to-cart .qty input#quantity_wanted.input-group {
    width: 42px !important;
    height: 50px !important;
    max-width: 42px !important;
    flex: 0 0 42px !important;
    font-size: 22px !important;
    line-height: 24px !important;
  }

  body#product .product-add-to-cart .qty .input-group-btn-vertical .btn-touchspin {
    height: 22px !important;
    font-size: 22px !important;
  }

  body#product .product-add-to-cart .qty .input-group-btn-vertical {
    margin-left: 6px !important;
  }

  body#product .product-add-to-cart .col-add-btn {
    height: auto;
  }

  body#product .product-add-to-cart .add-to-cart {
    height: 50px !important;
    min-height: 50px !important;
    font-size: 1.1rem !important;
    line-height: 1 !important;
    padding: 0 20px 0 55px !important;
  }

  body#product .product-add-to-cart .add-to-cart::before {
    width: 42px;
    height: 42px;
    left: 12px;
    bottom: -5px;
  }

  body#product #iqit-wishlist-product-btn {
    width: 50px !important;
    height: 50px !important;
  }

  /* --- Flèches du swiper d'images produit (mobile) --- */
  body#product .product-images-large .swiper-button-prev,
  body#product .product-images-large .swiper-button-next {
    width: 40px;
    height: 40px;
    opacity: 1;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    top: 50%;
    margin: 0;
    transform: translateY(-50%);
  }

  body#product .product-images-large .swiper-button-prev {
    background-image: url('https://www.cherecolette.fr/img/cms/Icones/fleche-left-slider.svg');
    left: 10px;
    right: auto;
  }

  body#product .product-images-large .swiper-button-next {
    background-image: url('https://www.cherecolette.fr/img/cms/Icones/fleche-right-slider.svg');
    right: 10px;
    left: auto;
  }

  body#product .product-images-large .swiper-button-prev::after,
  body#product .product-images-large .swiper-button-next::after {
    content: none;
  }

  /* --- Page panier ≤767 --- */
  body#cart #main {
    padding-top: 20px;
    padding-bottom: 40px;
  }

  body#cart .page-title {
    margin: 0 0 30px;
  }

  body#cart .cart-summary {
    padding: 20px 20px 30px;
  }

  body#cart .checkout.card-body {
    padding: 35px 0 0;
  }

  body#cart .product-line-grid .product-image {
    flex: 0 0 100px;
    max-width: 100px;
  }

  body#cart .product-line-grid .product-image img {
    width: 80px;
    height: 80px;
    max-width: 80px;
  }

  body#cart .product-line-info .label {
    font-size: 0.875rem;
  }

  body#cart .product-line-info-secondary .label,
  body#cart .product-line-info-secondary .value {
    font-size: 0.75rem;
  }

  body#cart .cart-detailed-actions .btn-primary,
  body#cart .cart-detailed-actions .btn-primary.btn-block {
    font-size: 1.25rem;
    padding: 10px 20px 10px 60px;
  }

  body#cart .cart-detailed-actions .btn-primary::before {
    width: 48px;
    height: 48px;
  }

  body#cart .cart-grid-body > .btn-secondary {
    margin: 25px 0 0 !important;
  }

  /* --- FAQ ≤767 --- */
  body#cms.cms-id-8 .sous-titre-faq {
    font-size: 32px !important;
    line-height: 34px !important;
  }

  body#cms.cms-id-8 .bouton-faq .elementor-button {
    font-size: 20px !important;
    padding: 10px 22px 10px 60px !important;
  }

  body#cms.cms-id-8 .bouton-faq .elementor-button::before {
    width: 48px;
    height: 48px;
    left: 14px;
  }

  body#cms.cms-id-8 .section-top-faq {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  body#cms.cms-id-8 .section-faq {
    padding: 0 20px !important;
    margin-top: 30px !important;
    margin-bottom: 50px !important;
  }

  body#cms.cms-id-8 .section-faq .elementor-row {
    gap: 30px;
  }

  body#cms.cms-id-8 .faq-sidebar-link {
    font-size: 16px;
    line-height: 20px;
    height: 44px;
    padding: 0 14px;
  }

  body#cms.cms-id-8 .section-faq-column-right .titre-faq .elementor-heading-title,
  body#cms.cms-id-8 .section-faq-column-right .titre-faq h2 {
    font-size: 30px !important;
    margin-bottom: 25px !important;
  }

  body#cms.cms-id-8 .section-faq-column-right .elementor-accordion {
    gap: 20px;
  }

  body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-title {
    padding: 16px 20px;
    font-size: 16px;
    line-height: 20px;
    gap: 14px;
  }

  body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-content {
    padding: 0 50px 16px 20px;
    font-size: 14px;
    line-height: 18px;
  }

  body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-icon {
    width: 40px;
    height: 37px;
    flex: 0 0 40px;
  }

  /* --- Page Qui est Colette ≤767 --- */
  body#cms.cms-id-7 .elementor-element-aq37jym {
    padding: 0 20px !important;
    margin-top: 20px !important;
    margin-bottom: 40px !important;
  }


  body#cms.cms-id-7 .elementor-element-93lvdfy .elementor-image img {
    max-width: 60px;
  }

  body#cms.cms-id-7 .elementor-element-v3lccsn {
    font-size: 38px;
    line-height: 38px;
  }

  body#cms.cms-id-7 .elementor-element-ucc4jx3 {
    font-size: 14px;
    line-height: 20px;
  }

  body#cms.cms-id-7 .elementor-element-2nwg3bv .elementor-button {
    font-size: 18px;
    padding: 6px 22px;
  }

  body#cms.cms-id-7 .elementor-element-2hj2a9h .elementor-widget-container {
    margin: 30px 0 0 0 !important;
  }

  body#cms.cms-id-7 .elementor-element-2hj2a9h .elementor-image img {
    border-radius: 0 40px 0 40px !important;
  }

  body#cms.cms-id-7 .elementor-element-sacsm18 {
    margin-top: 60px !important;
  }

  body#cms.cms-id-7 .elementor-element-gulfhc2 .elementor-image img {
    max-width: 280px;
  }

  body#cms.cms-id-7 .elementor-element-lryrfh0 > .elementor-element-populated {
    padding: 20px !important;
  }


  body#cms.cms-id-7 .elementor-element-azg71oi > .elementor-element-populated {
    padding: 0 0 150px !important;
  }

  body#cms.cms-id-7 .elementor-element-fm2om4x > .elementor-element-populated,
  body#cms.cms-id-7 .elementor-element-h92wvus > .elementor-element-populated {
    padding: 20px !important;
  }

  body#cms.cms-id-7 .elementor-element-u6gbw2m,
  body#cms.cms-id-7 .elementor-element-6n9zp7u {
    font-size: 18px;
    line-height: 22px;
  }

  body#cms.cms-id-7 .elementor-element-srcfgc5,
  body#cms.cms-id-7 .elementor-element-ytnrzgy {
    font-size: 14px;
    line-height: 18px;
  }

  body#cms.cms-id-7 .column-victoire-colette {
    margin-top: -60px;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:nth-child(1) {
    padding-top: 25px;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:nth-child(1) img {
    width: 280px;
    max-width: 280px;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:nth-child(2) img {
    width: 220px;
    max-width: 220px;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated {
    padding-left: 20px;
  }

  body#cms.cms-id-7 .elementor-element-silf21w {
    padding: 40px 20px 70px !important;
  }

  body#cms.cms-id-7 .section-ressentir-vivre-oser .elementor-row {
    flex-wrap: wrap;
    gap: 30px;
  }

  body#cms.cms-id-7 .section-ressentir-vivre-oser .elementor-row > .elementor-column.elementor-col-33 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body#cms.cms-id-7 .column-ressentir .elementor-widget-text-editor {
    font-size: 56px !important;
    line-height: 60px !important;
  }

  body#cms.cms-id-7 .column-vivre .elementor-widget-text-editor {
    font-size: 40px !important;
    line-height: 60px !important;
  }

  body#cms.cms-id-7 .column-oser .elementor-widget-text-editor {
    font-size: 44px !important;
    line-height: 60px !important;
  }

  body#cms.cms-id-7 .elementor-element-06l0f47 > .elementor-element-populated {
    margin-top: 0 !important;
  }

  body#cms.cms-id-7 .section-ressentir-vivre-oser .column-ressentir,
  body#cms.cms-id-7 .section-ressentir-vivre-oser .column-ressentir > .elementor-element-populated,
  body#cms.cms-id-7 .section-ressentir-vivre-oser .column-vivre,
  body#cms.cms-id-7 .section-ressentir-vivre-oser .column-vivre > .elementor-element-populated,
  body#cms.cms-id-7 .section-ressentir-vivre-oser .column-oser,
  body#cms.cms-id-7 .section-ressentir-vivre-oser .column-oser > .elementor-element-populated {
    aspect-ratio: auto !important;
    height: 400px !important;
  }

  body#cms.cms-id-7 .section-ressentir-vivre-oser-texte-right {
    max-width: 100%;
    margin-left: 0;
  }

  body#cms.cms-id-7 .elementor-element-umdm8oz {
    font-size: 18px !important;
    line-height: 22px !important;
  }

  body#cms.cms-id-7 .section-ressentir-vivre-oser-texte .elementor-widget-container {
    margin: 15px 0 25px 0 !important;
  }

  body#cms.cms-id-7 .elementor-element-wv0x160 {
    margin-bottom: 30px !important;
  }
}

@media (max-width: 730px) {
  .footer-column-bottom-left {
    padding: 0 !important;
  }
}

@media (max-width: 600px) {
  /* --- Page Qui est Colette ≤600 : titre au-dessus du papier-déchiré --- */
  body#cms.cms-id-7 .column-right-qui-est-colette {
    margin-bottom: 0 !important;
  }

  body#cms.cms-id-7 .column-right-qui-est-colette > .elementor-element-populated > .elementor-widget-wrap {
    display: block !important;
  }

  body#cms.cms-id-7 .titre-qui-est-colette,
  body#cms.cms-id-7 .image-papier-dechire {
    width: 100% !important;
    max-width: 100% !important;
  }

  body#cms.cms-id-7 .titre-qui-est-colette {
    padding-top: 0;
  }

  body#cms.cms-id-7 .titre-qui-est-colette .elementor-widget-container {
    margin-top: 0 !important;
    margin-bottom: 30px !important;
  }

  body#cms.cms-id-7 .image-papier-dechire {
    margin-bottom: -50px;
  }

  body#cms.cms-id-7 .titre-qui-est-colette .elementor-heading-title {
    font-size: clamp(2.125rem, 3.8vw, 5.5rem) !important;
    line-height: clamp(45px, 4.2vw, 95px) !important;
  }

  /* --- Bienvenue ≤600 : cacher la 1ère col-33 de chaque ligne, passer les 2 autres en 50/50 --- */
  body#cms.cms-id-7 .column-right-bienvenue .elementor-row > .elementor-column.elementor-col-33:first-child {
    display: none;
  }

  body#cms.cms-id-7 .column-right-bienvenue .elementor-row > .elementor-column.elementor-col-33:not(:first-child) {
    width: 50%;
  }

  .reseaux-sociaux-column-left > .elementor-column-wrap > .elementor-widget-wrap > .elementor-widget-image:nth-child(2) {
    display: none;
  }

  .reseaux-sociaux-column-left.elementor-col-50,
  .reseaux-sociaux-column-right.elementor-col-50 {
    width: 50%;
  }

  .colmumn-left-newsletter img {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .footer-section-top::before {
    height: 85px;
    top: -17px;
  }

  .footer-column-top-left .elementor-image img {
    width: 250px;
  }

  .footer-contact {
    padding: 80px 45px 20px 50px;
  }

  /* --- Giftcard ≤767 --- */
  body#module-giftcard-choicegiftcard #main {
    padding: 30px 20px;
  }

  body#module-giftcard-choicegiftcard .giftcard-title {
    margin-bottom: 20px;
  }

  body#module-giftcard-choicegiftcard .giftcard-subtitle {
    margin-bottom: 25px;
  }

  body#module-giftcard-choicegiftcard .giftcard-info {
    font-size: 18px;
    line-height: 26px;
    padding: 20px;
    margin-bottom: 50px;
  }

  body#module-giftcard-choicegiftcard #formgiftcard h2 {
    font-size: 18px;
    line-height: 22px;
    gap: 12px;
    margin-bottom: 20px;
  }

  body#module-giftcard-choicegiftcard #formgiftcard h2 .step-number {
    width: 32px;
    height: 32px;
    font-size: 20px;
  }

  body#module-giftcard-choicegiftcard #gc-step-receptmode,
  body#module-giftcard-choicegiftcard #gc-step-template {
    margin-bottom: 50px;
  }

  body#module-giftcard-choicegiftcard #gc-step-information {
    padding: 30px 20px;
    margin: 50px -20px 0;
  }

  body#module-giftcard-choicegiftcard .gc-receptmode-option {
    flex-direction: column;
    gap: 20px;
  }

  body#module-giftcard-choicegiftcard .gc-receptmode-option label,
  body#module-giftcard-choicegiftcard .gc-receptmode-option label:hover,
  body#module-giftcard-choicegiftcard .gc-receptmode-option input[type="radio"]:checked + label {
    font-size: 22px;
    line-height: 26px;
    padding: 8px 20px;
  }

  body#module-giftcard-choicegiftcard .gc-receptmode-option label::before {
    width: 36px;
    height: 36px;
  }

  body#module-giftcard-choicegiftcard #templates_block ul.row {
    gap: 15px;
  }

  body#module-giftcard-choicegiftcard #gc-step-information .custom-select-display {
    padding: 15px 60px 20px 0;
    background-position: left bottom, right 20px center;
    background-size: 36px 2px, 18px auto;
  }

  body#module-giftcard-choicegiftcard #gc-step-information .form-control {
    padding: 15px 0 20px;
  }

  body#module-giftcard-choicegiftcard #gc-step-information textarea.form-control {
    min-height: 160px;
  }

  body#module-giftcard-choicegiftcard #remaining_characters {
    font-size: 18px;
    line-height: 22px;
    margin-top: 20px;
  }

  body#module-giftcard-choicegiftcard .ta-gc-submit {
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 40px !important;
  }

  body#module-giftcard-choicegiftcard .ta-gc-submit button {
    font-size: 1.25rem !important;
    padding: 12px 30px !important;
  }

  body#module-giftcard-choicegiftcard .ta-gc-submit button[data-ta-action="add_to_cart"] {
    padding: 12px 30px 12px 70px !important;
  }

  body#module-giftcard-choicegiftcard .ta-gc-submit button[data-ta-action="add_to_cart"]::before {
    width: 55px;
    height: 55px;
    left: 15px;
  }

  /* --- Page 404 ≤767 --- */
  body#pagenotfound .page-404-hero {
    padding: 130px 20px 130px;
    margin-top: -125px;
    border-radius: 0 0 30px 30px;
  }

  body#pagenotfound .page-404-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: -90px auto 40px;
    max-width: calc(100% - 40px);
  }

  body#pagenotfound .page-404-card-3 {
    grid-column: 1 / -1;
    max-width: calc(50% - 10px);
    margin: 0 auto;
  }

  body#pagenotfound .page-404-card-1 .page-404-card-title {
    font-size: 22px;
    line-height: 26px;
  }

  body#pagenotfound .page-404-card-2 .page-404-card-title {
    font-size: 18px;
    line-height: 22px;
  }

  body#pagenotfound .page-404-card-3 .page-404-card-title {
    font-size: 18px;
    line-height: 22px;
  }

  body#pagenotfound .page-404-subtitle {
    margin-bottom: 25px;
    padding: 0 20px;
  }

  body#pagenotfound .page-404-btn {
    font-size: 18px;
    line-height: 22px;
    padding: 12px 20px;
  }

  body#pagenotfound .page-404 {
    padding-bottom: 60px;
  }

  /* --- CMS ≤767 --- */
  body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #main {
    padding: 25px 20px 30px;
  }

  body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) .page-header {
    margin-bottom: 20px;
  }

  body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content .rte,
  body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content > div {
    font-size: 15px;
  }

  body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content h2 {
    font-size: 20px;
    line-height: 24px;
    margin: 30px 0 15px;
  }

  /* --- Page 404 ≤560 --- */
  body#pagenotfound .page-404-hero {
    padding-top: 160px;
  }

}

@media (max-width: 530px) {
  /* --- Wishlist ≤530 : tout centré --- */
  #iqitwishlist-user-products .iqitwishlist-product > .row {
    justify-content: center;
    align-items: center;
    gap: 10px;
  }

  #iqitwishlist-user-products .iqitwishlist-product > .row > .col,
  #iqitwishlist-user-products .iqitwishlist-product > .row > .col-3 {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
  }

  #iqitwishlist-user-products .iqitwishlist-product > .row > .col:not(.col-auto):not(._name):not(.col-3) {
    text-align: center;
  }

  #iqitwishlist-user-products .iqitwishlist-product > .row > .col-3.col-sm-auto {
    margin-bottom: 0;
    margin-right: 0;
  }

  /* --- Giftcard ≤530 --- */
  body#module-giftcard-choicegiftcard #templates_block ul.row {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  body#module-giftcard-choicegiftcard #gc-step-information {
    padding: 25px 18px;
  }

  body#module-giftcard-choicegiftcard #gc-step-information .form-control,
  body#module-giftcard-choicegiftcard #gc-step-information .custom-select-display {
    font-size: 24px;
  }

  body#module-giftcard-choicegiftcard .ta-gc-submit {
    flex-direction: column;
    align-items: center;
    gap: 25px;
  }

  /* --- Page 404 ≤530 --- */
  body#pagenotfound .page-404-hero {
    padding: 175px 20px 110px;
    margin-top: -130px;
    border-radius: 0 0 25px 25px;
  }

  body#pagenotfound .page-404-cards {
    grid-template-columns: 1fr;
    gap: 15px;
    margin: -75px auto 30px;
    max-width: calc(100% - 30px);
  }

  body#pagenotfound .page-404-card-3 {
    grid-column: auto;
    max-width: 100%;
  }

  body#pagenotfound .page-404-card-1 .page-404-card-title {
    font-size: 36px;
    line-height: 40px;
  }

  body#pagenotfound .page-404-card-2 .page-404-card-title {
    font-size: 28px;
    line-height: 32px;
  }

  body#pagenotfound .page-404-card-3 .page-404-card-title {
    font-size: 24px;
    line-height: 28px;
  }

  body#pagenotfound .page-404-subtitle {
    margin-bottom: 20px;
  }

  body#pagenotfound .page-404 {
    padding-bottom: 50px;
  }
}

@media (max-width: 575.98px) {
  /* Quantité + bouton + wishlist : forcer à rester en ligne (Bootstrap col-12 < sm les empile) */
  body#product .product-add-to-cart .row.product-quantity > .col-12,
  body#product .product-add-to-cart .row.product-quantity > [class*="col-"] {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  /* Page panier : espace entre la zone produit et la zone actions quand elles s'empilent */
  body#cart .product-line-grid-body {
    margin-bottom: 10px;
  }

  body#cart .product-line-grid-right .price .product-price strong {
    font-size: 18px;
    line-height: 22px;
  }
}

@media (max-width: 500px) {
  h1,
  .h1,
  body#contact .contact-page-title {
    line-height: clamp(30px, 7vw, 45px) !important;
  }

  /* --- FAQ ≤500 : augmenter min-height de la section top --- */
  body#cms.cms-id-8 .section-top-faq > .elementor-container {
    min-height: 560px !important;
    padding-bottom: 40px !important;
  }

  /* --- Giftcard ≤500 : date selects en colonne --- */
  body#module-giftcard-choicegiftcard #recepmode-mail-additional-information .form-group.datesendcard {
    flex-direction: column;
  }

  body#module-giftcard-choicegiftcard #recepmode-mail-additional-information .form-group.datesendcard select.form-control {
    flex: 1 1 100%;
    width: 100%;
  }

  /* --- Tunnel commande ≤500 : carrier en colonne centrée --- */
  body#checkout .summary-selected-carrier .row {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
  }

  body#checkout .summary-selected-carrier .row > .col:not(.col-auto) {
    flex-direction: column;
    gap: 10px;
  }

  body#checkout .delivery-option .delivery-option-2 > .row {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0;
  }

  body#checkout .delivery-option .delivery-option-2 > .row > .col-sm-4 {
    padding-right: 0;
  }

  body#checkout .delivery-option .carrier-hasLogo {
    justify-content: center;
  }

  body#checkout section.checkout-step .delivery-option > label > .row > div:last-child {
    text-align: center;
  }

  body#checkout section.checkout-step .delivery-option > label > .row > div:first-child img {
    margin: 0;
  }

  .deco-colette-column-left-text-bottom .elementor-text-editor,
  .deco-colette-column-left-text-bottom p {
    font-size: 40px;
    line-height: 45px;
  }

  .decouvre-univers-forme {
    width: 125px;
    height: 125px;
    top: 20px;
    right: 20px;
  }

  .section-reseaux-sociaux .elementor-container .elementor-row {
    display: flex !important;
    flex-direction: column-reverse !important;
    flex-wrap: wrap !important;
    gap: 20px;
  }

  .reseaux-sociaux-column-left.elementor-col-50,
  .reseaux-sociaux-column-right.elementor-col-50 {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .categorie-label {
    margin-top: 30px;
    font-size: 45px;
  }

  .categorie-image {
    width: 200px;
  }

  #mobile-header .m-nav-btn {
    padding: 0;
  }

  #mobile-header .row-mobile-header {
    gap: 5px;
  }

  .footer-links-col {
    width: calc(50% - 10px) !important;
  }

  .footer-links {
    flex-wrap: wrap;
  }

  /* Listing : 1 produit par ligne */
  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #js-product-list .products-grid > .js-product-miniature-wrapper {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) #products {
    padding-bottom: 30px;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .category-description-bottom {
    margin-top: 25px;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .page-title {
    line-height: 39px !important;
  }

  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .page-title span {
    font-size: 24px;
    padding: 6px 20px;
  }

  /* --- Page produit : ajustements 500 --- */
  body#product .product_header_container {
    margin-bottom: 0;
  }

  body#product .product-information > [id^="product-description-short"],
  body#product .product-information > [id^="product-description-short"] p {
    font-size: 28px;
    line-height: 30px;
  }

  body#product .product-information > [id^="product-description-short"] {
    margin-bottom: 20px;
  }

  body#product .product-prices .current-price,
  body#product .product-prices .current-price .product-price,
  body#product .product-prices .current-price-value {
    font-size: 26px;
    line-height: 28px;
  }

  body#product .product-add-to-cart .add-to-cart {
    font-size: 1.25rem;
    padding: 10px 25px 10px 70px;
    width: 100%;
  }

  body#product .product-add-to-cart .add-to-cart::before {
    width: 50px;
    height: 50px;
    left: 15px;
    bottom: -8px;
  }

  body#product .product-tabs {
    margin-top: 30px;
  }

  body#product #content-wrapper .section-title,
  body#product #content-wrapper .section-title span {
    font-size: 20px;
    line-height: 24px;
  }

  body#product #content-wrapper .section-title {
    margin-bottom: 15px;
  }

  body#product .block-section {
    margin-bottom: 1rem;
  }

  body#product #product-details.js-product-details {
    grid-template-columns: 1fr 1.5fr;
  }

  body#product .js-product-details .data-sheet dt,
  body#product .js-product-details .data-sheet dd,
  body#product .js-product-details .product-reference .label,
  body#product .js-product-details .product-reference > span {
    padding: 8px 12px;
    font-size: 13px;
    line-height: 16px;
  }

  body#product .js-mailalert input[type="submit"].btn-secondary,
  body#product .js-mailalert .js-mailalert-add {
    font-size: 16px !important;
    padding: 12px 22px !important;
  }

  body#product .product-breadcrumb-wrapper nav.breadcrumb {
    margin-bottom: 30px;
  }

  /* --- Page contact ≤500 --- */
  body#contact .contact-page-top {
    gap: 25px;
    margin-bottom: 40px;
  }

  body#contact .contact-page-intro {
    font-size: 28px;
    line-height: 30px;
    margin-bottom: 20px;
  }

  body#contact .contact-page-socials {
    gap: 14px;
  }

  body#contact .contact-page-socials img,
  body#contact .contact-page-socials li:nth-child(1) img,
  body#contact .contact-page-socials li:nth-child(2) img {
    width: 46px !important;
    height: 46px !important;
  }

  body#contact .contact-page-socials li:nth-child(3) img {
    width: 44px !important;
    height: 44px !important;
  }

  body#contact .contact-page-socials a {
    gap: 14px;
  }

  body#contact .contact-page-socials span {
    font-size: 14px;
  }

  body#contact .contact-page-form input[type="text"],
  body#contact .contact-page-form input[type="email"],
  body#contact .contact-page-form input[type="tel"],
  body#contact .contact-page-form input[type="url"],
  body#contact .contact-page-form textarea,
  body#contact .contact-page-form textarea.ets_cfu_form-control,
  body#contact .contact-page-form textarea.form-control,
  body#contact .contact-page-form select,
  body#contact .contact-page-form .ets_cfu_form-control,
  body#contact .contact-page-form .form-control {
    padding: 10px 0 18px;
    font-size: clamp(24px, 6vw, 32px) !important;
  }

  body#contact .contact-page-form .ets_cfu_input {
    margin: 0 0 18px;
  }

  body#contact .contact-page-form .ets_cfu_input_html .ets_cfu-html,
  body#contact .contact-page-form .ets_cfu_input_acceptance label,
  body#contact .contact-page-form .wpcfu-list-item-label {
    font-size: 13px !important;
    line-height: 17px !important;
  }

  body#contact .contact-page-form .ets_cfu_input_submit {
    margin: 30px 0 0;
  }

  body#contact .contact-page-form button[type="submit"],
  body#contact .contact-page-form input[type="submit"],
  body#contact .contact-page-form .btn-primary,
  body#contact .contact-page-form .ets_cfu-submit,
  body#contact .contact-page-form .ets_cfu_submit {
    font-size: 1.1rem !important;
    padding: 10px 30px !important;
  }

  body#contact .contact-page-form {
    margin-bottom: 30px;
  }

  body#product .product-variants {
    margin-bottom: 20px;
  }

  body#product .product-accessories,
  body#product .category-products,
  body#product .productscategory,
  body#product section[class*="crossselling"] {
    margin-top: 30px;
  }

  body#product section[class*="crossselling"] {
    margin-bottom: 30px;
  }

  body#product .js-mailalert {
    margin: 0;
  }

  body#product .product-accessories:last-of-type,
  body#product .category-products:last-of-type,
  body#product .productscategory:last-of-type,
  body#product section[class*="crossselling"]:last-of-type {
    margin-bottom: 30px;
  }

  /* --- Page panier ≤500 --- */
  body#cart #main {
    padding: 15px 20px 30px;
  }

  /* --- Confirmation commande ≤500 --- */
  body#order-confirmation #content-wrapper {
    padding: 15px 20px 30px;
  }

  body#cart .page-title {
    margin: 0 0 25px;
  }

  body#cart .cart-summary {
    padding: 18px 18px 28px;
  }

  body#cart .checkout.card-body {
    padding: 30px 0 0;
  }

  body#cart .cart-summary-line.cart-total .label,
  body#cart .cart-summary-line.cart-total .value {
    font-size: 1.75rem;
  }

  body#cart .cart-detailed-actions .btn-primary,
  body#cart .cart-detailed-actions .btn-primary.btn-block {
    font-size: 1.125rem;
    padding: 10px 18px 10px 55px;
  }

  body#cart .cart-detailed-actions .btn-primary::before {
    width: 42px;
    height: 42px;
    left: 16px;
    bottom: -8px;
  }

  body#cart .cart-grid-body > .btn-secondary {
    font-size: 16px;
    line-height: 20px;
    height: 44px;
    padding: 0 20px;
    margin: 20px 0 0 !important;
  }


  body#cms.cms-id-7 .elementor-element-v3lccsn {
    font-size: 32px;
    line-height: 32px;
  }

  body#cms.cms-id-7 .elementor-element-2nwg3bv .elementor-button {
    font-size: 16px;
    padding: 6px 18px;
  }

  body#cms.cms-id-7 .elementor-element-gulfhc2 .elementor-image img {
    max-width: 220px;
  }


  body#cms.cms-id-7 .elementor-element-u6gbw2m,
  body#cms.cms-id-7 .elementor-element-6n9zp7u {
    font-size: 16px;
    line-height: 20px;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:nth-child(1) img {
    width: 220px;
    max-width: 220px;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:nth-child(2) img {
    width: 180px;
    max-width: 180px;
  }

}

@media (max-width: 475px) {
  .footer-section-bottom {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .footer-column-bottom-left {
    padding: 0 20px !important;
  }

  .footer-contact {
    width: 100% !important;
    max-width: none !important;
    background-size: cover;
    background-position: center;
    padding: 75px 30px 30px 30px;
  }
}

@media (max-width: 460px) {
  .footer-cat-btn {
    font-size: 1rem;
    height: 42px;
    line-height: 42px;
    padding: 0 15px;
  }
}

@media (max-width: 450px) {
  h1 {
    font-size: 24px;
    line-height: 28px;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:nth-child(1) img {
    width: 180px;
    max-width: 180px;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:nth-child(2) img {
    width: 150px;
    max-width: 150px;
  }

  .accueil-section-top-column-left > .elementor-element-populated {
    padding: 30px !important;
  }

  /* --- Giftcard ≤450 --- */
  body#module-giftcard-choicegiftcard .giftcard-title {
    margin-bottom: 15px;
  }

  body#module-giftcard-choicegiftcard .giftcard-subtitle {
    margin-bottom: 20px;
  }

  body#module-giftcard-choicegiftcard .giftcard-info {
    font-size: 16px;
    line-height: 22px;
    padding: 15px;
  }

  body#module-giftcard-choicegiftcard #gc-step-information .form-control,
  body#module-giftcard-choicegiftcard #gc-step-information .custom-select-display {
    font-size: 20px;
  }

  body#module-giftcard-choicegiftcard .gc-receptmode-option label,
  body#module-giftcard-choicegiftcard .gc-receptmode-option label:hover,
  body#module-giftcard-choicegiftcard .gc-receptmode-option input[type="radio"]:checked + label {
    font-size: 18px;
    padding: 8px 16px;
  }

  body#module-giftcard-choicegiftcard .gc-receptmode-option label::before {
    width: 30px;
    height: 30px;
  }

  /* --- Page 404 ≤450 --- */
  body#pagenotfound .page-404-hero {
    padding: 145px 15px 95px;
    margin-top: -120px;
  }

  body#pagenotfound .page-404-card-1 .page-404-card-title {
    font-size: 28px;
    line-height: 32px;
  }

  body#pagenotfound .page-404-card-2 .page-404-card-title {
    font-size: 22px;
    line-height: 26px;
  }

  body#pagenotfound .page-404-card-3 .page-404-card-title {
    font-size: 20px;
    line-height: 24px;
  }

  body#pagenotfound .page-404-btn {
    font-size: 16px;
    line-height: 20px;
    padding: 10px 18px;
  }

  /* --- CMS ≤450 --- */
  body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #main {
    padding: 20px 15px 25px;
  }

  body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content .rte,
  body#cms:is(.cms-id-1, .cms-id-2, .cms-id-3, .cms-id-6) #content > div {
    font-size: 14px;
  }

  /* --- FAQ ≤450 --- */
  body#cms.cms-id-8 .sous-titre-faq {
    font-size: 28px !important;
    line-height: 30px !important;
  }

  body#cms.cms-id-8 .section-faq-column-right .titre-faq .elementor-heading-title,
  body#cms.cms-id-8 .section-faq-column-right .titre-faq h2 {
    font-size: 26px !important;
    margin-bottom: 20px !important;
  }

  body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-title {
    padding: 14px 18px;
    font-size: 15px;
    line-height: 19px;
  }

  body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-content {
    padding: 0 40px 14px 18px;
  }

  body#cms.cms-id-8 .section-faq-column-right .elementor-accordion-icon {
    width: 32px;
    height: 30px;
    flex: 0 0 32px;
  }
}

@media (max-width: 415px) {
  #footer-container-main .footer-contact-item {
    flex-direction: column;
    text-align: center;
  }

  .footer-contact {
    padding-top: 95px;
  }
}

@media (max-width: 400px) {
  /* --- Bienvenue ≤400 : cacher la colonne vide restante, carte en 100% width --- */
  body#cms.cms-id-7 .elementor-element-9p6d0dr,
  body#cms.cms-id-7 .elementor-element-y9qrdeo {
    display: none;
  }

  body#cms.cms-id-7 .column-right-bienvenue .elementor-row > .elementor-column.elementor-col-33.column-inside-bienvenue {
    width: 100%;
    padding: 30px;
  }

  body#cms.cms-id-7 .column-ressentir .elementor-widget-text-editor {
    font-size: 40px !important;
    line-height: 44px !important;
  }

  body#cms.cms-id-7 .column-vivre .elementor-widget-text-editor {
    font-size: 28px !important;
    line-height: 44px !important;
  }

  body#cms.cms-id-7 .column-oser .elementor-widget-text-editor {
    font-size: 32px !important;
    line-height: 44px !important;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:nth-child(1) img {
    width: 150px;
    max-width: 150px;
  }

  body#cms.cms-id-7 .column-victoire-colette > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-image:nth-child(2) img {
    width: 120px;
    max-width: 120px;
  }

  #blockcart-content::before {
    display: none;
  }

  .footer-links {
    padding-bottom: 20px;
  }

  .footer-section-bottom {
    margin-top: 20px;
  }
}


@media (max-width: 380px) {
  #mobile-header .m-nav-btn::before {
    width: 35px;
    height: 35px;
  }
}

@media (max-width: 375px) {
  .footer-section-top::before {
    height: 80px;
    top: -11px;
  }
}

@media (max-width: 370px) {
  body:is(#category, #prices-drop, #best-sales, #new-products, #module-iqitsearch-searchiqit) .page-title::after {
    display: none;
  }
}

@media (max-width: 360px) {
  #iqitmegamenu-mobile::after {
    display: none;
  }

  .footer-links-col {
    width: 100% !important;
  }
}

@media (max-width: 340px) {
  #blockcart-content .cart-products .col-3 {
    flex: 0 0 80px;
    max-width: 80px;
  }
}

