:root {
  --purple: #7e44d0;
  --green: #189384;
  --orange: #ff753f;
}

::-webkit-scrollbar {
  width: initial;
}

.purple-bg {
  background-color: var(--purple) !important;
}

.green-bg {
  background-color: var(--green) !important;
}
.orange-bg {
  background-color: var(--orange) !important;
}

.purple-text {
  color: var(--purple) !important;
}

.green-text {
  color: var(--green) !important;
}
.orange-text {
  color: var(--orange) !important;
}

.section:first-child,
#voucher-section {
  padding-top: calc(144px);
}

.diffusers-page #diffusers-top-section {
  padding-top: 70px !important;
}

.information-information .account_connexion__wrapper {
  padding-top: calc(80px) !important;
}

header.disabled-promo ~ div.content > section:first-child {
  padding-top: 70px !important;
}

header.disabled-promo ~ div.content > #shop-content > section:first-child {
  padding-top: 70px !important;
}

header.disabled-promo ~ div.content .header_checkout {
  padding-top: 100px !important;
}

.btn-primary {
  transition: 0.2s ease;
}

.btn--primary.black {
  background-color: #000;
  color: #f4f4ef;
  border: 1px solid #000;
}

.btn--primary.black:hover {
  background-color: #000;
  color: #f4f4ef;
  border: 1px solid #000;
}

.btn--primary.black:hover {
  cursor: pointer;
}

.btn--primary.black:active {
  background-color: #f4f4ef;
  color: #000;
  border: 1px solid #000;
}

.btn--primary.loading {
  padding: 16px 24px;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.5;
  border-radius: 4px;
  display: inline-block;
  transition: 0.2s ease;
  text-align: center;
  color: #f4f4ef; /* Keep the text color from your original styles */
  position: relative;
  z-index: 0;
  overflow: hidden;
  border: 1px solid #000; /* From your original styles */
}

.btn--primary.loading:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 1000%;
  bottom: 0;
  background: linear-gradient(
    to right,
    #000,
    #333,
    #000,
    #444,
    #000,
    #555,
    #000,
    #666,
    #000,
    #777,
    #000,
    #888,
    #000,
    #333,
    #000,
    #444,
    #000,
    #555,
    #000,
    #666,
    #000,
    #777,
    #000,
    #888,
    #000
  );
  animation: change 5s infinite linear;
}

@keyframes change {
  to {
    transform: translate(84%);
  }
}

.hidden {
  display: none !important;
}

.input_wrapper.other_field.hidden {
  display: none !important;
}

.input_wrapper.checkbox.black_checkboxes.newsletter_checkbox {
  margin-top: 0px !important;
}

/* Newsletter customer type checkboxes styling - ONLY for newsletter form */
/* Match exact behavior of contact form checkboxes */
form.newsletter-form .input_wrapper.checkbox.black_checkboxes {
  display: flex !important;
  flex-direction: row !important;
  gap: 15px;
  margin-top: 15px;
  margin-bottom: 15px;
}

form.newsletter-form .input_wrapper.checkbox.black_checkboxes label {
  display: inline-flex !important;
  align-items: center;
  cursor: pointer;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: normal;
  color: #FFFFFF !important;
  margin-bottom: 0 !important;
  padding: 0;
  background-color: transparent !important;
  position: relative;
}

form.newsletter-form .input_wrapper.checkbox.black_checkboxes label > span {
  color: #FFFFFF !important;
  padding-left: 28px;
  position: relative;
}

form.newsletter-form .input_wrapper.checkbox.black_checkboxes input[type="radio"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  width: 0;
  height: 0;
}

form.newsletter-form .input_wrapper.checkbox.black_checkboxes input + span::before {
  content: "";
  margin-top: 1px;
  min-width: 20px;
  height: 20px;
  border-radius: 4px;
  position: absolute;
  left: 0;
  top: 0;
  border: 1px solid #1e1e1e;
  background-color: white;
}

form.newsletter-form .input_wrapper.checkbox.black_checkboxes input:checked + span::after {
  content: url(../../../dist/img/icons/checkmark-black.svg);
  position: absolute;
  left: 0;
  top: 0;
  min-width: 20px;
  height: 20px;
  transform: scale(1) !important;
  display: block;
}

/*  Components */
.btn {
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
}

.qty_wrapper .plus span,
.qty_wrapper .minus span {
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
}

.qty_wrapper .plus,
.qty_wrapper .minus {
  background-color: #fff !important;
}

/* Transparent background for quantity buttons in Checkout page only */
.checkout .qty_wrapper .plus,
.checkout .qty_wrapper .minus {
  background-color: transparent !important;
}

.btn.disabled {
  opacity: 0.65;
}

.contact-form .btn.disabled:hover {
  opacity: 0.65;
  cursor: inherit;
  color: #1e1e1e !important;
  border: 1px solid #f4f4ef !important;
  transition: none !important;
  background-color: #e9ecef !important;
}

.contact-form.form-dark .input_wrapper.checkbox input + span::before {
  /*border: 2px solid white;*/
  background-color: white !important;
}

.contact-form.form-dark .input_wrapper.checkbox input + span::after {
  border: 2px solid white;
  background-color: black !important;
  border-radius: 4px;
}

.white_form.contact-form .btn.disabled {
  opacity: 0.65;
  cursor: inherit;
  color: #1e1e1e !important;
  border: 1px solid #f4f4ef !important;
  transition: none !important;
  background-color: #e9ecef !important;
}

input.disabled,
textarea.disabled,
select.disabled {
  background-color: #e9ecef !important;
  opacity: 1;
}

.breadcrumb {
  font-size: 12px;
}

.breadcrumb li:not(:last-child)::after {
  content: url(../../../dist/img/icons/arrow_left_black.svg);
  color: #fff;
  position: relative;
  top: 2px;
  transform: scale(0.7);
}

.header_general.header_ambiances .breadcrumb li:not(:last-child)::after,
.header_general.header_black .breadcrumb li:not(:last-child)::after {
  content: url(../../../dist/img/icons/arrow_left.svg);
  transform: scale(0.7);
}

.header_general .breadcrumb {
  position: relative;
  padding-bottom: 0;
  padding-top: 35px;
}
.header_general .breadcrumb li:not(:last-child)::after {
  content: url(../../../dist/img/icons/arrow_left_black.svg);
  transform: scale(0.7);
}

.breadcrumb li:not(:last-child)::after {
  color: #fff;
  position: relative;
  top: 2px;
}

.breadcrumb li:not(:last-child)::after {
  color: #fff;
  position: relative;
  top: 2px;
}

.breadcrumb a {
  text-transform: uppercase;
}

.header_general .breadcrumb {
  position: relative;
  padding-bottom: 0;
  padding-top: 35px;
}
.header_general .breadcrumb li:not(:last-child)::after {
}

.menu_popup .search .submit_search {
  z-index: 0;
}

.menu_popup .cart .cart_item__text a,
.cart_item__text a {
  color: #1e1e1e;
}

.menu_popup .cart .cart_item__text a:hover,
.cart_item__text a:hover {
  text-decoration: underline;
}

.header-nav {
  top: 50px !important;
}

.header-nav.disabled-promo {
  top: 0 !important;
}

.nav.disabled-promo {
  position: fixed;
  left: 0;
  width: 100%;
  z-index: 10;
  color: #fff;
  padding-top: 0px;
  text-align: center;
  height: 144px;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s ease;
  transform: translateY(0);
}

