/* Native PrestaShop surfaces: keep the shared header/footer outside this scope. */
body#authentication #wrapper,
body#password #wrapper,
body.page-registration #wrapper,
body.page-my-account #wrapper,
body.page-customer-account #wrapper,
body.page-identity #wrapper,
body.page-addresses #wrapper,
body.page-history #wrapper,
body.page-order-slip #wrapper,
body.page-cart #wrapper,
body.page-contact #wrapper {
  background: #eff3fb !important;
  color: #101a44 !important;
}

/* Cart page title: use the brand heading face and gold from the site palette. */
html body.page-cart .page-title-section {
  color: #CF912B !important;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}

body#authentication .breadcrumb__wrapper,
body#password .breadcrumb__wrapper,
body.page-registration .breadcrumb__wrapper,
body.page-my-account .breadcrumb__wrapper,
body.page-customer-account .breadcrumb__wrapper,
body.page-identity .breadcrumb__wrapper,
body.page-addresses .breadcrumb__wrapper,
body.page-history .breadcrumb__wrapper,
body.page-order-slip .breadcrumb__wrapper,
body.page-cart .breadcrumb__wrapper,
body.page-contact .breadcrumb__wrapper {
  background: #ffffff !important;
  border-bottom: 1px solid #e7eaf3 !important;
  box-shadow: none !important;
}

body#authentication .breadcrumb__wrapper .container,
body#password .breadcrumb__wrapper .container,
body.page-registration .breadcrumb__wrapper .container,
body.page-my-account .breadcrumb__wrapper .container,
body.page-customer-account .breadcrumb__wrapper .container,
body.page-identity .breadcrumb__wrapper .container,
body.page-addresses .breadcrumb__wrapper .container,
body.page-history .breadcrumb__wrapper .container,
body.page-order-slip .breadcrumb__wrapper .container,
body.page-cart .breadcrumb__wrapper .container,
body.page-contact .breadcrumb__wrapper .container {
  box-sizing: border-box !important;
  width: min(1800px, calc(100% - 112px)) !important;
  max-width: 1800px !important;
  padding: 0 !important;
}

body#authentication .breadcrumb,
body#password .breadcrumb,
body.page-registration .breadcrumb,
body.page-my-account .breadcrumb,
body.page-customer-account .breadcrumb,
body.page-identity .breadcrumb,
body.page-addresses .breadcrumb,
body.page-history .breadcrumb,
body.page-order-slip .breadcrumb,
body.page-cart .breadcrumb,
body.page-contact .breadcrumb {
  min-height: 45px !important;
  margin: 0 !important;
  padding: 13px 0 12px !important;
  align-items: center !important;
  color: #101a44 !important;
    font-size: 16px !important;
    line-height: 24px !important;
}

body#authentication .breadcrumb-item,
body#password .breadcrumb-item,
body.page-registration .breadcrumb-item,
body.page-my-account .breadcrumb-item,
body.page-customer-account .breadcrumb-item,
body.page-identity .breadcrumb-item,
body.page-addresses .breadcrumb-item,
body.page-history .breadcrumb-item,
body.page-order-slip .breadcrumb-item,
body.page-cart .breadcrumb-item,
body.page-contact .breadcrumb-item {
  color: #101a44 !important;
}

body#authentication .breadcrumb-link,
body#password .breadcrumb-link,
body.page-registration .breadcrumb-link,
body.page-my-account .breadcrumb-link,
body.page-customer-account .breadcrumb-link,
body.page-identity .breadcrumb-link,
body.page-addresses .breadcrumb-link,
body.page-history .breadcrumb-link,
body.page-order-slip .breadcrumb-link,
body.page-cart .breadcrumb-link,
body.page-contact .breadcrumb-link {
  color: #6338ff !important;
  text-decoration: none !important;
}

body#authentication .breadcrumb-item + .breadcrumb-item::before,
body#password .breadcrumb-item + .breadcrumb-item::before,
body.page-registration .breadcrumb-item + .breadcrumb-item::before,
body.page-my-account .breadcrumb-item + .breadcrumb-item::before,
body.page-customer-account .breadcrumb-item + .breadcrumb-item::before,
body.page-identity .breadcrumb-item + .breadcrumb-item::before,
body.page-addresses .breadcrumb-item + .breadcrumb-item::before,
body.page-history .breadcrumb-item + .breadcrumb-item::before,
body.page-order-slip .breadcrumb-item + .breadcrumb-item::before,
body.page-cart .breadcrumb-item + .breadcrumb-item::before,
body.page-contact .breadcrumb-item + .breadcrumb-item::before {
  color: #6338ff !important;
}

body#authentication #center-column,
body#password #center-column,
body.page-registration #center-column,
body.page-my-account #center-column,
body.page-customer-account #center-column,
body.page-identity #center-column,
body.page-addresses #center-column,
body.page-history #center-column,
body.page-order-slip #center-column,
body.page-cart #center-column,
body.page-contact #center-column {
  color: #101a44 !important;
}

body#authentication .page-header,
body#password .page-header,
body.page-registration .page-header,
body.page-my-account .page-header,
body.page-customer-account .page-header,
body.page-identity .page-header,
body.page-addresses .page-header,
body.page-history .page-header,
body.page-order-slip .page-header,
body.page-cart .page-header,
body.page-contact .page-header {
  margin-bottom: 28px !important;
}

body#authentication .page-title-section,
body#password .page-title-section,
body.page-registration .page-title-section,
body.page-my-account .page-title-section,
body.page-customer-account .page-title-section,
body.page-identity .page-title-section,
body.page-addresses .page-title-section,
body.page-history .page-title-section,
body.page-order-slip .page-title-section,
body.page-cart .page-title-section,
body.page-contact .page-title-section {
  margin: 0 !important;
  color: #101a44 !important;
  font-size: clamp(28px, 2.2vw, 38px) !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
}

/* Shared native buttons and form controls. */
body#authentication .btn,
body#password .btn,
body.page-registration .btn,
body.page-my-account .btn,
body.page-customer-account .btn,
body.page-identity .btn,
body.page-addresses .btn,
body.page-history .btn,
body.page-order-slip .btn,
body.page-cart .btn,
body.page-contact .btn {
  border-radius: 7px !important;
  font-weight: 700 !important;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease !important;
}

body#authentication .btn-primary,
body#password .btn-primary,
body.page-registration .btn-primary,
body.page-my-account .btn-primary,
body.page-customer-account .btn-primary,
body.page-identity .btn-primary,
body.page-addresses .btn-primary,
body.page-history .btn-primary,
body.page-order-slip .btn-primary,
body.page-cart .btn-primary,
body.page-contact .btn-primary {
  border-color: #6338ff !important;
  background: #6338ff !important;
  color: #ffffff !important;
  box-shadow: 0 7px 16px rgba(99, 56, 255, 0.16) !important;
}

body#authentication .btn-primary:hover,
body#authentication .btn-primary:focus-visible,
body#password .btn-primary:hover,
body#password .btn-primary:focus-visible,
body.page-registration .btn-primary:hover,
body.page-registration .btn-primary:focus-visible,
body.page-my-account .btn-primary:hover,
body.page-my-account .btn-primary:focus-visible,
body.page-customer-account .btn-primary:hover,
body.page-customer-account .btn-primary:focus-visible,
body.page-identity .btn-primary:hover,
body.page-identity .btn-primary:focus-visible,
body.page-addresses .btn-primary:hover,
body.page-addresses .btn-primary:focus-visible,
body.page-history .btn-primary:hover,
body.page-history .btn-primary:focus-visible,
body.page-order-slip .btn-primary:hover,
body.page-order-slip .btn-primary:focus-visible,
body.page-cart .btn-primary:hover,
body.page-cart .btn-primary:focus-visible,
body.page-contact .btn-primary:hover,
body.page-contact .btn-primary:focus-visible {
  border-color: #5128e9 !important;
  background: #5128e9 !important;
  transform: translateY(-1px) !important;
}

body#authentication .btn-outline-primary,
body#password .btn-outline-primary,
body.page-registration .btn-outline-primary,
body.page-my-account .btn-outline-primary,
body.page-customer-account .btn-outline-primary,
body.page-identity .btn-outline-primary,
body.page-addresses .btn-outline-primary,
body.page-history .btn-outline-primary,
body.page-order-slip .btn-outline-primary,
body.page-cart .btn-outline-primary,
body.page-contact .btn-outline-primary {
  border-color: #6338ff !important;
  background: #ffffff !important;
  color: #6338ff !important;
}

body#authentication .btn-outline-primary:hover,
body#authentication .btn-outline-primary:focus-visible,
body#password .btn-outline-primary:hover,
body#password .btn-outline-primary:focus-visible,
body.page-registration .btn-outline-primary:hover,
body.page-registration .btn-outline-primary:focus-visible,
body.page-my-account .btn-outline-primary:hover,
body.page-my-account .btn-outline-primary:focus-visible,
body.page-customer-account .btn-outline-primary:hover,
body.page-customer-account .btn-outline-primary:focus-visible,
body.page-identity .btn-outline-primary:hover,
body.page-identity .btn-outline-primary:focus-visible,
body.page-addresses .btn-outline-primary:hover,
body.page-addresses .btn-outline-primary:focus-visible,
body.page-history .btn-outline-primary:hover,
body.page-history .btn-outline-primary:focus-visible,
body.page-order-slip .btn-outline-primary:hover,
body.page-order-slip .btn-outline-primary:focus-visible,
body.page-cart .btn-outline-primary:hover,
body.page-cart .btn-outline-primary:focus-visible,
body.page-contact .btn-outline-primary:hover,
body.page-contact .btn-outline-primary:focus-visible {
  border-color: #6338ff !important;
  background: #6338ff !important;
  color: #ffffff !important;
}

body#authentication .btn-basic,
body#password .btn-basic,
body.page-registration .btn-basic,
body.page-my-account .btn-basic,
body.page-customer-account .btn-basic,
body.page-identity .btn-basic,
body.page-addresses .btn-basic,
body.page-history .btn-basic,
body.page-order-slip .btn-basic,
body.page-cart .btn-basic,
body.page-contact .btn-basic {
  color: #6338ff !important;
}

body#authentication .form-control,
body#authentication .form-select,
body#password .form-control,
body#password .form-select,
body.page-registration .form-control,
body.page-registration .form-select,
body.page-my-account .form-control,
body.page-my-account .form-select,
body.page-customer-account .form-control,
body.page-customer-account .form-select,
body.page-identity .form-control,
body.page-identity .form-select,
body.page-addresses .form-control,
body.page-addresses .form-select,
body.page-history .form-control,
body.page-history .form-select,
body.page-order-slip .form-control,
body.page-order-slip .form-select,
body.page-cart .form-control,
body.page-cart .form-select,
body.page-contact .form-control,
body.page-contact .form-select {
  min-height: 42px !important;
  border: 1px solid #dfe4f0 !important;
  border-radius: 7px !important;
  background-color: #ffffff !important;
  color: #101a44 !important;
  box-shadow: none !important;
}

body#authentication .form-control:focus,
body#authentication .form-select:focus,
body#password .form-control:focus,
body#password .form-select:focus,
body.page-registration .form-control:focus,
body.page-registration .form-select:focus,
body.page-my-account .form-control:focus,
body.page-my-account .form-select:focus,
body.page-customer-account .form-control:focus,
body.page-customer-account .form-select:focus,
body.page-identity .form-control:focus,
body.page-identity .form-select:focus,
body.page-addresses .form-control:focus,
body.page-addresses .form-select:focus,
body.page-history .form-control:focus,
body.page-history .form-select:focus,
body.page-order-slip .form-control:focus,
body.page-order-slip .form-select:focus,
body.page-cart .form-control:focus,
body.page-cart .form-select:focus,
body.page-contact .form-control:focus,
body.page-contact .form-select:focus {
  border-color: #6338ff !important;
  box-shadow: 0 0 0 3px rgba(99, 56, 255, 0.13) !important;
  outline: none !important;
}

body#authentication .form-label,
body#password .form-label,
body.page-registration .form-label,
body.page-my-account .form-label,
body.page-customer-account .form-label,
body.page-identity .form-label,
body.page-addresses .form-label,
body.page-history .form-label,
body.page-order-slip .form-label,
body.page-cart .form-label,
body.page-contact .form-label {
  margin-bottom: 8px !important;
  color: #101a44 !important;
  font-weight: 700 !important;
}

/* Login and password pages. */
body#authentication #center-column,
body#password #center-column,
body.page-registration #center-column {
  width: min(900px, calc(100% - 112px)) !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 44px 0 84px !important;
}

body#authentication #content,
body#password #content,
body.page-registration #content {
  box-sizing: border-box !important;
  padding: 34px 40px 40px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 28px rgba(16, 26, 68, 0.09) !important;
}

body#authentication .login-form,
body#password .forgot-password,
body.page-registration .register-form {
  color: #101a44 !important;
}

body#authentication .buttons-wrapper,
body#password .buttons-wrapper,
body.page-registration .buttons-wrapper {
  gap: 16px !important;
  align-items: center !important;
}

body#authentication #lpsproaccount_button_container,
body.page-registration #lpsproaccount_button_container {
  margin-top: 28px !important;
  padding-top: 28px !important;
  border-top: 1px solid #e7eaf3 !important;
}

body#authentication #lpsproaccount_button_container h2,
body.page-registration #lpsproaccount_button_container h2 {
  color: #101a44 !important;
  font-weight: 800 !important;
}

/* Account home and the account sidebar/cards. */
body.page-my-account #center-column,
body.page-identity #center-column,
body.page-addresses #center-column,
body.page-history #center-column,
body.page-order-slip #center-column,
body.page-customer-account #center-column {
  padding-bottom: 82px !important;
}

body.page-my-account .account-menu--sidebar,
body.page-identity .account-menu--sidebar,
body.page-addresses .account-menu--sidebar,
body.page-history .account-menu--sidebar,
body.page-order-slip .account-menu--sidebar,
body.page-customer-account .account-menu--sidebar {
  gap: 4px !important;
}

body.page-my-account .account-menu--sidebar .account-menu__link,
body.page-identity .account-menu--sidebar .account-menu__link,
body.page-addresses .account-menu--sidebar .account-menu__link,
body.page-history .account-menu--sidebar .account-menu__link,
body.page-order-slip .account-menu--sidebar .account-menu__link,
body.page-customer-account .account-menu--sidebar .account-menu__link {
  min-height: 44px !important;
  padding: 11px 14px !important;
  border-radius: 8px !important;
  color: #101a44 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body.page-my-account .account-menu--sidebar .account-menu__link:hover,
body.page-my-account .account-menu--sidebar .account-menu__link:focus-visible,
body.page-identity .account-menu--sidebar .account-menu__link:hover,
body.page-identity .account-menu--sidebar .account-menu__link:focus-visible,
body.page-addresses .account-menu--sidebar .account-menu__link:hover,
body.page-addresses .account-menu--sidebar .account-menu__link:focus-visible,
body.page-history .account-menu--sidebar .account-menu__link:hover,
body.page-history .account-menu--sidebar .account-menu__link:focus-visible,
body.page-order-slip .account-menu--sidebar .account-menu__link:hover,
body.page-order-slip .account-menu--sidebar .account-menu__link:focus-visible,
body.page-customer-account .account-menu--sidebar .account-menu__link:hover,
body.page-customer-account .account-menu--sidebar .account-menu__link:focus-visible {
  background: #ffffff !important;
  color: #6338ff !important;
  box-shadow: 0 4px 12px rgba(16, 26, 68, 0.08) !important;
}

body.page-my-account .account-menu--sidebar .account-menu__icon,
body.page-identity .account-menu--sidebar .account-menu__icon,
body.page-addresses .account-menu--sidebar .account-menu__icon,
body.page-history .account-menu--sidebar .account-menu__icon,
body.page-order-slip .account-menu--sidebar .account-menu__icon,
body.page-customer-account .account-menu--sidebar .account-menu__icon {
  color: #6338ff !important;
}

body.page-my-account .account-menu--sidebar .account-menu__link--signout,
body.page-identity .account-menu--sidebar .account-menu__link--signout,
body.page-addresses .account-menu--sidebar .account-menu__link--signout,
body.page-history .account-menu--sidebar .account-menu__link--signout,
body.page-order-slip .account-menu--sidebar .account-menu__link--signout,
body.page-customer-account .account-menu--sidebar .account-menu__link--signout {
  color: #e05263 !important;
}

body.page-my-account .account-menu--main {
  gap: 14px !important;
}

body.page-my-account .account-menu--main .account-menu__link {
  min-height: 132px !important;
  padding: 20px 16px !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #101a44 !important;
  box-shadow: 0 6px 18px rgba(16, 26, 68, 0.07) !important;
  text-decoration: none !important;
}

body.page-my-account .account-menu--main .account-menu__link:hover,
body.page-my-account .account-menu--main .account-menu__link:focus-visible {
  border-color: #d59222 !important;
  color: #6338ff !important;
  box-shadow: 0 9px 22px rgba(16, 26, 68, 0.12) !important;
  transform: translateY(-2px) !important;
}

body.page-my-account .account-menu--main .account-menu__icon {
  color: #6338ff !important;
}

body.page-my-account .account-menu--main .account-menu__link:hover .account-menu__icon,
body.page-my-account .account-menu--main .account-menu__link:focus-visible .account-menu__icon {
  color: #d59222 !important;
}

/* Account sub-pages: white content cards on the site blue canvas. */
body.page-identity #content,
body.page-addresses #content,
body.page-history #content,
body.page-order-slip #content,
body.page-customer-account #content {
  box-sizing: border-box !important;
  padding: 32px 36px 40px !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 28px rgba(16, 26, 68, 0.08) !important;
}

body.page-identity fieldset,
body.page-addresses fieldset {
  margin-bottom: 26px !important;
  padding: 0 0 22px !important;
  border: 0 !important;
  border-bottom: 1px solid #e7eaf3 !important;
}

body.page-identity legend,
body.page-addresses legend,
body.page-customer-account h2.h5,
body.page-customer-account h2.h4 {
  margin-bottom: 18px !important;
  color: #6338ff !important;
  font-weight: 800 !important;
}

body.page-addresses .address,
body.page-addresses .addresses__item,
body.page-addresses .address-item {
  border: 1px solid #e7eaf3 !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  box-shadow: 0 5px 16px rgba(16, 26, 68, 0.06) !important;
}

body.page-history .table,
body.page-order-slip .table {
  --bs-table-bg: transparent !important;
  border-collapse: separate !important;
  border-spacing: 0 7px !important;
}

body.page-history .table thead th,
body.page-order-slip .table thead th {
  border-bottom: 1px solid #6338ff !important;
  color: #6338ff !important;
  font-weight: 800 !important;
}

body.page-history .table tbody tr,
body.page-order-slip .table tbody tr {
  background: #f0f4fb !important;
}

body.page-history .table tbody td,
body.page-order-slip .table tbody td {
  border: 0 !important;
  color: #101a44 !important;
}

/* Cart: separate the content and summary as white cards. */
body.page-cart .cart-grid {
  gap: 24px !important;
}

body.page-cart .cart-grid__content,
body.page-cart .cart-grid__aside {
  box-sizing: border-box !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 28px rgba(16, 26, 68, 0.08) !important;
}

body.page-cart .cart-grid__content {
  padding: 32px 36px !important;
}

body.page-cart .cart-grid__aside {
  padding: 32px !important;
}

/* Keep the cart summary beside the cart contents.  The 24 px grid gap must
   be included in the column bases; otherwise 8/4 Bootstrap columns total
   more than one row and the summary wraps underneath. */
@media (min-width: 992px) {
  body.page-cart .cart-grid__content {
    flex: 0 0 calc(66.666667% - 16px) !important;
    width: calc(66.666667% - 16px) !important;
    max-width: calc(66.666667% - 16px) !important;
  }

  body.page-cart .cart-grid__aside {
    align-self: flex-start !important;
    flex: 0 0 calc(33.333333% - 8px) !important;
    width: calc(33.333333% - 8px) !important;
    max-width: calc(33.333333% - 8px) !important;
  }

  body.page-cart .cart-grid__aside-wrapper {
    position: sticky !important;
    top: 24px !important;
  }
}

body.page-cart .cart-summary h2 {
  color: #101a44 !important;
  font-size: 24px !important;
  font-weight: 800 !important;
}

body.page-cart .cart-summary .separator,
body.page-cart .cart-summary hr {
  border-color: #e7eaf3 !important;
  opacity: 1 !important;
}

body.page-cart .cart__continue-shopping {
  border-color: #6338ff !important;
  color: #6338ff !important;
}

body.page-cart .cart__continue-shopping:hover,
body.page-cart .cart__continue-shopping:focus-visible {
  background: #6338ff !important;
  color: #ffffff !important;
}

/* Contact: a matching information card and form card. */
body.page-contact #wrapper > .container,
body.page-contact #wrapper .columns-container {
  padding-top: 32px !important;
  padding-bottom: 82px !important;
}

body.page-contact .ps-contactinfo,
body.page-contact #content {
  box-sizing: border-box !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 28px rgba(16, 26, 68, 0.08) !important;
}

body.page-contact .ps-contactinfo {
  padding: 28px 24px !important;
}

body.page-contact #content {
  padding: 32px 40px 36px !important;
}

body.page-contact .ps-contactinfo h2,
body.page-contact .ps-contactinfo h3,
body.page-contact .contact-form h1,
body.page-contact .contact-form h2 {
  color: #101a44 !important;
  font-weight: 800 !important;
}

body.page-contact .ps-contactinfo .material-icons,
body.page-contact .ps-contactinfo i {
  color: #6338ff !important;
}

body.page-contact .contact-form button[type="submit"] {
  min-width: 166px !important;
  margin-left: auto !important;
}

body.page-contact .contact-form .form-group,
body.page-contact .contact-form .mb-3 {
  margin-bottom: 18px !important;
}

/* Keep the cart breadcrumb identical to the single-line breadcrumb used on
 * product and category listings. */
body.page-cart main.wrapper > .breadcrumb__wrapper {
  box-sizing: border-box !important;
  background: #ffffff !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

body.page-cart main.wrapper > .breadcrumb__wrapper .container {
  box-sizing: border-box !important;
  width: min(1800px, calc(100% - 112px)) !important;
  max-width: 1800px !important;
  padding: 0 !important;
}

body.page-cart main.wrapper > .breadcrumb__wrapper .breadcrumb {
  box-sizing: border-box !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 20px 0 17px !important;
  align-items: center !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
  white-space: nowrap !important;
  color: #6338ff !important;
  font-size: 13px !important;
  line-height: 20px !important;
}

body.page-cart main.wrapper > .breadcrumb__wrapper .breadcrumb::-webkit-scrollbar {
  display: none !important;
}

body.page-cart main.wrapper > .breadcrumb__wrapper .breadcrumb-item {
  box-sizing: border-box !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #6338ff !important;
  white-space: nowrap !important;
}

body.page-cart main.wrapper > .breadcrumb__wrapper .breadcrumb-item + .breadcrumb-item::before {
  display: none !important;
  content: none !important;
}

body.page-cart main.wrapper > .breadcrumb__wrapper .breadcrumb-item:not(:last-child)::after {
  display: inline-block !important;
  margin: 0 10px !important;
  color: #6338ff !important;
  content: ">" !important;
  font: inherit !important;
  font-weight: 400 !important;
}

body.page-cart main.wrapper > .breadcrumb__wrapper .breadcrumb-link,
body.page-cart main.wrapper > .breadcrumb__wrapper .breadcrumb-item span {
  padding: 0 !important;
  color: #6338ff !important;
  font: inherit !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.page-cart main.wrapper > .breadcrumb__wrapper .breadcrumb-item:last-child span {
  color: #3516b4 !important;
  font-weight: 700 !important;
}

@media (max-width: 1199px) {
  body#authentication #center-column,
  body#password #center-column,
  body.page-registration #center-column,
  body#authentication .breadcrumb__wrapper .container,
  body#password .breadcrumb__wrapper .container,
  body.page-registration .breadcrumb__wrapper .container,
  body.page-my-account .breadcrumb__wrapper .container,
  body.page-customer-account .breadcrumb__wrapper .container,
  body.page-identity .breadcrumb__wrapper .container,
  body.page-addresses .breadcrumb__wrapper .container,
  body.page-history .breadcrumb__wrapper .container,
  body.page-order-slip .breadcrumb__wrapper .container,
  body.page-cart .breadcrumb__wrapper .container,
  body.page-contact .breadcrumb__wrapper .container {
    width: calc(100% - 64px) !important;
  }

  body.page-my-account .account-menu--main {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body#authentication #center-column,
  body#password #center-column,
  body.page-registration #center-column,
  body#authentication .breadcrumb__wrapper .container,
  body#password .breadcrumb__wrapper .container,
  body.page-registration .breadcrumb__wrapper .container,
  body.page-my-account .breadcrumb__wrapper .container,
  body.page-customer-account .breadcrumb__wrapper .container,
  body.page-identity .breadcrumb__wrapper .container,
  body.page-addresses .breadcrumb__wrapper .container,
  body.page-history .breadcrumb__wrapper .container,
  body.page-order-slip .breadcrumb__wrapper .container,
  body.page-cart .breadcrumb__wrapper .container,
  body.page-contact .breadcrumb__wrapper .container {
    width: calc(100% - 32px) !important;
  }

  body#authentication #content,
  body#password #content,
  body.page-registration #content,
  body.page-identity #content,
  body.page-addresses #content,
  body.page-history #content,
  body.page-order-slip #content,
  body.page-customer-account #content,
  body.page-cart .cart-grid__content,
  body.page-cart .cart-grid__aside,
  body.page-contact #content,
  body.page-contact .ps-contactinfo {
    padding: 24px 20px 28px !important;
  }

  body.page-my-account .account-menu--main {
    grid-template-columns: 1fr !important;
  }

  body.page-cart .cart-grid {
    gap: 16px !important;
  }

  body.page-contact #wrapper > .container,
  body.page-contact #wrapper .columns-container {
    padding-top: 20px !important;
    padding-bottom: 56px !important;
  }
}

/* Keep the shared header submenus visible on laptop widths.  The generated
 * Creative Elements header stylesheet turns the horizontal menu into an
 * overflow container at these widths, which clips its dropdown panels. */
@media (min-width: 1200px) and (max-width: 1599px) {
  body.page-cart #adtm_menu,
  body.page-cart #adtm_menu_inner,
  body.page-cart #adtm_menu ul#menu,
  body#checkout #adtm_menu,
  body#checkout #adtm_menu_inner,
  body#checkout #adtm_menu ul#menu {
    overflow: visible !important;
  }

  body.page-cart header#header,
  body#checkout header#header {
    z-index: 10000 !important;
  }

  body.page-cart .aw-navrow,
  body#checkout .aw-navrow,
  body.page-cart #_desktop_top_menu,
  body#checkout #_desktop_top_menu {
    position: relative !important;
    z-index: 10010 !important;
    overflow: visible !important;
  }

  body.page-cart #adtm_menu .adtm_sub,
  body#checkout #adtm_menu .adtm_sub {
    z-index: 10020 !important;
  }
}