.nav.black_nav a::after,
.menu_dropdown_active .nav a::after,
.menu_opened .nav a::after {
  height: 0px;
}

.scrolled .nav {
  height: 80px !important;
}

.multiselect__option {
  white-space: wrap !important;
}

.multiselect--active {
  z-index: 10 !important;
}

.multiselect__select {
  display: none !important;
}

.multiselect__tags {
  border: none !important;
  padding: 0px 40px 0 0px !important;
}

.multiselect__content-wrapper {
  border: none !important;
}

.multiselect__option--highlight {
  background: #1e1e1e !important;
  outline: none;
  color: #fff;
}

.multiselect__content-wrapper {
  width: fit-content !important;
  overflow-x: hidden !important;
}

.menu_popup__wrapper {
  overflow: visible !important;
}

/* Header */
.nav__menu .submenu ul .shop_by.product .list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.nav__menu a.active::after,
.nav__menu a:hover::after {
  width: 100% !important;
  transition: 0.2s ease !important;
  height: 2px !important;
}

.nav__menu a::after {
  position: absolute;
  content: "";
  bottom: -3px;
  left: 0;
  width: 0;
  transition: 0.2s ease;
  height: 2px !important;
  background-color: #1e1e1e;
}

/* Burger menu */
.burger_menu {
  top: 60px;
}

.burger_menu .wrap {
  gap: 10px;
}

.burger_menu__main .main_ul li a {
  position: relative;
  display: inline-block;
}

.burger_menu__main .main_ul li a.active::after,
.burger_menu__main .main_ul li a:hover::after {
  width: 100% !important;
  transition: 0.2s ease !important;
  height: 2px !important;
}

.burger_menu__main .main_ul li a::after {
  position: absolute;
  content: "";
  bottom: -3px;
  left: 0;
  width: 0;
  transition: 0.2s ease;
  height: 2px !important;
  background-color: #1e1e1e;
}

.burger_menu__main .main_ul li.boutique_btn::after,
.burger_menu__main .main_ul li.expertise_btn::after {
  color: #fff;
  position: relative;
  top: 2px;
}

.burger_menu .header_sample {
  margin-top: 10px;
}

.header_sample.fragrance {
  text-transform: uppercase;
  color: #ff753f;
}

.header_sample.aromatherapy {
  text-transform: uppercase;
  color: #7e44d0;
}

/* Home */

.home_boutique__products a {
  text-decoration: none;
  color: inherit;
}

.home_boutique__products .product__img {
  position: absolute;
  width: 100%;
  height: 80%;
  top: 20px;
  right: 0;
  transform: inherit;
  object-fit: contain;
}

.home_boutique__products .product__content {
    padding-top: 60px;
}

.home-product-popup li {
  list-style-type: disc;
  margin-left: 15px;
}

.home_fragrances__carrousel .fragrance {
  padding: 25px;
  padding-top: 40px;
}

.complementary_products__bg .bg::before {
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.3) 0%,
    rgba(0, 0, 0, 0.3) 100%
  ) !important;
}

.complementary_products video {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
}

.complementary_products .bg {
  display: inherit !important;
}

/* Cart and modal cart */
.promo-text {
  font-weight: bold;
  color: #e34343;
}

.promo-text.promo-text-cart {
  text-align: right;
  margin-top: 5px;
}

/* Modal cart */
.menu_popup_opened .menu_popup__container {
  overflow-x: scroll;
}

.menu_popup__wrapper.cart {
  padding-top: 20px !important;
}

.grecaptcha-badge {
  visibility: hidden;
  z-index: 999;
}

.menu_popup__container {
  padding: 20px !important;
}

.menu_popup .cart .cart_item__text {
  max-width: 115px !important;
  font-size: 14px;
}

.menu_popup .cart.cart_item__infos {
  gap: 20px !important;
}

.menu_popup .buttons {
  margin-top: 25px;
}

.menu_popup .cart input[type="number"] {
  caret-color: #1e1e1e;
  background-color: #fff;
  border: 1px solid #1e1e1e;
  border-left: none;
  border-right: none;
  color: #1e1e1e;
  border-radius: 0;
  text-align: center;
  width: 20px;
  width: 50px !important;
  max-width: 50px !important;
  height: 34px;
  -moz-appearance: textfield;
  /* Remove spinner for Firefox */
  -webkit-appearance: none;
  /* Remove spinner for Chrome/Safari */
  appearance: none;
  border-radius: 0 !important;
  /* Standard property */
}

.menu_popup .cart input[type="number"]::-webkit-inner-spin-button,
.menu_popup .cart input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
  display: none;
  /* Ensure the arrows are hidden */
}

.menu_popup .cart .qty_wrapper .minus,
.menu_popup .cart .qty_wrapper .plus {
  display: inherit !important;
}

.menu_popup .cart .cart_item__action_btns_wrapper {
  text-align: right;
}
.menu_popup .cart .cart_item__action_btns {
  width: 22px;
  display: inline-block;
}

.menu_popup .cart table tr td:last-child {
  vertical-align: middle !important;
}

.menu_popup .cart table tfoot .title {
  font-size: 14px;
  font-weight: 600;
}

.menu_popup .cart table tfoot .title td {
  padding-top: 25px;
}

.menu_popup .cart table tfoot .title.no-margin-title td {
  padding-top: 0px;
}

.menu_popup .cart table tfoot {
  padding-top: 25px;
  font-size: 12px;
}

.menu_popup .cart table tfoot td {
  padding: 0px;
}

.menu_popup .cart table tfoot td {
  padding-bottom: 2px;
}

.menu_popup .cart table tfoot td:nth-child(2) {
  text-align: right;
}

.menu_popup .cart table tfoot tr:not(.subheader)::after {
  height: 0px !important;
}

.menu_popup .cart table tfoot tr:last-child {
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  position: relative;
}

.cart table {
  margin-top: 20px;
}

/* Contact */
.information-contact .half_form__right a:hover {
  text-decoration: underline;
}

/* Forms - Common styles */
form span.input_wrapper.checkbox.black_checkboxes.no_margin_top {
  margin-top: 0 !important;
}

/* Contact form (contact.tpl) - Vertical layout */
.information-contact .input_wrapper.new_question_label {
  display: block !important;
  width: 100% !important;
  flex: 0 0 100% !important;
  margin-top: 0px;
  margin-bottom: 0px;
}

.information-contact .input_wrapper.new_question_label label {
  font-weight: 600;
  font-size: 14px;
  color: inherit;
}

/* Page forms (page.tpl & expertise.tpl) - Horizontal layout for checkboxes */
.information-page .input_wrapper.new_question_label,
.information-expertise .input_wrapper.new_question_label {
  display: block !important;
  width: 100% !important;
  flex: 0 0 100% !important;
  margin-top: 0px;
  margin-bottom: 0px;
}

.information-page .input_wrapper.new_question_label label,
.information-expertise .input_wrapper.new_question_label label {
  font-weight: 600;
  font-size: 16px;
  color: inherit;
}

.information-page .input_wrapper.checkbox.black_checkboxes.no_margin_top,
.information-expertise .input_wrapper.checkbox.black_checkboxes.no_margin_top {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}

.information-page .input_wrapper.checkbox.black_checkboxes.no_margin_top label,
.information-expertise .input_wrapper.checkbox.black_checkboxes.no_margin_top label {
  display: inline-flex !important;
  width: auto !important;
  margin-right: 20px !important;
  align-items: center;
}

.information-page .submit_wrapper,
.information-expertise .submit_wrapper {
  margin-top: 20px !important;
}