/* Keep the document scrollable while preventing Chromium from painting its
 * native scrollbar controls beside the header. Internal scroll areas remain
 * unaffected. */
html,
body {
  scrollbar-width: none !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Header contact spacing on the 1536px desktop profile. The phone number and
 * "Nous contacter" are two items of the same icon list. */
@media (min-width: 1200px) and (max-width: 1599px) {
  body .aw-topbar .elementor-element-7c1629c .elementor-icon-list-items {
    column-gap: 44px !important;
  }
}

/* Site-wide desktop reference canvas.
 * Keep the common PrestaShop main element at the 1920px artboard width and
 * scale that single canvas according to the available CSS viewport. This is
 * shared by the homepage, category/product listings, product pages, cart,
 * checkout, account and CMS screens. The mobile media profile is untouched. */
@media (min-width: 1450px) and (max-width: 1919px) {
  html,
  body {
    overflow-x: hidden !important;
  }

  body > main {
    box-sizing: border-box !important;
    width: 1920px !important;
    min-width: 1920px !important;
    max-width: 1920px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    zoom: calc(100vw / 1920px) !important;
  }

  body > main > header#header,
  body > main > #content,
  body > main > footer#footer,
  body > main section.elementor-section-stretched,
  body > main .aw-hero,
  body > main .aw-catalog-strip,
  body > main .aw-topbar {
    box-sizing: border-box !important;
    width: 1920px !important;
    min-width: 0 !important;
    max-width: 1920px !important;
  }

  /* Elementor writes a 1536px inline width on the two header rows and on
   * the hero at this viewport. Override that generated value so the whole
   * 1920px composition is scaled together, without a right-side gap. */
  body > main > header#header > .elementor,
  body > main > #content > .elementor,
  body > main > footer#footer > .elementor {
    width: 1920px !important;
    min-width: 1920px !important;
    max-width: 1920px !important;
  }

  /* The page builder adds more specific stretch rules and inline widths to
   * each section. Keep every full-width section on the same artboard. */
  body > main > header#header > .elementor .elementor-section.elementor-section-stretched,
  body > main > #content > .elementor .elementor-section.elementor-section-stretched,
  body > main > footer#footer > .elementor .elementor-section.elementor-section-stretched {
    box-sizing: border-box !important;
    width: 1920px !important;
    min-width: 1920px !important;
    max-width: 1920px !important;
  }

  /* Keep the 1920px header tracks even though Elementor's 1200-1599px
   * responsive profile is still active in the browser viewport. */
  body > main > header#header .aw-topbar > .elementor-container {
    box-sizing: border-box !important;
    width: 1814px !important;
    max-width: 1814px !important;
    margin-left: 53px !important;
    margin-right: 53px !important;
  }

  body > main > header#header .aw-topbar {
    overflow: visible !important;
    scrollbar-width: none !important;
  }

  body > main > header#header .aw-topbar::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  body > main > header#header .aw-topbar > .elementor-container > .elementor-row {
    display: block !important;
    position: relative !important;
    width: 1814px !important;
    height: 54px !important;
  }

  body > main > header#header .aw-topbar > .elementor-container > .elementor-row > .elementor-column {
    position: absolute !important;
    top: 0 !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body > main > header#header .aw-topbar > .elementor-container > .elementor-row > .aw-top-logo {
    left: 0 !important;
    width: 208.62px !important;
    min-width: 208.62px !important;
    max-width: 208.62px !important;
  }

  body > main > header#header .aw-topbar > .elementor-container > .elementor-row > .elementor-element-7c1629c {
    left: 239px !important;
    width: 310px !important;
    min-width: 310px !important;
    max-width: 310px !important;
  }

  body > main > header#header .aw-topbar > .elementor-container > .elementor-row > .elementor-element-7ae4f6f {
    left: 676px !important;
    width: 462px !important;
    min-width: 462px !important;
    max-width: 462px !important;
  }

  body > main > header#header .aw-topbar > .elementor-container > .elementor-row > .elementor-element-82a3fd4 {
    left: 1403px !important;
    width: 184px !important;
    min-width: 184px !important;
    max-width: 184px !important;
  }

  body > main > header#header .aw-topbar > .elementor-container > .elementor-row > .elementor-element-ac08fd8 {
    left: 1628px !important;
    width: 184px !important;
    min-width: 184px !important;
    max-width: 184px !important;
  }

  body > main > header#header .aw-topbar .aw-top-logo img,
  body > main > header#header .aw-topbar .aw-top-logo .aw-figma-logo {
    width: 208.62px !important;
    min-width: 208.62px !important;
    max-width: 208.62px !important;
    height: 55px !important;
    min-height: 55px !important;
  }

  /* Some homepage sections keep Elementor's centered-viewport offset when
   * the parent canvas is zoomed. Re-anchor every full-width section to the
   * left edge of the 1920px artboard. */
  body > main > #content > .elementor .elementor-section.aw-family-section,
  body > main > #content > .elementor .elementor-section.aw-product-carousel-section,
  body > main > #content > .elementor .elementor-section.aw-about-section,
  body > main > #content > .elementor .elementor-section.aw-newsletter,
  body > main > #content > .elementor .elementor-section.aw-feature-bar,
  body > main > #content > .elementor .elementor-section.aw-footer-main {
    box-sizing: border-box !important;
    position: relative !important;
    left: 0 !important;
    width: 1920px !important;
    min-width: 1920px !important;
    max-width: 1920px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body > main > footer#footer .elementor-section.aw-feature-bar,
  body > main > footer#footer .elementor-section.aw-footer-main {
    box-sizing: border-box !important;
    position: relative !important;
    left: 0 !important;
    width: 1920px !important;
    min-width: 1920px !important;
    max-width: 1920px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Native PrestaShop pages render header and footer as body siblings of
   * main. Scale those siblings too; the homepage keeps its existing nested
   * header/footer and is therefore not double-scaled. */
  body > header#header,
  body > footer#footer {
    box-sizing: border-box !important;
    width: 1920px !important;
    min-width: 1920px !important;
    max-width: 1920px !important;
    zoom: calc(100vw / 1920px) !important;
  }

  body > header#header > .elementor,
  body > footer#footer > .elementor {
    box-sizing: border-box !important;
    width: 1920px !important;
    min-width: 1920px !important;
    max-width: 1920px !important;
  }

  body > header#header .elementor-section.elementor-section-stretched,
  body > footer#footer .elementor-section.elementor-section-stretched {
    box-sizing: border-box !important;
    width: 1920px !important;
    min-width: 1920px !important;
    max-width: 1920px !important;
  }

  body > header#header .aw-topbar {
    overflow: visible !important;
    scrollbar-width: none !important;
  }

  body > header#header .aw-topbar::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  body > header#header .aw-topbar > .elementor-container {
    box-sizing: border-box !important;
    width: 1814px !important;
    max-width: 1814px !important;
    margin-left: 53px !important;
    margin-right: 53px !important;
  }

  body > header#header .aw-topbar > .elementor-container > .elementor-row {
    display: block !important;
    position: relative !important;
    width: 1814px !important;
    height: 54px !important;
  }

  body > header#header .aw-topbar > .elementor-container > .elementor-row > .elementor-column {
    position: absolute !important;
    top: 0 !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body > header#header .aw-topbar > .elementor-container > .elementor-row > .aw-top-logo {
    left: 0 !important;
    width: 208.62px !important;
    min-width: 208.62px !important;
    max-width: 208.62px !important;
  }

  body > header#header .aw-topbar > .elementor-container > .elementor-row > .elementor-element-7c1629c {
    left: 239px !important;
    width: 310px !important;
    min-width: 310px !important;
    max-width: 310px !important;
  }

  body > header#header .aw-topbar > .elementor-container > .elementor-row > .elementor-element-7ae4f6f {
    left: 676px !important;
    width: 462px !important;
    min-width: 462px !important;
    max-width: 462px !important;
  }

  body > header#header .aw-topbar > .elementor-container > .elementor-row > .elementor-element-82a3fd4 {
    left: 1403px !important;
    width: 184px !important;
    min-width: 184px !important;
    max-width: 184px !important;
  }

  body > header#header .aw-topbar > .elementor-container > .elementor-row > .elementor-element-ac08fd8 {
    left: 1628px !important;
    width: 184px !important;
    min-width: 184px !important;
    max-width: 184px !important;
  }

  body > header#header .aw-topbar .aw-top-logo img,
  body > header#header .aw-topbar .aw-top-logo .aw-figma-logo {
    width: 208.62px !important;
    min-width: 208.62px !important;
    max-width: 208.62px !important;
    height: 55px !important;
    min-height: 55px !important;
  }

  /* The native pages still inherit the laptop menu profile (256 / 1427.2 /
   * 236.8px). Use the same 1920px artboard tracks as the homepage so the
   * menu does not jump left or revert to its older, larger text profile. */
  body > header#header section:nth-of-type(2) .aw-catalog-col {
    box-sizing: border-box !important;
    flex: 0 0 320px !important;
    width: 320px !important;
    min-width: 320px !important;
    max-width: 320px !important;
  }

  body > header#header section:nth-of-type(2) #adtm_menu,
  body > header#header section:nth-of-type(2) #adtm_menu_inner {
    box-sizing: border-box !important;
    flex: 0 0 1304px !important;
    width: 1304px !important;
    min-width: 1304px !important;
    max-width: 1304px !important;
  }

  body > header#header section:nth-of-type(2) .aw-family-col {
    box-sizing: border-box !important;
    flex: 0 0 296px !important;
    width: 296px !important;
    min-width: 296px !important;
    max-width: 296px !important;
  }

  body > header#header section:nth-of-type(2) #adtm_menu ul#menu {
    box-sizing: border-box !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    width: 1304px !important;
    min-width: 1304px !important;
    max-width: 1304px !important;
    overflow: visible !important;
  }

  body > header#header section:nth-of-type(2) #adtm_menu ul#menu > li.li-niveau1 {
    flex: 0 0 auto !important;
    margin-right: 0 !important;
  }

  body > header#header section:nth-of-type(2) #adtm_menu li.li-niveau1 a.a-niveau1 {
    display: flex !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: normal !important;
  }

  body > header#header section:nth-of-type(2) #adtm_menu li.li-niveau1 a.a-niveau1 > span.advtm_menu_span {
    display: flex !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 48px !important;
  }

  body > header#header section:nth-of-type(2) #adtm_menu ul#menu > li.li-niveau1.advtm_menu_43 > a.a-niveau1 > span.advtm_menu_span_43,
  body > header#header section:nth-of-type(2) #adtm_menu ul#menu > li.li-niveau1.advtm_menu_44 > a.a-niveau1 > span.advtm_menu_span_44,
  body > header#header section:nth-of-type(2) #adtm_menu ul#menu > li.li-niveau1.advtm_menu_45 > a.a-niveau1 > span.advtm_menu_span_45,
  body > header#header section:nth-of-type(2) #adtm_menu ul#menu > li.li-niveau1.advtm_menu_46 > a.a-niveau1 > span.advtm_menu_span_46,
  body > header#header section:nth-of-type(2) #adtm_menu ul#menu > li.li-niveau1.advtm_menu_47 > a.a-niveau1 > span.advtm_menu_span_47,
  body > header#header section:nth-of-type(2) #adtm_menu ul#menu > li.li-niveau1.advtm_menu_48 > a.a-niveau1 > span.advtm_menu_span_48 {
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    margin: 0 !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 48px !important;
  }
}

/* Mobile header: preserve a deliberate two-row navigation instead of letting
 * Elementor's desktop columns occupy the full width one after another. */
@media (max-width: 767px) {
  #header {
    isolation: isolate !important;
  }

  #header .aw-topbar {
    min-height: 64px !important;
    height: 64px !important;
  }

  #header .aw-topbar > .elementor-container {
    box-sizing: border-box !important;
    width: calc(100% - 24px) !important;
    max-width: none !important;
    height: 64px !important;
    margin: 0 12px !important;
    padding: 0 !important;
  }

  #header .aw-topbar > .elementor-container > .elementor-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    width: 100% !important;
    height: 64px !important;
  }

  #header .aw-topbar .aw-contact-col {
    display: none !important;
  }

  #header .aw-topbar .aw-top-logo {
    flex: 0 0 clamp(90px, 28vw, 112px) !important;
    width: clamp(90px, 28vw, 112px) !important;
    min-width: clamp(90px, 28vw, 112px) !important;
    height: 64px !important;
    min-height: 64px !important;
  }

  #header .aw-topbar .aw-top-logo .elementor-column-wrap,
  #header .aw-topbar .aw-top-logo .elementor-widget-wrap,
  #header .aw-topbar .aw-top-logo .elementor-widget-heading,
  #header .aw-topbar .aw-top-logo .elementor-widget-container,
  #header .aw-topbar .aw-top-logo .elementor-heading-title,
  #header .aw-topbar .aw-top-logo .elementor-heading-title > a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 64px !important;
    min-height: 0 !important;
  }

  #header .aw-topbar .aw-top-logo svg,
  #header .aw-topbar .aw-top-logo .aw-figma-logo {
    width: 100% !important;
    max-width: 112px !important;
    height: auto !important;
    max-height: 36px !important;
  }

  #header .aw-topbar .aw-top-search {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 42px !important;
  }

  #header .aw-topbar .aw-top-search .elementor-column-wrap,
  #header .aw-topbar .aw-top-search .elementor-widget-wrap,
  #header .aw-topbar .aw-top-search .elementor-widget,
  #header .aw-topbar .aw-top-search .elementor-widget-container,
  #header .aw-topbar .aw-top-search form,
  #header .aw-topbar .aw-top-search .elementor-search__container {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
  }

  #header .aw-topbar .aw-top-search .elementor-search__input {
    min-width: 0 !important;
    height: 42px !important;
    padding: 0 8px !important;
    font-size: 13px !important;
  }

  #header .aw-topbar .aw-top-search .elementor-search__submit {
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
  }

  #header .aw-topbar .aw-top-links {
    display: flex !important;
    flex: 0 0 114px !important;
    width: 114px !important;
    min-width: 114px !important;
    height: 64px !important;
  }

  #header .aw-topbar .aw-top-links .elementor-column-wrap,
  #header .aw-topbar .aw-top-links .elementor-widget-wrap {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100% !important;
    height: 64px !important;
    min-width: 0 !important;
  }

  #header .aw-topbar .aw-top-cart {
    display: flex !important;
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 44px !important;
    min-width: 0 !important;
  }

  #header .aw-topbar .aw-top-cart .elementor-widget-container,
  #header .aw-topbar .aw-top-cart .elementor-cart__toggle,
  #header .aw-topbar .aw-top-cart .elementor-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 44px !important;
    min-width: 0 !important;
    padding: 0 !important;
  }

  #header .aw-topbar .aw-top-cart .elementor-button-text {
    display: none !important;
  }

  #header .aw-topbar .aw-signin {
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 44px !important;
    min-width: 36px !important;
  }

  #header .aw-topbar .aw-signin .elementor-widget-container,
  #header .aw-topbar .aw-signin nav,
  #header .aw-topbar .aw-signin .elementor-nav,
  #header .aw-topbar .aw-signin .elementor-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 44px !important;
    min-width: 36px !important;
    padding: 0 !important;
  }

  #header .aw-topbar .aw-language {
    display: flex !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
  }

  #header .aw-topbar .aw-language > .elementor-widget-container,
  #header .aw-topbar .aw-language-control {
    display: flex !important;
    align-items: center !important;
    width: 44px !important;
    height: 44px !important;
  }

  #header .aw-topbar .aw-language-visual {
    display: none !important;
  }

  #header .aw-topbar .aw-language-select {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    font-size: 11px !important;
  }

  #header .elementor-element-581e476 {
    height: 56px !important;
    min-height: 56px !important;
  }

  #header .elementor-element-581e476 > .elementor-container,
  #header .elementor-element-581e476 > .elementor-container > .elementor-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #header .elementor-element-581e476 .aw-catalog-col,
  #header .elementor-element-581e476 .aw-family-col {
    display: flex !important;
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    height: 56px !important;
  }

  #header .elementor-element-581e476 .aw-atm-col {
    display: flex !important;
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 56px !important;
  }

  #header .elementor-element-581e476 .elementor-column-wrap,
  #header .elementor-element-581e476 .elementor-widget-wrap,
  #header .elementor-element-581e476 .elementor-widget,
  #header .elementor-element-581e476 .elementor-widget-container {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
    height: 56px !important;
    min-width: 0 !important;
  }

  #header .elementor-element-581e476 .elementor-button,
  #header .elementor-element-581e476 .aw-atm-col button {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 56px !important;
    max-height: 56px !important;
    margin: 0 !important;
    padding: 5px 8px !important;
    text-align: center !important;
  }

  #header .elementor-element-581e476 .aw-catalog-col .elementor-button {
    background: #ffffff !important;
    border-color: #ebe6ff !important;
    color: #3516b4 !important;
  }

  #header .elementor-element-581e476 .aw-catalog-col .elementor-button-icon,
  #header .elementor-element-581e476 .aw-catalog-col .elementor-button-icon i,
  #header .elementor-element-581e476 .aw-catalog-col .elementor-button-text {
    color: inherit !important;
  }

  #header .elementor-element-581e476 .elementor-button-text {
    font-size: 11px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }

  #adtmMobileMenu {
    width: 100vw !important;
    max-width: 100vw !important;
    z-index: 10050 !important;
  }

  #adtmMobileMenu .offcanvas-body,
  #adtmMobileMenu .adtm_menu,
  #adtmMobileMenu .adtm_menu_list,
  #adtmMobileMenu .li-niveau1 {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  #adtmMobileMenu .adtm_menu_list {
    margin: 0 !important;
    padding: 0 !important;
  }

  #adtmMobileMenu .adtm_hummingbird_menu_item {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #adtmMobileMenu .a-niveau1 {
    display: flex !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
  }

  #adtmMobileMenu .advtm_menu_span {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
  }

  #adtmMobileMenu .adtm_hummingbird_submenu_toggle {
    display: flex !important;
    flex: 0 0 52px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    min-width: 52px !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Mobile usability: use fluid hero copy, reachable controls and concise paths. */
@media (max-width: 767px) {
  body.page-index .aw-hero-title {
    left: 24px !important;
    top: 218px !important;
    width: calc(100% - 48px) !important;
    height: auto !important;
    transform: none !important;
  }

  body.page-index .aw-hero-title::before {
    display: none !important;
  }

  body.page-index .aw-hero-title .elementor-heading-title {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    white-space: normal !important;
    text-align: center !important;
    font-size: clamp(29px, 8vw, 34px) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.8px !important;
  }

  body.page-index .aw-hero-subtitle {
    left: 24px !important;
    top: 340px !important;
    width: calc(100% - 48px) !important;
    height: auto !important;
    transform: none !important;
  }

  body.page-index .aw-hero-subtitle .elementor-heading-title {
    width: 100% !important;
    height: auto !important;
    white-space: normal !important;
    text-align: center !important;
    font-size: 12px !important;
    line-height: 18px !important;
    letter-spacing: 0.1em !important;
  }

  body.page-index .aw-hero .aw-slider-arrow {
    width: 44px !important;
    height: 44px !important;
    background-size: 14px 25px !important;
  }

  body.page-index .aw-hero .aw-slider-arrow-prev {
    left: 2px !important;
  }

  body.page-index .aw-hero .aw-slider-arrow-next {
    right: 2px !important;
  }

  body.page-index .aw-hero .aw-slider-dots {
    width: auto !important;
    height: 32px !important;
    gap: 0 !important;
  }

  body.page-index .aw-hero .aw-slider-dot {
    position: relative !important;
    flex-basis: 32px !important;
    width: 32px !important;
    height: 32px !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.page-index .aw-hero .aw-slider-dot::before {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 11px !important;
    height: 11px !important;
    border-radius: 50% !important;
    box-shadow: inset 0 0 0 1px #ffffff !important;
    content: "" !important;
    transform: translate(-50%, -50%) !important;
  }

  body.page-index .aw-hero .aw-slider-dot.is-active::before {
    background: #ffffff !important;
    box-shadow: none !important;
  }

  .aw-topbar .aw-language-control,
  .aw-topbar .aw-language-select {
    min-width: 44px !important;
    min-height: 40px !important;
  }

  body > footer#footer a:not(.elementor-button) {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 40px !important;
  }

  body.page-product .codex-reference-heart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }

  body.page-product .aw-product-breadcrumb .ce-breadcrumb,
  body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb {
    overflow: hidden !important;
  }

  body.page-product .aw-product-breadcrumb .ce-breadcrumb .elementor-row,
  body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb .elementor-row {
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body.page-product .aw-product-breadcrumb .ce-breadcrumb__item:not(:first-child):not(:last-child),
  body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item:not(:first-child):not(:last-child) {
    display: none !important;
  }

  body.page-product .aw-product-breadcrumb .ce-breadcrumb__item:first-child::after,
  body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item:first-child::after {
    margin: 0 8px !important;
    content: "…" !important;
  }

  body.page-product .aw-product-breadcrumb .ce-breadcrumb__item:last-child,
  body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item:last-child {
    display: block !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    overflow: hidden !important;
  }

  body.page-product .aw-product-breadcrumb .ce-breadcrumb__item:last-child > *,
  body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item:last-child > * {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* Give the contact page the same single-line breadcrumb treatment as the
 * catalogue and product pages. */
body.page-contact main.wrapper > .breadcrumb__wrapper {
  box-sizing: border-box !important;
  background: #ffffff !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

body.page-contact main.wrapper > .breadcrumb__wrapper .container {
  box-sizing: border-box !important;
  width: min(1800px, calc(100% - 112px)) !important;
  max-width: 1800px !important;
  padding: 0 !important;
}

body.page-contact main.wrapper > .breadcrumb__wrapper .breadcrumb {
  box-sizing: border-box !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 20px 0 17px !important;
  align-items: center !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
  white-space: nowrap !important;
  color: #6338ff !important;
    font-size: 16px !important;
    line-height: 24px !important;
}

body.page-contact main.wrapper > .breadcrumb__wrapper .breadcrumb::-webkit-scrollbar {
  display: none !important;
}

body.page-contact main.wrapper > .breadcrumb__wrapper .breadcrumb-item {
  box-sizing: border-box !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #6338ff !important;
  white-space: nowrap !important;
}

body.page-contact main.wrapper > .breadcrumb__wrapper .breadcrumb-item + .breadcrumb-item::before {
  display: none !important;
  content: none !important;
}

body.page-contact main.wrapper > .breadcrumb__wrapper .breadcrumb-item:not(:last-child)::after {
  display: inline-block !important;
  margin: 0 10px !important;
  color: #6338ff !important;
  content: ">" !important;
  font: inherit !important;
  font-weight: 400 !important;
}

body.page-contact main.wrapper > .breadcrumb__wrapper .breadcrumb-link,
body.page-contact main.wrapper > .breadcrumb__wrapper .breadcrumb-item span {
  padding: 0 !important;
  color: #6338ff !important;
  font: inherit !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.page-contact main.wrapper > .breadcrumb__wrapper .breadcrumb-item:last-child span {
  color: #3516b4 !important;
  font-weight: 700 !important;
}

/* At the 1536px desktop profile, native PrestaShop footers are body siblings
 * rather than part of the homepage canvas. Reapply the homepage's exact
 * artboard tracks so the newsletter and reassurance band share one baseline
 * on every desktop page. */
@media (min-width: 1450px) and (max-width: 1919px) {
  body > footer#footer section.elementor-section-stretched.aw-newsletter,
  body > footer#footer section.elementor-section-stretched.aw-feature-bar {
    box-sizing: border-box !important;
    left: 0 !important;
    width: 1920px !important;
    min-width: 1920px !important;
    max-width: 1920px !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body > footer#footer .aw-newsletter {
    height: 136px !important;
    min-height: 136px !important;
    padding: 0 !important;
  }

  body > footer#footer .aw-newsletter > .elementor-container {
    width: 843px !important;
    max-width: 843px !important;
    height: 136px !important;
    margin: 0 0 0 calc((100% - 843px) / 2 + 7.5px) !important;
    padding: 0 !important;
  }

  body > footer#footer .aw-feature-bar {
    height: 156px !important;
    min-height: 156px !important;
    padding: 39px 0 53px !important;
  }

  body > footer#footer .aw-feature-bar > .elementor-container {
    width: 1920px !important;
    max-width: none !important;
    height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Mobile header v2: keep the account controls on one row and give search its
 * own full-width row. This avoids a nearly unusable search field on phones. */
@media (max-width: 767px) {
  #header .aw-topbar,
  #header .aw-topbar > .elementor-container {
    height: 112px !important;
    min-height: 112px !important;
  }

  #header .aw-topbar > .elementor-container > .elementor-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 114px !important;
    grid-template-rows: 64px 48px !important;
    align-items: center !important;
    width: 100% !important;
    height: 112px !important;
  }

  #header .aw-topbar .aw-top-logo {
    grid-column: 1 !important;
    grid-row: 1 !important;
    flex: none !important;
    width: clamp(104px, 32vw, 126px) !important;
    min-width: clamp(104px, 32vw, 126px) !important;
  }

  #header .aw-topbar .aw-top-logo svg,
  #header .aw-topbar .aw-top-logo .aw-figma-logo {
    max-width: 126px !important;
  }

  #header .aw-topbar .aw-top-links {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    flex: none !important;
    width: 114px !important;
    min-width: 114px !important;
    height: 64px !important;
  }

  #header .aw-topbar .aw-top-search {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    align-self: center !important;
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
  }

  #header .aw-topbar .aw-top-search .elementor-column-wrap,
  #header .aw-topbar .aw-top-search .elementor-widget-wrap,
  #header .aw-topbar .aw-top-search .elementor-widget,
  #header .aw-topbar .aw-top-search .elementor-widget-container,
  #header .aw-topbar .aw-top-search form,
  #header .aw-topbar .aw-top-search .elementor-search__container {
    display: flex !important;
    width: 100% !important;
    height: 42px !important;
    min-width: 0 !important;
  }

  #header .aw-topbar .aw-top-search .elementor-search__input {
    width: 100% !important;
    height: 42px !important;
    min-width: 0 !important;
    padding: 0 12px !important;
  }

  #header .aw-topbar .aw-top-search .elementor-search__submit {
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 42px !important;
    background: #3516b4 !important;
    color: #ffffff !important;
  }

  #header .aw-topbar .aw-top-search .elementor-search__submit i {
    display: none !important;
  }

  #header .aw-topbar .aw-top-search .elementor-search__submit::before {
    color: #ffffff !important;
    content: "\f002" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }
}