/* Mobile form with black background - white text for visibility */
.information-page .mobile_contact .input_wrapper.new_question_label label,
.information-expertise .mobile_contact .input_wrapper.new_question_label label {
  color: #FFFFFF !important;
}

.information-page .mobile_contact .input_wrapper.checkbox.black_checkboxes.no_margin_top,
.information-expertise .mobile_contact .input_wrapper.checkbox.black_checkboxes.no_margin_top {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}

.information-page .mobile_contact .input_wrapper.checkbox.black_checkboxes.no_margin_top label,
.information-expertise .mobile_contact .input_wrapper.checkbox.black_checkboxes.no_margin_top label {
  display: inline-flex !important;
  width: auto !important;
  margin-right: 20px !important;
  align-items: center;
  color: #FFFFFF !important;
}

.information-page .mobile_contact .input_wrapper.checkbox.black_checkboxes.no_margin_top label span,
.information-expertise .mobile_contact .input_wrapper.checkbox.black_checkboxes.no_margin_top label span {
  color: #FFFFFF !important;
}

.information-page .mobile_contact .input_wrapper.checkbox input + span::before,
.information-expertise .mobile_contact .input_wrapper.checkbox input + span::before {
  /*border: 2px solid white !important;*/
  border-radius: 3px;
  background-color: white !important;
}

.information-page .mobile_contact .input_wrapper.checkbox input + span::after,
.information-expertise .mobile_contact .input_wrapper.checkbox input + span::after {
  border: 2px solid white !important;
  background-color: black !important;
  border-radius: 3px;
}

.input_wrapper.other_field {
  width: 100% !important;
  flex: 0 0 100% !important;
}

.input_wrapper.help_text {
  display: block !important;
  width: 100% !important;
  flex: 0 0 100% !important;
  margin-top: 0;
  margin-bottom: 10px;
}

.input_wrapper.help_text p {
  margin: 0;
  padding: 0;
  font-size: 12px;
  color: #666666;
  font-style: italic;
}

/* Question group wrapper - groups question label with checkboxes */
.question_group {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 100%;
}

.cuztomized-select .hamak-selector__container .arrow {
  content: url(../../../dist/img/icons/arrow_down_select.svg);
  transition: 0.2s ease;
}

.hamak-selector__container.no-custom {
  font-size: 16px;
  height: inherit;
}

.input_wrapper.not-valid select {
  border: 1px solid #e34343 !important;
  color: #e34343 !important;
}

form .not-valid-tip a {
  color: #e34343 !important;
  font-weight: bold;
  text-decoration: underline;
}

.input_wrapper.radio.not-valid label {
  border: 1px solid #e34343 !important;
}

form .tip {
  color: inherit;
  font-size: 12px;
  margin-top: -10px;
}

form .not-valid-tip {
  color: #e34343 !important;
}

.input_wrapper.checkbox input + span::after {
  content: url(../../../dist/img/icons/checkmark.svg);
  position: absolute;
  left: 0;
  top: 0;
  min-width: 20px;
  height: 20px;
  transform: scale(0);
}

.account_opened .general_conditions_popup,
.general_conditions_opened .account_popup {
  opacity: 0;
  visibility: hidden;
}

/* New theme forms */
.aromaestro-form-input {
  border: 1px solid #e2e5ea;
  border-radius: 3px;
  background-color: #fff;
  z-index: 2;
  caret-color: #1e1e1e;
  padding: 16px;
  color: #1e1e1e;
  font-family: "Archivo", sans-serif;
  font-weight: 400;
}

/* Product */
.product_infos__right .wysiwyg a {
  text-decoration: underline;
  color: inherit;
}
.product_infos__right .in_stock {
  cursor: inherit;
  user-select: inherit;
}
.product_infos__form {
  margin-top: 22px;
}

.product_infos.diffuseur .product_infos__form {
  max-width: 550px;
}

.product_infos__attributes .attributes .attribute {
  z-index: 10;
  color: black !important;
}

.product_infos__attributes .attributes .attribute.active {
  color: #fff !important;
}

.product_infos__type {
  z-index: -10;
}

.product_infos.fragrance .product_infos__thumbnails,
.product_infos.aromatherapy .product_infos__thumbnails,
.product_infos.anti_odor .product_infos__thumbnails,
.product_infos.diffuseur .product_infos__thumbnails {
  width: 100% !important;
}

.iceberg__body {
  transition: all 0.5s ease-in-out;
}

.iceberg__body.opened {
  display: inherit !important;
}

.rp-add-to-card-btn {
  font-size: 13px;
  text-align: center;
  margin: auto;
  margin-top: 10px;
  padding: 11px 19px;
}

.product_opened .product_popup__container {
  overflow-y: scroll;
  overflow-x: hidden;
}

.product_popup .h1 {
  font-size: 25px !important;
  margin-bottom: 20px !important;
  padding-bottom: 20px !important;
}

.product_popup u {
  text-decoration: underline !important;
}

.product_infos__main .swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: flex; /* Set display to flex */
  justify-content: center; /* Horizontally center content (optional if you want this) */
  align-items: center; /* Vertically center content */
}

.product_infos__main iframe {
  z-index: 10;
}