/* Keep the original, loaded icon font for the two mobile controls. */
@media (max-width: 767px) {
  #header .aw-topbar .aw-top-search .elementor-search__submit::before,
  #header .aw-topbar .aw-top-search .elementor-search__submit::after {
    display: none !important;
    content: none !important;
  }

  #header .aw-topbar .aw-top-search .elementor-search__submit i {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    color: #ffffff !important;
    font-size: 16px !important;
    line-height: 16px !important;
  }

  #header .aw-topbar .aw-top-cart .elementor-button-icon {
    display: flex !important;
    position: relative !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 44px !important;
    color: #ffffff !important;
  }

  #header .aw-topbar .aw-top-cart .elementor-button-icon i {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    color: #ffffff !important;
    font-size: 16px !important;
    line-height: 16px !important;
  }
}

/* Mobile navigation: retain one clear path to browse and remove the duplicate
 * catalogue shortcut, which was visually crowding the small header. */
@media (max-width: 767px) {
  #header .elementor-element-581e476,
  #header .elementor-element-581e476 > .elementor-container,
  #header .elementor-element-581e476 > .elementor-container > .elementor-row {
    height: 62px !important;
    min-height: 62px !important;
  }

  #header .elementor-element-581e476 .aw-catalog-col {
    display: none !important;
  }

  #header .elementor-element-581e476 .aw-atm-col {
    flex: 0 0 62px !important;
    width: 62px !important;
    min-width: 62px !important;
    height: 62px !important;
    background: #ffffff !important;
    border-right: 1px solid #ebe6ff !important;
  }

  #header .elementor-element-581e476 .aw-family-col {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 62px !important;
  }

  #header .elementor-element-581e476 .aw-atm-col .elementor-column-wrap,
  #header .elementor-element-581e476 .aw-atm-col .elementor-widget-wrap,
  #header .elementor-element-581e476 .aw-atm-col .elementor-widget,
  #header .elementor-element-581e476 .aw-atm-col .elementor-widget-container,
  #header .elementor-element-581e476 .aw-family-col .elementor-column-wrap,
  #header .elementor-element-581e476 .aw-family-col .elementor-widget-wrap,
  #header .elementor-element-581e476 .aw-family-col .elementor-widget,
  #header .elementor-element-581e476 .aw-family-col .elementor-widget-container,
  #header .elementor-element-581e476 .aw-atm-col button,
  #header .elementor-element-581e476 .aw-family-col .elementor-button {
    height: 62px !important;
    max-height: 62px !important;
  }

  #header .elementor-element-581e476 .aw-atm-col button {
    background: #ffffff !important;
    color: #3516b4 !important;
    font-size: 22px !important;
  }

  #header .elementor-element-581e476 .aw-family-col .elementor-button {
    justify-content: center !important;
    padding: 8px 16px !important;
    background: #d59222 !important;
  }

  #header .elementor-element-581e476 .aw-family-col .elementor-button-text {
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
  }
}

/* Promotions uses the generic listing template. Its hero and description sections
   are empty for this route, so suppress their inherited visual space. */
body#prices-drop main.wrapper > .breadcrumb__wrapper,
body#prices-drop .aw-listing-hero,
body#prices-drop .aw-list-description {
  display: none !important;
}

body#prices-drop .aw-listing-layout {
  padding-top: 0 !important;
  margin-top: 0 !important;
  width: 100vw !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background: #edf3fb !important;
}

body#prices-drop .aw-listing-layout .aw-breadcrumb {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 18px 0 !important;
  background: #ffffff !important;
}

/* Reuse the product-listing rhythm: breadcrumb, purple tools bar, then the
   light-blue listing canvas. */
body#prices-drop .aw-listing-layout .aw-products-col > .elementor-column-wrap > .elementor-widget-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
}

body#prices-drop .aw-listing-layout .aw-breadcrumb {
  order: 1 !important;
  flex: 0 0 100% !important;
  width: 100% !important;
}

body#prices-drop .aw-listing-layout .aw-list-info,
body#prices-drop .aw-listing-layout .aw-list-sort {
  box-sizing: border-box !important;
  background: #6338ff !important;
  color: #ffffff !important;
}

body#prices-drop .aw-listing-layout .aw-list-info {
  order: 3 !important;
  flex: 1 1 50% !important;
  width: 50% !important;
  padding: 13px 0 13px 0 !important;
  text-align: right !important;
}

body#prices-drop .aw-listing-layout .aw-list-sort {
  order: 2 !important;
  flex: 1 1 50% !important;
  width: 50% !important;
  padding: 8px 0 !important;
}

body#prices-drop .aw-listing-layout .aw-list-info .elementor-widget-container,
body#prices-drop .aw-listing-layout .aw-list-sort .elementor-widget-container {
  background: transparent !important;
  color: #ffffff !important;
}

body#prices-drop .aw-listing-layout .aw-list-sort .ce-sort-order {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
}

body#prices-drop .aw-listing-layout .aw-list-sort label {
  margin: 0 !important;
  color: #ffffff !important;
}

body#prices-drop .aw-listing-layout .aw-list-sort select {
  flex: 0 0 180px !important;
  width: 180px !important;
  min-width: 180px !important;
  max-width: 180px !important;
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.16) !important;
  border: 1px solid rgba(255, 255, 255, 0.75) !important;
  border-radius: 18px !important;
}

body#prices-drop .aw-listing-layout .aw-list-sort .elementor-select-wrapper {
  flex: 0 0 180px !important;
  width: 180px !important;
  max-width: 180px !important;
  position: relative !important;
}

body#prices-drop .aw-listing-layout .aw-list-sort select option {
  color: #263452 !important;
  background: #ffffff !important;
}

body#prices-drop .aw-listing-layout .aw-listing-products {
  order: 4 !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  padding: 42px 0 0 !important;
  min-height: 0 !important;
  background: #edf3fb !important;
}

body#prices-drop .aw-listing-layout .aw-listing-products .elementor-widget-container,
body#prices-drop .aw-listing-layout .aw-listing-products #js-product-list {
  min-height: 0 !important;
  height: auto !important;
}

@media (max-width: 1024px) {
  body#prices-drop .aw-listing-layout > .elementor-container {
    width: calc(100vw - 32px) !important;
    max-width: none !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    left: auto !important;
  }

  body#prices-drop .aw-listing-layout .aw-list-info,
  body#prices-drop .aw-listing-layout .aw-list-sort {
    flex: 0 0 100% !important;
    width: 100% !important;
  }

  body#prices-drop .aw-listing-layout .aw-list-info {
    padding: 12px 0 4px !important;
    text-align: left !important;
  }

  body#prices-drop .aw-listing-layout .aw-list-sort {
    padding: 4px 0 12px !important;
  }

  body#prices-drop .aw-listing-layout .aw-list-sort .ce-sort-order {
    justify-content: flex-start !important;
  }

  body#prices-drop .aw-listing-layout .aw-listing-products {
    padding: 24px 0 0 !important;
  }
}

/* Use the same wide desktop canvas as the preproduction product listings. */
body#prices-drop .aw-listing-layout > .elementor-container {
  width: calc(100vw - 120px) !important;
  max-width: 1800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body#prices-drop .aw-listing-layout > .elementor-container > .elementor-row {
  width: 100% !important;
}

@media (min-width: 1025px) {
  /* The page builder keeps a 312px side rail on this route; cancel it so the
     promotions table starts on the same 60px grid as the product listings. */
  body#prices-drop .aw-listing-layout > .elementor-container {
    position: relative !important;
    left: -312px !important;
  }
}

/* The cart quantity bubble was placed above the viewport when a mobile cart
 * contains three digits. Keep it fully visible without competing with account
 * controls in the compact header. */
@media (max-width: 767px) {
  #header .aw-topbar .aw-top-cart .elementor-button-icon[data-counter]::before {
    top: 2px !important;
    right: -1px !important;
  }
}

body#prices-drop .aw-listing-layout .aw-filter-col {
  display: none !important;
}

body#prices-drop .aw-listing-layout .aw-products-col {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}

body#prices-drop #left-column {
  display: none !important;
}

body#prices-drop #center-column {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* Match the standard product listings: four cards per row on desktop. */
@media (min-width: 1025px) {
body#prices-drop .aw-listing-products .ce-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Promotions follows the site's reference-listing table rather than cards. */
body#prices-drop .codex-prices-drop-table-wrap {
  width: 100%;
  margin: 28px 0 42px;
  overflow-x: auto;
}

body#prices-drop .codex-prices-drop-table {
  width: 100%;
  min-width: 760px;
  border-collapse: separate;
  border-spacing: 0;
  color: #263452;
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(36, 52, 84, 0.08);
}

body#prices-drop .codex-prices-drop-table th {
  padding: 13px 18px;
  border-bottom: 2px solid #5f43e8;
  color: #5f43e8;
  background: #ffffff;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}

body#prices-drop .codex-prices-drop-table td {
  padding: 11px 18px;
  border-bottom: 1px solid #ffffff;
  vertical-align: middle;
}

body#prices-drop .codex-prices-drop-table tbody tr:nth-child(odd) td {
  background: #edf3fb;
}

body#prices-drop .codex-prices-drop-table tbody tr:nth-child(even) td {
  background: #ffffff;
}

body#prices-drop .codex-prices-drop-table tbody tr:hover td {
  background: #e1e9f6;
}

body#prices-drop .codex-prices-drop-table th:nth-child(1),
body#prices-drop .codex-prices-drop-table td:nth-child(1) {
  width: 18%;
}

body#prices-drop .codex-prices-drop-table th:nth-child(2),
body#prices-drop .codex-prices-drop-table td:nth-child(2) {
  width: 42%;
}

body#prices-drop .codex-prices-drop-table th:nth-child(3),
body#prices-drop .codex-prices-drop-table td:nth-child(3) {
  width: 16%;
}

body#prices-drop .codex-prices-drop-table th:nth-child(4),
body#prices-drop .codex-prices-drop-table td:nth-child(4) {
  width: 14%;
  white-space: nowrap;
}

body#prices-drop .codex-prices-drop-table th:nth-child(5),
body#prices-drop .codex-prices-drop-table td:nth-child(5) {
  width: 10%;
  white-space: nowrap;
}

body#prices-drop .codex-prices-drop-reference,
body#prices-drop .codex-prices-drop-details {
  color: #4f429c;
  text-decoration: underline;
}

body#prices-drop .codex-prices-drop-reference {
  font-weight: 600;
}

body#prices-drop .codex-prices-drop-price {
  font-variant-numeric: tabular-nums;
}

body#prices-drop .codex-prices-drop-status {
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-right: 8px;
  border-radius: 50%;
  background: #9be51d;
  vertical-align: 1px;
}

body#prices-drop .codex-prices-drop-status--unavailable,
body#prices-drop .codex-prices-drop-status--out_of_stock {
  background: #ef514e;
}

@media (max-width: 767px) {
  body#prices-drop .codex-prices-drop-table-wrap {
    overflow: visible;
  }

  body#prices-drop .codex-prices-drop-table {
    min-width: 0;
    box-shadow: none;
  }

  body#prices-drop .codex-prices-drop-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  body#prices-drop .codex-prices-drop-table,
  body#prices-drop .codex-prices-drop-table tbody,
  body#prices-drop .codex-prices-drop-table tr,
  body#prices-drop .codex-prices-drop-table td {
    display: block;
    width: 100% !important;
  }

  body#prices-drop .codex-prices-drop-table tbody tr {
    margin-bottom: 14px;
    border: 1px solid #dfe6f1;
  }

  body#prices-drop .codex-prices-drop-table td {
    display: grid;
    grid-template-columns: minmax(7.5rem, 38%) 1fr;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid #e7edf5;
    background: #ffffff !important;
  }

  body#prices-drop .codex-prices-drop-table td:last-child {
    border-bottom: 0;
  }

  body#prices-drop .codex-prices-drop-table td::before {
    color: #263452;
    font-weight: 700;
    content: attr(data-label);
  }
}

/* Keep typed search terms readable on the white header search field. */
#header .aw-topbar .aw-top-search .elementor-search__input {
  color: #101a44 !important;
  -webkit-text-fill-color: #101a44 !important;
  caret-color: #101a44 !important;
}

#header .aw-topbar .aw-top-search .elementor-search__input::placeholder {
  color: #60698b !important;
  opacity: 1 !important;
}

/* Mobile/tablet header v3.
 * The previous responsive profile inherited two different Elementor header
 * rows: a 112px control/search area plus a 62px family CTA. On phones this
 * made the header visually heavy; at the 768px breakpoint it fell back to a
 * partial desktop layout. Keep one compact, predictable two-row header from
 * phone through tablet:
 *   - row 1: brand + menu + cart + account + language;
 *   - row 2: one full-width product search.
 * Product families remain available from the menu drawer, so the redundant
 * home-page CTA is not rendered as a third header row.
 */
@media (max-width: 991.98px) {
  #header {
    position: relative !important;
    isolation: isolate !important;
  }

  #header .aw-topbar {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 112px !important;
    min-height: 112px !important;
  }

  #header .aw-topbar > .elementor-container {
    box-sizing: border-box !important;
    width: calc(100% - 24px) !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 112px !important;
    min-height: 112px !important;
    margin: 0 12px !important;
    padding: 0 !important;
  }

  #header .aw-topbar > .elementor-container > .elementor-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 42px 42px 44px !important;
    grid-template-rows: 60px 48px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 112px !important;
    min-height: 112px !important;
  }

  #header .aw-topbar .aw-contact-col {
    display: none !important;
  }

  #header .aw-topbar .aw-top-logo {
    display: flex !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-items: center !important;
    width: min(128px, 100%) !important;
    min-width: 0 !important;
    height: 60px !important;
    min-height: 60px !important;
  }

  #header .aw-topbar .aw-top-logo .elementor-column-wrap,
  #header .aw-topbar .aw-top-logo .elementor-widget-wrap,
  #header .aw-topbar .aw-top-logo .elementor-widget-heading,
  #header .aw-topbar .aw-top-logo .elementor-widget-container,
  #header .aw-topbar .aw-top-logo .elementor-heading-title,
  #header .aw-topbar .aw-top-logo .elementor-heading-title > a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 60px !important;
    min-height: 0 !important;
  }

  #header .aw-topbar .aw-top-logo svg,
  #header .aw-topbar .aw-top-logo .aw-figma-logo {
    display: block !important;
    width: min(128px, 100%) !important;
    max-width: 128px !important;
    height: auto !important;
    max-height: 34px !important;
  }

  #header .aw-topbar .aw-top-links {
    display: flex !important;
    grid-column: 2 / -1 !important;
    grid-row: 1 !important;
    align-items: center !important;
    justify-self: end !important;
    width: 128px !important;
    min-width: 128px !important;
    height: 60px !important;
    min-height: 60px !important;
  }

  #header .aw-topbar .aw-top-links .elementor-column-wrap,
  #header .aw-topbar .aw-top-links .elementor-widget-wrap {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 60px !important;
  }

  #header .aw-topbar .aw-top-cart,
  #header .aw-topbar .aw-signin {
    display: flex !important;
    flex: 0 0 42px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
  }

  #header .aw-topbar .aw-top-cart .elementor-widget-container,
  #header .aw-topbar .aw-top-cart .elementor-cart__toggle,
  #header .aw-topbar .aw-top-cart .elementor-button,
  #header .aw-topbar .aw-signin .elementor-widget-container,
  #header .aw-topbar .aw-signin nav,
  #header .aw-topbar .aw-signin .elementor-nav,
  #header .aw-topbar .aw-signin .elementor-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #header .aw-topbar .aw-top-cart .elementor-button-text {
    display: none !important;
  }

  #header .aw-topbar .aw-top-cart .elementor-button-icon {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 44px !important;
  }

  #header .aw-topbar .aw-top-cart .elementor-button-icon i {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    color: #ffffff !important;
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free" !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 18px !important;
  }

  #header .aw-topbar .aw-top-cart .elementor-button-icon i::before {
    content: "\f07a" !important;
  }

  #header .aw-topbar .aw-top-cart .elementor-button-icon[data-counter]::before {
    top: 2px !important;
    right: 0 !important;
    min-width: 17px !important;
    height: 17px !important;
    padding: 0 3px !important;
    font-size: 9px !important;
    line-height: 17px !important;
  }

  #header .aw-topbar .aw-language {
    display: flex !important;
    flex: 0 0 44px !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
  }

  #header .aw-topbar .aw-language > .elementor-widget-container,
  #header .aw-topbar .aw-language-control,
  #header .aw-topbar .aw-language-select {
    display: block !important;
    box-sizing: border-box !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
  }

  #header .aw-topbar .aw-language-select {
    padding: 0 4px !important;
    font-size: 11px !important;
  }

  #header .aw-topbar .aw-top-search {
    display: flex !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    align-self: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
  }

  #header .aw-topbar .aw-top-search .elementor-column-wrap,
  #header .aw-topbar .aw-top-search .elementor-widget-wrap,
  #header .aw-topbar .aw-top-search .elementor-widget,
  #header .aw-topbar .aw-top-search .elementor-widget-container,
  #header .aw-topbar .aw-top-search form,
  #header .aw-topbar .aw-top-search .elementor-search__container {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  #header .aw-topbar .aw-top-search .elementor-search__input {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    padding: 0 13px !important;
    font-size: 14px !important;
  }

  #header .aw-topbar .aw-top-search .elementor-search__submit {
    display: flex !important;
    flex: 0 0 48px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 44px !important;
    margin: 0 !important;
  }

  /* The second Elementor section supplies only the menu trigger at these
   * breakpoints. Its catalogue/family links would otherwise create a third,
   * competing navigation bar. */
  #header .elementor-element-581e476 {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    /* The top bar itself is on z-index 10000 in the base theme. Keep the
     * relocated menu trigger immediately above it while the off-canvas panel
     * still opens higher (10050). */
    z-index: 10001 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    pointer-events: none !important;
  }

  #header .elementor-element-581e476 > .elementor-container,
  #header .elementor-element-581e476 > .elementor-container > .elementor-row {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #header .elementor-element-581e476 .aw-catalog-col,
  #header .elementor-element-581e476 .aw-family-col {
    display: none !important;
  }

  #header .elementor-element-581e476 .aw-atm-col {
    position: absolute !important;
    top: 8px !important;
    right: 140px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    pointer-events: auto !important;
  }

  #header .elementor-element-581e476 .aw-atm-col .elementor-column-wrap,
  #header .elementor-element-581e476 .aw-atm-col .elementor-widget-wrap,
  #header .elementor-element-581e476 .aw-atm-col .elementor-widget,
  #header .elementor-element-581e476 .aw-atm-col .elementor-widget-container,
  #header .elementor-element-581e476 .aw-atm-col button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #header .elementor-element-581e476 .aw-atm-col button {
    position: relative !important;
    border: 0 !important;
    background: transparent !important;
    color: #ffffff !important;
    font-size: 22px !important;
  }

  #header .elementor-element-581e476 .aw-atm-col button .material-icons {
    display: none !important;
  }

  #header .elementor-element-581e476 .aw-atm-col button::before {
    display: block !important;
    width: 20px !important;
    height: 14px !important;
    background: linear-gradient(
      to bottom,
      #ffffff 0 2px,
      transparent 2px 6px,
      #ffffff 6px 8px,
      transparent 8px 12px,
      #ffffff 12px 14px
    ) !important;
    border-radius: 1px !important;
    content: "" !important;
  }

  #header .elementor-element-581e476 .aw-atm-col button:focus-visible,
  #header .aw-topbar a:focus-visible,
  #header .aw-topbar select:focus-visible,
  #header .aw-topbar button:focus-visible {
    outline: 2px solid #ffffff !important;
    outline-offset: -2px !important;
  }
}

/* Intermediate category pages: the theme's generic five-column rule and its
 * 150px mobile side rail are not suitable for the category subcategory cards.
 * Protection already uses the intended single-column mobile composition;
 * apply that same layout to every intermediate category, including finishing,
 * screws, feet/pads and cable ties. */