.product_infos__thumbnails .play {
  width: 70px;
  height: 70px;
  background-image: url("../../../dist/img/product/play.png");
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.product_infos__right .wysiwyg a {
  text-decoration: underline;
}

.product_infos__right .wysiwyg a:visited {
  color: #1e1e1e;
}

.product_infos__attributes a:visited {
  color: inherit;
}

/* Products and shop */
.shop-shop .snotifyToast,
.product-single .snotifyToast {
  border-radius: 4px;
  background-color: white;
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}

.shop-shop .snotifyToast__body,
.product-single .snotifyToast__body {
  font-size: 1em;
  color: black;
  margin: auto;
  font-weight: bold;
}

.shop-shop .snotify-rightTop,
.product-single .snotify-rightTop {
  width: 355px;
}

.shop-shop .snotify-rightTop .snotifyToast__inner,
.product-single .snotify-rightTop .snotifyToast__inner {
  padding: 5px 15px 5px 15px;
}

/* Add to cart notification */
.add-to-cart-notification {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.add-to-cart-notification__product {
  display: flex;
  align-items: center;
  gap: 15px;
  width: 100%;
}

.add-to-cart-notification__image {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 5px;
}

.add-to-cart-notification__details {
  flex: 1;
}

.add-to-cart-notification__name {
  margin: 0;
  font-weight: bold;
  color: black;
  font-size: 13px;
}

.add-to-cart-notification__price {
  margin: 0;
  color: black;
  font-size: 12px;
}

.add-to-cart-notification__button {
  width: 100%;
  font-size: 12px;
  padding: 6px 12px;
  margin: 0;
  text-align: center !important;
  display: block;
}

/* Fix notification positioning - ensure fixed position at top right */
.snotify-rightTop,
.snotify.snotify-rightTop {
  position: fixed !important;
  top: 20px !important;
  right: 10px !important;
  z-index: 99999 !important;
  left: auto !important;
}

/* Mobile-specific positioning adjustments */
@media screen and (max-width: 768px) {
  .snotify-rightTop,
  .snotify.snotify-rightTop {
    position: fixed !important;
    top: 20px !important;
    right: 10px !important;
    left: auto !important;
    z-index: 99999 !important;
    width: calc(100% - 20px) !important;
    max-width: 355px !important;
  }
}

/* Footer _general.scss */
.footer__secondary_menu ul li {
  margin-bottom: 35px;
}

.footer__logo a:hover::after {
  width: 0px !important;
}

.product_infos.aromatherapy .splide__slide::before {
  /*opacity: 0.4;*/
  background: #EDC6F799 !important;
  background-image: none !important;
}

.product_infos.fragrance .splide__slide::before {
  /*opacity: 0.4;*/
  background: #FFDB8699 !important;
  background-image: none !important;
}

.product_infos.anti_odor .splide__slide::before {
  /*opacity: 0.4;*/
  background: #A4F7C999 !important;
  background-image: none !important;
}

/* Replace gradient circle background in product main carousel */
/* Override the default radial-gradient(#EBE4DE 40%, rgba(255, 255, 255, 0) 60%) */
/* Reset all circle properties similar to product_preview__gradient */
.product_infos__main .splide__slide::before,
.product_infos__main .swiper-slide::before {
  background: #F4F4EF !important;
  background-image: none !important;
  width: 100% !important;
  height: 100% !important;
  padding-bottom: 0 !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  border-radius: 0 !important;
}

.product_infos.aromatherapy .product_infos__main .splide__slide::before,
.product_infos.aromatherapy .product_infos__main .swiper-slide::before {
  background: #EDC6F799 !important;
  background-image: none !important;
  width: 100% !important;
  height: 100% !important;
  padding-bottom: 0 !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  border-radius: 0 !important;
}

.product_infos.fragrance .product_infos__main .splide__slide::before,
.product_infos.fragrance .product_infos__main .swiper-slide::before {
  background: #FFDB8699 !important;
  background-image: none !important;
  width: 100% !important;
  height: 100% !important;
  padding-bottom: 0 !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  border-radius: 0 !important;
}

.product_infos.anti_odor .product_infos__main .splide__slide::before,
.product_infos.anti_odor .product_infos__main .swiper-slide::before {
  background: #A4F7C999 !important;
  background-image: none !important;
  width: 100% !important;
  height: 100% !important;
  padding-bottom: 0 !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  border-radius: 0 !important;
}

.product_infos.diffuseur .product_infos__wrapper {
  row-gap: 16px;
  flex-wrap: wrap;
}

.product_infos.diffuseur .product_infos__thumbnails {
  width: 40%;
}

/* Shop */
.filter_btn {
  display: none !important;
}

.boutique_description__info .img img {
  width: 60px !important;
}

.header_general__ambiance .round {
  text-align: center;
}

.create_your_own:hover {
  cursor: pointer;
}

.boutique_description__wrapper.anti_odor::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  object-fit: cover;
  background: linear-gradient(225deg, #189384 0%, #50e2d0 100%);
}

.boutique_description__wrapper.aromatherapy::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  object-fit: cover;
  background: linear-gradient(225deg, var(--purple) 0%, #b18ee2 100%);
}

.boutique_description__info .info {
  min-width: 150px;
}

.shop_listing__products {
  width: 100%;
}

.header_general__ambiance .round {
  width: 145px;
  height: 145px;
  font-size: 15px;
  padding: 10px;
  font-weight: bold;
  text-transform: uppercase;
  color: #000;
}

/* Pill gradient classes */
.header_general__ambiance .round.pill-gradient-orange {
  background: radial-gradient(circle, #FFDB8699 0%, #FF753F 100%);
}

.header_general__ambiance .round.pill-gradient-purple {
  background: radial-gradient(circle, #EDC6F799 0%, #7E44D0 100%);
}

.header_general__ambiance .round.pill-gradient-green {
  background: radial-gradient(circle, #A4F7C999 0%, #189384 100%);
}

.marquee {
  position: fixed;
  top: 0px;
  left: 0px;
  font-size: 14px !important;
  font-weight: bold !important;
  background-color: #FFDB86;
  color: black;
  z-index: 9;
}

.close-marquee {
  position: fixed;
  right: 15px;
  top: 12px;
  cursor: pointer;
  z-index: 10;
  background-color: #FFDB86;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.marquee-link {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 53px;
  z-index: 9;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

.marquee-link:hover {
  text-decoration: none;
  color: inherit;
}

.marquee-link .marquee {
  position: relative;
  top: auto;
  left: auto;
}

/* Choose account */
.choose-account-box .title {
  color: #1e1e1e;
}

.choose-account-wrap {
  width: 800px;
}

/* Success */
.thank_you .order-link {
  color: inherit;
  text-decoration: underline;
}

.thank_you table {
  width: 100%;
  table-layout: fixed;
}

.thank_you table tbody tr.cart_item td.cart_item__product {
  width: 70%;
}

.thank_you table tbody tr.cart_item td.cart_item__quantity {
  width: 30%;
  vertical-align: middle;
}

.thank_you table .cart_item__img {
  width: 80px;
  height: 80px;
  flex-shrink: 0;
}

.thank_you table .cart_item__img img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 4px;
}

.thank_you table .cart_item__img_link {
  display: block;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.thank_you table .cart_item__img_link:hover {
  opacity: 0.8;
}

.thank_you table tfoot tr:last-child td {
  min-width: 120px;
}

.thank_you_page .highlighted_img_text__logo {
  opacity: 1 !important;
}

/* Aroamtherapy */
.aromatherapy_img_and_text .wysiwyg ul li .title::before {
  content: none;
  width: 0px !important;
  height: 0px !important;
}

.aromatherapy_img_and_text .home_fragrances::before {
  content: none;
  width: 0px;
  height: 0px;
}

#aromatherapy-products {
  padding-bottom: 50px;
}

.home_fragrances__featured .product.aromatherapy-tile::before {
  background: radial-gradient(
    var(--purple) 10%,
    rgba(255, 255, 255, 0) 70%
  ) !important;
}

.home_fragrances__featured .synergy {
  width: 73% !important;
  transform: translateY(-5%) translateX(-8px) !important;
}

/* Expertise */
.studies h2 {
  text-align: center;
  line-height: 55px;
}

.studies__wrapper {
  align-items: center;
}

.for_hotels__box {
  padding-right: 40px;
}

.for_hotels__right .img {
  width: 125%;
  height: 125%;
  margin-left: -90px;
}

.for_hotels__left {
  padding: 130px 60px;
}

.cherry_on_cake__left .backdrop_filter_wrapper,
.unique__left .backdrop_filter_wrapper {
  padding-top: 0px;
}

.cherry_on_cake .product_in_box .gradient,
.unique .product_in_box .gradient {
  transform: translate(30%, -30%) rotate(200deg);
}

.cherry_on_cake__left {
  max-width: 653px;
}

.cherry_on_cake__wrapper {
  display: flex;
  align-items: initial;
}

.cherry_on_cake__left .backdrop_filter_wrapper {
  align-items: start;
  padding-right: 0px;
}

.cherry_on_cake__left .cherry-on-cake-content {
  position: relative;
  width: 100%;
}

.cherry_on_cake__left .product_in_box {
  min-height: 580px;
}

.cherry_on_cake__left .cherry-on-cake-content .distributor-img {
  position: absolute;
  right: 20px;
  top: 20px;
  width: 50%;
}

.cherry-on-cake-content span {
  display: inline-block;
  margin-top: 50px;
}

.cherry-on-cake-content h2 {
  position: absolute;
  right: 40px;
  top: 130px;
}

.cherry_on_cake__left .cherry-on-cake-content .wall-distributor-img {
  position: absolute;
  left: 0px;
  top: 60px;
  width: 45%;
}

.product-family .family-box {
  margin-top: 20px;
}
.product-family .family-box {
  position: relative;
  margin-bottom: 20px;
}

.product-family .family-content {
  position: absolute;
  left: 0px;
  top: 30px;
  color: white;
}

.product-family .family-title {
  font-weight: bold;
  text-transform: uppercase;
}

.product-family .product-family-right-content {
  color: white;
  position: absolute;
  left: 50px;
  top: 100px;
}

.product-family .product-family-right-content .wysiwyg {
  max-width: 300px;
}

.product-family-right-content img {
  position: initial;
  width: 206px;
  height: 206px;
  margin-bottom: 10px;
}

.product-family .free_evaluation__left {
  flex: 0 0 50%;
  padding: 30px 60px;
  background-color: #000;
}

.product-family .family-right-img {
  transform: scale(1.1);
}

.testimony__right .testimony__text {
  padding: 113px 65px 121px;
}

.form-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7); /* Pale white */
  z-index: 9999; /* Ensure it appears above the form */
}

/* Page */
.testimonies .header {
  margin-bottom: 30px;
}

.expertises-section .header {
  margin-bottom: 40px;
}

.expertises-section {
  padding: 0 !important;
}

.expertises-section .product_preview__content .title {
  text-align: center;
}

/* Anti odour */
#anti-odour-top-section ul {
  margin-top: 0px !important;
}

#anti-odour-top-section .wysiwyg {
  min-height: 623px !important;
}

#anti-odour-top-section .wysiwyg ul li + li {
  margin-top: 6.5em;
}

#anti-odour-top-section .img_and_text__right img {
  width: 80% !important;
  height: 80% !important;
}

#anti-odour-slider .home_fragrances__carrousel .fragrance {
  background-color: #f4f4ef;
  color: black;
  min-height: 296px;
}

#anti-odour-advantages {
  padding-top: 0px !important;
  padding-bottom: 60px;
}

#anti-odour-advantages .wrap::before,
#anti-odour-advantages .wrap::after {
  height: 0px !important;
}

#anti-odour-advantages .advantages__wrapper .advantage {
  flex: 0 0 calc(25% - 50px) !important;
}

#anti-odour-advantages .header {
  margin-bottom: 100px !important;
}

#anti-odour-advantages .advantages__wrapper {
  gap: 40px;
  padding: 0 0;
  justify-content: left;
}

#anti-odour-advantages .advantages__wrapper .advantage__header {
  border-bottom: 1px solid black !important;
  min-height: 66px;
}

#anti-odour-slider.home_fragrances::before {
  background: linear-gradient(to bottom, #7cd6d0 0%, #42c5b5 100%) !important;
  background: -moz-linear-gradient(
    to bottom,
    #7cd6d0 0%,
    #42c5b5 100%
  ) !important;
  background: -webkit-linear-gradient(
    to bottom,
    #7cd6d0 0%,
    #42c5b5 100%
  ) !important;
  background: -o-linear-gradient(
    to bottom,
    #7cd6d0 0%,
    #42c5b5 100%
  ) !important;
  background: -ms-linear-gradient(
    to bottom,
    #7cd6d0 0%,
    #42c5b5 100%
  ) !important;
}

#anti-odour-shop-cta {
  margin-bottom: 30px;
}

#anti-odour-shop-cta .product__title {
  color: black !important;
}

#anti-odour-products
  .home_fragrances__featured
  .product.aromatherapy-tile::before {
  background: radial-gradient(
    #42c5b5 10%,
    rgba(255, 255, 255, 0) 70%
  ) !important;
}

/* Accounts pages */
.small_header .wrap {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

/* Login */
.account_connexion .forgotten_password {
  float: right;
  margin-top: 4px;
}

#password-input-wrapper {
  position: relative;
}

.toggle-password {
  position: absolute;
  right: 15px;
  top: 65px;
  transform: translateY(-50%);
  cursor: pointer;
  font-size: 1.2em;
  color: gray;
  z-index: 10;
}

/* FAQ */
.faq__content a {
  font-weight: bold;
  text-decoration: none;
  text-decoration: underline;
  color: inherit;
}

.faq__content a:visited {
  text-decoration: none;
  color: inherit;
}

/* Diffusers page */
.diffusers-page .img_and_text__right {
  padding: 70px 0;
}

/* Aromatherapy Page */
.information-aromatherapy .gradient_tag.purple {
    background: #edc6f7!important;
}

/* Anti odour */ 
.information-anti_odour .gradient_tag.turquoise {
    color: #1e1e1e;
    background: #a4f4c9!important;
}

/* Cart */
.cart-animation {
  animation: wiggle-grow-bold 1.5s ease-in-out;
}

@keyframes wiggle-grow-bold {
  0% {
    transform: rotate(0deg) scale(1);
    font-size: 12px; /* Default font size */
    font-weight: normal;
  }
  10% {
    transform: rotate(-3deg) scale(1.02); /* Very slight rotation and scaling */
    font-size: 14px; /* Slightly larger font size */
    font-weight: bold;
  }
  20% {
    transform: rotate(3deg) scale(1.02);
    font-size: 14px;
    font-weight: bold;
  }
  30% {
    transform: rotate(-3deg) scale(1.02);
    font-size: 14px;
    font-weight: bold;
  }
  40% {
    transform: rotate(3deg) scale(1.02);
    font-size: 14px;
    font-weight: bold;
  }
  50% {
    transform: rotate(-3deg) scale(1.02);
    font-size: 14px;
    font-weight: bold;
  }
  60% {
    transform: rotate(3deg) scale(1.02);
    font-size: 14px;
    font-weight: bold;
  }
  70% {
    transform: rotate(-3deg) scale(1.02);
    font-size: 14px;
    font-weight: bold;
  }
  80% {
    transform: rotate(3deg) scale(1.02);
    font-size: 14px;
    font-weight: bold;
  }
  90% {
    transform: rotate(-3deg) scale(1.02);
    font-size: 12px;
    font-weight: bold;
  }
  100% {
    transform: rotate(0deg) scale(1);
    font-size: 12px; /* Back to default font size */
    font-weight: normal;
  }
}

.local-innovation {
  position: relative;
  margin-top: 40px;
}
.local-innovation h1,
.local-innovation .wysiwyg {
  color: white !important;
}
.local-innovation .local-innovation-bg {
  position: relative;
  background-image: url("../../../dist/img/sections/local_innovation/local_innovation_bg.png");
  background-size: cover;
  min-height: 400px;
  border-radius: 10px;
}

.local-innovation-img {
  position: absolute;
  top: 40px;
  right: 40px;
}

@media screen and (max-width: 1250px) {
  .nav.disabled-promo {
    height: 80px;
  }

  .open_cart_mobile {
    margin-right: 15px;
  }

  .open_cart_mobile img,
  .open_cart_mobile a {
    display: inline-block;
  }

  .open_cart_mobile a {
    font-size: 12px;
  }

  .open_cart_mobile img {
    margin-top: 5px;
  }

  .open_cart_mobile a {
    margin-left: 2px;
  }
}