@media (max-width: 991.98px) {
  body.codex-category-intermediate .aw-category-dynamic {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 40px 0 45px !important;
  }

  body.codex-category-intermediate .aw-category-dynamic > .elementor-container,
  body.codex-category-intermediate .aw-category-dynamic > .elementor-container > .elementor-row,
  body.codex-category-intermediate .aw-category-dynamic .elementor-column,
  body.codex-category-intermediate .aw-category-dynamic .elementor-column-wrap,
  body.codex-category-intermediate .aw-category-dynamic .elementor-widget-wrap,
  body.codex-category-intermediate .aw-category-subcategories,
  body.codex-category-intermediate .aw-category-subcategories .elementor-widget-container {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.codex-category-intermediate .aw-category-dynamic > .elementor-container {
    width: calc(100% - 32px) !important;
    margin: 0 16px !important;
  }

  body.codex-category-intermediate .aw-category-subcategories .ce-articles {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 28px !important;
    overflow: visible !important;
  }

  body.codex-category-intermediate .aw-category-subcategories .ce-article {
    box-sizing: border-box !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 8px !important;
  }

  body.codex-category-intermediate .aw-category-subcategories .ce-article__thumbnail,
  body.codex-category-intermediate .aw-category-subcategories .ce-article__text,
  body.codex-category-intermediate .aw-category-subcategories .ce-article__title,
  body.codex-category-intermediate .aw-category-subcategories .ce-article__excerpt {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body.codex-category-intermediate .aw-category-subcategories .ce-article__thumbnail img {
    display: block !important;
    max-width: 100% !important;
  }

  body.codex-category-intermediate .aw-category-subcategories .ce-article__title,
  body.codex-category-intermediate .aw-category-subcategories .ce-article__excerpt {
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: anywhere !important;
  }
}

/* Promotions: use the same structural layout as the product listing page. */
body#prices-drop .aw-listing-hero {
  display: block !important;
  width: 100vw !important;
  height: 230px !important;
  min-height: 230px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: linear-gradient(110deg, #ffffff 0 16%, #092d6d 16%, #164d9f 100%) !important;
}

body#prices-drop .codex-promo-hero-inner {
  display: flex;
  position: relative;
  z-index: 2;
  width: 1920px;
  max-width: 1920px;
  height: 230px;
  margin: 0;
}

body#prices-drop .codex-promo-hero-product {
  display: flex;
  flex: 0 0 232px;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  clip-path: polygon(0 0, 100% 0, 82% 100%, 0 100%);
}

body#prices-drop .codex-promo-hero-product img {
  display: block;
  width: 180px;
  max-height: 160px;
  object-fit: contain;
}

body#prices-drop .codex-promo-hero-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 48px;
  text-align: center;
  background: linear-gradient(90deg, rgba(22, 70, 148, .88), rgba(18, 57, 128, .96));
}

body#prices-drop .codex-promo-hero-content h1 {
  margin: 0 0 14px;
  color: #ffffff;
  font-size: clamp(34px, 4vw, 58px);
  font-weight: 700;
  line-height: 1.1;
}

body#prices-drop .codex-promo-hero-content p {
  margin: 0;
  color: #ffffff;
  font-size: 18px;
}

body#prices-drop .aw-listing-layout {
  position: relative !important;
  left: 0 !important;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #edf3fb !important;
}

body#prices-drop .aw-listing-layout > .elementor-container {
  position: relative !important;
  left: 0 !important;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#prices-drop .aw-listing-layout > .elementor-container > .elementor-row {
  display: flex !important;
  width: 100% !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  padding: 70px 60px 42px !important;
  box-sizing: border-box !important;
  background: #edf3fb !important;
}

body#prices-drop .codex-promo-toolbar {
  display: flex !important;
  width: 100vw !important;
  min-height: 46px !important;
  box-sizing: border-box !important;
  align-items: center !important;
  padding: 0 60px !important;
  background: #6338ff !important;
  color: #ffffff !important;
}

body#prices-drop .codex-promo-toolbar .aw-list-sort {
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  padding: 8px 0 !important;
  background: transparent !important;
}

body#prices-drop .codex-promo-toolbar .aw-list-info {
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin-left: auto !important;
  padding: 13px 0 !important;
  background: transparent !important;
  color: #ffffff !important;
  text-align: right !important;
}

body#prices-drop .codex-promo-toolbar .aw-list-sort .ce-sort-order {
  display: flex !important;
  width: auto !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
}

body#prices-drop .codex-promo-toolbar .aw-list-sort label {
  margin: 0 !important;
  color: #ffffff !important;
}

body#prices-drop .codex-promo-toolbar .aw-list-sort .elementor-select-wrapper {
  width: 94px !important;
  max-width: 94px !important;
  flex: 0 0 94px !important;
}

body#prices-drop .codex-promo-toolbar .aw-list-sort select {
  width: 94px !important;
  min-width: 94px !important;
  max-width: 94px !important;
  height: 30px !important;
  padding: 3px 28px 3px 14px !important;
  color: #ffffff !important;
  background: rgba(255, 255, 255, .18) !important;
  border: 0 !important;
  border-radius: 18px !important;
}

body#prices-drop .aw-listing-layout > .elementor-container > .aw-breadcrumb {
  display: block !important;
  width: 100vw !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 18px 60px !important;
  background: #ffffff !important;
}

body#prices-drop .aw-listing-layout .aw-filter-col {
  display: block !important;
  flex: 0 0 232px !important;
  width: 232px !important;
  max-width: 232px !important;
  box-sizing: border-box !important;
}

body#prices-drop .aw-listing-layout .aw-filter-col > .elementor-column-wrap {
  padding: 0 !important;
  background: #ffffff !important;
  box-shadow: 0 6px 18px rgba(35, 55, 96, .08) !important;
}

body#prices-drop .aw-listing-layout .aw-filter-col .codex-promo-filter-dialog,
body#prices-drop .aw-listing-layout .aw-filter-col .ce-filters__container {
  display: block !important;
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  max-height: none !important;
  box-sizing: border-box !important;
  padding: 24px !important;
  border: 0 !important;
  background: #ffffff !important;
}

body#prices-drop .aw-listing-layout .aw-filter-col .ce-filters {
  max-height: none !important;
  overflow: visible !important;
}

body#prices-drop .aw-listing-layout .aw-filter-col .ce-filters__tab {
  margin: 0 !important;
  padding: 0 0 12px !important;
  color: #6338ff !important;
  border-bottom: 1px solid #6338ff !important;
  font-size: 18px !important;
}

body#prices-drop .aw-listing-layout .aw-filter-col .elementor-field-group {
  margin-bottom: 20px !important;
}

body#prices-drop .aw-listing-layout .aw-filter-col .elementor-field-subgroup {
  max-height: none !important;
  overflow: visible !important;
}

body#prices-drop .aw-listing-layout .aw-products-col {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  margin-left: 68px !important;
}

body#prices-drop .aw-listing-layout .aw-listing-products {
  width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
}

body#prices-drop .codex-prices-drop-table-wrap {
  width: 100% !important;
  margin: 0 !important;
  overflow-x: auto !important;
}

body#prices-drop .codex-prices-drop-table {
  width: 100% !important;
  min-width: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  box-shadow: none !important;
}

body#prices-drop .codex-prices-drop-table th {
  padding: 12px 16px !important;
  color: #6338ff !important;
  background: #ffffff !important;
  border-bottom: 2px solid #6338ff !important;
  font-size: 16px !important;
}

body#prices-drop .codex-prices-drop-table td {
  padding: 8px 16px !important;
  border-bottom: 1px solid #ffffff !important;
  font-size: 14px !important;
}

body#prices-drop .codex-prices-drop-table th:nth-child(1),
body#prices-drop .codex-prices-drop-table td:nth-child(1) {
  width: 18% !important;
}

body#prices-drop .codex-prices-drop-table th:nth-child(2),
body#prices-drop .codex-prices-drop-table td:nth-child(2) {
  width: 65% !important;
}

body#prices-drop .codex-prices-drop-table th:nth-child(3),
body#prices-drop .codex-prices-drop-table td:nth-child(3) {
  width: 17% !important;
  white-space: nowrap !important;
}

@media (max-width: 1024px) {
  body#prices-drop .codex-promo-hero-inner {
    width: 100%;
  }

  body#prices-drop .codex-promo-hero-product {
    flex-basis: 30%;
  }

  body#prices-drop .codex-promo-hero-product img {
    width: 110px;
  }

  body#prices-drop .codex-promo-hero-content {
    padding: 18px;
  }

  body#prices-drop .codex-promo-hero-content h1 {
    font-size: 32px;
  }

  body#prices-drop .codex-promo-hero-content p {
    font-size: 14px;
  }

  body#prices-drop .codex-promo-toolbar {
    min-height: 0 !important;
    flex-wrap: wrap !important;
    padding: 8px 16px !important;
  }

  body#prices-drop .codex-promo-toolbar .aw-list-info {
    margin-left: auto !important;
    padding: 8px 0 !important;
  }

  body#prices-drop .aw-listing-layout > .elementor-container > .aw-breadcrumb {
    padding: 14px 16px !important;
  }

  body#prices-drop .aw-listing-layout > .elementor-container > .elementor-row {
    padding: 24px 16px !important;
  }

  body#prices-drop .aw-listing-layout .aw-filter-col {
    display: none !important;
  }

  body#prices-drop .aw-listing-layout .aw-products-col {
    width: 100% !important;
    margin-left: 0 !important;
  }
}

/* The desktop content is rendered inside the theme's 312px left rail. Align
   the promotions page to the same 1920px artboard as the real product page. */
@media (min-width: 1025px) {
  body#prices-drop .aw-listing-hero {
    position: relative !important;
    left: -312px !important;
    width: 1920px !important;
    max-width: 1920px !important;
  }

  body#prices-drop .aw-listing-layout {
    position: relative !important;
    left: -312px !important;
    width: 1920px !important;
    max-width: 1920px !important;
  }

  body#prices-drop .aw-listing-layout > .elementor-container {
    position: relative !important;
    left: 0 !important;
    width: 1920px !important;
    max-width: 1920px !important;
    display: block !important;
  }

  body#prices-drop .codex-promo-toolbar,
  body#prices-drop .aw-listing-layout > .elementor-container > .aw-breadcrumb {
    width: 1920px !important;
    max-width: 1920px !important;
  }

  body#prices-drop .aw-listing-layout .aw-products-col {
    margin-left: 42px !important;
  }
}

body#prices-drop main.wrapper {
  background: #ffffff !important;
}

body#prices-drop .codex-promo-hero-content h1,
body#prices-drop .codex-promo-hero-content p {
  opacity: 1 !important;
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .18) !important;
}

body#prices-drop .codex-promo-toolbar {
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  overflow: hidden !important;
}

body#prices-drop .codex-promo-toolbar .aw-list-sort,
body#prices-drop .codex-promo-toolbar .aw-list-info {
  height: 46px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 46px !important;
}

body#prices-drop .codex-promo-toolbar .aw-list-sort .ce-sort-order {
  height: 46px !important;
}

body#prices-drop .codex-promo-toolbar .aw-list-sort label::before {
  content: '☷';
  display: inline-block;
  margin-right: 10px;
  font-size: 17px;
  line-height: 1;
}

body#prices-drop .codex-promo-toolbar .aw-list-sort .elementor-select-wrapper,
body#prices-drop .codex-promo-toolbar .aw-list-sort select {
  width: 120px !important;
  min-width: 120px !important;
  max-width: 120px !important;
}

body#prices-drop .aw-listing-hero {
  background: linear-gradient(90deg, #ffffff 0 292px, #143a83 292px 100%) !important;
}

body#prices-drop .aw-listing-hero::before,
body#prices-drop .aw-listing-hero::after {
  display: none !important;
  content: none !important;
}

body#prices-drop .codex-promo-hero-content,
body#prices-drop .codex-promo-hero-content h1,
body#prices-drop .codex-promo-hero-content p {
  opacity: 1 !important;
  filter: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body#prices-drop .codex-promo-hero-content h1 {
  font-size: 42px !important;
}

body#prices-drop .codex-promo-hero-content p {
  display: none !important;
}

body#prices-drop .codex-promo-hero-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  margin-top: 18px;
  padding: 12px 22px;
  color: #ffffff !important;
  background: #c68a16;
  font-weight: 700;
  text-decoration: none !important;
}

body#prices-drop .aw-pagination {
  display: none !important;
}

@media (min-width: 1025px) {
  body#prices-drop .codex-promo-hero-inner {
    margin-left: 0 !important;
  }
}

body#prices-drop .aw-listing-layout > .elementor-container > .aw-breadcrumb .ce-breadcrumb__item + .ce-breadcrumb__item::before {
  content: '>' !important;
  display: inline-block !important;
  margin: 0 14px !important;
  color: #6338ff !important;
}

body#prices-drop .codex-prices-drop-table th:nth-child(1),
body#prices-drop .codex-prices-drop-table td:nth-child(1) {
  width: 12% !important;
}

body#prices-drop .codex-prices-drop-table th:nth-child(2),
body#prices-drop .codex-prices-drop-table td:nth-child(2) {
  width: 72% !important;
}

body#prices-drop .codex-prices-drop-table th:nth-child(3),
body#prices-drop .codex-prices-drop-table td:nth-child(3) {
  width: 16% !important;
}

body#prices-drop .codex-promo-filter-title {
  margin: 0 0 18px !important;
  padding: 0 0 12px !important;
  color: #6338ff !important;
  border-bottom: 1px solid #6338ff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

body#prices-drop .aw-listing-layout .aw-filter-col .elementor-field-subgroup {
  display: block !important;
}

body#prices-drop .aw-listing-layout .aw-filter-col .ce-filters__tab-icon {
  display: none !important;
}