@media screen and (max-width: 768px) {
  /* Header */
  .side_menu_expertise .list__title {
    max-width: 240px;
  }

  .burger_menu .side_menu_title {
    margin-top: 0px;
  }

  .burger_menu .side_menu:not(.side_menu_lvl_2) li:not(.create_your_own) {
    margin-left: 10px;
  }

  .breadcrumb {
    font-size: 10px;
  }

  /* Sections */
  .section:first-child,
  #voucher-section {
    padding-top: calc(144px);
  }

  /* Home*/
  .complementary_products .swiper-slide {
    height: 500px !important;
  }

  .home_boutique__products .swiper-slide {
    min-height: 420px;
  }

  .home_fragrances .padd-60 {
    padding-bottom: 30px !important;
  }

  /* Shop */
  .header_general__ambiance .round {
    font-size: 15px;
    padding: 10px;
  }

  /* Expertise */
  .studies h2 {
    line-height: 40px;
  }

  .for_hotels__box {
    padding-right: inherit;
  }

  .for_hotels__left {
    padding: 55px 30px;
    padding-bottom: 10px;
  }

  .for_hotels__right .img {
    width: 100%;
    height: 100%;
    margin-left: 0px;
  }

  .cherry_on_cake__left .backdrop_filter_wrapper {
    align-items: start;
    padding: 50px;
  }

  .cherry_on_cake__left .product_in_box {
    min-height: 580px;
  }

  .cherry-on-cake-content span {
    margin-top: 0px;
    margin-bottom: 20px;
  }

  .cherry_on_cake__left .cherry-on-cake-content .distributor-img {
    position: initial;
    width: 100%;
  }

  .cherry-on-cake-content h2 {
    position: initial;
    font-size: 16px;
  }

  .cherry_on_cake__left .cherry-on-cake-content .wall-distributor-img {
    position: initial;
    width: 100%;
    margin-top: 20px;
  }

  .product-family .family-box {
    margin-top: 0px;
  }
  .product-family .family-box {
    position: relative;
    margin-bottom: 20px;
  }

  .product-family .family-content {
    position: absolute;
    left: 0px;
    top: 8px;
    color: white;
  }

  .product-family .family-title {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 12px;
  }
  .product-family .family-text {
    font-size: 10px;
  }

  .product-family .product-family-right-content {
    left: 20px;
    top: 20px;
  }

  .product-family .family-right-img {
    position: initial;
  }

  .product-family-right-content img {
    position: initial;
    width: 100px;
    height: 100px;
    margin-bottom: 10px;
  }

  .product-family .free_evaluation__right {
    padding-bottom: 0%;
  }

  /* Cart */
  .cart .cart_item.fixed_price td:nth-child(4) {
    display: inherit;
  }

  .cart .fixed_price__total {
    margin-right: 8px;
  }

  /* Modal cart */
  .menu_popup .cart table tfoot tr {
    justify-content: space-between;
  }

  .menu_popup .cart table tr td:nth-child(2) {
    display: inherit !important;
  }

  .menu_popup .cart tr td:nth-child(1) .flex {
    align-items: center;
  }

  #anti-odour-top-section .wysiwyg {
    min-height: inherit !important;
  }

  #anti-odour-top-section .wysiwyg ul li + li {
    margin-top: inherit !important;
  }

  #anti-odour-advantages .advantages__wrapper .advantage {
    flex: inherit !important;
  }
  #anti-odour-top-section .img_and_text__right img {
    width: 100% !important;
    height: 100% !important;
  }

  .diffuser-white-section .img_and_text__wrapper {
    flex-direction: column-reverse !important;
  }
  .diffuser-white-section .img_and_text__right {
    padding-bottom: 0px !important;
  }

  .local-innovation .local-innovation-bg {
    border-radius: 5px;
    min-height: 300px;
  }

  .local-innovation-img {
    display: none;
  }
  
  /* Replace <br> with spaces on mobile */
  .local-innovation .br-mobile br {
    display: none;
  }
  .local-innovation .br-mobile::after {
    content: " ";
  }
}

@media screen and (max-width: 550px) {
  /* Shop */
  .filter_btn {
    display: inherit !important;
  }

  .checkout__form .step.step4 .input_wrapper .flex input {
    width: 80%;
  }

  .choose-account-wrap {
    width: inherit;
  }
}

/* Quill WYSIWYG Content Styles */
.wysiwyg p {
  margin-bottom: 0.5em;
  line-height: 1.6;
}

.wysiwyg p:last-child {
  margin-bottom: 0;
}

.wysiwyg p:empty {
  margin: 0;
  line-height: 0;
}

.wysiwyg img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0.5em auto;
}

/* Preserve image dimensions set by Quill resize module */
.wysiwyg img[width] {
  width: auto;
  max-width: 100%;
}

.wysiwyg img[style*="width"] {
  max-width: 100%;
  height: auto !important;
}

/* Quill image alignment with float - add clearfix and proper spacing */
.wysiwyg img[style*="float: left"],
.wysiwyg img.ql-align-left {
  float: left;
  margin: 0.5em 1em 0.5em 0;
  display: block;
}

.wysiwyg img[style*="float: right"],
.wysiwyg img.ql-align-right {
  float: right;
  margin: 0.5em 0 0.5em 1em;
  display: block;
}

/* Add clearfix immediately after floated images */
.wysiwyg img[style*="float: left"] + *,
.wysiwyg img[style*="float: right"] + *,
.wysiwyg img.ql-align-left + *,
.wysiwyg img.ql-align-right + * {
  clear: both;
}

/* Alternative: use pseudo-element for clearfix after floated images */
.wysiwyg img[style*="float"]::after {
  content: "";
  display: block;
  clear: both;
}

/* Clear floats at the end of wysiwyg container */
.wysiwyg::after {
  content: "";
  display: table;
  clear: both;
}

.wysiwyg p img {
  margin: 0.25em auto;
}

.wysiwyg iframe,
.wysiwyg .ql-video {
  max-width: 100%;
  width: 100%;
  min-height: 400px;
  display: block;
  margin: 0.5em auto;
  border: none;
}

.wysiwyg p iframe,
.wysiwyg p .ql-video {
  margin: 0.25em auto;
}

.wysiwyg br {
  display: block;
  content: "";
  margin-top: 0.5em;
}

.wysiwyg strong,
.wysiwyg b {
  font-weight: bold;
}

.wysiwyg em,
.wysiwyg i {
  font-style: italic;
}

.wysiwyg u {
  text-decoration: underline;
}

.wysiwyg a {
  color: inherit;
  text-decoration: underline;
}

.wysiwyg a:hover {
  text-decoration: none;
}

.wysiwyg ul,
.wysiwyg ol {
  margin: 1em 0;
  padding-left: 2em;
}

.wysiwyg ul li {
  list-style-type: disc;
  margin-bottom: 0.5em;
}

.wysiwyg ol li {
  list-style-type: decimal;
  margin-bottom: 0.5em;
}

/* Quill-specific list styles (Quill uses ol tags with data-list attribute) */
.wysiwyg ol li[data-list="bullet"],
.wysiwyg li[data-list="bullet"] {
  list-style-type: disc !important;
}

.wysiwyg ol li[data-list="ordered"],
.wysiwyg li[data-list="ordered"] {
  list-style-type: decimal !important;
}

/* Quill indentation classes */
.wysiwyg .ql-indent-1 {
  padding-left: 3em;
}

.wysiwyg .ql-indent-2 {
  padding-left: 6em;
}

.wysiwyg .ql-indent-3 {
  padding-left: 9em;
}

.wysiwyg .ql-indent-4 {
  padding-left: 12em;
}

.wysiwyg .ql-indent-5 {
  padding-left: 15em;
}

.wysiwyg .ql-indent-6 {
  padding-left: 18em;
}

.wysiwyg .ql-indent-7 {
  padding-left: 21em;
}

.wysiwyg .ql-indent-8 {
  padding-left: 24em;
}

/* Quill list indentation - uses margin-left instead of padding */
.wysiwyg li.ql-indent-1 {
  margin-left: 3em;
}

.wysiwyg li.ql-indent-2 {
  margin-left: 6em;
}

.wysiwyg li.ql-indent-3 {
  margin-left: 9em;
}

.wysiwyg li.ql-indent-4 {
  margin-left: 12em;
}

.wysiwyg li.ql-indent-5 {
  margin-left: 15em;
}

.wysiwyg li.ql-indent-6 {
  margin-left: 18em;
}

.wysiwyg li.ql-indent-7 {
  margin-left: 21em;
}

.wysiwyg li.ql-indent-8 {
  margin-left: 24em;
}

/* Ensure list markers stay visible with indented list items */
.wysiwyg li[class*="ql-indent-"] {
  list-style-position: inside;
}

/* Quill text alignment */
.wysiwyg .ql-align-center {
  text-align: center;
}

.wysiwyg .ql-align-right {
  text-align: right;
}

.wysiwyg .ql-align-justify {
  text-align: justify;
}

/* Quill font sizes */
.wysiwyg .ql-size-small {
  font-size: 0.75em;
}

.wysiwyg .ql-size-large {
  font-size: 1.5em;
}

.wysiwyg .ql-size-huge {
  font-size: 2.5em;
}

/* Quill font families */
.wysiwyg .ql-font-serif {
  font-family: Georgia, Times New Roman, serif;
}

.wysiwyg .ql-font-monospace {
  font-family: Monaco, Courier New, monospace;
}

/* Quill direction (RTL support) */
.wysiwyg .ql-direction-rtl {
  direction: rtl;
  text-align: inherit;
}

/* Quill video embed */
.wysiwyg .ql-video,
.wysiwyg video {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
  margin: 1em auto;
}

/* Video player controls */
.wysiwyg video {
  background: #000;
}

/* Preserve video dimensions set by resize module or inline styles */
.wysiwyg video[width],
.wysiwyg video[style*="width"] {
  width: auto;
  max-width: 100%;
  height: auto !important;
}

/* Responsive video iframe */
.wysiwyg iframe[src*="youtube"],
.wysiwyg iframe[src*="vimeo"],
.wysiwyg .ql-video {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
  max-width: 100%;
}

/* Preserve iframe dimensions when resized */
.wysiwyg iframe[width],
.wysiwyg iframe[style*="width"] {
  width: auto !important;
  max-width: 100%;
  height: auto !important;
}

/* Video alignment with float */
.wysiwyg video[style*="float: left"] {
  float: left;
  margin: 0.5em 1em 0.5em 0;
}

.wysiwyg video[style*="float: right"] {
  float: right;
  margin: 0.5em 0 0.5em 1em;
}

/* Clear after floated videos */
.wysiwyg video[style*="float: left"] + *,
.wysiwyg video[style*="float: right"] + * {
  clear: both;
}

/* Quill code block */
.wysiwyg pre.ql-syntax {
  background-color: #23241f;
  color: #f8f8f2;
  overflow: auto;
  padding: 1em;
  border-radius: 3px;
  margin: 1em 0;
}

/* Hide Quill UI placeholder elements */
.wysiwyg .ql-ui {
  display: none;
}

.wysiwyg h1,
.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg h5,
.wysiwyg h6 {
  font-weight: bold;
  margin: 1em 0 0.5em;
  line-height: 1.3;
}

.wysiwyg h1 {
  font-size: 2em;
}

.wysiwyg h2 {
  font-size: 1.5em;
}

.wysiwyg h3 {
  font-size: 1.25em;
}

@media screen and (max-width: 768px) {
  .wysiwyg iframe,
  .wysiwyg .ql-video {
    min-height: 250px;
  }

  .wysiwyg img {
    margin: 0.5em auto;
  }
}

/* Product preview gradient replacement - use solid color with 80% opacity equivalent */
.product_preview.aromatherapy .product_preview__gradient {
  background: #EDC6F799 !important;
  background-image: none !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  z-index: 0 !important;
}

.product_preview.anti_odor .product_preview__gradient {
  background: #A4F7C999 !important;
  background-image: none !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  z-index: 0 !important;
}

.product_preview.fragrance .product_preview__gradient {
  background: #FFDB8699 !important;
  background-image: none !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  z-index: 0 !important;
}

/* Gray/default products */
.product_preview:not(.aromatherapy):not(.anti_odor):not(.fragrance) .product_preview__gradient,
.product_preview.diffuseur .product_preview__gradient {
  background: #F4F4EF !important;
  background-image: none !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  z-index: 0 !important;
}

/* Ensure content is above the background */
.product_preview__content {
  position: relative !important;
  z-index: 1 !important;
}

/* Product page gradient_tag replacement - use solid colors */
.gradient_tag.purple {
  background: #EDC6F799 !important;
  background-image: none !important;
}

.gradient_tag.turquoise {
  background: #A4F7C999 !important;
  background-image: none !important;
}

.gradient_tag.orange {
  background: #FFDB8699 !important;
  background-image: none !important;
}

/* Back in stock notification text visibility - Shop only */
#shop-notify-back-in-stock {
  color: #1e1e1e !important;
  position: relative !important;
  z-index: 10 !important;
}

#shop-notify-back-in-stock #notify-back-in-stock-title {
  color: #1e1e1e !important;
  font-weight: bold !important;
  text-decoration: underline !important;
  position: relative !important;
  z-index: 10 !important;
}

#shop-notify-back-in-stock label,
#shop-notify-back-in-stock p,
#shop-notify-back-in-stock span:not(.btn *) {
  color: #1e1e1e !important;
  position: relative !important;
  z-index: 10 !important;
}

#shop-notify-back-in-stock .btn {
  color: #fff !important;
  position: relative !important;
  z-index: 10 !important;
}

#shop-notify-back-in-stock .notify-back-in-stock-added-success {
  color: #1e1e1e !important;
  position: relative !important;
  z-index: 10 !important;
}

#shop-notify-back-in-stock input {
  position: relative !important;
  z-index: 10 !important;
}

/* Sticky Breadcrumb (Global) */
.sticky-breadcrumb-container {
  position: fixed;
  top: 79px;
  left: 0;
  width: 100%;
  z-index: 9;
  background-color: white;
  padding: 0;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-100%);
  pointer-events: none;
  height: 0;
  overflow: hidden;
}

.sticky-breadcrumb-container.is-sticky {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  pointer-events: auto;
  padding: 10px 0;
  height: auto;
}

.sticky-breadcrumb-container .breadcrumb {
  margin: 0 !important;
  padding: 0 !important;
}

/* Tablet and below */
@media screen and (max-width: 1250px) {
  .sticky-breadcrumb-container {
    top: 79px;
  }
}

/* Mobile adjustments */
@media screen and (max-width: 768px) {
  .sticky-breadcrumb-container.is-sticky {
    padding: 8px 0;
  }
}

/* FAQ PDF Download Button */
.faq__section-header {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 20px;
}

.btn--pdf-download-faq {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background-color: white;
  color: black;
  padding: 14px 28px;
  border-radius: 50px;
  text-decoration: none !important;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.3s ease;
  border: 2px solid black;
}

.btn--pdf-download-faq .pdf-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.btn--pdf-download-faq span {
  white-space: nowrap;
  text-decoration: none !important;
}

.btn--pdf-download-faq:hover {
  background-color: black;
  color: white !important;
  text-decoration: none !important;
}