body#prices-drop .aw-listing-layout .aw-filter-col .elementor-field-option,
body#prices-drop .aw-listing-layout .aw-filter-col .elementor-field-label {
  display: flex !important;
}

/* Match the live product-listing hero exactly: shared factory cover, dark
 * overlay, white diagonal media panel, and the same title/button track. */
body#prices-drop .aw-listing-hero {
  background-image: url("/img/cms/plastem-ce/refonte/factory-floor.png") !important;
  background-position: center center !important;
  background-size: cover !important;
}

body#prices-drop .aw-listing-hero::before {
  content: "" !important;
  position: absolute !important;
  z-index: 4 !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 310px !important;
  display: block !important;
  background: #ffffff !important;
  clip-path: polygon(0 0, 100% 0, 75% 100%, 0 100%) !important;
}

body#prices-drop .aw-listing-hero::after {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  display: block !important;
  background: rgba(3, 9, 55, 0.48) !important;
}

body#prices-drop .codex-promo-hero-inner {
  position: relative !important;
  z-index: 7 !important;
  display: block !important;
  width: 1920px !important;
  max-width: 1920px !important;
  height: 230px !important;
  margin: 0 !important;
}

body#prices-drop .codex-promo-hero-product {
  box-sizing: border-box !important;
  position: absolute !important;
  z-index: 5 !important;
  top: 42px !important;
  left: 38px !important;
  display: flex !important;
  width: 205px !important;
  height: 145px !important;
  align-items: center !important;
  justify-content: center !important;
  flex: none !important;
  background: transparent !important;
  clip-path: none !important;
}

body#prices-drop .codex-promo-hero-product img {
  display: block !important;
  width: 205px !important;
  height: 145px !important;
  max-height: none !important;
  object-fit: contain !important;
}

body#prices-drop .codex-promo-hero-content {
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 6 !important;
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  height: 230px !important;
  flex: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 36px 0 300px !important;
  background: transparent !important;
}

body#prices-drop .codex-promo-hero-content h1 {
  max-width: 1200px !important;
  margin: 0 !important;
  font-size: 42px !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  text-align: center !important;
  text-shadow: 0 3px 10px rgba(0, 0, 0, .35) !important;
}

body#prices-drop .codex-promo-hero-button {
  width: 192px !important;
  min-width: 192px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 18px auto 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: #d59222 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

@media (max-width: 820px) {
  body#prices-drop .aw-listing-hero {
    height: 205px !important;
    min-height: 205px !important;
  }

  body#prices-drop .aw-listing-hero::before {
    width: 210px !important;
  }

  body#prices-drop .codex-promo-hero-inner {
    width: 100% !important;
    height: 205px !important;
  }

  body#prices-drop .codex-promo-hero-product {
    top: 30px !important;
    left: 18px !important;
    width: 145px !important;
    height: 120px !important;
  }

  body#prices-drop .codex-promo-hero-product img {
    width: 145px !important;
    height: 120px !important;
  }

  body#prices-drop .codex-promo-hero-content {
    height: 205px !important;
    padding-left: 170px !important;
  }
}

@media (min-width: 1024px) {
  /* The product listing uses a 54px top bar; keep Promotions on that same
   * header track so every section below it lands at the same vertical offset. */
  body#prices-drop .aw-topbar,
  body#prices-drop .aw-topbar > .elementor-container,
  body#prices-drop .aw-topbar > .elementor-container > .elementor-row,
  body#prices-drop .aw-topbar .elementor-widget-wrap {
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
  }
}

@media (min-width: 1025px) {
  /* Last spacing details copied from the product listing reference. */
  body#prices-drop .aw-listing-layout > .elementor-container > .aw-breadcrumb {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  body#prices-drop .codex-promo-toolbar .aw-list-sort label {
    font-size: 0 !important;
  }

  body#prices-drop .codex-promo-toolbar .aw-list-sort label::before {
    font-size: 17px !important;
  }

  body#prices-drop .codex-promo-toolbar .aw-list-sort label::after {
    content: 'Trier par' !important;
    color: #ffffff !important;
    font-size: 16px !important;
  }

  html[lang^="en"] body#prices-drop .codex-promo-toolbar .aw-list-sort label::after {
    content: 'Sort by' !important;
  }

  body#prices-drop .codex-promo-toolbar .aw-list-sort .elementor-select-wrapper,
  body#prices-drop .codex-promo-toolbar .aw-list-sort select {
    width: 94px !important;
    min-width: 94px !important;
    max-width: 94px !important;
  }

  body#prices-drop .aw-listing-layout .aw-filter-col .ce-filters__container {
    margin: 0 !important;
  }

  body#prices-drop .aw-listing-layout .aw-filter-col .ce-filters {
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Header v3 final layout: this comes after all legacy responsive rules so
 * Elementor's tablet-specific column sizes cannot shorten the search bar. */
@media (max-width: 991.98px) {
  #header .aw-topbar {
    background-color: #6436ff !important;
  }

  #header .aw-topbar .aw-top-cart .elementor-button,
  #header .aw-topbar .aw-signin .elementor-item,
  #header .aw-topbar .aw-signin .elementor-item i,
  #header .aw-topbar .aw-signin .elementor-item::before,
  #header .aw-topbar .aw-signin .elementor-item::after {
    color: #ffffff !important;
  }

  /* Creative Elements appends a language-specific text hint (for example
   * "100 items") after the cart icon. It does not fit inside the compact
   * control; the numeric badge above remains the cart indicator. */
  #header .aw-topbar .aw-top-cart .elementor-button-icon::after {
    display: none !important;
    content: none !important;
  }

  #header .aw-topbar > .elementor-container > .elementor-row {
    position: relative !important;
    display: block !important;
  }

  #header .aw-topbar .aw-top-logo {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
  }

  #header .aw-topbar .aw-top-links {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
  }

  #header .aw-topbar .aw-top-search {
    position: absolute !important;
    top: 62px !important;
    right: 0 !important;
    left: 0 !important;
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 44px !important;
    margin: 0 !important;
    flex: none !important;
    justify-self: stretch !important;
  }
}

/* Final specificity guard for the generated Elementor category stylesheet.
 * Some category pages load a later five-column rule with !important; the
 * category id and layout class keep this mobile correction authoritative. */
@media (max-width: 991.98px) {
  html body#category.codex-category-intermediate .aw-category-dynamic > .elementor-container {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin: 0 16px !important;
  }

  html body#category.codex-category-intermediate .aw-category-subcategories.ce-articles--layout-grid .ce-articles {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none !important;
    grid-auto-columns: auto !important;
    grid-auto-flow: row !important;
    width: 100% !important;
    max-width: none !important;
    gap: 28px !important;
  }

html body#category.codex-category-intermediate .aw-category-subcategories.ce-articles--layout-grid .ce-articles > .ce-article {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }
}

/* Mobile reassurance bar: keep the brand mark prominent, then present each
 * service as a compact icon/text row instead of a tall icon-over-text stack. */
@media (max-width: 767.98px) {
  html body .aw-feature-bar {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 24px 20px 28px !important;
  }

  html body .aw-feature-bar > .elementor-container,
  html body .aw-feature-bar > .elementor-container > .elementor-row {
    box-sizing: border-box !important;
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  html body .aw-feature-bar > .elementor-container > .elementor-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
  }

  html body .aw-feature-bar .elementor-row > .elementor-column {
    box-sizing: border-box !important;
    display: flex !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body .aw-feature-bar .elementor-row > .elementor-column:first-child {
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
  }

  html body .aw-feature-bar .aw-feature-logo,
  html body .aw-feature-bar .aw-feature-logo .elementor-heading-title {
    box-sizing: border-box !important;
    width: 186px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  html body .aw-feature-bar .aw-feature {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 68px !important;
    height: auto !important;
  }

  html body .aw-feature-bar .aw-feature .elementor-widget-container,
  html body .aw-feature-bar .aw-feature .elementor-icon-box-wrapper {
    box-sizing: border-box !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 68px !important;
  }

  html body .aw-feature-bar .aw-feature .elementor-icon-box-wrapper {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;
  }

  html body .aw-feature-bar .aw-feature .elementor-icon-box-icon {
    box-sizing: border-box !important;
    display: flex !important;
    flex: 0 0 44px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    margin: 0 !important;
  }

  html body .aw-feature-bar .aw-feature .elementor-icon-box-icon .elementor-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
  }

  html body .aw-feature-bar .aw-feature .elementor-icon-box-content {
    box-sizing: border-box !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  html body .aw-feature-bar .aw-feature .elementor-icon-box-title {
    margin: 0 0 4px !important;
    line-height: 1.2 !important;
  }

  html body .aw-feature-bar .aw-feature .elementor-icon-box-description {
    margin: 0 !important;
    line-height: 1.35 !important;
  }
}

/* Center the complete reassurance composition on narrow screens. */
@media (max-width: 767.98px) {
  html body .aw-feature-bar .aw-feature .elementor-icon-box-wrapper {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    text-align: center !important;
  }

  html body .aw-feature-bar .aw-feature .elementor-icon-box-icon {
    flex: 0 0 auto !important;
    width: 44px !important;
    min-width: 44px !important;
    margin: 0 auto !important;
  }

  html body .aw-feature-bar .aw-feature .elementor-icon-box-content {
    flex: 0 1 auto !important;
    width: 100% !important;
    text-align: center !important;
  }

  html body .aw-feature-bar .aw-feature .elementor-icon-box-title,
  html body .aw-feature-bar .aw-feature .elementor-icon-box-description {
    width: 100% !important;
    text-align: center !important;
  }
}

/* Mobile breadcrumbs: keep the complete desktop path and wrap it across
   lines instead of hiding intermediate categories behind an ellipsis. */
@media (max-width: 767px) {
  body .aw-product-breadcrumb,
  body .aw-breadcrumb,
  body.page-category.codex-category-breadcrumb-page .aw-category-dynamic {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
  }

  body .aw-product-breadcrumb .ce-breadcrumb,
  body .aw-breadcrumb .ce-breadcrumb,
  body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body .aw-product-breadcrumb .ce-breadcrumb .elementor-row,
  body .aw-breadcrumb .ce-breadcrumb .elementor-row,
  body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb .elementor-row {
    box-sizing: border-box !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    align-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    row-gap: 6px !important;
  }

  body .aw-product-breadcrumb .ce-breadcrumb__item,
  body .aw-breadcrumb .ce-breadcrumb__item,
  body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item {
    box-sizing: border-box !important;
    display: inline-flex !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  body .aw-product-breadcrumb .ce-breadcrumb__item:not(:last-child)::after,
  body .aw-breadcrumb .ce-breadcrumb__item:not(:last-child)::after,
  body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item:not(:last-child)::after {
    content: ">" !important;
    display: inline-block !important;
    margin: 0 8px !important;
    color: #6338ff !important;
  }

  body .aw-product-breadcrumb .ce-breadcrumb__item > *,
  body .aw-breadcrumb .ce-breadcrumb__item > *,
  body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item > * {
    display: inline !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

/* Override the earlier compact-path selectors with equal-or-higher
   specificity so every intermediate item is actually visible. */
@media (max-width: 767px) {
  html body.page-product .aw-product-breadcrumb,
  html body.page-category.codex-category-breadcrumb-page .aw-category-dynamic,
  html body.page-product .aw-product-breadcrumb .ce-breadcrumb,
  html body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  html body.page-product .aw-product-breadcrumb .ce-breadcrumb .elementor-row,
  html body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb .elementor-row {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    row-gap: 6px !important;
  }

  html body.page-product .aw-product-breadcrumb .ce-breadcrumb__item:not(:first-child):not(:last-child),
  html body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item:not(:first-child):not(:last-child),
  html body.page-product .aw-product-breadcrumb .ce-breadcrumb__item:last-child,
  html body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item:last-child {
    display: inline-flex !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  html body.page-product .aw-product-breadcrumb .ce-breadcrumb__item:first-child::after,
  html body.page-product .aw-product-breadcrumb .ce-breadcrumb__item:not(:last-child)::after,
  html body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item:first-child::after,
  html body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item:not(:last-child)::after {
    content: ">" !important;
    display: inline-block !important;
    margin: 0 8px !important;
    color: #6338ff !important;
  }

  html body.page-product .aw-product-breadcrumb .ce-breadcrumb__item:last-child > *,
  html body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item:last-child > *,
  html body.page-product .aw-product-breadcrumb .ce-breadcrumb__item:not(:first-child):not(:last-child) > *,
  html body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item:not(:first-child):not(:last-child) > * {
    display: inline !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}