.btn--pdf-download-faq:hover .pdf-icon {
  color: white;
}

.btn--pdf-download-faq:hover span {
  color: white !important;
  text-decoration: none !important;
}

/* Responsive design for tablets */
@media (max-width: 768px) {
  .btn--pdf-download-faq {
    font-size: 14px;
    padding: 12px 20px;
    gap: 10px;
  }

  .btn--pdf-download-faq .pdf-icon {
    width: 20px;
    height: 20px;
  }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
  .faq__section-header {
    justify-content: flex-start;
  }

  .btn--pdf-download-faq {
    font-size: 13px;
    padding: 10px 16px;
  }

  .btn--pdf-download-faq span {
    white-space: normal;
    line-height: 1.3;
  }
}

/* ============================================
   Customer Area Header Styles
   ============================================ */

/* Customer Area Header Container */
.customer-area-header {
  background: white;
  border-bottom: 1px solid #e0e0e0;
  padding: 12px 0;
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.customer-header-content {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.customer-header-logo {
  flex-shrink: 0;
  margin-right: 30px;
}

.customer-logo-img {
  height: 35px;
  width: auto;
}

/* Desktop Navigation */
.customer-header-nav {
  display: flex;
  align-items: center;
  gap: 45px;
}

.customer-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: #000;
  transition: opacity 0.2s ease;
  position: relative;
}

.customer-nav-item:hover {
  color: #000;
  text-decoration: none;
  opacity: 0.7;
}

.customer-nav-item .nav-icon {
  width: 22px;
  height: 22px;
  margin-bottom: 4px;
  object-fit: contain;
}

.customer-nav-item .nav-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-align: center;
  white-space: nowrap;
  text-transform: uppercase;
}

/* Cart Badge */
.cart-icon-wrapper {
  position: relative;
}

.cart-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  background: #ff5252;
  color: white;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: bold;
  line-height: 1;
}

/* Mobile Hamburger Button */
.customer-hamburger-btn {
  display: none;
  position: fixed;
  top: 15px;
  left: 15px;
  z-index: 1001;
  background: white;
  border-radius: 4px;
  padding: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* Mobile Side Menu */
.customer-side-menu {
  position: fixed;
  top: 0;
  left: -300px;
  width: 300px;
  height: 100%;
  background: white;
  z-index: 9999;
  overflow-y: auto;
  transition: left 0.3s ease;
  box-shadow: 2px 0 8px rgba(0,0,0,0.1);
}

.customer-mobile-menu {
  padding: 20px 0;
}

.mobile-menu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px 20px;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 10px;
}

.mobile-logo {
  height: 35px;
  width: auto;
}

.close-menu-btn {
  background: none;
  border: none;
  font-size: 32px;
  color: #333;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}

.mobile-menu-item {
  display: flex;
  align-items: center;
  padding: 15px 20px;
  color: #333;
  text-decoration: none;
  transition: background 0.2s ease;
  border-bottom: 1px solid #f5f5f5;
}

.mobile-menu-item:hover {
  background: #f9f9f9;
  color: #000;
  text-decoration: none;
}

.mobile-menu-item .mobile-icon {
  width: 24px;
  height: 24px;
  margin-right: 15px;
  object-fit: contain;
}

.mobile-menu-item span {
  font-size: 15px;
  font-weight: 500;
}

/* Responsive Styles */
@media (max-width: 1200px) {
  .customer-header-nav {
    gap: 30px;
  }

  .customer-nav-item .nav-label {
    font-size: 9px;
  }

  .customer-nav-item .nav-icon {
    width: 20px;
    height: 20px;
  }
}

@media (max-width: 991px) {
  .customer-header-nav {
    gap: 20px;
  }

  .customer-nav-item .nav-label {
    font-size: 9px;
  }

  .customer-nav-item .nav-icon {
    width: 18px;
    height: 18px;
  }
}

@media (max-width: 768px) {
  /* Hide desktop navigation on mobile */
  .customer-header-nav {
    display: none;
  }

  /* Show hamburger menu on mobile */
  .customer-hamburger-btn {
    display: block;
  }

  /* Adjust header for mobile */
  .customer-area-header {
    padding: 10px 0;
  }

  .customer-header-content {
    justify-content: center;
    padding: 0 60px;
  }

  .customer-logo-img {
    height: 35px;
  }

  /* Mobile menu open state */
  .customer-side-menu.sidr-open {
    left: 0 !important;
  }
}

@media (max-width: 480px) {
  .customer-header-content {
    padding: 0 50px;
  }

  .customer-logo-img {
    height: 30px;
  }
}

/* Hide tabs spacing when tabs are hidden */
.container #page #content > .tab-content {
  margin-top: 0;
}

/* Ensure proper spacing for customer area content */
body.account-account .customer-area-header + .container {
  margin-top: 20px;
}

/* ============================================
   Modal Cart Gradient Replacement
   ============================================ */

/* Modal Cart gradient replacement - use solid colors with 100% visibility */
.cart_item.aromatherapy .cart_item__img .gradient {
  background: #EDC6F799 !important;
  background-image: none !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  border-radius: 4px !important;
  transform: none !important;
  opacity: 1 !important;
  z-index: 0 !important;
  filter: none !important;
}

.cart_item.anti_odor .cart_item__img .gradient {
  background: #A4F7C999 !important;
  background-image: none !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  border-radius: 4px !important;
  transform: none !important;
  opacity: 1 !important;
  z-index: 0 !important;
  filter: none !important;
}

.cart_item.fragrance .cart_item__img .gradient {
  background: #FFDB8699 !important;
  background-image: none !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  border-radius: 4px !important;
  transform: none !important;
  opacity: 1 !important;
  z-index: 0 !important;
  filter: none !important;
}

.cart_item.diffuseur .cart_item__img .gradient,
.cart_item:not(.aromatherapy):not(.anti_odor):not(.fragrance) .cart_item__img .gradient {
  background: #F4F4EF !important;
  background-image: none !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  border-radius: 4px !important;
  transform: none !important;
  opacity: 1 !important;
  z-index: 0 !important;
  filter: none !important;
}

/* Ensure cart item content is above the background */
.cart_item__img img {
  position: relative !important;
  z-index: 1 !important;
}

/* Override paragraph spacing in product description wysiwyg content */
/* Prevents excessive spacing from Quill editor <p> tags */
#product-vue-app .wysiwyg p + p,
.product_infos .wysiwyg p + p,
.iceberg__body.wysiwyg p + p {
  margin-top: 0 !important;
}

/* Terms popup: compact section styling */
.general_conditions_popup .header {
  font-size: 20px;
  margin-bottom: 15px;
  padding-bottom: 15px;
}
.general_conditions_popup .item {
  padding: 12px 0;
}
.general_conditions_popup .item h4 {
  font-size: 14px;
  margin-top: 8px;
  margin-bottom: 5px;
}

/* Terms popup: scroll shadows to indicate overflow */
.general_conditions_popup__wrapper {
  display: block !important;
  background:
    linear-gradient(#fff 33%, rgba(255, 255, 255, 0)) center top,
    linear-gradient(rgba(255, 255, 255, 0), #fff 67%) center bottom,
    radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.12), transparent) center top,
    radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.12), transparent) center bottom !important;
  background-repeat: no-repeat !important;
  background-size: 100% 40px, 100% 40px, 100% 16px, 100% 16px !important;
  background-attachment: local, local, scroll, scroll !important;
}
