/* Hummingbird custom theme overrides
   Built against the theme templates in themes/hummingbird/templates and modules. */

:root {
  --brand: #0f7184;
  --brand-dark: #0a5665;
  --brand-soft: #eaf6f8;
  --surface: #ffffff;
  --surface-soft: #f5f8fa;
  --surface-raised: #f8fbfc;
  --line: #dce8ee;
  --line-strong: #c7dbe4;
  --text: #172033;
  --muted: #64748b;
  --success: #267a55;
  --danger: #b4233c;
  --radius: 14px;
  --radius-sm: 10px;
  --shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
  --shadow-sm: 0 6px 16px rgba(15, 23, 42, 0.045);
  --transition: 0.18s ease;

  --menu-brand: var(--brand);
  --menu-brand-light: var(--brand-soft);
  --menu-brand-border: #c9e2e9;
  --menu-text: #24313f;
  --menu-text-dark: var(--text);
  --menu-surface: var(--surface-soft);
  --menu-border: var(--line);
  --menu-white: #ffffff;
  --menu-shadow-dark: rgba(15, 23, 42, 0.08);
  --menu-shadow-brand: rgba(15, 113, 132, 0.18);
  --menu-radius-sm: 10px;
  --menu-radius-md: 12px;
  --menu-radius-pill: 999px;
  --menu-transition: var(--transition);
}

.checkout-company-details__toggle.btn {
  padding: 6px 12px !important;
  border-radius: 10px;
  line-height: 1.2;
}

.checkout-company-details {
  grid-column: 1 / -1;
}

.checkout-company-details__toggle .material-icons {
  font-size: 20px;
  line-height: 1;
}

body {
  background: var(--surface-soft);
  color: var(--text);
  text-rendering: optimizeLegibility;
}

a {
  color: var(--brand);
}

a:hover {
  color: var(--brand-dark);
}

.container,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  max-width: 1240px;
}

.btn {
  min-height: 42px;
  padding: 0.58rem 1rem;
  border-radius: 999px;
  font-size: 0.94rem;
  font-weight: 750;
  transition: background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.btn-primary,
input.btn-primary {
  border-color: var(--brand) !important;
  background: var(--brand) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(15, 113, 132, 0.18) !important;
}

.btn-primary:hover,
input.btn-primary:hover {
  border-color: var(--brand-dark) !important;
  background: var(--brand-dark) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(15, 113, 132, 0.22) !important;
}

.btn-outline-primary {
  border-color: #aacfd8;
  color: var(--brand);
}

.btn-outline-primary:hover {
  border-color: var(--brand);
  background: var(--brand);
  color: #ffffff;
}

.form-control,
.form-select {
  min-height: 42px;
  border-color: var(--line);
  border-radius: var(--radius-sm);
  color: var(--text);
  box-shadow: none;
}

.form-control:focus,
.form-select:focus {
  border-color: #93c7d2;
  box-shadow: 0 0 0 3px rgba(15, 113, 132, 0.12);
}

.page-title-section,
h1,
.h1,
.h2,
.h3 {
  color: var(--text);
  letter-spacing: 0;
}

/* Login social hook */
#login-form .login-social-wrapper,
.login-social-wrapper {
  width: 100%;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  text-align: center;
  clear: both;
}

.login hr {
  display: none !important;
}

#login-form .login-social-wrapper a,
#login-form .login-social-wrapper button,
#login-form .login-social-wrapper [class*="google"],
.login-social-wrapper a,
.login-social-wrapper button {
  max-width: 280px;
  margin-right: auto;
  margin-left: auto;
}

/* Header */
.header-top {
  background: #f8fbfc;
  border-bottom: 1px solid var(--line);
  color: var(--text);
  font-size: 13px;
}

.header-top .row {
  min-height: 46px;
  align-items: center;
}

.header-top__left,
.header-top__right,
#_desktop_ps_contactinfo .ps-contactinfo {
  display: flex;
  align-items: center;
}

.header-top__right {
  justify-content: flex-end;
  gap: 8px;
}

.header-top .ps-languageselector,
.header-top .ps-currencyselector,
.header-top .ps-customersignin,
.header-top .ps-shoppingcart,
.header-top .header-block {
  display: flex;
  align-items: center;
}

#_desktop_ps_contactinfo .ps-contactinfo__email,
#_desktop_ps_contactinfo .ps-contactinfo__phone {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--text);
  font-weight: 750;
  text-decoration: none;
  transition: background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition);
}

#_desktop_ps_contactinfo .ps-contactinfo__email:hover,
#_desktop_ps_contactinfo .ps-contactinfo__phone:hover {
  border-color: #cde2e9;
  background: #ffffff;
  color: var(--brand-dark);
  transform: translateY(-1px);
}

#_desktop_ps_contactinfo .ps-contactinfo__email::before,
#_desktop_ps_contactinfo .ps-contactinfo__phone::before {
  content: "mail";
  font-family: "Material Icons";
  color: var(--brand);
  font-size: 17px;
  line-height: 1;
}

#_desktop_ps_contactinfo .ps-contactinfo__phone::before {
  content: "phone";
}

.header-top .form-select {
  display: inline-block;
  width: auto;
  min-height: 34px;
  height: 34px;
  padding: 0 30px 0 12px;
  border: 1px solid transparent;
  border-radius: 999px;
  background-color: transparent;
  background-position: right 9px center;
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
  line-height: 34px;
  cursor: pointer;
  transition: background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);
}

.header-top .js-language-selector {
  width: fit-content;
  min-width: 0;
  max-width: 170px;
}

.header-top .js-currency-selector {
  width: fit-content;
  min-width: 0;
}

.header-top .form-select:hover,
.header-top .form-select:focus,
.header-top .header-block__action-btn:hover {
  border-color: #cde2e9;
  background-color: #ffffff;
  color: var(--brand-dark);
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.05);
}

.header-top .header-block__action-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--text);
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
  transition: background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.header-top .header-block__action-btn:hover {
  transform: translateY(-1px);
}

.header-top .header-block__icon {
  color: var(--brand);
  font-size: 21px;
  line-height: 1;
}

.header-top .header-block__badge,
.header-block__badge {
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--brand);
  color: #ffffff;
  font-size: 11px;
  font-weight: 800;
  line-height: 20px;
  text-align: center;
}

.header-top .header-block__title {
  color: inherit;
  line-height: 1;
}

.header-top .dropdown-menu {
  margin-top: 8px;
}

.header-bottom {
  background: #ffffff;
  border-bottom: 1px solid var(--line);
}

.header-bottom__row {
  min-height: 78px;
  align-items: center !important;
}

.header-bottom__logo .logo {
  max-width: 150px;
  height: auto;
}

.header-block__action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--text);
  text-decoration: none;
}

/* Search */
.ps-searchbar {
  position: relative;
  width: min(420px, 100%);
}

.ps-searchbar__form {
  position: relative;
  display: flex;
  align-items: center;
  height: 44px;
  margin: 0;
}

.ps-searchbar__input {
  width: 100%;
  height: 44px;
  padding: 0 44px 0 46px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #ffffff;
  color: var(--text);
  font-size: 14px;
  box-shadow: var(--shadow-sm);
}

.ps-searchbar__magnifier {
  position: absolute;
  left: 15px;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  color: var(--text);
  font-size: 22px;
  pointer-events: none;
}

.ps-searchbar__clear {
  position: absolute;
  right: 8px;
  top: 50%;
  z-index: 3;
  width: 32px;
  height: 32px;
  min-height: 32px;
  padding: 0;
  transform: translateY(-50%);
  border: 0;
  border-radius: 50%;
  background: var(--brand-soft);
  color: var(--brand);
}

.ps-searchbar__dropdown {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  z-index: 1100;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.13);
}

.ps-searchbar__results {
  max-height: 380px;
  overflow-y: auto;
  padding: 8px;
}

.ps-searchbar__result-link {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 11px;
  align-items: center;
  padding: 9px;
  border-radius: 10px;
  color: var(--text);
  text-decoration: none;
}

.ps-searchbar__result-link:hover,
.ps-searchbar__result-link:focus {
  background: var(--brand-soft);
  color: var(--brand);
  outline: none;
}

.ps-searchbar__result-image {
  width: 50px;
  height: 50px;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface-raised);
}

.ps-searchbar__result-name {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
}

/* Main menu */
.header-nav-full-width {
  position: relative;
  z-index: 1040;
  border-bottom: 1px solid var(--line);
  background: #ffffff;
}

.ps-mainmenu__mobile-toggle {
  display: none;
}

.ps-mainmenu--desktop,
#_desktop_top_menu {
  width: 100%;
}

.dropdown-menu {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #ffffff;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
}

.dropdown-item {
  color: #2c3e54;
  font-size: 14px;
  font-weight: 750;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.current,
.dropdown-item.active {
  background: var(--brand-soft);
  color: var(--brand-dark);
}

.dropdown-item:active,
.dropdown-item:focus-visible {
  background: var(--brand);
  color: #ffffff;
  outline: none;
}

@media (min-width: 1200px) {
  .ps-mainmenu--desktop,
  .menu.js-top-menu {
    display: flex;
    align-items: center;
    position: relative;
  }

  .ps-mainmenu__tree,
  #_desktop_top_menu .top-menu[data-depth="0"] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 50px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .ps-mainmenu__tree-item,
  #_desktop_top_menu .top-menu[data-depth="0"] > li {
    position: static;
  }

  .ps-mainmenu__tree-item-wrapper,
  #_desktop_top_menu .top-menu[data-depth="0"] > li > a {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    border-radius: 999px;
    transition: background var(--transition), color var(--transition), box-shadow var(--transition);
  }

  .ps-mainmenu__tree-link,
  #_desktop_top_menu .top-menu[data-depth="0"] > li > a {
    padding: 0 14px;
    color: #1f2d3f;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.15;
    text-decoration: none !important;
    white-space: nowrap;
  }

  .ps-mainmenu__tree-dropdown-toggle {
    width: 30px;
    min-height: 38px;
    padding: 0 10px 0 0;
    border: 0;
    background: transparent !important;
    color: #1f2d3f;
    box-shadow: none !important;
  }

  .ps-mainmenu__tree-dropdown-toggle .material-icons,
  #_desktop_top_menu .collapse-icons .material-icons {
    font-size: 19px;
    line-height: 1;
  }

  .ps-mainmenu__tree-item:hover .ps-mainmenu__tree-item-wrapper,
  .ps-mainmenu__tree-item.show .ps-mainmenu__tree-item-wrapper,
  .ps-mainmenu__tree-item:focus-within .ps-mainmenu__tree-item-wrapper,
  .ps-mainmenu__tree-item:has(.ps-mainmenu__tree-dropdown-toggle[aria-expanded="true"]) .ps-mainmenu__tree-item-wrapper,
  #_desktop_top_menu .top-menu[data-depth="0"] > li:hover > a {
    background: var(--brand-soft);
    box-shadow: inset 0 0 0 1px #c6e0e8;
  }

  .ps-mainmenu__tree-item:hover .ps-mainmenu__tree-link,
  .ps-mainmenu__tree-item:hover .ps-mainmenu__tree-dropdown-toggle,
  .ps-mainmenu__tree-item.show .ps-mainmenu__tree-link,
  .ps-mainmenu__tree-item.show .ps-mainmenu__tree-dropdown-toggle,
  .ps-mainmenu__tree-item:focus-within .ps-mainmenu__tree-link,
  .ps-mainmenu__tree-item:focus-within .ps-mainmenu__tree-dropdown-toggle,
  .ps-mainmenu__tree-item:has(.ps-mainmenu__tree-dropdown-toggle[aria-expanded="true"]) .ps-mainmenu__tree-link,
  .ps-mainmenu__tree-item:has(.ps-mainmenu__tree-dropdown-toggle[aria-expanded="true"]) .ps-mainmenu__tree-dropdown-toggle,
  #_desktop_top_menu .top-menu[data-depth="0"] > li:hover > a {
    color: var(--brand-dark);
  }

  .ps-mainmenu__tree-item.current .ps-mainmenu__tree-item-wrapper,
  .ps-mainmenu__tree-item.is-current .ps-mainmenu__tree-item-wrapper,
  .ps-mainmenu__tree-item.is-selected .ps-mainmenu__tree-item-wrapper,
  #_desktop_top_menu .top-menu[data-depth="0"] > li.current > a {
    background: var(--brand) !important;
    box-shadow: none !important;
  }

  .ps-mainmenu__tree-item.current .ps-mainmenu__tree-link,
  .ps-mainmenu__tree-item.current .ps-mainmenu__tree-dropdown-toggle,
  .ps-mainmenu__tree-item.is-current .ps-mainmenu__tree-link,
  .ps-mainmenu__tree-item.is-current .ps-mainmenu__tree-dropdown-toggle,
  .ps-mainmenu__tree-item.is-selected .ps-mainmenu__tree-link,
  .ps-mainmenu__tree-item.is-selected .ps-mainmenu__tree-dropdown-toggle,
  #_desktop_top_menu .top-menu[data-depth="0"] > li.current > a {
    color: #ffffff !important;
  }

  .ps-mainmenu__tree-item:has(.ps-mainmenu__tree-dropdown-toggle[aria-expanded="true"]) .ps-mainmenu__tree-item-wrapper,
  #_desktop_top_menu .top-menu[data-depth="0"] > li:focus-within > a,
  #_desktop_top_menu .top-menu[data-depth="0"] > li.show > a {
    background: var(--brand) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(15, 113, 132, 0.16) !important;
  }

  .ps-mainmenu__tree-item:has(.ps-mainmenu__tree-dropdown-toggle[aria-expanded="true"]) .ps-mainmenu__tree-link,
  .ps-mainmenu__tree-item:has(.ps-mainmenu__tree-dropdown-toggle[aria-expanded="true"]) .ps-mainmenu__tree-dropdown-toggle {
    color: #ffffff !important;
  }

  .ps-mainmenu__tree-link:active,
  .ps-mainmenu__tree-link:focus,
  .ps-mainmenu__tree-link:focus-visible,
  .ps-mainmenu__tree-dropdown-toggle:active,
  .ps-mainmenu__tree-dropdown-toggle:focus,
  .ps-mainmenu__tree-dropdown-toggle:focus-visible,
  #_desktop_top_menu .top-menu[data-depth="0"] > li > a:active,
  #_desktop_top_menu .top-menu[data-depth="0"] > li > a:focus,
  #_desktop_top_menu .top-menu[data-depth="0"] > li > a:focus-visible {
    background: var(--brand);
    color: #ffffff !important;
    outline: none;
    box-shadow: 0 8px 18px rgba(15, 113, 132, 0.16);
  }

  .ps-mainmenu--desktop .submenu,
  #_desktop_top_menu .top-menu[data-depth="0"] > li > .sub-menu,
  #_desktop_top_menu .top-menu[data-depth="0"] > li > .popover.sub-menu {
    left: 0;
    top: calc(100% + 10px);
    width: min(900px, calc(100vw - 32px));
    min-width: 0;
    max-width: min(900px, calc(100vw - 32px));
    padding: 18px;
    transform: none;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 22px 54px rgba(15, 23, 42, 0.15);
    z-index: 1050;
  }

  .ps-mainmenu--desktop .submenu::before,
  #_desktop_top_menu .top-menu[data-depth="0"] > li > .sub-menu::before,
  #_desktop_top_menu .top-menu[data-depth="0"] > li > .popover.sub-menu::before {
    content: "";
    position: absolute;
    left: var(--submenu-arrow-left, 50%);
    top: -7px;
    width: 14px;
    height: 14px;
    transform: translateX(-50%) rotate(45deg);
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
    background: #ffffff;
  }

  .ps-mainmenu--desktop .submenu .container {
    max-width: 1240px;
    padding-inline: 0;
  }

  .submenu__row {
    display: block;
    min-height: auto;
    margin: 0;
  }

  .submenu__left,
  .submenu__left.col-sm-3,
  #_desktop_top_menu .top-menu[data-depth="1"],
  #_desktop_top_menu .top-menu[data-depth="2"],
  #_desktop_top_menu .top-menu[data-depth="3"] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 8px;
    width: 100% !important;
    max-width: none !important;
    margin: 0;
    padding: 0;
    list-style: none;
    background: transparent;
  }

  .submenu__left-item,
  #_desktop_top_menu .top-menu[data-depth="1"] a,
  #_desktop_top_menu .top-menu[data-depth="2"] a,
  #_desktop_top_menu .top-menu[data-depth="3"] a {
    display: flex;
    min-height: 42px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: #f8fbfc;
    color: #26364b;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.25;
    text-decoration: none !important;
    transition: background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition);
  }

  .submenu__left-item:hover,
  .submenu__left-item:focus,
  #_desktop_top_menu .top-menu[data-depth="1"] a:hover,
  #_desktop_top_menu .top-menu[data-depth="2"] a:hover,
  #_desktop_top_menu .top-menu[data-depth="3"] a:hover {
    border-color: #b5d4dd;
    background: var(--brand-soft);
    color: var(--brand-dark);
    transform: translateY(-1px);
    outline: none;
  }

  .submenu__left-item[aria-current="page"],
  .submenu__left-item.is-current-submenu {
    border-color: var(--brand) !important;
    background: var(--brand) !important;
    color: #ffffff !important;
  }

  .submenu__left-item.active:not([aria-current="page"]):not(.is-current-submenu),
  .submenu__left-item[aria-selected="true"]:not([aria-current="page"]):not(.is-current-submenu) {
    border-color: #b5d4dd !important;
    background: var(--brand-soft) !important;
    color: var(--brand-dark) !important;
    box-shadow: inset 3px 0 0 #9bc8d2 !important;
  }

  .submenu__left-item:active,
  .submenu__left-item:focus-visible,
  #_desktop_top_menu .top-menu[data-depth="1"] a:active,
  #_desktop_top_menu .top-menu[data-depth="1"] a:focus-visible,
  #_desktop_top_menu .top-menu[data-depth="2"] a:active,
  #_desktop_top_menu .top-menu[data-depth="2"] a:focus-visible,
  #_desktop_top_menu .top-menu[data-depth="3"] a:active,
  #_desktop_top_menu .top-menu[data-depth="3"] a:focus-visible {
    border-color: #78b9c6 !important;
    background: #dff2f5 !important;
    color: var(--brand-dark) !important;
    outline: none;
  }

  .submenu__right,
  .submenu__right.col-sm-9 {
    display: none !important;
  }

  #_desktop_top_menu .top-menu img {
    width: 38px;
    height: 38px;
    margin-right: 10px;
    object-fit: contain;
    border-radius: 8px;
    background: #ffffff;
  }
}

@media (max-width: 1199px) {
  .header-bottom {
    position: sticky;
    top: 0;
    z-index: 1035;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.055);
  }

  .header-bottom__row {
    flex-wrap: nowrap;
    gap: 8px;
    min-height: 62px;
    padding-block: 8px;
  }

  .ps-mainmenu--desktop {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
  }

  .header-bottom__logo {
    order: 1;
    flex: 0 1 auto;
    min-width: 0;
    margin-right: auto !important;
  }

  .header-bottom__logo .logo {
    max-width: 128px;
  }

  .ps-mainmenu__mobile-toggle {
    display: flex;
    align-items: center;
    order: 0;
    margin-right: 0;
  }

  .ps-searchbar--mobile {
    order: 2;
    flex: 0 0 auto;
  }

  #_mobile_ps_customersignin {
    order: 3;
    flex: 0 0 auto;
  }

  #_mobile_ps_shoppingcart {
    order: 4;
    flex: 0 0 auto;
  }

  .menu-toggle,
  .ps-mainmenu__mobile-toggle .btn,
  .ps-mainmenu__mobile-toggle button,
  .ps-searchbar--mobile .header-block__action-btn,
  #_mobile_ps_customersignin .header-block__action-btn,
  #_mobile_ps_shoppingcart .header-block__action-btn {
    width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0;
    border: 1px solid var(--line) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--text) !important;
    box-shadow: var(--shadow-sm) !important;
  }

  .menu-toggle:hover,
  .ps-mainmenu__mobile-toggle .btn:hover,
  .ps-mainmenu__mobile-toggle button:hover,
  .ps-searchbar--mobile .header-block__action-btn:hover,
  #_mobile_ps_customersignin .header-block__action-btn:hover,
  #_mobile_ps_shoppingcart .header-block__action-btn:hover {
    border-color: #b5d4dd !important;
    background: var(--brand-soft) !important;
    color: var(--brand-dark) !important;
  }

  .menu-toggle .material-icons {
    font-size: 28px;
  }

  .ps-mainmenu--mobile,
  .offcanvas.ps-mainmenu--mobile,
  .offcanvas#mobile_top_menu_wrapper,
  #mobile_top_menu_wrapper {
    display: flex;
    flex-direction: column;
    width: min(92vw, 410px) !important;
    height: 100dvh !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 18px 18px 0;
    background: #f5f8fa !important;
    box-shadow: 18px 0 46px rgba(15, 23, 42, 0.18);
  }

  .ps-mainmenu--mobile .offcanvas-header,
  #mobile_top_menu_wrapper .offcanvas-header,
  .ps-mainmenu__additionnals {
    min-height: 66px;
    flex: 0 0 auto !important;
    padding: 14px 16px;
    border-bottom: 1px solid var(--line);
    background: #ffffff;
  }

  .ps-mainmenu__additionnals {
    min-height: auto;
    padding: 12px 16px !important;
    border-top: 1px solid var(--line);
    border-bottom: 0;
    background: #ffffff;
  }

  .ps-mainmenu__additionnals #_mobile_ps_contactinfo,
  .ps-mainmenu__additionnals #_desktop_ps_contactinfo,
  .ps-mainmenu__additionnals .ps-contactinfo {
    width: 100%;
  }

  .ps-mainmenu__additionnals .ps-contactinfo a {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #f8fbfc;
    color: var(--text);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
  }

  .ps-mainmenu__additionnals .ps-contactinfo a::before {
    content: "mail";
    color: var(--brand);
    font-family: "Material Icons";
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
  }

  .ps-mainmenu__additionnals .ps-contactinfo__phone::before {
    content: "phone";
  }

  .ps-mainmenu--mobile .offcanvas-title,
  #mobile_top_menu_wrapper .offcanvas-title,
  .menu__title {
    margin: 0;
    color: var(--text);
    font-size: 18px;
    font-weight: 850;
    line-height: 1.2;
  }

  .ps-mainmenu--mobile .btn-close,
  #mobile_top_menu_wrapper .btn-close {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background-color: #f1f6f8;
    opacity: 1;
  }

  .ps-mainmenu__mobile,
  #mobile_top_menu_wrapper .offcanvas-body,
  #mobile_top_menu_wrapper .js-top-menu-bottom {
    flex: 1 1 auto;
    height: auto;
    min-height: 0;
    overflow-y: auto !important;
    padding: 12px !important;
    background: #f5f8fa;
  }

  .menu__list,
  .ps-mainmenu--mobile .top-menu,
  #mobile_top_menu_wrapper .top-menu {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .menu__list > li,
  .ps-mainmenu--mobile .top-menu li,
  #mobile_top_menu_wrapper .top-menu li {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.035);
  }

  .menu__list > .menu__title {
    display: block;
    min-height: auto;
    margin: 0 0 10px;
    padding: 4px 4px 6px;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--text);
    font-size: 22px;
    font-weight: 850;
    line-height: 1.2;
  }

  .menu__link,
  .ps-mainmenu--mobile .top-menu a,
  #mobile_top_menu_wrapper .top-menu a {
    display: flex;
    min-height: 48px;
    align-items: center;
    padding: 12px 14px;
    color: #223249;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none !important;
  }

  .menu__link:hover,
  .ps-mainmenu--mobile .top-menu a:hover,
  #mobile_top_menu_wrapper .top-menu a:hover {
    background: var(--brand-soft);
    color: var(--brand-dark);
  }

  .menu__link:active,
  .menu__link:focus-visible,
  .menu__toggle-child:active,
  .menu__toggle-child:focus-visible,
  .menu--childrens:has(.menu__toggle-child:active),
  .ps-mainmenu--mobile .top-menu a:active,
  .ps-mainmenu--mobile .top-menu a:focus-visible,
  #mobile_top_menu_wrapper .top-menu a:active,
  #mobile_top_menu_wrapper .top-menu a:focus-visible {
    background: var(--brand) !important;
    color: #ffffff !important;
    outline: none;
  }

  .menu__list > li.current,
  .menu__list > li.is-current,
  .ps-mainmenu--mobile .top-menu li.current,
  #mobile_top_menu_wrapper .top-menu li.current {
    border-color: var(--brand) !important;
    background: var(--brand) !important;
  }

  .menu__list > li.current > .menu__link,
  .menu__list > li.is-current > .menu__link,
  .menu__list > li.current > .menu__toggle-child,
  .menu__list > li.is-current > .menu__toggle-child,
  .ps-mainmenu--mobile .top-menu li.current > a,
  #mobile_top_menu_wrapper .top-menu li.current > a {
    color: #ffffff !important;
  }

  .menu__toggle-child,
  .ps-mainmenu--mobile .navbar-toggler,
  #mobile_top_menu_wrapper .navbar-toggler {
    display: inline-grid;
    width: 42px;
    min-height: 48px;
    margin-left: auto;
    place-items: center;
    border: 0 !important;
    border-left: 1px solid var(--line) !important;
    border-radius: 0 13px 13px 0 !important;
    background: transparent !important;
    color: var(--brand) !important;
    box-shadow: none !important;
  }

  .menu__toggle-child .material-icons,
  .ps-mainmenu--mobile .navbar-toggler .material-icons,
  #mobile_top_menu_wrapper .navbar-toggler .material-icons {
    font-size: 22px;
  }

  .ps-mainmenu--mobile .top-menu .collapse,
  #mobile_top_menu_wrapper .top-menu .collapse,
  .ps-mainmenu--mobile .top-menu .collapsing,
  #mobile_top_menu_wrapper .top-menu .collapsing {
    border-top: 1px solid var(--line);
    background: #f8fbfc;
  }

  .ps-mainmenu--mobile .top-menu .collapse .top-menu,
  #mobile_top_menu_wrapper .top-menu .collapse .top-menu {
    gap: 0;
    padding: 8px;
  }

  .ps-mainmenu--mobile .top-menu .collapse li,
  #mobile_top_menu_wrapper .top-menu .collapse li {
    border: 0;
    border-radius: 10px;
    background: transparent;
    box-shadow: none;
  }

  .ps-mainmenu--mobile .top-menu .collapse a,
  #mobile_top_menu_wrapper .top-menu .collapse a {
    min-height: 40px;
    padding: 9px 10px;
    color: #40536a;
    font-size: 13px;
    font-weight: 750;
  }

  .ps-mainmenu--mobile .top-menu .collapse a:hover,
  #mobile_top_menu_wrapper .top-menu .collapse a:hover {
    background: #ffffff;
    color: var(--brand-dark);
  }

  .ps-mainmenu--mobile .top-menu .collapse a:active,
  .ps-mainmenu--mobile .top-menu .collapse a:focus-visible,
  #mobile_top_menu_wrapper .top-menu .collapse a:active,
  #mobile_top_menu_wrapper .top-menu .collapse a:focus-visible {
    background: var(--brand) !important;
    color: #ffffff !important;
    outline: none;
  }
}

@media (max-width: 575px) {
  .ps-mainmenu--mobile,
  .offcanvas.ps-mainmenu--mobile,
  .offcanvas#mobile_top_menu_wrapper,
  #mobile_top_menu_wrapper {
    width: 94vw !important;
    border-radius: 0 16px 16px 0;
  }
}

/* Home slider */
.ps-imageslider {
  max-width: 1120px;
  margin: 18px auto 28px;
  padding-inline: 18px;
}

#ps_imageslider,
#ps_imageslider .carousel-inner,
.ps-imageslider__figure,
.ps-imageslider__figure img {
  overflow: hidden;
  border-radius: 16px;
}

#ps_imageslider {
  background: #ffffff;
  box-shadow: var(--shadow);
}

#ps_imageslider .carousel-inner,
#ps_imageslider .carousel-item,
.ps-imageslider__figure {
  aspect-ratio: auto;
}

.ps-imageslider__figure {
  position: relative;
  margin: 0;
  background: transparent;
}

.ps-imageslider__figure img {
  display: block;
  width: 100%;
  height: auto !important;
  object-fit: contain;
  object-position: center center;
  background: transparent;
}

#ps_imageslider .carousel-indicators {
  left: 50%;
  right: auto;
  bottom: 14px;
  margin: 0;
  transform: translateX(-50%);
  gap: 7px;
}

#ps_imageslider .carousel-indicators [data-bs-target] {
  width: 8px;
  height: 8px;
  margin: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.8);
  opacity: 1;
}

#ps_imageslider .carousel-indicators .active {
  width: 26px;
  background: var(--brand);
}

#ps_imageslider .carousel-control-prev,
#ps_imageslider .carousel-control-next {
  width: 42px;
  height: 42px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  opacity: 0;
  box-shadow: var(--shadow-sm);
}

#ps_imageslider:hover .carousel-control-prev,
#ps_imageslider:hover .carousel-control-next {
  opacity: 1;
}

#ps_imageslider .carousel-control-prev {
  left: 14px;
}

#ps_imageslider .carousel-control-next {
  right: 14px;
}

/* Module product sections */
.module-products {
  margin-block: 34px;
}

.module-products > .h2,
.module-products .products-section-title,
.section-title,
.featured-products .h2,
.ps-featuredproducts .h2,
.ps-newproducts .h2,
.ps-bestsellers .h2 {
  margin: 0 0 18px;
  color: var(--text);
  font-size: 24px;
  font-weight: 850;
  line-height: 1.2;
}

.module-products__buttons {
  margin-top: 20px;
  text-align: center;
}

.product-miniature {
  height: 100%;
}

.product-miniature__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: var(--shadow-sm);
  transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}

.product-miniature__inner:hover {
  transform: translateY(-2px);
  border-color: var(--line-strong);
  box-shadow: var(--shadow);
}

.product-miniature__top {
  position: relative;
  padding: 12px 12px 0;
  background: var(--surface-raised);
}

.product-miniature__image-container {
  overflow: hidden;
  border-radius: 11px;
  background: #ffffff;
}

.product-miniature__image-link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 232px;
  padding: 12px;
  text-decoration: none;
}

.product-miniature__image {
  width: auto;
  max-width: 205px;
  max-height: 205px;
  object-fit: contain;
  transition: transform 0.22s ease;
}

.product-miniature__inner:hover .product-miniature__image {
  transform: scale(1.018);
}

.product-miniature__bottom {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 13px 16px 16px;
}

.product-miniature__infos {
  flex: 1;
}

.product-miniature__title {
  display: -webkit-box;
  height: 41px;
  min-height: 41px;
  margin: 0 0 10px;
  overflow: hidden;
  color: var(--text);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.45;
  text-decoration: none;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.product-miniature__title:hover {
  color: var(--brand);
}

.product-miniature__variants {
  margin: 0 0 10px;
}

.product-miniature__variant-label {
  display: block;
  margin: 0 0 5px;
  color: #60758c;
  font-size: 12px;
  font-weight: 850;
}

.product-miniature__variant-select {
  width: 100%;
  min-height: 38px;
  height: 38px;
  padding: 0 34px 0 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background-color: #f8fbfc;
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
  box-shadow: none;
  cursor: pointer;
}

.product-miniature__variant-select:hover,
.product-miniature__variant-select:focus {
  border-color: #a9ced8;
  background-color: #ffffff;
  box-shadow: 0 0 0 3px rgba(15, 113, 132, 0.1);
}

.product-miniature__variant-select.is-updating,
.product-line__variant-select.is-updating {
  cursor: wait;
  opacity: 0.72;
}

.product-miniature__prices {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 7px;
  margin-bottom: 10px;
}

.product-miniature__price {
  color: var(--brand);
  font-size: 22px;
  font-weight: 850;
  line-height: 1.1;
}

.product-miniature__regular-price,
.product-miniature__discount-price {
  color: var(--muted);
  font-size: 13px;
  text-decoration: line-through;
}

.product-miniature__actions {
  margin-top: 12px;
}

.product-miniature__form {
  display: grid;
  grid-template-columns: 1fr 58px;
  gap: 9px;
  align-items: center;
}

.quantity-button__group.input-group,
.product-miniature .quantity-button__group.input-group {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  height: 46px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-raised);
}

.quantity-button__group .btn {
  width: 40px;
  min-height: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  box-shadow: none;
}

.quantity-button__group .form-control {
  min-height: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text);
  font-size: 15px;
  font-weight: 800;
  text-align: center;
}

.product-miniature__add {
  width: 58px;
  min-width: 58px;
  height: 46px;
  min-height: 46px;
  padding: 0;
  border-radius: 999px;
}

.product-miniature__add i {
  margin: 0;
  font-size: 24px;
}

.product-miniature__add-text {
  display: none;
}

.product-miniature__quickview-button {
  position: absolute;
  left: 50%;
  bottom: 16px;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 36px;
  padding: 0 14px;
  transform: translate(-50%, 8px);
  border: 0;
  border-radius: 999px;
  background: rgba(23, 32, 51, 0.88);
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  opacity: 0;
  visibility: hidden;
  box-shadow: var(--shadow-sm);
}

.product-miniature__inner:hover .product-miniature__quickview-button {
  transform: translate(-50%, 0);
  opacity: 1;
  visibility: visible;
}

.product-miniature .product-flags,
.product-miniature__flags {
  position: absolute;
  top: 10px;
  left: 12px;
  z-index: 4;
  margin: 0;
  padding: 0;
  list-style: none;
}

.product-miniature .product-flag,
.product-miniature__flag {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 4px 9px;
  border-radius: 8px;
  background: var(--brand);
  color: #ffffff;
  font-size: 12px;
  font-weight: 850;
}

/* Product page */
.product__container,
.product__bottom {
  max-width: 1240px;
  margin: 24px auto;
}

.product__container {
  display: grid;
  grid-template-columns: minmax(0, 52%) minmax(0, 48%);
  gap: 28px;
  padding-inline: 18px;
}

.product__left,
.product__right,
.product__bottom-left,
.product__bottom-right {
  min-width: 0;
}

.product__right,
.product__accordion,
.product__bottom-right > * {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: var(--shadow-sm);
}

.product__right {
  padding: 28px;
}

.product__name {
  margin-bottom: 12px;
  color: var(--text);
  font-size: 28px;
  font-weight: 850;
  line-height: 1.2;
}

.product__manufacturer a {
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.product__summary-features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0 18px;
  padding: 10px 0 2px;
  border-top: 1px solid var(--line);
}

.product__summary-feature {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #dbeaf1;
  border-radius: 10px;
  background: #f8fbfd;
}

.product__summary-feature-name,
.product__summary-feature-value {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product__summary-feature-name {
  margin-bottom: 3px;
  color: #61758a;
  font-size: 11px;
  font-weight: 800;
}

.product__summary-feature-value {
  color: var(--text);
  font-size: 13px;
  font-weight: 750;
}

.product__description-short,
.product__description,
.rich-text {
  color: #3c4d60;
  font-size: 14px;
  line-height: 1.65;
}

.product__actions {
  margin-top: 18px;
}

.product__bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 24px;
  padding-inline: 18px;
}

.product__accordion .accordion-item {
  border-color: var(--line);
}

.product__accordion .accordion-button {
  color: var(--text);
  font-weight: 800;
  box-shadow: none;
}

.product__accordion .accordion-body {
  color: #3c4d60;
}

.product__carousel,
.product-images-modal__carousel {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: var(--shadow-sm);
}

/* Listing, category, breadcrumb */
.breadcrumb {
  max-width: 1240px;
  margin: 16px auto;
  padding-inline: 18px;
  color: var(--muted);
  font-size: 13px;
}

.products__selection {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: var(--shadow-sm);
}

.products__count {
  color: var(--muted);
  font-size: 14px;
  font-weight: 650;
}

.products__sort {
  display: flex;
  align-items: center;
  gap: 10px;
}

.products__filter-button {
  min-height: 40px;
}

.category-cover,
.category-header,
.page-content,
.cms-page,
.contact-page,
.login-form,
.register-form {
  border-radius: 16px;
}

/* Cart page */
.cart-grid {
  max-width: 1240px;
  margin: 28px auto 52px;
  padding-inline: 18px;
  row-gap: 22px;
}

.cart-grid__products-details,
.cart-grid__aside-wrapper {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: var(--shadow);
}

.cart-grid__content .page-title-section {
  margin-bottom: 18px;
  font-size: 28px;
  font-weight: 850;
}

.product-line {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 16px;
  padding: 18px;
  border-bottom: 1px solid var(--line);
}

.product-line:last-child {
  border-bottom: 0;
}

.product-line__image a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 118px;
  height: 118px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-raised);
}

.product-line__img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.product-line__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
}

.product-line__title {
  color: var(--text);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
}

.product-line__item--info,
.product-line__item--small-info {
  display: inline-flex;
  gap: 5px;
  margin-top: 8px;
  padding: 5px 8px;
  border-radius: 8px;
  background: var(--surface-raised);
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
}

.product-line__item-price,
.product-line__price {
  color: var(--brand);
  font-size: 20px;
  font-weight: 850;
  white-space: nowrap;
}

.product-line__content-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}

.product-line__quantity-button .quantity-button__group.input-group {
  width: 132px;
}

.product-line__actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
}

.product-line__actions a,
.js-remove-from-cart {
  color: var(--danger);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.cart__continue-shopping {
  margin: 18px;
}

.cart-grid__aside-wrapper > h2 {
  margin: 0;
  padding: 20px 22px 8px;
  color: var(--text);
  font-size: 20px;
  font-weight: 850;
}

.cart-summary {
  padding: 12px 22px 22px;
}

.cart-summary__line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
  color: #3f4f63;
  font-size: 14px;
  font-weight: 700;
}

.cart-summary__value {
  color: var(--text);
  font-weight: 800;
  white-space: nowrap;
}

.cart-summary__line--bold {
  color: var(--text);
  font-size: 18px;
  font-weight: 850;
}

.cart-summary__line--bold .cart-summary__value {
  color: var(--brand);
  font-size: 24px;
}

.cart-summary-product {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 12px;
}

.cart-summary-product__img {
  width: 62px;
  height: 62px;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface-raised);
}

.cart-summary-product__link {
  color: var(--text);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.35;
  text-decoration: none;
}

/* Cart page refresh */
.cart-grid {
  align-items: flex-start;
}

.cart-grid__products-details {
  padding: 4px;
}

.cart-grid__content .page-title-section {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cart-grid__content .page-title-section::before {
  content: "shopping_cart";
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid #cfe4eb;
  border-radius: 999px;
  background: var(--brand-soft);
  color: var(--brand);
  font-family: "Material Icons";
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
}

.cart__overview {
  display: grid;
  gap: 10px;
}

.cart__list {
  display: grid;
  gap: 14px;
  padding: 4px 0;
}

.cart__item {
  min-width: 0;
}

.cart__empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 40px 24px;
  text-align: center;
}

.cart__empty-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border: 1px solid #cfe4eb;
  border-radius: 999px;
  background: var(--brand-soft);
  color: var(--brand);
  font-size: 28px;
}

.cart__empty {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}

.product-line {
  position: relative;
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 20px;
  margin: 0;
  padding: 18px 20px;
  border: 1px solid #d9e8ee;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.045);
  transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.product-line:hover {
  border-color: #cfe4eb;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
  transform: translateY(-1px);
}

.product-line__image a {
  width: 132px;
  height: 132px;
  padding: 12px;
  border-color: #d9e8ee;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
}

.product-line__image a:hover {
  border-color: #b8d6df;
}

.product-line__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 170px;
  grid-template-areas:
    "details purchase"
    "details actions";
  gap: 12px 18px;
  align-items: start;
}

.product-line__content-left {
  grid-area: details;
  min-width: 0;
}

.product-line__title {
  display: block;
  max-width: 560px;
  color: var(--text);
  font-size: 16px;
  font-weight: 900;
}

.product-line__title:hover {
  color: var(--brand-dark);
}

.product-line__item--info,
.product-line__item--small-info,
.product-line__item--availability {
  margin-top: 10px;
}

.product-line__item--info,
.product-line__item--small-info {
  border: 1px solid var(--line);
  background: #f8fbfc;
}

.product-line__item-label {
  color: #60758c;
  font-weight: 850;
}

.product-line__item-value {
  color: var(--text);
  font-weight: 900;
}

.product-line__variant-control {
  max-width: 460px;
  margin-top: 12px;
}

.product-line__variant-label {
  display: block;
  margin: 0 0 5px;
  color: #60758c;
  font-size: 12px;
  font-weight: 850;
}

.product-line__variant-select {
  width: 100%;
  min-height: 46px;
  height: 46px;
  padding: 0 36px 0 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background-color: #ffffff;
  color: var(--text);
  font-size: 14px;
  font-weight: 800;
  box-shadow: none;
  cursor: pointer;
}

.product-line__variant-select:hover,
.product-line__variant-select:focus {
  border-color: #a9ced8;
  background-color: #f8fbfc;
  box-shadow: 0 0 0 3px rgba(15, 113, 132, 0.1);
}

.product-line__item-availability-message {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 800;
}

.product-line__item-availability-icon {
  font-size: 18px;
}

.product-line__item--prices {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  margin-top: 14px;
}

.product-line__item-unit-price,
.product-line__item-regular-price,
.product-line__item-price-block {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.product-line__item-regular-price {
  text-decoration: line-through;
}

.product-line__item-discount {
  border-radius: 999px;
  background: var(--brand) !important;
  font-weight: 850;
}

.product-line__content-right {
  grid-area: purchase;
  min-width: 142px;
  align-items: flex-end;
  justify-self: end;
}

.product-line__quantity-button .quantity-button__group.input-group {
  overflow: hidden;
  width: 142px;
  min-width: 142px;
  flex-wrap: nowrap;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f8fbfc;
}

.product-line__quantity-button .quantity-button__group .btn,
.product-line__quantity-button .quantity-button__group .form-control {
  height: 42px;
  min-height: 42px;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.product-line__quantity-button .quantity-button__group .btn {
  width: 42px;
  min-width: 42px;
  flex: 0 0 42px;
  padding: 0;
  color: #60758c;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.product-line__quantity-button .quantity-button__group .btn:hover {
  background: var(--brand-soft) !important;
  color: var(--brand-dark);
}

.product-line__quantity-button .quantity-button__group .form-control {
  display: block !important;
  width: 58px !important;
  min-width: 58px !important;
  flex: 0 0 58px !important;
  padding: 0;
  color: var(--text);
  font-size: 15px;
  font-weight: 850;
  line-height: 42px;
  text-align: center;
  opacity: 1;
  appearance: textfield;
}

.product-line__quantity-button .quantity-button__group .form-control::-webkit-outer-spin-button,
.product-line__quantity-button .quantity-button__group .form-control::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

.product-line__price {
  font-size: 22px;
  font-weight: 900;
  line-height: 1.1;
}

.product-line__actions {
  grid-area: actions;
  align-self: end;
  justify-self: end;
  margin-top: 0;
}

.js-remove-from-cart {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border-radius: 999px;
  color: #9f2338;
}

.js-remove-from-cart::before {
  content: "delete";
  font-family: "Material Icons";
  font-size: 17px;
  font-weight: 400;
  line-height: 1;
}

.js-remove-from-cart:hover {
  background: #fff1f3;
  color: var(--danger);
}

.cart__continue-shopping.btn {
  display: flex;
  width: fit-content;
  max-width: calc(100% - 36px);
  margin: 16px auto 18px;
  border-color: #cfe4eb;
}

.cart__continue-shopping.btn:not(:hover) {
  background: #ffffff;
}

.cart-grid__aside {
  position: sticky;
  top: 18px;
}

.cart-grid__aside-wrapper {
  border-radius: 18px;
}

.cart-grid__aside-wrapper > h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 22px 22px 12px;
}

.cart-grid__aside-wrapper > h2::before {
  content: "receipt_long";
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--brand-soft);
  color: var(--brand);
  font-family: "Material Icons";
  font-size: 20px;
  font-weight: 400;
}

.cart-summary {
  padding: 8px 22px 22px;
}

.cart-summary__subtotals {
  padding: 6px 0;
}

.cart-summary__line {
  border-bottom-color: #edf3f6;
}

.cart-summary__line--bold {
  margin-top: 8px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
}

.cart-summary__value-inner {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 650;
  text-align: right;
}

.cart-summary__actions {
  margin-top: 18px;
}

.cart-summary__actions .btn-primary {
  min-height: 50px;
  font-size: 15px;
  font-weight: 900;
}

.cart-summary__actions .btn-primary::after {
  content: "arrow_forward";
  margin-left: 8px;
  font-family: "Material Icons";
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  vertical-align: -3px;
}

.cart-summary__voucher {
  margin-top: 12px;
  padding-top: 10px;
}

.cart-voucher__accordion {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #f8fbfc;
}

.cart-voucher__accordion-item {
  border: 0;
  background: transparent;
}

.cart-voucher__accordion-button {
  min-height: 44px;
  padding: 0 14px;
  border-radius: var(--radius-sm) !important;
  background: transparent !important;
  color: var(--text);
  font-size: 14px;
  font-weight: 850;
  box-shadow: none !important;
}

.cart-voucher__form {
  display: flex;
  gap: 8px;
}

.cart-voucher__form .form-control {
  min-width: 0;
}

.cart-voucher__form .btn {
  min-width: 86px;
}

.cart-voucher__list,
.cart-voucher__offers {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cart-voucher__code-value {
  border: 0;
  border-radius: 999px;
  background: var(--brand-soft);
  color: var(--brand-dark);
  font-weight: 850;
}

.cart-grid__aside-wrapper > hr {
  margin: 0 22px;
  border-color: var(--line);
  opacity: 1;
}

.cart-grid__aside-wrapper .blockreassurance {
  padding: 12px 22px 22px;
}

.cart-grid__aside-wrapper .reassurance {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  color: #40536a;
  text-decoration: none;
}

.cart-grid__aside-wrapper .reassurance__image {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
}

.cart-grid__aside-wrapper .reassurance__title {
  color: var(--text);
  font-size: 13px;
  font-weight: 850;
}

.cart-grid__footer {
  max-width: 1240px;
  margin: -24px auto 48px;
  padding-inline: 18px;
}

@media (max-width: 991px) {
  .cart-grid {
    margin-top: 20px;
  }

  .cart-grid__aside {
    position: static;
  }
}

@media (max-width: 767px) {
  .cart-grid {
    padding-inline: 12px;
    padding-bottom: 228px;
  }

  .cart__list {
    gap: 12px;
  }

  .cart-grid__content .page-title-section {
    font-size: 24px;
  }

  .product-line {
    grid-template-columns: 82px minmax(0, 1fr) 38px;
    grid-template-areas:
      "image details details"
      "purchase purchase actions";
    gap: 12px;
    padding: 14px;
  }

  .product-line__image {
    grid-area: image;
  }

  .product-line__image a {
    width: 82px;
    height: 82px;
    padding: 6px;
  }

  .product-line__content {
    display: contents;
  }

  .product-line__content-left,
  .product-line__content-right {
    min-width: 0;
    margin-block-end: 0;
  }

  .product-line__content-left {
    grid-area: details;
  }

  .product-line__title {
    font-size: 14px;
    line-height: 1.25;
  }

  .product-line__item--prices {
    display: none;
  }

  .product-line__item--info {
    display: none;
  }

  .product-line__variant-control {
    width: 100%;
    max-width: none;
    margin-top: 10px;
    margin-left: 0;
  }

  .product-line__variant-select {
    width: calc(100% + 94px);
    margin-left: -94px;
    min-height: 44px;
    height: 44px;
  }

  .product-line__content-right {
    grid-area: purchase;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    justify-self: stretch;
    gap: 12px;
  }

  .product-line__quantity-button .quantity-button__group.input-group {
    grid-template-columns: 30px 42px 30px;
    width: 102px;
    max-width: 102px;
    min-width: 0;
    height: 32px;
    min-height: 32px;
  }

  .product-line__quantity-button .quantity-button__group .btn {
    width: 30px;
    min-width: 30px;
    height: 32px;
    min-height: 32px;
    flex-basis: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }

  .product-line__quantity-button .quantity-button__group .btn .material-icons {
    display: block;
    font-size: 18px;
    width: 1em;
    height: 1em;
    line-height: 1;
  }

  .product-line__quantity-button .quantity-button__group .form-control {
    width: 42px !important;
    min-width: 42px !important;
    height: 32px !important;
    min-height: 32px !important;
    flex-basis: 42px !important;
    padding: 0 !important;
    line-height: 32px !important;
  }

  .product-line__price {
    margin-left: auto;
    font-size: 18px;
    white-space: nowrap;
  }

  .product-line__actions {
    grid-area: actions;
    flex: 0 0 auto;
    margin-top: 0;
    margin-left: 0;
    justify-self: stretch;
    align-self: center;
    justify-content: center;
  }

  .js-remove-from-cart {
    width: 38px;
    height: 38px;
    min-height: 38px;
    justify-content: center;
    padding: 0;
    gap: 0;
  }

  .js-remove-from-cart::before {
    margin: 0;
  }

  .js-remove-from-cart__label {
    display: none;
  }

  .cart-voucher__form {
    flex-direction: column;
  }

  .cart-grid__aside {
    position: static !important;
    padding: 0 !important;
  }

  .cart-grid__aside-wrapper {
    position: fixed !important;
    top: auto !important;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1040;
    max-width: none;
    margin: 0 auto;
    border: 0;
    border-top: 1px solid #cfe4eb;
    border-radius: 18px 18px 0 0;
    background: #ffffff;
    box-shadow: 0 -14px 34px rgba(15, 23, 42, 0.16);
  }

  .cart-grid__aside-wrapper::before {
    display: none;
  }

  .cart-grid__aside-wrapper > hr,
  .cart-grid__aside-wrapper .blockreassurance {
    display: none !important;
  }

  .cart-grid__aside-wrapper > h2 {
    display: flex;
    padding: 12px 16px 6px;
    font-size: 14px;
    font-weight: 900;
  }

  .cart-grid__aside-wrapper > h2::before {
    width: 28px;
    height: 28px;
    font-size: 17px;
  }

  .cart-summary {
    padding: 6px 16px calc(12px + env(safe-area-inset-bottom));
  }

  .cart-summary__totals {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "subtotals"
      "total"
      "voucher"
      "actions";
    gap: 8px;
  }

  .cart-grid__aside-wrapper .cart-summary__voucher {
    grid-area: voucher;
    display: block !important;
    margin: 0;
    padding-top: 0;
  }

  .cart-grid__aside-wrapper .cart-voucher__accordion {
    margin: 0;
    border: 1px solid #d8e7ee;
    border-radius: 14px;
    background: #f8fbfc;
  }

  .cart-grid__aside-wrapper .cart-voucher__accordion-button {
    min-height: 40px;
    padding: 0 12px;
    font-size: 13px;
  }

  .cart-grid__aside-wrapper .cart-voucher__form {
    gap: 8px;
  }

  .cart-grid__aside-wrapper .cart-voucher__form .form-control,
  .cart-grid__aside-wrapper .cart-voucher__form .btn {
    min-height: 40px;
    width: 100%;
  }

  .cart-grid__aside-wrapper .cart-voucher__highlight {
    margin-top: 8px;
    padding: 10px 12px;
    border: 1px solid #d8e7ee;
    border-radius: 14px;
    background: #ffffff;
  }

  .cart-summary__subtotals {
    grid-area: subtotals;
    display: grid !important;
    gap: 5px;
    min-width: 0;
    padding: 0;
  }

  .cart-summary__subtotals .cart-summary__line {
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 0;
    border: 0;
    color: #60758c;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
  }

  .cart-summary__subtotals .cart-summary__value {
    color: var(--text);
    text-align: right;
    white-space: nowrap;
  }

  .cart-summary__total {
    grid-area: total;
    min-width: 0;
  }

  .cart-summary__total .cart-summary__line--bold {
    display: flex;
    gap: 12px;
    justify-content: space-between;
    align-items: baseline;
    margin: 0;
    padding: 10px 0 0;
    border-top: 1px solid #edf3f6;
  }

  .cart-summary__total .cart-summary__line--bold:not(:first-child) {
    display: none;
  }

  .cart-summary__total .cart-summary__label {
    color: #60758c;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
  }

  .cart-summary__total .cart-summary__value {
    color: var(--brand);
    font-size: 24px;
    font-weight: 950;
    line-height: 1.1;
    text-align: left;
    white-space: nowrap;
  }

  .cart-summary__actions {
    grid-area: actions;
    margin: 0;
  }

  .cart-summary__actions .d-grid {
    display: block !important;
  }

  .cart-summary__actions .btn-primary {
    width: 100%;
    min-height: 50px;
    padding-inline: 14px;
    border-radius: 999px;
    font-size: 15px;
    line-height: 1.1;
  }
}

@media (max-width: 420px) {
  .cart-grid {
    padding-bottom: 220px;
  }

  .cart-summary__totals {
    gap: 7px;
  }

  .cart-summary__subtotals .cart-summary__line {
    font-size: 12px;
  }

  .cart-summary__total .cart-summary__value {
    font-size: 22px;
  }

  .cart-summary__actions .btn-primary {
    min-height: 48px;
    font-size: 14px;
  }

  .cart-summary__actions .btn-primary::after {
    margin-left: 4px;
    font-size: 16px;
  }

  .product-line {
    grid-template-columns: 68px minmax(0, 1fr) 36px;
    grid-template-areas:
      "image details details"
      "purchase purchase actions";
    gap: 10px;
    padding: 12px;
  }

  .product-line__image a {
    width: 68px;
    height: 68px;
  }

  .product-line__content {
    display: contents;
  }

  .product-line__variant-control {
    width: 100%;
    margin-left: 0;
  }

  .product-line__variant-select {
    width: calc(100% + 78px);
    margin-left: -78px;
  }

  .product-line__content-right {
    width: 100%;
    min-width: 0;
    justify-content: space-between;
    gap: 8px;
  }

  .product-line__quantity-button {
    flex: 0 0 auto;
  }

  .product-line__price {
    flex: 0 0 auto;
    margin-left: auto;
    font-size: 17px;
  }

  .product-line__actions {
    width: 34px;
    margin-left: 0;
    align-self: center;
  }

  .js-remove-from-cart {
    width: 34px;
    height: 34px;
    min-height: 34px;
    justify-content: center;
    padding: 0;
  }
}

/* Checkout */
body#checkout,
body.page-order {
  background: var(--surface-soft) !important;
}

.checkout-grid {
  max-width: 1220px !important;
  margin: 24px auto 50px !important;
  row-gap: 22px !important;
  align-items: flex-start !important;
}

.checkout-grid__content,
.checkout-grid__aside {
  min-width: 0 !important;
  padding-inline: 14px !important;
}

.checkout-grid__content > .tab-content {
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: var(--shadow) !important;
}

#personal-information-tabs-content,
#personal-information-tabs-content.tab-content,
.step #personal-information-tabs-content {
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.checkout-steps {
  max-width: 1220px !important;
  margin: 18px auto 0 !important;
  padding: 0 18px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.checkout-steps__desktop {
  display: block !important;
  width: min(100%, 690px) !important;
  max-width: 690px !important;
  margin-inline: auto !important;
}

.checkout-steps__list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 7px !important;
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: var(--shadow-sm) !important;
}

.checkout-steps__step {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 46px !important;
  padding: 6px 8px !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: var(--muted) !important;
  text-align: left !important;
}

.checkout-steps__step::before,
.checkout-steps__step::after {
  display: none !important;
}

.checkout-steps__step--current {
  background: var(--brand-soft) !important;
  color: var(--text) !important;
}

.checkout-steps__number {
  flex: 0 0 28px !important;
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: #d6e1e8 !important;
  color: #607383 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.checkout-steps__step--current .checkout-steps__number,
.checkout-steps__step--success .checkout-steps__number {
  background: var(--brand) !important;
  color: #ffffff !important;
}

.checkout-steps__btn {
  min-width: 0 !important;
  padding: 6px 10px !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: inherit !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  line-height: 1.18 !important;
  text-align: left !important;
  text-decoration: none !important;
  white-space: normal !important;
  box-shadow: none !important;
}

.step {
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.step__title {
  padding: 34px 38px 0 !important;
}

.step__title .page-title-section {
  position: relative !important;
  margin: 0 !important;
  padding-bottom: 14px !important;
  color: var(--text) !important;
  font-size: 30px !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
}

.step__title .page-title-section::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 56px;
  height: 3px;
  border-radius: 999px;
  background: var(--brand);
}

.step__title hr {
  display: none !important;
}

.step__content {
  padding: 24px 38px 34px !important;
}

#personal-information-tabs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 5px !important;
  margin: 0 0 24px !important;
  padding: 5px !important;
  border: 1px solid var(--line) !important;
  border-radius: 999px !important;
  background: var(--surface-raised) !important;
}

#personal-information-tabs .nav-link {
  width: 100% !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #415164 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-align: center !important;
}

#personal-information-tabs .nav-link.active {
  background: var(--brand) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(15, 113, 132, 0.18) !important;
}

#customer-form section,
#checkout-login-form form section,
#checkout-addresses-step form section,
.checkout-grid form section {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px 24px !important;
  align-items: start !important;
}

.checkout-grid form .mb-3,
#customer-form .mb-3 {
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  min-width: 0 !important;
}

#customer-form .mb-3:has(.form-check),
#customer-form .js-password-form__input-wrapper,
#checkout-login-form .mb-3:has(.form-check),
.checkout-grid form .mb-3:has(.form-check) {
  grid-column: 1 / -1 !important;
}

.checkout-grid .form-label,
#customer-form .form-label {
  display: block !important;
  margin: 0 0 7px !important;
  color: var(--text) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.checkout-grid .form-control,
.checkout-grid .form-select,
#customer-form .form-control,
#customer-form .form-select {
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  background: #f7fafc !important;
  color: var(--text) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

.checkout-grid .form-text,
#customer-form .form-text {
  display: block !important;
  margin-top: 6px !important;
  color: var(--muted) !important;
  font-size: 11.5px !important;
  line-height: 1.35 !important;
}

.checkout-grid .form-check,
#customer-form .form-check {
  position: relative !important;
  margin: 0 !important;
  padding: 13px 15px 13px 42px !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  background: #f7fafc !important;
}

.checkout-grid .form-check-input,
#customer-form .form-check-input {
  position: absolute !important;
  left: 15px !important;
  top: 15px !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
}

#checkout-addresses-step #delivery-address .mb-3.form-check:has(#use_same_address) {
  display: inline-flex !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 44px !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 4px !important;
  padding: 10px 14px !important;
  border: 1px solid #cfe0e8 !important;
  border-radius: 999px !important;
  background: #f8fbfc !important;
}

#checkout-addresses-step #delivery-address #use_same_address.form-check-input {
  position: static !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  border-color: #b9d2dc !important;
}

#checkout-addresses-step #delivery-address .form-check-label[for="use_same_address"] {
  margin: 0 !important;
  color: var(--text) !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
}

.checkout-grid__aside-wrapper {
  position: sticky !important;
  top: calc(var(--scroll-padding-top, 0px) + 14px) !important;
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: var(--shadow) !important;
}

.checkout__summary-accordion-header .accordion-button {
  min-height: 0 !important;
  padding: 14px 16px 6px !important;
  border: 0 !important;
  background: #ffffff !important;
  color: var(--text) !important;
  font-size: 16px !important;
  font-weight: 850 !important;
  box-shadow: none !important;
}

.checkout__summary-accordion-wrapper {
  padding: 0 16px 16px !important;
}

.checkout-grid__aside-wrapper .cart-summary {
  padding: 0 10px 14px !important;
}

.checkout-grid__aside-wrapper .cart-summary__products {
  margin: 0;
}

.checkout-grid__aside-wrapper .cart-summary__products-number {
  display: flex;
  min-height: 38px;
  align-items: center;
  margin: 0 4px 8px;
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: var(--text);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
}

.checkout-grid__aside-wrapper .cart-summary__products hr,
.checkout-grid__aside-wrapper .cart-summary__subtotals,
.checkout-grid__aside-wrapper .cart-summary__total {
  border-color: #e3edf2 !important;
  opacity: 1;
}

.checkout-grid__aside-wrapper .cart-summary__products hr {
  margin: 0 !important;
}

.checkout-grid__aside-wrapper .cart-summary__products-accordion {
  padding: 8px 4px 2px;
}

.checkout-grid__aside-wrapper .cart-summary__products-accordion .accordion-button {
  min-height: 38px !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--brand-dark) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  box-shadow: none !important;
}

.checkout-grid__aside-wrapper .cart-summary__products-accordion .accordion-button::after {
  width: 16px;
  height: 16px;
  margin-left: auto;
  background-size: 16px;
}

.checkout-grid__aside-wrapper .cart-summary__products-list {
  display: grid;
  gap: 8px;
  padding: 6px 0 4px;
}

.checkout-grid__aside-wrapper .cart-summary__product {
  padding: 0;
}

.checkout-grid__aside-wrapper .cart-summary-product {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 9px;
  border: 1px solid #e2edf2;
  border-radius: 12px;
  background: #f8fbfc;
}

.checkout-grid__aside-wrapper .cart-summary-product__image,
.checkout-grid__aside-wrapper .cart-summary-product__image a,
.checkout-grid__aside-wrapper .cart-summary-product__image picture {
  display: block;
  min-width: 0;
}

.checkout-grid__aside-wrapper .cart-summary-product__img {
  display: block;
  width: 50px;
  height: 50px;
  padding: 4px;
  border: 1px solid #d6e5ec;
  border-radius: 10px;
  background: #ffffff;
  object-fit: contain;
}

.checkout-grid__aside-wrapper .cart-summary-product__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  min-width: 0;
}

.checkout-grid__aside-wrapper .cart-summary-product__content-left {
  min-width: 0;
}

.checkout-grid__aside-wrapper .cart-summary-product__link {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  color: var(--text);
  font-size: 11.5px;
  font-weight: 900;
  line-height: 1.32;
  text-decoration: none;
  text-transform: uppercase;
}

.checkout-grid__aside-wrapper .cart-summary-product__link:hover {
  color: var(--brand);
}

.checkout-grid__aside-wrapper .cart-summary-product__attributes,
.checkout-grid__aside-wrapper .cart-summary-product__price,
.checkout-grid__aside-wrapper .cart-summary-product__quantity,
.checkout-grid__aside-wrapper .cart-summary-product__unit-price {
  margin-top: 2px;
  color: #66778c;
  font-size: 11.5px;
  line-height: 1.3;
}

.checkout-grid__aside-wrapper .cart-summary-product__attribute {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
}

.checkout-grid__aside-wrapper .cart-summary-product__attribute .label,
.checkout-grid__aside-wrapper .cart-summary-product__quantity .label {
  color: #51657d;
  font-weight: 800;
}

.checkout-grid__aside-wrapper .cart-summary-product__price .label {
  color: var(--text);
  font-weight: 850;
}

.checkout-grid__aside-wrapper .cart-summary-product__content-right {
  min-width: 52px;
  text-align: right;
}

.checkout-grid__aside-wrapper .cart-summary-product__total {
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
}

.checkout-grid__aside-wrapper .cart-summary__subtotals {
  margin-top: 8px;
  padding: 6px 0 !important;
  border-top: 1px solid #e3edf2;
  border-bottom: 1px solid #e3edf2;
}

.checkout-grid__aside-wrapper .cart-summary__line {
  padding: 9px 0 !important;
  border-bottom: 1px solid #edf3f6 !important;
  color: #40536a;
  font-size: 13px;
  font-weight: 800;
}

.checkout-grid__aside-wrapper .cart-summary__line:last-child {
  border-bottom: 0 !important;
}

.checkout-grid__aside-wrapper .cart-summary__value {
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
}

.checkout-grid__aside-wrapper .cart-summary__total {
  margin-top: 8px;
  padding: 9px 0 0;
  border-top: 1px solid #e3edf2;
}

.checkout-grid__aside-wrapper .cart-summary__line--bold {
  align-items: center;
  margin-top: 0 !important;
  padding: 11px 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid #e3edf2 !important;
  color: var(--text);
  font-size: 15px;
  font-weight: 900;
}

.checkout-grid__aside-wrapper .cart-summary__line--bold .cart-summary__value {
  color: var(--brand);
  font-size: 20px;
  font-weight: 900;
}

.checkout-grid__aside-wrapper .blockreassurance {
  display: grid;
  gap: 0;
  padding: 12px 4px 0;
}

.checkout-grid__aside-wrapper .reassurance,
.checkout-grid__aside-wrapper .reassurance--link {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 10px 6px;
  border-radius: 12px;
  color: #40536a;
  text-decoration: none !important;
}

.checkout-grid__aside-wrapper .reassurance:not(:last-child) {
  border-bottom: 1px solid #edf3f6;
}

.checkout-grid__aside-wrapper .reassurance__image {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  color: var(--brand);
}

.checkout-grid__aside-wrapper .reassurance__image img,
.checkout-grid__aside-wrapper .reassurance__image svg {
  max-width: 30px;
  max-height: 30px;
}

.checkout-grid__aside-wrapper .reassurance__content {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.checkout-grid__aside-wrapper .reassurance__title {
  color: var(--text);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.25;
}

.checkout-grid__aside-wrapper .reassurance__desc {
  margin: 0 !important;
  color: #64748b;
  font-size: 11px;
  line-height: 1.3;
}

#block-reassurance {
  width: min(100%, 1180px);
  margin: 0 auto;
  padding: 18px 18px 26px;
}

#block-reassurance ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#block-reassurance li {
  margin: 0;
  padding: 0;
}

#block-reassurance .block-reassurance-item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 4px 12px;
  align-items: center;
  height: 100%;
  padding: 14px 16px;
  border: 1px solid #edf3f6;
  border-radius: 12px;
  background: #ffffff;
  color: #40536a;
  text-decoration: none !important;
}

#block-reassurance li:last-child .block-reassurance-item {
  border-bottom: 1px solid #edf3f6;
}

#block-reassurance img {
  grid-row: 1 / span 2;
  width: 34px;
  height: 34px;
  max-width: 34px;
  max-height: 34px;
  justify-self: center;
}

#block-reassurance .block-reassurance-content {
  display: grid;
  gap: 2px;
  min-width: 0;
}

#block-reassurance .block-reassurance-title {
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.25;
}

#block-reassurance .block-reassurance-desc {
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

@media (max-width: 767px) {
  #block-reassurance {
    padding-inline: 12px;
  }

  #block-reassurance ul {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

.blockreassurance_product {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 12px 0;
}

.blockreassurance_product > div {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 4px 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #edf3f6;
}

.blockreassurance_product > div:last-child,
.blockreassurance_product > .clearfix {
  border-bottom: 0;
}

.blockreassurance_product .item-product {
  display: grid !important;
  grid-row: 1 / span 2;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  place-items: center;
}

.blockreassurance_product .item-product img,
.blockreassurance_product .item-product svg {
  width: 34px !important;
  height: 34px !important;
  max-width: 34px;
  max-height: 34px;
}

.blockreassurance_product .block-title {
  display: block !important;
  margin: 0 !important;
  color: var(--text) !important;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.25 !important;
}

.blockreassurance_product p {
  grid-column: 2;
  margin: 0 !important;
  color: #64748b !important;
  font-size: 12px;
  line-height: 1.35;
}

.blockreassurance_product .clearfix {
  display: none;
}

.blockreassurance--product .reassurance,
.blockreassurance--cart .reassurance,
.blockreassurance--checkout .reassurance,
.blockreassurance--product .reassurance--link,
.blockreassurance--cart .reassurance--link,
.blockreassurance--checkout .reassurance--link {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 4px 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #edf3f6;
  text-decoration: none !important;
}

.blockreassurance--product .reassurance__image,
.blockreassurance--cart .reassurance__image,
.blockreassurance--checkout .reassurance__image {
  display: grid;
  grid-row: 1 / span 2;
  width: 42px;
  height: 42px;
  place-items: center;
}

.blockreassurance--product .reassurance__image img,
.blockreassurance--product .reassurance__image svg,
.blockreassurance--cart .reassurance__image img,
.blockreassurance--cart .reassurance__image svg,
.blockreassurance--checkout .reassurance__image img,
.blockreassurance--checkout .reassurance__image svg {
  width: 34px;
  height: 34px;
  max-width: 34px;
  max-height: 34px;
}

.blockreassurance--product .reassurance__content,
.blockreassurance--cart .reassurance__content,
.blockreassurance--checkout .reassurance__content {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.blockreassurance--product .reassurance__content br,
.blockreassurance--cart .reassurance__content br,
.blockreassurance--checkout .reassurance__content br {
  display: none;
}

.blockreassurance--product .reassurance__title,
.blockreassurance--cart .reassurance__title,
.blockreassurance--checkout .reassurance__title {
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.25;
}

.blockreassurance--product .reassurance__desc,
.blockreassurance--cart .reassurance__desc,
.blockreassurance--checkout .reassurance__desc {
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.address-card,
.delivery-options__list,
.payment-option {
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.address-card.selected,
.payment-option:has(.payment-option__input:checked) {
  border-color: #91c6d0 !important;
  background: #f0fafb !important;
  box-shadow: inset 0 0 0 1px rgba(15, 113, 132, 0.12) !important;
}

.address-card__container,
.delivery-option__label,
.payment-option__form-check {
  padding: 14px 16px !important;
}

#checkout-payment-step .payment-options__list {
  display: grid;
  gap: 10px;
}

#checkout-payment-step .payment-option {
  overflow: hidden;
  transition: border-color var(--transition), background var(--transition), box-shadow var(--transition);
}

#checkout-payment-step .payment-option__form-check {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 66px;
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  cursor: pointer;
}

#checkout-payment-step .payment-option__input {
  position: static !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  border: 2px solid #c5d8e1 !important;
  background-color: #ffffff !important;
  box-shadow: none !important;
}

#checkout-payment-step .payment-option__input:checked {
  border-color: var(--brand) !important;
  background-color: var(--brand) !important;
}

#checkout-payment-step .payment-option__label {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
  margin: 0 !important;
  color: var(--text) !important;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
}

#checkout-payment-step .payment-option__label img {
  width: auto;
  max-width: 118px;
  max-height: 42px;
  object-fit: contain;
}

#checkout-payment-step .payment-option__additional-information,
#checkout-payment-step .js-payment-option-form {
  padding: 0 18px 16px 54px;
  color: #52657c;
  font-size: 13px;
  line-height: 1.45;
}

#checkout-payment-step #conditions-to-approve {
  margin-top: 16px !important;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8fbfc;
}

#checkout-payment-step #conditions-to-approve .form-check {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#checkout-payment-step #conditions-to-approve .form-check-input {
  position: static !important;
  width: 18px !important;
  height: 18px !important;
  margin: 2px 0 0 !important;
}

#checkout-payment-step #conditions-to-approve .form-check-label {
  color: #40536a;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

@media (max-width: 767px) {
  #checkout-payment-step .payment-option__form-check {
    min-height: 58px;
    padding: 14px !important;
  }

  #checkout-payment-step .payment-option__label {
    font-size: 14px;
  }

  #checkout-payment-step .payment-option__label img {
    max-width: 96px;
    max-height: 36px;
  }

  #checkout-payment-step .payment-option__additional-information,
  #checkout-payment-step .js-payment-option-form {
    padding: 0 14px 14px 46px;
  }
}

.delivery-options__container {
  margin-top: 12px;
}

.delivery-options__list {
  display: grid;
  gap: 10px;
  padding: 12px !important;
}

.delivery-option__item {
  overflow: hidden;
  border: 1px solid #dbe8ee;
  border-radius: 14px;
  background: #ffffff;
  transition: border-color var(--transition), background var(--transition), box-shadow var(--transition);
}

.delivery-option__item:has(.form-check-input:checked) {
  border-color: #8cc1cc;
  background: #f2fafb;
  box-shadow: inset 0 0 0 1px rgba(15, 113, 132, 0.12);
}

.delivery-option__label {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(150px, 0.8fr) auto;
  gap: 16px;
  align-items: center;
  min-height: 96px;
  margin: 0;
  padding: 16px 18px !important;
  cursor: pointer;
}

.delivery-option__left {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
}

.delivery-option__check.form-check {
  position: static !important;
  display: grid !important;
  width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.delivery-option__check .form-check-input {
  position: static !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  border: 2px solid #c5d8e1 !important;
  background-color: #ffffff !important;
  box-shadow: none !important;
}

.delivery-option__check .form-check-input:checked {
  border-color: var(--brand) !important;
  background-color: var(--brand) !important;
}

.delivery-option__carrier {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
}

.delivery-option__carrier-logo {
  width: auto;
  max-width: 170px;
  max-height: 64px;
  object-fit: contain;
}

.delivery-option__carrier-name {
  color: var(--text);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.25;
}

.delivery-option__content {
  color: #4f6178;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.35;
}

.delivery-option__price {
  color: var(--text);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.25;
  text-align: right;
  white-space: nowrap;
}

.delivery-option__extra {
  display: none;
  padding: 0 18px 14px 56px;
}

.delivery-option__extra[data-active] {
  display: block;
}

.delivery-option__extra-content {
  padding: 12px;
  border: 1px solid #dbe8ee;
  border-radius: 12px;
  background: #ffffff;
}

@media (max-width: 767px) {
  .delivery-options__list {
    gap: 12px;
    padding: 8px !important;
  }

  .delivery-option__item {
    display: grid;
    grid-template-areas:
      "carrier"
      "extra"
      "delay"
      "price";
    overflow: visible;
    border-radius: 16px;
  }

  .delivery-option__label {
    display: contents !important;
    min-height: 0;
    padding: 0 !important;
  }

  .delivery-option__left {
    grid-area: carrier;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 14px 14px 8px;
  }

  .delivery-option__check.form-check {
    width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
  }

  .delivery-option__check .form-check-input {
    width: 20px !important;
    height: 20px !important;
  }

  .delivery-option__carrier {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 10px;
  }

  .delivery-option__carrier-logo {
    width: 50px;
    max-width: 50px;
    max-height: 40px;
    border-radius: 8px;
    object-fit: contain;
  }

  .delivery-option__carrier-name {
    font-size: 16px;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }

  .delivery-option__content {
    grid-area: delay;
    padding: 0 14px 0 48px;
    color: #53677d;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
    text-align: left;
  }

  .delivery-option__price {
    grid-area: price;
    justify-self: start;
    align-self: start;
    margin: 7px 14px 14px 48px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--text);
    font-size: 14px;
    line-height: 1.2;
    text-align: left;
  }

  .delivery-option__extra {
    grid-area: extra;
    padding: 0 14px 16px;
  }

  .delivery-option__extra-content {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  #omnivalt_parcel_terminal_carrier_details.select-omnivalt {
    display: grid;
    gap: 10px;
    width: 100%;
    margin-top: 0 !important;
    padding: 12px !important;
    border: 1px solid #d9e8ef;
    border-radius: 14px;
    background: #ffffff;
  }

  #omnivalt_parcel_terminal_carrier_details .omniva-terminals-list,
  #omnivalt_parcel_terminal_carrier_details select[name="omnivalt_parcel_terminal"] {
    width: 100% !important;
    min-width: 0;
  }

  #omnivalt_parcel_terminal_carrier_details .omniva-terminals-list .dropdown {
    min-height: 46px;
    padding: 11px 40px 11px 14px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 750;
  }

  #omnivalt_parcel_terminal_carrier_details .omniva-terminals-list .inner-container,
  .omniva-inner-portal {
    max-height: min(340px, 58vh);
    border-radius: 12px;
  }

  #omnivalt_parcel_terminal_carrier_details .omniva-terminals-list .search-input,
  .omniva-inner-portal .search-input {
    position: sticky;
    top: 0;
    z-index: 2;
    width: calc(100% - 20px) !important;
    min-height: 46px;
    margin: 10px !important;
    padding: 11px 14px !important;
    border: 1px solid #cfe0e8 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: var(--text) !important;
    font-size: 16px !important;
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
  }

  #omnivalt_parcel_terminal_carrier_details .omniva-terminals-list .search-input:focus,
  .omniva-inner-portal .search-input:focus {
    border-color: var(--brand) !important;
    box-shadow: 0 0 0 3px rgba(15, 113, 132, 0.14), 0 4px 14px rgba(15, 23, 42, 0.08) !important;
  }

  #omnivalt_parcel_terminal_carrier_details .omniva-terminals-list ul,
  .omniva-inner-portal ul {
    max-height: min(292px, 48vh);
  }

  #omnivalt_parcel_terminal_carrier_details .omniva-btn {
    width: 100%;
    min-height: 46px;
    justify-content: center;
    padding: 10px 14px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 850;
    line-height: 1.15;
    text-align: center;
    white-space: normal;
  }

  #omnivalt_parcel_terminal_carrier_details .omniva-btn img {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    object-fit: contain;
  }
}

#checkout-delivery-step .order-options {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #e3edf2;
}

#checkout-delivery-step #delivery {
  margin-bottom: 16px !important;
}

#checkout-delivery-step #delivery .form-label,
#checkout-delivery-step #gift .form-label {
  margin-bottom: 8px !important;
  color: var(--text) !important;
  font-size: 14px !important;
  font-weight: 850 !important;
}

#checkout-delivery-step #delivery_message,
#checkout-delivery-step #gift_message {
  min-height: 86px !important;
  height: auto !important;
  padding: 14px 16px !important;
  border: 1px solid #cfe0e8 !important;
  border-radius: 16px !important;
  background: #f8fbfc !important;
  color: var(--text) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  resize: vertical;
}

#checkout-delivery-step #delivery_message:focus,
#checkout-delivery-step #gift_message:focus {
  border-color: #87bfcb !important;
  background: #ffffff !important;
  outline: 0;
  box-shadow: 0 0 0 4px rgba(15, 113, 132, 0.12) !important;
}

#checkout-delivery-step .buttons-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-top: 18px !important;
}

#checkout-delivery-step .buttons-wrapper .btn {
  display: inline-flex !important;
  width: auto !important;
  min-width: 190px;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 22px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

#checkout-delivery-step .buttons-wrapper .btn-outline-primary {
  border-color: #a8d0da !important;
  background: #ffffff !important;
  color: var(--brand-dark) !important;
  box-shadow: none !important;
}

#checkout-delivery-step .buttons-wrapper .btn-outline-primary:hover {
  border-color: var(--brand) !important;
  background: var(--brand-soft) !important;
  color: var(--brand-dark) !important;
}

#checkout-delivery-step .buttons-wrapper .btn-primary {
  min-width: 240px;
}

#checkout-delivery-step .buttons-wrapper .material-icons {
  font-size: 20px;
  line-height: 1;
}

@media (max-width: 767px) {
  #checkout-delivery-step .buttons-wrapper {
    display: grid !important;
    grid-template-columns: 1fr;
  }

  #checkout-delivery-step .buttons-wrapper .btn {
    width: 100% !important;
    min-width: 0;
  }
}

/* Footer */
#footer.footer,
.footer {
  margin-top: 48px;
}

#footer .footer__before,
.footer__before {
  background: transparent;
}

.ps-emailsubscription {
  padding: 28px 0 !important;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #edf6fb !important;
}

.ps-emailsubscription .row {
  align-items: center;
  gap: 16px 0;
}

.ps-emailsubscription .h3 {
  margin: 0;
  color: var(--text);
  font-size: 24px;
  font-weight: 850;
  line-height: 1.2;
}

.ps-emailsubscription input[type="email"] {
  height: 46px;
  border-radius: 999px;
  background: #ffffff;
}

.ps-emailsubscription input[type="submit"] {
  height: 46px;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 999px;
}

#footer .footer__main,
.footer__main {
  padding: 42px 0 24px;
  background: #101827;
  color: #cbd5e1;
}

.footer__main-top {
  row-gap: 28px;
}

.footer-block__title {
  position: relative;
  margin: 0 0 16px;
  padding-bottom: 10px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.25;
}

.footer-block__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 34px;
  height: 2px;
  border-radius: 999px;
  background: var(--brand);
}

.footer-block__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-block__list li {
  margin-bottom: 9px;
}

.footer-block__list a,
.ps-contactinfo a,
.ps-contactinfo__infos {
  color: #cbd5e1;
  font-size: 14px;
  line-height: 1.45;
  text-decoration: none;
}

.footer-block__list a:hover,
.ps-contactinfo a:hover {
  color: #ffffff;
}

.ps-contactinfo__email,
.ps-contactinfo__phone,
.ps-contactinfo__fax {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.ps-contactinfo .material-icons {
  color: var(--brand);
  font-size: 19px;
}

.copyright {
  margin-top: 34px;
  padding-top: 20px;
  border-top: 1px solid rgba(203, 213, 225, 0.16);
  text-align: center;
}

.copyright a {
  color: #94a3b8;
  font-size: 13px;
  text-decoration: none;
}

/* Modals */
.blockcart-modal .modal-content,
.quickview .quickview__content,
.modal-content {
  overflow: hidden;
  border: 0;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 26px 70px rgba(15, 23, 42, 0.22);
}

.blockcart-modal__title,
.modal-title {
  color: var(--text);
  font-weight: 850;
}

.blockcart-modal__image {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-raised);
}

.blockcart-modal__name {
  color: var(--text);
  font-weight: 850;
}

.blockcart-modal__price,
.blockcart-modal__total--bold .value {
  color: var(--brand);
  font-weight: 850;
}

/* Content pages */
.page-content,
.contact-form,
.customer-form,
.login-form,
.address-form {
  color: #3c4d60;
}

.contact-page .card,
.page-content.card,
.customer-page .card {
  border-color: var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow-sm);
}

.alert-success {
  border-color: #bce8cd;
  background: #eefaf3;
  color: #175f42;
}

.alert-danger {
  border-color: #ffd0d8;
  background: #fff3f5;
  color: #8f1d34;
}

/* Focus */
.btn:focus,
.btn:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(15, 113, 132, 0.14) !important;
}

/* Responsive */
@media (max-width: 991px) {
  .product__container,
  .product__bottom {
    grid-template-columns: 1fr;
  }

  .checkout-steps__desktop {
    display: none !important;
  }

  .checkout-steps__mobile {
    display: flex !important;
    padding: 14px 16px !important;
    border: 1px solid var(--line) !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: var(--shadow) !important;
  }

  .checkout-grid__aside-wrapper {
    position: static !important;
  }

  #customer-form section,
  #checkout-login-form form section,
  #checkout-addresses-step form section,
  .checkout-grid form section {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  .ps-imageslider,
  .cart-grid,
  .product__container,
  .product__bottom,
  .checkout-grid {
    padding-inline: 12px;
  }

  .checkout-grid__aside-wrapper .cart-summary__voucher {
    display: block !important;
    margin: 8px 0 0;
    padding-top: 10px;
    border-top: 1px solid #edf3f6;
  }

  .checkout-grid__aside-wrapper .cart-voucher__accordion {
    margin: 0;
    border: 1px solid #d8e7ee;
    border-radius: 14px;
    background: #f8fbfc;
  }

  .checkout-grid__aside-wrapper .cart-voucher__accordion-button {
    min-height: 42px;
    padding: 0 12px;
    font-size: 13px;
  }

  .checkout-grid__aside-wrapper .cart-voucher__form {
    gap: 8px;
  }

  .checkout-grid__aside-wrapper .cart-voucher__form .form-control,
  .checkout-grid__aside-wrapper .cart-voucher__form .btn {
    min-height: 42px;
    width: 100%;
  }

  .checkout-grid__aside-wrapper .cart-voucher__highlight {
    margin-top: 8px;
    padding: 10px 12px;
    border: 1px solid #d8e7ee;
    border-radius: 14px;
    background: #ffffff;
  }

  .product-miniature__image-link {
    height: 145px;
  }

  .product-miniature__image {
    max-width: 132px;
    max-height: 132px;
  }

  .product-miniature__bottom {
    padding: 10px 11px 12px;
  }

  .product-miniature__title {
    height: 38px;
    min-height: 38px;
    font-size: 12.75px;
  }

  .product-miniature__price {
    font-size: 19px;
  }

  .products__selection {
    align-items: stretch;
    flex-direction: column;
  }

  .cart-grid {
    margin-top: 18px;
  }

  .step__title {
    padding: 24px 20px 0 !important;
  }

  .step__title .page-title-section {
    font-size: 24px !important;
  }

  .step__content {
    padding: 20px !important;
  }

  #personal-information-tabs {
    border-radius: 14px !important;
  }

  #personal-information-tabs .nav-link {
    min-height: 42px !important;
    font-size: 12.5px !important;
  }

  .buttons-wrapper--end,
  .buttons-wrapper--split {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .checkout-grid .btn,
  #customer-form .btn,
  #payment-confirmation,
  #payment-confirmation .btn {
    width: 100% !important;
  }

  .ps-emailsubscription .d-flex {
    flex-direction: column;
    align-items: stretch !important;
  }

  .ps-emailsubscription input[type="email"],
  .ps-emailsubscription input[type="submit"] {
    width: 100%;
  }

  .footer__main {
    padding-top: 28px;
  }

  .footer-block {
    border-bottom: 1px solid rgba(203, 213, 225, 0.14);
  }

  .footer-block__title {
    margin: 0;
    padding: 16px 0;
  }

  .footer-block__title::after {
    display: none;
  }

  .footer-block__content {
    padding-bottom: 14px;
  }
}

/* Product polish: miniatures, quickview, product sheet */
.product-miniature__inner {
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.045);
}

.product-miniature__inner:hover {
  transform: translateY(-2px);
  border-color: #bdd6df;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.085);
}

.product-miniature__top {
  padding: 10px 10px 0;
  background: linear-gradient(180deg, #f6fafb 0%, #ffffff 100%);
}

.product-miniature__image-container {
  border: 1px solid #edf3f6;
  border-radius: 10px;
}

.product-miniature__image-link {
  height: 218px;
  padding: 14px;
}

.product-miniature__image {
  max-width: 196px;
  max-height: 196px;
}

.product-miniature__bottom {
  padding: 13px 14px 14px;
}

.product-miniature__title {
  height: 40px;
  min-height: 40px;
  margin-bottom: 9px;
  font-size: 13.5px;
  font-weight: 780;
  line-height: 1.45;
}

.product-miniature__prices {
  min-height: 27px;
  margin-bottom: 8px;
}

.product-miniature__price {
  font-size: 21px;
  letter-spacing: 0;
}

.product-miniature__actions {
  margin-top: 10px;
}

.product-miniature__form {
  grid-template-columns: minmax(0, 1fr) 52px;
  gap: 8px;
}

.product-miniature .quantity-button__group.input-group {
  grid-template-columns: 36px minmax(0, 1fr) 36px;
  height: 42px;
  border-color: #d7e5eb;
  background: #f7fafc;
}

.product-miniature .quantity-button__group .btn,
.product-miniature .quantity-button__group .form-control {
  height: 42px;
  min-height: 42px;
}

.product-miniature .quantity-button__group .btn {
  width: 36px;
}

.product-miniature .quantity-button__group .btn i {
  font-size: 20px;
}

.product-miniature .quantity-button__group .form-control {
  font-size: 14px;
}

.product-miniature__add {
  width: 52px;
  min-width: 52px;
  height: 42px;
  min-height: 42px;
}

.product-miniature__add i {
  font-size: 22px;
}

.product-miniature__quickview-button {
  bottom: 14px;
  min-height: 34px;
  padding: 0 13px;
  background: rgba(15, 24, 38, 0.9);
  font-size: 12.5px;
  backdrop-filter: blur(6px);
}

.product-miniature__quickview-button:hover {
  background: var(--brand);
  color: #ffffff;
}

.product-miniature__quickview-touch {
  position: absolute;
  right: 12px;
  bottom: 12px;
  width: 38px;
  height: 38px;
  min-height: 38px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(15, 24, 38, 0.9);
  color: #ffffff;
}

.product-miniature .product-flags {
  top: 9px;
  left: 9px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  max-width: calc(100% - 18px);
}

.product-miniature .product-flags .badge,
.product-miniature .product-flag,
.product-miniature__flag {
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 7px;
  background: var(--brand) !important;
  color: #ffffff;
  font-size: 11.5px;
  font-weight: 850;
  line-height: 1;
}

.product-miniature .product-flags .discount,
.product-miniature .product-flags .on-sale {
  background: #b4233c !important;
}

/* Product sheet gallery */
.product__container {
  grid-template-columns: minmax(0, 50%) minmax(360px, 1fr);
  gap: 30px;
  margin-top: 28px;
}

.product__images {
  display: grid;
  gap: 12px;
}

.product__carousel,
.product__no-image {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: var(--shadow-sm);
}

.product__carousel .carousel-inner,
.product__carousel .carousel-item {
  border-radius: 16px;
  background: #ffffff;
}

.product__carousel .carousel-item img,
.product__no-image img {
  display: block;
  width: 100%;
  max-height: 620px;
  padding: 22px;
  object-fit: contain;
}

.product__carousel .carousel-control-prev,
.product__carousel .carousel-control-next,
.product-images-modal__carousel .carousel-control-prev,
.product-images-modal__carousel .carousel-control-next {
  width: 42px;
  height: 42px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  border-radius: 50%;
  background: rgba(15, 24, 38, 0.82);
  opacity: 0;
  transition: opacity var(--transition), background var(--transition);
}

.product__carousel:hover .carousel-control-prev,
.product__carousel:hover .carousel-control-next,
.product-images-modal__carousel:hover .carousel-control-prev,
.product-images-modal__carousel:hover .carousel-control-next {
  opacity: 1;
}

.product__carousel .carousel-control-prev {
  left: 14px;
}

.product__carousel .carousel-control-next {
  right: 14px;
}

.product__zoom {
  position: absolute;
  right: 14px;
  bottom: 14px;
  width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--brand);
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(15, 113, 132, 0.22);
}

.product__thumbnails-list {
  display: flex;
  gap: 9px;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  list-style: none;
  scrollbar-width: thin;
}

.product__thumbnail {
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: none;
}

.product__thumbnail.active,
.product__thumbnail:hover {
  border-color: var(--brand);
  box-shadow: inset 0 0 0 1px rgba(15, 113, 132, 0.16);
}

.product__thumbnail-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Product sheet buy box */
.product__right {
  position: sticky;
  top: calc(var(--scroll-padding-top, 0px) + 16px);
  align-self: start;
  padding: 30px;
  border-radius: 16px;
}

.product__name {
  margin-bottom: 10px;
  font-size: 30px;
  font-weight: 850;
}

.product__prices {
  margin: 18px 0;
  padding: 18px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.product__prices-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
}

.product__price {
  color: var(--brand);
  font-size: 34px;
  font-weight: 900;
  line-height: 1.05;
}

.product__regular-price {
  color: var(--muted);
  font-size: 15px;
  text-decoration: line-through;
}

.product__discount-percentage,
.product__discount-amount {
  color: #b4233c !important;
  font-size: 13px;
  font-weight: 800;
}

.product__tax-infos,
.product__unit-price,
.product__pack-price,
.product__taxless-price {
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.4;
}

.product__description-short {
  margin-bottom: 18px;
  color: #3c4d60;
  font-size: 14px;
  line-height: 1.65;
}

.product__variants {
  display: grid;
  gap: 16px;
  margin-bottom: 18px;
}

.product-variant {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.product-variant__label {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 8px;
}

.product-variant__legend {
  margin: 0;
  color: var(--text);
  font-size: 13px;
  font-weight: 850;
}

.product-variant__selected {
  color: var(--muted);
  font-size: 12.5px;
}

.product-variant__colors,
.product-variant__radios {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.input-color__label,
.product-variant__radio label {
  cursor: pointer;
}

.input-color__label .color,
.input-color__label .texture {
  display: block;
  width: 34px;
  height: 34px;
  border: 2px solid #ffffff;
  border-radius: 10px;
  box-shadow: 0 0 0 1px var(--line);
}

.input-color__input:checked + .input-color__label .color,
.input-color__input:checked + .input-color__label .texture,
.input-color__label--active .color,
.input-color__label--active .texture {
  box-shadow: 0 0 0 2px var(--brand);
}

.product-variant__radio {
  margin: 0;
  padding: 0;
}

.product-variant__radio .form-check-input {
  position: absolute;
  opacity: 0;
}

.product-variant__radio .form-check-label {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  padding: 0 13px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--text);
  font-size: 13px;
  font-weight: 750;
}

.product-variant__radio .form-check-input:checked + label .form-check-label,
.product-variant__radio .form-check-input:checked ~ label .form-check-label {
  border-color: var(--brand);
  background: var(--brand-soft);
  color: var(--brand-dark);
}

.product__availability {
  margin-bottom: 14px;
}

.product__availability-status,
.product__delivery-infos,
.product__minimal-quantity {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f7fafc;
  color: #3c4d60;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.product__actions-qty-add {
  display: grid;
  grid-template-columns: 142px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.product__quantity .quantity-button__group.input-group {
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  height: 50px;
}

.product__quantity .quantity-button__group .btn,
.product__quantity .quantity-button__group .form-control {
  height: 50px;
  min-height: 50px;
}

.product__add-to-cart-button {
  width: 100%;
  min-height: 50px;
  gap: 7px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 850;
}

.product__additional-info {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.product__bottom {
  align-items: start;
}

.product__accordion {
  overflow: hidden;
}

.product__accordion .accordion-button {
  padding: 17px 20px;
  background: #ffffff;
  font-size: 15px;
}

.product__accordion .accordion-button:not(.collapsed) {
  background: #f7fafc;
  color: var(--brand-dark);
}

.product__accordion .accordion-body {
  padding: 18px 20px 22px;
}

/* Quickview */
.quickview.modal {
  background: rgba(15, 23, 42, 0.42);
  backdrop-filter: blur(5px);
}

.quickview .quickview__dialog {
  max-width: 1040px;
}

.quickview .quickview__content {
  border-radius: 18px;
}

.quickview .quickview__header {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 20;
  padding: 0;
  border: 0;
}

.quickview .btn-close {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #ffffff;
  box-shadow: var(--shadow-sm);
  opacity: 1;
}

.quickview .quickview__body {
  display: grid;
  grid-template-columns: minmax(0, 50%) minmax(340px, 1fr);
  gap: 0;
  padding: 0;
}

.quickview .product__left {
  padding: 28px;
  border-right: 1px solid var(--line);
  background: #f7fafc;
}

.quickview .product__right {
  position: static;
  padding: 34px 32px 28px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.quickview .product__name {
  padding-right: 38px;
  font-size: 24px;
}

.quickview .product__carousel .carousel-item img {
  max-height: 430px;
  padding: 18px;
}

.quickview .product__thumbnails-list {
  justify-content: flex-start;
}

.quickview .quickview__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 24px;
  border-top: 1px solid var(--line);
  background: #ffffff;
}

.quickview__details-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--brand);
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
}

.quickview__details-link:hover {
  color: var(--brand-dark);
}

@media (max-width: 991px) {
  .product__right {
    position: static;
  }

  .product__container,
  .quickview .quickview__body {
    grid-template-columns: 1fr;
  }

  .quickview .product__left {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .product__actions-qty-add {
    grid-template-columns: 132px minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .product-miniature__image-link {
    height: 150px;
  }

  .product-miniature__image {
    max-width: 136px;
    max-height: 136px;
  }

  .product-miniature__quickview-button {
    display: none;
  }

  .product-miniature__quickview-touch {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .product__container {
    margin-top: 16px;
  }

  .product__right,
  .quickview .product__right {
    padding: 22px 18px;
  }

  .product__name,
  .quickview .product__name {
    font-size: 22px;
  }

  .product__price {
    font-size: 28px;
  }

  .product__summary-features {
    grid-template-columns: 1fr;
  }

  .product__actions-qty-add {
    grid-template-columns: 1fr;
  }

  .product__quantity .quantity-button__group.input-group {
    width: 100%;
  }

  .quickview .product__left {
    padding: 18px;
  }

  .quickview .quickview__footer {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Miniature bugfix: keep quickview and quantity controls contained */
.product-miniature .product-miniature__top {
  position: relative !important;
  overflow: hidden !important;
  padding: 10px !important;
  background: #f7fafc !important;
}

.product-miniature .product-miniature__image-container {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid #e2edf2 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
}

.product-miniature .product-miniature__image-link {
  height: 240px !important;
  padding: 16px !important;
}

.product-miniature .product-miniature__image {
  width: auto !important;
  max-width: 210px !important;
  max-height: 210px !important;
  object-fit: contain !important;
}

.product-miniature .product-miniature__quickview-button {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  bottom: 18px !important;
  top: auto !important;
  z-index: 8 !important;
  display: inline-flex !important;
  width: auto !important;
  max-width: calc(100% - 32px) !important;
  min-width: 0 !important;
  height: 36px !important;
  min-height: 36px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 0 15px !important;
  transform: translate(-50%, 8px) !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(17, 27, 42, 0.9) !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  opacity: 0 !important;
  visibility: hidden !important;
  box-shadow: 0 10px 20px rgba(15, 23, 42, 0.18) !important;
}

.product-miniature .product-miniature__quickview-button i {
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.product-miniature .product-miniature__inner:hover .product-miniature__quickview-button,
.product-miniature:hover .product-miniature__quickview-button {
  transform: translate(-50%, 0) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.product-miniature .product-miniature__quickview-button:hover {
  background: var(--brand) !important;
  color: #ffffff !important;
}

.product-miniature .product-miniature__bottom {
  position: relative !important;
  z-index: 2 !important;
  padding: 16px 20px 20px !important;
  background: #ffffff !important;
}

.product-miniature .product-miniature__title {
  height: auto !important;
  min-height: 50px !important;
  max-height: 56px !important;
  margin: 0 0 16px !important;
  color: var(--text) !important;
  font-size: 18px !important;
  font-weight: 850 !important;
  line-height: 1.32 !important;
  text-transform: none !important;
}

.product-miniature .product-miniature__prices {
  min-height: 38px !important;
  margin-bottom: 18px !important;
}

.product-miniature .product-miniature__price {
  font-size: 30px !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
}

.product-miniature .product-miniature__actions {
  margin-top: auto !important;
}

.product-miniature .product-miniature__form {
  display: grid !important;
  grid-template-columns: minmax(132px, 1fr) 62px !important;
  gap: 12px !important;
  align-items: center !important;
}

.product-miniature .quantity-button,
.product-miniature .quantity-button__group.input-group {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.product-miniature .quantity-button__group.input-group {
  display: grid !important;
  grid-template-columns: 44px minmax(44px, 1fr) 44px !important;
  height: 56px !important;
  min-height: 56px !important;
  overflow: hidden !important;
  border: 1px solid #d7e5eb !important;
  border-radius: 999px !important;
  background: #f7fafc !important;
}

.product-miniature .quantity-button__group .btn,
.product-miniature .quantity-button__group .form-control {
  height: 56px !important;
  min-height: 56px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.product-miniature .quantity-button__group .btn {
  width: 44px !important;
  padding: 0 !important;
  color: #607489 !important;
}

.product-miniature .quantity-button__group .btn i {
  margin: 0 !important;
  font-size: 24px !important;
  line-height: 1 !important;
}

.product-miniature .quantity-button__group .form-control {
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  color: var(--text) !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 850 !important;
  line-height: 56px !important;
  text-align: center !important;
  text-indent: 0 !important;
  appearance: textfield !important;
}

.product-miniature .product-miniature__add {
  width: 62px !important;
  min-width: 62px !important;
  height: 56px !important;
  min-height: 56px !important;
  padding: 0 !important;
  border-radius: 999px !important;
}

.product-miniature .product-miniature__add i {
  margin: 0 !important;
  font-size: 28px !important;
}

@media (max-width: 767px) {
  .product-miniature .product-miniature__image-link {
    height: 170px !important;
  }

  .product-miniature .product-miniature__image {
    max-width: 150px !important;
    max-height: 150px !important;
  }

  .product-miniature .product-miniature__quickview-button {
    display: none !important;
  }

  .product-miniature .product-miniature__bottom {
    padding: 12px 12px 14px !important;
  }

  .product-miniature .product-miniature__title {
    min-height: 40px !important;
    max-height: 42px !important;
    margin-bottom: 10px !important;
    font-size: 14px !important;
  }

  .product-miniature .product-miniature__price {
    font-size: 21px !important;
  }

  .product-miniature .product-miniature__form {
    grid-template-columns: minmax(0, 1fr) 52px !important;
    gap: 8px !important;
  }

  .product-miniature .quantity-button__group.input-group,
  .product-miniature .quantity-button__group .btn,
  .product-miniature .quantity-button__group .form-control,
  .product-miniature .product-miniature__add {
    height: 44px !important;
    min-height: 44px !important;
  }

  .product-miniature .quantity-button__group.input-group {
    grid-template-columns: 38px minmax(36px, 1fr) 38px !important;
  }

  .product-miniature .quantity-button__group .btn {
    width: 38px !important;
  }

  .product-miniature .quantity-button__group .form-control {
    font-size: 14px !important;
    line-height: 44px !important;
  }

  .product-miniature .product-miniature__add {
    width: 52px !important;
    min-width: 52px !important;
  }

  .product-miniature .product-miniature__add i {
    font-size: 24px !important;
  }
}

/* Miniature title: show full product name */
.product-miniature .product-miniature__title {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: initial !important;
}

.product-miniature .product-miniature__infos {
  flex: 0 0 auto !important;
}

.product-miniature .product-miniature__prices {
  margin-top: 14px !important;
}

/* Product page quantity/add-to-cart: clean aligned controls */
.product__add-to-cart-container .product__actions-qty-add {
  display: grid !important;
  grid-template-columns: 150px minmax(180px, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  margin-top: 18px !important;
}

.product__add-to-cart-container .product__quantity {
  width: 150px !important;
  min-width: 150px !important;
}

.product__add-to-cart-container .product__quantity .quantity-button__group.input-group {
  display: grid !important;
  grid-template-columns: 42px minmax(44px, 1fr) 42px !important;
  width: 150px !important;
  height: 50px !important;
  min-height: 50px !important;
  overflow: hidden !important;
  border: 1px solid #d7e5eb !important;
  border-radius: 999px !important;
  background: #f7fafc !important;
  box-shadow: none !important;
}

.product__add-to-cart-container .product__quantity .quantity-button__group .btn,
.product__add-to-cart-container .product__quantity .quantity-button__group .form-control {
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.product__add-to-cart-container .product__quantity .quantity-button__group .btn {
  width: 42px !important;
  padding: 0 !important;
  color: #607489 !important;
}

.product__add-to-cart-container .product__quantity .quantity-button__group .btn:hover {
  background: #edf5f8 !important;
  color: var(--brand) !important;
}

.product__add-to-cart-container .product__quantity .quantity-button__group .btn i {
  margin: 0 !important;
  font-size: 23px !important;
  line-height: 1 !important;
}

.product__add-to-cart-container .product__quantity .quantity-button__group .form-control {
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  color: var(--text) !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 850 !important;
  line-height: 50px !important;
  text-align: center !important;
  text-indent: 0 !important;
  appearance: textfield !important;
}

.product__add-to-cart-container .product__add-to-cart {
  min-width: 0 !important;
}

.product__add-to-cart-container .product__add-to-cart-button {
  width: 100% !important;
  min-height: 50px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.product__add-to-cart-container .product__add-to-cart-button .material-icons {
  margin-right: 6px !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

@media (max-width: 767px) {
  .product__add-to-cart-container .product__actions-qty-add {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .product__add-to-cart-container .product__quantity,
  .product__add-to-cart-container .product__quantity .quantity-button__group.input-group,
  .product__add-to-cart-container .product__add-to-cart-button {
    width: 100% !important;
  }
}

/* Product page thumbnails: cleaner strip and active state */
.product__thumbnails {
  margin-top: 12px !important;
}

.product__thumbnails-list {
  display: flex !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 2px 4px !important;
  overflow-x: auto !important;
  list-style: none !important;
}

.product__thumbnail {
  flex: 0 0 96px !important;
  width: 96px !important;
  height: 96px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
}

.product__thumbnail:hover {
  border-color: #a9ccd7 !important;
  background: #fbfdfe !important;
}

.product__thumbnail.active,
.product__thumbnail[aria-current="true"] {
  border-color: var(--brand) !important;
  background: #ffffff !important;
  box-shadow: inset 0 0 0 2px var(--brand) !important;
}

.product__thumbnail:focus,
.product__thumbnail:focus-visible,
.product__thumbnail.focus-ring:focus,
.product__thumbnail.focus-ring:focus-visible,
.product__thumbnail-image:focus,
.product__thumbnail-image:focus-visible {
  outline: none !important;
  box-shadow: inset 0 0 0 2px var(--brand) !important;
}

.product__thumbnail picture {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  align-items: center !important;
  justify-content: center !important;
}

.product__thumbnail-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 78px !important;
  max-height: 78px !important;
  object-fit: contain !important;
  border-radius: 9px !important;
  outline: none !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .product__thumbnail {
    flex-basis: 76px !important;
    width: 76px !important;
    height: 76px !important;
    padding: 6px !important;
    border-radius: 12px !important;
  }

  .product__thumbnail-image {
    max-width: 62px !important;
    max-height: 62px !important;
  }
}

/* Product gallery arrows: clean circular controls */
.product__carousel .carousel-control-prev,
.product__carousel .carousel-control-next,
.product-images-modal__carousel .carousel-control-prev,
.product-images-modal__carousel .carousel-control-next {
  width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: var(--text) !important;
  opacity: 1 !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.16) !important;
  transition: background var(--transition), color var(--transition), box-shadow var(--transition);
}

.product__carousel .carousel-control-prev,
.product-images-modal__carousel .carousel-control-prev {
  left: 16px !important;
}

.product__carousel .carousel-control-next,
.product-images-modal__carousel .carousel-control-next {
  right: 16px !important;
}

.product__carousel .carousel-control-prev:hover,
.product__carousel .carousel-control-next:hover,
.product-images-modal__carousel .carousel-control-prev:hover,
.product-images-modal__carousel .carousel-control-next:hover {
  background: var(--brand) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 24px rgba(15, 113, 132, 0.22) !important;
}

.product__carousel .carousel-control-prev-icon,
.product__carousel .carousel-control-next-icon,
.product-images-modal__carousel .carousel-control-prev-icon,
.product-images-modal__carousel .carousel-control-next-icon {
  width: 44px !important;
  height: 44px !important;
  background: none !important;
  filter: none !important;
  opacity: 1 !important;
}

.product__carousel .carousel-control-prev-icon::before,
.product__carousel .carousel-control-next-icon::before,
.product-images-modal__carousel .carousel-control-prev-icon::before,
.product-images-modal__carousel .carousel-control-next-icon::before {
  display: flex !important;
  width: 44px !important;
  height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: "Material Icons" !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  color: currentColor !important;
}

.product__carousel .carousel-control-prev-icon::before,
.product-images-modal__carousel .carousel-control-prev-icon::before {
  content: "chevron_left";
}

.product__carousel .carousel-control-next-icon::before,
.product-images-modal__carousel .carousel-control-next-icon::before {
  content: "chevron_right";
}

@media (max-width: 767px) {
  .product__carousel .carousel-control-prev,
  .product__carousel .carousel-control-next,
  .product-images-modal__carousel .carousel-control-prev,
  .product-images-modal__carousel .carousel-control-next {
    width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
  }

  .product__carousel .carousel-control-prev,
  .product-images-modal__carousel .carousel-control-prev {
    left: 10px !important;
  }

  .product__carousel .carousel-control-next,
  .product-images-modal__carousel .carousel-control-next {
    right: 10px !important;
  }

  .product__carousel .carousel-control-prev-icon,
  .product__carousel .carousel-control-next-icon,
  .product-images-modal__carousel .carousel-control-prev-icon,
  .product-images-modal__carousel .carousel-control-next-icon,
  .product__carousel .carousel-control-prev-icon::before,
  .product__carousel .carousel-control-next-icon::before,
  .product-images-modal__carousel .carousel-control-prev-icon::before,
  .product-images-modal__carousel .carousel-control-next-icon::before {
    width: 38px !important;
    height: 38px !important;
    font-size: 24px !important;
  }
}

/* Home image slider arrows: clean circular controls */
#ps_imageslider .carousel-control-prev,
#ps_imageslider .carousel-control-next {
  width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: var(--text) !important;
  opacity: 1 !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.16) !important;
  transition: background var(--transition), color var(--transition), box-shadow var(--transition);
}

#ps_imageslider .carousel-control-prev {
  left: 18px !important;
}

#ps_imageslider .carousel-control-next {
  right: 18px !important;
}

#ps_imageslider .carousel-control-prev:hover,
#ps_imageslider .carousel-control-next:hover {
  background: var(--brand) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 24px rgba(15, 113, 132, 0.22) !important;
}

#ps_imageslider .carousel-control-prev-icon,
#ps_imageslider .carousel-control-next-icon {
  width: 44px !important;
  height: 44px !important;
  background: none !important;
  filter: none !important;
  opacity: 1 !important;
}

#ps_imageslider .carousel-control-prev-icon::before,
#ps_imageslider .carousel-control-next-icon::before {
  display: flex !important;
  width: 44px !important;
  height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: "Material Icons" !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  color: currentColor !important;
}

#ps_imageslider .carousel-control-prev-icon::before {
  content: "chevron_left";
}

#ps_imageslider .carousel-control-next-icon::before {
  content: "chevron_right";
}

#ps_imageslider .carousel-indicators [data-bs-target] {
  box-shadow: none !important;
}

@media (max-width: 767px) {
  #ps_imageslider .carousel-control-prev,
  #ps_imageslider .carousel-control-next {
    width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
  }

  #ps_imageslider .carousel-control-prev {
    left: 10px !important;
  }

  #ps_imageslider .carousel-control-next {
    right: 10px !important;
  }

  #ps_imageslider .carousel-control-prev-icon,
  #ps_imageslider .carousel-control-next-icon,
  #ps_imageslider .carousel-control-prev-icon::before,
  #ps_imageslider .carousel-control-next-icon::before {
    width: 38px !important;
    height: 38px !important;
    font-size: 24px !important;
  }
}

/* Auth pages: sign in, register, forgot/reset password */
.container--limited-sm,
.container--limited-md {
  max-width: 760px !important;
}

.container--limited-sm .page-header,
.container--limited-md .page-header {
  margin: 28px auto 18px !important;
  text-align: center !important;
}

.container--limited-sm .page-title-section,
.container--limited-md .page-title-section {
  margin: 0 !important;
  color: var(--text) !important;
  font-size: 30px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

.page-content--general:has(.login),
.page-content--general:has(.register-form),
.page-content--general:has(.forgotten-password),
.page-content--general:has(.renew-password) {
  max-width: 760px !important;
  margin: 0 auto 54px !important;
  padding: 0 !important;
  background: transparent !important;
}

.login,
.register-form,
.forgotten-password,
.page-content--general:has(.renew-password) > form {
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: var(--shadow) !important;
}

.login__form-wrapper,
.register-form #customer-form,
.forgotten-password,
.page-content--general:has(.renew-password) > form {
  padding: 30px !important;
}

.login hr,
.register-form hr,
.page-footer hr {
  margin: 0 !important;
  border-color: var(--line) !important;
  opacity: 1 !important;
}

#login-form,
.forgotten-password,
.register-form #customer-form,
.renew-password {
  color: #3c4d60 !important;
}

#login-form .mb-3,
.forgotten-password .mb-3,
.register-form #customer-form .mb-3,
.renew-password .mb-3 {
  margin-bottom: 18px !important;
}

#login-form .form-label,
.forgotten-password .form-label,
.register-form #customer-form .form-label,
.renew-password .form-label {
  display: block !important;
  margin-bottom: 7px !important;
  color: var(--text) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}

#login-form .form-label.required::after,
.forgotten-password .form-label.required::after,
.register-form #customer-form .form-label.required::after,
.renew-password .form-label.required::after,
#customer-form .form-check-label.required::after {
  content: " *";
  color: var(--danger);
}

#login-form .form-control,
#login-form .form-select,
.forgotten-password .form-control,
.forgotten-password .form-select,
.register-form #customer-form .form-control,
.register-form #customer-form .form-select,
.renew-password .form-control,
.renew-password .form-select {
  width: 100% !important;
  min-height: 48px !important;
  padding: 0 15px !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  background: #f7fafc !important;
  color: var(--text) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  box-shadow: none !important;
}

#login-form .form-control:focus,
.forgotten-password .form-control:focus,
.register-form #customer-form .form-control:focus,
.renew-password .form-control:focus {
  border-color: #93c7d2 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(15, 113, 132, 0.12) !important;
}

#login-form .password-field,
.register-form #customer-form .password-field,
.renew-password .password-field {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 48px !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}

#login-form .password-field .form-control,
.register-form #customer-form .password-field .form-control,
.renew-password .password-field .form-control {
  border-radius: 12px 0 0 12px !important;
}

#login-form .password-field .btn,
.register-form #customer-form .password-field .btn,
.renew-password .password-field .btn {
  width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  border-radius: 0 12px 12px 0 !important;
}

.register-form #customer-form section {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px 22px !important;
  align-items: start !important;
}

.register-form #customer-form .mb-3 {
  margin: 0 !important;
  min-width: 0 !important;
}

.register-form #customer-form .mb-3:has(.form-check),
.register-form #customer-form [data-ps-ref="password-field"] {
  grid-column: 1 / -1 !important;
}

.register-form #customer-form .form-check {
  position: relative !important;
  margin: 0 !important;
  padding: 13px 15px 13px 42px !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  background: #f7fafc !important;
}

.register-form #customer-form .form-check-input {
  position: absolute !important;
  left: 15px !important;
  top: 15px !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
}

.register-form #customer-form .form-check-label {
  color: #25384b !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.42 !important;
}

.register-form #customer-form .form-text,
#login-form .form-text,
.forgotten-password .form-text,
.renew-password .form-text {
  margin-top: 6px !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.buttons-wrapper--split,
.buttons-wrapper--end,
.forgotten-password .buttons-wrapper,
.renew-password + button,
.renew-password .btn-primary {
  gap: 12px !important;
}

#login-form .buttons-wrapper,
.register-form #customer-form .buttons-wrapper,
.forgotten-password .buttons-wrapper,
.renew-password {
  margin-top: 22px !important;
}

#login-form .buttons-wrapper--split {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

#login-form .btn-basic,
.page-footer .btn-basic {
  color: var(--muted) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

#login-form .btn-basic:hover,
.page-footer .btn-basic:hover {
  color: var(--brand) !important;
  background: var(--brand-soft) !important;
}

#submit-login,
.register-form #customer-form .form-control-submit,
.forgotten-password #send-reset-link,
.renew-password .btn-primary {
  min-width: 150px !important;
  min-height: 46px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
}

.login__register-prompt,
.register-form__login-prompt {
  padding: 24px 30px 30px !important;
  background: #f7fafc !important;
  text-align: center !important;
}

.login__register-prompt .h4 {
  margin: 0 0 14px !important;
  color: var(--text) !important;
  font-size: 18px !important;
  font-weight: 850 !important;
}

.register-form__login-prompt {
  margin: 0 !important;
  color: var(--muted) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
}

.register-form__login-prompt a {
  font-weight: 850 !important;
  text-decoration: none !important;
}

.forgotten-password header {
  margin-bottom: 22px !important;
  padding: 14px 16px !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  background: #f7fafc !important;
}

.send-renew-password-link {
  margin: 0 !important;
  color: #3c4d60 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.page-footer:has(#back-to-login) {
  max-width: 760px !important;
  margin: -34px auto 54px !important;
  padding: 18px 30px !important;
  border: 1px solid var(--line) !important;
  border-top: 0 !important;
  border-radius: 0 0 18px 18px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.04) !important;
}

.login-social-wrapper {
  margin-top: 24px !important;
  padding-top: 20px !important;
}

.login-social-wrapper:empty {
  display: none !important;
}

.alert ul {
  padding-left: 1.15rem;
}

@media (max-width: 767px) {
  .container--limited-sm .page-title-section,
  .container--limited-md .page-title-section {
    font-size: 24px !important;
  }

  .login__form-wrapper,
  .register-form #customer-form,
  .forgotten-password,
  .page-content--general:has(.renew-password) > form {
    padding: 22px 18px !important;
  }

  .register-form #customer-form section {
    grid-template-columns: 1fr !important;
  }

  #login-form .buttons-wrapper--split,
  .buttons-wrapper--end {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  #login-form .btn,
  .register-form #customer-form .btn,
  .forgotten-password .btn,
  .renew-password .btn {
    width: 100% !important;
  }

  .login__register-prompt,
  .register-form__login-prompt {
    padding: 22px 18px !important;
  }

  .page-footer:has(#back-to-login) {
    margin-top: -34px !important;
    padding: 16px 18px !important;
  }
}

/* Order confirmation page */
.page--full-width > .alert-success,
.order-confirmation__details,
.order-confirmation__account-transformation,
#ps_cashondelivery-displayOrderConfirmation,
body#order-confirmation .page-content > .card,
body#order-confirmation .page-content > [id*="displayOrderConfirmation"] {
  max-width: 1040px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.page--full-width > .alert-success {
  position: relative !important;
  margin-top: 30px !important;
  margin-bottom: 18px !important;
  padding: 30px 34px 30px 92px !important;
  overflow: hidden !important;
  border: 1px solid #bfe7d0 !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #edf9f2 0%, #ffffff 70%) !important;
  color: #175f42 !important;
  box-shadow: var(--shadow) !important;
}

.page--full-width > .alert-success::before {
  content: "check_circle";
  position: absolute;
  left: 30px;
  top: 30px;
  display: flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #1f8f61;
  color: #ffffff;
  font-family: "Material Icons";
  font-size: 27px;
  line-height: 1;
}

.page--full-width > .alert-success .page-title-section {
  margin: 0 0 8px !important;
  color: #145238 !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

.page--full-width > .alert-success p {
  margin: 0 !important;
  color: #2e6b4c !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.page--full-width > .alert-success hr {
  margin: 16px 0 !important;
  border-color: #bfe7d0 !important;
  opacity: 1 !important;
}

.page--full-width > .alert-success .alert-link {
  color: #145238 !important;
  font-weight: 850 !important;
}

.order-confirmation__details,
.order-confirmation__account-transformation,
#ps_cashondelivery-displayOrderConfirmation,
body#order-confirmation .page-content > .card {
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: var(--shadow) !important;
}

.order-confirmation__details.card,
.order-confirmation__account-transformation.card,
#ps_cashondelivery-displayOrderConfirmation.card,
body#order-confirmation .page-content > .card {
  margin-bottom: 18px !important;
}

.order-confirmation__details .card-body,
.order-confirmation__account-transformation.card-body,
#ps_cashondelivery-displayOrderConfirmation .card-body,
body#order-confirmation .page-content > .card .card-body {
  padding: 26px 30px !important;
}

.order-confirmation__details .h2,
#ps_cashondelivery-displayOrderConfirmation .h2,
body#order-confirmation .page-content > .card .h2 {
  margin: 0 0 16px !important;
  color: var(--text) !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

.order-confirmation__details-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  list-style: none !important;
}

.order-confirmation__details-list li {
  padding: 13px 14px !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  background: #f7fafc !important;
  color: #35485c !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

.order-confirmation__details hr,
.order-confirmation__table hr,
body#order-confirmation .card hr {
  margin: 20px 0 !important;
  border-color: var(--line) !important;
  opacity: 1 !important;
}

.order-confirmation__table {
  min-width: 0 !important;
}

.order-confirmation__products {
  display: grid !important;
  gap: 12px !important;
}

.order-confirmation__product {
  display: grid !important;
  grid-template-columns: 84px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
  padding: 14px !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
}

.order-confirmation__product-image {
  position: relative !important;
  display: flex !important;
  width: 84px !important;
  height: 84px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 7px !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  background: #f7fafc !important;
}

.order-confirmation__product-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.order-confirmation__product-quantity {
  position: absolute !important;
  right: -7px !important;
  top: -7px !important;
  min-width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  padding: 0 7px !important;
  border-radius: 999px !important;
  background: var(--brand) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 24px !important;
  text-align: center !important;
}

.order-confirmation__product-content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 14px !important;
  min-width: 0 !important;
}

.order-confirmation__product-title {
  margin: 0 0 8px !important;
  color: var(--text) !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
}

.order-confirmation__product-link {
  color: inherit !important;
  text-decoration: none !important;
}

.order-confirmation__product-attributes,
.order-confirmation__product-reference,
.order-confirmation__product-price {
  margin: 5px 0 0 !important;
  color: var(--muted) !important;
  font-size: 12.5px !important;
  font-weight: 650 !important;
  line-height: 1.4 !important;
}

.order-confirmation__product-total {
  color: var(--brand) !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

.order-confirmation__subtotals,
.order-confirmation__totals {
  display: grid !important;
  gap: 0 !important;
  max-width: 420px !important;
  margin-left: auto !important;
}

.order-confirmation__line {
  display: flex !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--line) !important;
  color: #3f4f63 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.order-confirmation__line-value {
  color: var(--text) !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

.order-confirmation__line--bold {
  border-bottom: 0 !important;
  color: var(--text) !important;
  font-size: 17px !important;
  font-weight: 900 !important;
}

.order-confirmation__line--bold .order-confirmation__line-value {
  color: var(--brand) !important;
  font-size: 22px !important;
}

.order-confirmation__carrier-info,
.order-confirmation__virtual-info {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 13px 14px !important;
  border: 1px solid #cfe3eb !important;
  border-radius: 12px !important;
  background: #f0fafb !important;
  color: #29495b !important;
}

.order-confirmation__carrier-info-label,
.order-confirmation__virtual-info-label {
  color: var(--text) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}

.order-confirmation__carrier-info-delay,
.order-confirmation__virtual-info-value {
  margin: 3px 0 0 !important;
  color: var(--muted) !important;
  font-size: 12.5px !important;
}

body#order-confirmation .card-subtitle,
#ps_cashondelivery-displayOrderConfirmation .card-subtitle {
  color: var(--brand) !important;
  font-size: 16px !important;
  font-weight: 850 !important;
}

body#order-confirmation .dl-list,
#ps_cashondelivery-displayOrderConfirmation .dl-list {
  display: grid !important;
  grid-template-columns: minmax(140px, auto) minmax(0, 1fr) !important;
  gap: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
}

body#order-confirmation .dl-list dt,
body#order-confirmation .dl-list dd,
#ps_cashondelivery-displayOrderConfirmation .dl-list dt,
#ps_cashondelivery-displayOrderConfirmation .dl-list dd {
  margin: 0 !important;
  padding: 11px 13px !important;
  border-bottom: 1px solid var(--line) !important;
  color: #3f4f63 !important;
  font-size: 13px !important;
}

body#order-confirmation .dl-list dt,
#ps_cashondelivery-displayOrderConfirmation .dl-list dt {
  background: #f7fafc !important;
  color: var(--text) !important;
  font-weight: 850 !important;
}

body#order-confirmation .card-footer,
#ps_cashondelivery-displayOrderConfirmation .card-footer {
  padding: 15px 30px !important;
  border-top: 1px solid var(--line) !important;
  background: #f7fafc !important;
  color: var(--muted) !important;
  font-size: 13px !important;
}

.order-confirmation__account-transformation {
  padding: 24px 30px !important;
}

@media (max-width: 767px) {
  .page--full-width > .alert-success {
    padding: 82px 20px 22px !important;
  }

  .page--full-width > .alert-success::before {
    left: 20px;
    top: 22px;
  }

  .page--full-width > .alert-success .page-title-section {
    font-size: 23px !important;
  }

  .order-confirmation__details .card-body,
  #ps_cashondelivery-displayOrderConfirmation .card-body,
  body#order-confirmation .page-content > .card .card-body {
    padding: 20px !important;
  }

  .order-confirmation__details-list {
    grid-template-columns: 1fr !important;
  }

  .order-confirmation__product {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    padding: 12px !important;
  }

  .order-confirmation__product-image {
    width: 72px !important;
    height: 72px !important;
  }

  .order-confirmation__product-content {
    grid-template-columns: 1fr !important;
  }

  .order-confirmation__product-prices {
    text-align: left !important;
  }

  .order-confirmation__subtotals,
  .order-confirmation__totals {
    max-width: none !important;
  }

  body#order-confirmation .dl-list,
  #ps_cashondelivery-displayOrderConfirmation .dl-list {
    grid-template-columns: 1fr !important;
  }
}

/* Logged-in customer pages */
.account-menu--sidebar {
  position: sticky;
  top: 96px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.account-menu--sidebar .account-menu__title {
  margin: 0;
  padding: 20px 20px 14px;
  border-bottom: 1px solid var(--line);
  color: var(--text);
  font-size: 20px;
  font-weight: 850;
}

.account-menu--sidebar .account-menu__nav {
  display: grid;
  gap: 4px;
  padding: 10px;
}

.account-menu__link {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: #26364b;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.25;
  text-decoration: none !important;
  transition: background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.account-menu__link:hover {
  border-color: var(--line);
  background: var(--surface-soft);
  color: var(--brand-dark);
}

.account-menu__link--active {
  border-color: rgba(15, 113, 132, 0.18) !important;
  background: var(--brand-soft) !important;
  color: var(--brand-dark) !important;
  box-shadow: inset 3px 0 0 var(--brand);
}

.account-menu__link--signout {
  margin-top: 4px;
  color: #9f2f45;
}

.account-menu__link--signout:hover {
  border-color: rgba(180, 35, 60, 0.16);
  background: #fff3f5;
  color: var(--danger);
}

.account-menu__icon {
  display: inline-grid;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 999px;
  background: #eef6f8;
  color: var(--brand);
  font-size: 19px !important;
}

.account-menu__link--active .account-menu__icon,
.account-menu__link:hover .account-menu__icon {
  background: #ffffff;
}

.account-menu__back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 16px;
  border-color: var(--line);
  background: #ffffff;
  color: #34465d;
}

.account-menu__back:hover {
  border-color: var(--brand);
  color: var(--brand-dark);
}

.page-content--customer {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.page-content--customer > p,
.page-content--customer > #order_history_description,
.page-content--customer > #vouchers_description,
.page-content--customer > #order_credit_slips_description,
.page-content--customer > #order_merchandise_returns_description {
  max-width: 760px;
  margin: 0 0 20px;
  color: #52657c;
  font-size: 14px;
  line-height: 1.65;
}

.page-content--customer .alert {
  margin: 0;
  border-radius: var(--radius-sm);
}

.account-menu--main {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
}

.account-menu--main .account-menu__link {
  min-height: 96px;
  align-items: flex-start;
  padding: 18px;
  border-color: var(--line);
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: var(--shadow-sm);
}

.account-menu--main .account-menu__link:hover {
  border-color: #b9d9e1;
  background: #f8fcfd;
  transform: translateY(-2px);
}

.account-menu--main .account-menu__link--signout {
  border-color: #f2c8d0;
  background: #fff8f9;
}

.account-menu--main .account-menu__icon {
  flex-basis: 42px;
  width: 42px;
  height: 42px;
  font-size: 22px !important;
}

.addresses__list,
.order-addresses__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 14px;
}

.page-content--customer .address-card {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: var(--shadow-sm);
}

.page-content--customer .address-card__container {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  gap: 12px;
  padding: 18px;
}

.page-content--customer .address-card__alias {
  margin: 0;
  color: var(--text);
  font-size: 16px;
  font-weight: 850;
}

.page-content--customer .address-card__content,
.page-content--customer .address-card__extra {
  color: #4d6077;
  font-size: 14px;
  line-height: 1.65;
}

.page-content--customer .address-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.page-content--customer .address-card__actions a,
.page-content--customer .address-card__edit,
.page-content--customer .address-card__delete {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 7px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: #34465d;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none !important;
}

.page-content--customer .address-card__actions a:hover,
.page-content--customer .address-card__edit:hover,
.page-content--customer .address-card__delete:hover {
  border-color: var(--brand);
  color: var(--brand-dark);
}

.address-card--add-address {
  display: grid;
  min-height: 180px;
  place-items: center;
  border: 1px dashed #adcdd6 !important;
  background: #f8fcfd !important;
  color: var(--brand-dark);
  text-align: center;
}

.address-card--add-address:hover {
  border-color: var(--brand) !important;
  background: var(--brand-soft) !important;
}

.address-card__add-text {
  font-size: 15px;
  font-weight: 850;
}

.order-history,
.grid-table {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: var(--shadow-sm);
}

.order-history__inner,
.grid-table__inner {
  min-width: 760px;
}

.order-history__header,
.order-history__row {
  display: grid;
  grid-template-columns: 1.2fr 0.9fr 0.9fr 1fr 1fr 0.75fr 1.45fr;
  align-items: center;
}

.grid-table__inner--2 .grid-table__header,
.grid-table__inner--2 .grid-table__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.grid-table__inner--4 .grid-table__header,
.grid-table__inner--4 .grid-table__row {
  display: grid;
  grid-template-columns: minmax(260px, 1.8fr) 0.8fr 0.8fr 0.9fr;
}

.grid-table__inner--5 .grid-table__header,
.grid-table__inner--5 .grid-table__row {
  display: grid;
  grid-template-columns: 1fr 1fr 1.1fr 0.9fr 1fr;
}

.grid-table__inner--6 .grid-table__header,
.grid-table__inner--6 .grid-table__row {
  display: grid;
  grid-template-columns: 0.45fr minmax(260px, 2fr) 0.75fr 0.75fr 0.85fr 0.95fr;
}

.grid-table__inner--7 .grid-table__header,
.grid-table__inner--7 .grid-table__row {
  display: grid;
  grid-template-columns: 1fr 1.3fr 0.7fr 0.85fr 0.85fr 0.9fr 1fr;
}

.order-history__header,
.grid-table__header {
  background: #f5f9fb;
}

.order-history__row,
.grid-table__row {
  border-top: 1px solid var(--line);
  background: #ffffff;
}

.order-history__row:hover,
.grid-table__row:hover {
  background: #fbfdfe;
}

.order-history__cell,
.grid-table__cell {
  min-width: 0;
  padding: 14px 13px;
  color: #34465d;
  font-size: 13px;
  line-height: 1.45;
}

.order-history__header .order-history__cell,
.grid-table__header .grid-table__cell {
  color: #5c6f86;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.order-history__cell a,
.grid-table__cell a {
  font-weight: 800;
  text-decoration: none !important;
}

.order-history__cell--actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.order-history__status,
.order-status__badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 999px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 850;
}

.grid-table__cell--center {
  text-align: center;
}

.grid-table__cell--right {
  text-align: right;
}

.grid-table__cell--label-value {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-weight: 800;
}

.grid-table__cell--label-value::before {
  content: attr(data-ps-label);
  color: #60738a;
  font-weight: 750;
}

.order-infos__summary,
.order-message-form,
.order-merchandise-return,
.order-return-reminder {
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: var(--shadow-sm);
}

.order-infos__summary p {
  margin-bottom: 9px;
  color: #42546b;
  font-size: 14px;
}

.order-infos__reference {
  color: var(--text) !important;
  font-weight: 850;
}

.order-infos__actions {
  margin-top: 16px;
}

.order-separator {
  margin: 24px 0;
  border-color: var(--line);
  opacity: 1;
}

.order-status .h3,
.order-addresses .h3,
.order-products .h3,
.order-messages .h3,
.order-message-form .h3,
.order-merchandise-return .h3 {
  margin-bottom: 14px;
  font-size: 20px;
  font-weight: 850;
}

.order-product__infos {
  display: flex;
  align-items: center;
  gap: 12px;
}

.order-product__image {
  display: block;
  flex: 0 0 70px;
  overflow: hidden;
  width: 70px;
  height: 70px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f7fafc;
}

.order-product__image a,
.order-product__image picture {
  display: block;
  height: 100%;
}

.order-product__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.order-product__content {
  display: grid;
  gap: 4px;
}

.order-product__name {
  color: var(--text);
  font-weight: 850;
}

.order-message__list {
  display: grid;
  gap: 12px;
}

.order-message {
  display: grid;
  grid-template-columns: minmax(160px, 220px) minmax(0, 1fr);
  gap: 16px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #ffffff;
}

.order-message__name {
  margin: 0 0 4px;
  color: var(--text);
  font-weight: 850;
}

.order-message__date {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.order-message__content {
  color: #3f4f63;
  font-size: 14px;
  line-height: 1.6;
}

.page-content--customer #customer-form,
.page-content--customer .js-address-form form,
.page-content--customer .order-message-form form,
.page-content--customer .js-order-return-form {
  max-width: 760px;
}

.page-content--customer #customer-form section,
.page-content--customer .js-address-form .form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
}

.page-content--customer #customer-form .form-group,
.page-content--customer #customer-form .form-floating,
.page-content--customer #customer-form [data-ps-ref="password-field"],
.page-content--customer .js-address-form .form-group,
.page-content--customer .js-address-form .form-floating {
  min-width: 0;
}

.page-content--customer #customer-form .form-check,
.page-content--customer #customer-form .custom-checkbox,
.page-content--customer #customer-form [class*="checkbox"],
.page-content--customer .js-address-form .form-check,
.page-content--customer .js-address-form .custom-checkbox,
.page-content--customer .js-address-form [class*="checkbox"] {
  grid-column: 1 / -1;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #f8fbfc;
}

.page-content--customer .form-label {
  color: var(--text);
  font-size: 13px;
  font-weight: 850;
}

.page-content--customer textarea.form-control {
  min-height: 120px;
}

.page-content--customer .buttons-wrapper {
  margin-top: 18px;
}

@media (max-width: 991px) {
  .account-menu--sidebar {
    position: static;
    margin-bottom: 18px;
  }

  .account-menu--sidebar .account-menu__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .page-content--customer {
    padding: 18px;
  }

  .account-menu--sidebar .account-menu__nav,
  .account-menu--main,
  .addresses__list,
  .order-addresses__list,
  .page-content--customer #customer-form section,
  .page-content--customer .js-address-form .form-fields {
    grid-template-columns: 1fr;
  }

  .order-history,
  .grid-table {
    overflow: visible;
  }

  .order-history__inner,
  .grid-table__inner {
    display: grid;
    min-width: 0;
    gap: 12px;
    padding: 12px;
  }

  .order-history__header,
  .grid-table__header {
    display: none !important;
  }

  .order-history__row,
  .grid-table__row,
  .grid-table__inner--2 .grid-table__row,
  .grid-table__inner--4 .grid-table__row,
  .grid-table__inner--5 .grid-table__row,
  .grid-table__inner--6 .grid-table__row,
  .grid-table__inner--7 .grid-table__row {
    display: grid;
    grid-template-columns: 1fr;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
  }

  .order-history__cell,
  .grid-table__cell {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 12px;
    border-top: 1px solid var(--line);
    text-align: right;
  }

  .order-history__cell:first-child,
  .grid-table__cell:first-child {
    border-top: 0;
  }

  .order-history__cell::before,
  .grid-table__cell::before {
    content: attr(data-ps-label);
    flex: 0 0 42%;
    color: #60738a;
    font-weight: 850;
    text-align: left;
  }

  .order-history__cell--actions {
    justify-content: flex-start;
  }

  .order-history__cell--actions::before,
  .grid-table__cell[aria-label]::before {
    content: "";
    display: none;
  }

  .order-product__infos {
    align-items: flex-start;
  }

  .order-product__image {
    flex-basis: 58px;
    width: 58px;
    height: 58px;
  }

  .grid-table__cell--label-value {
    grid-column: auto;
  }

  .order-message {
    grid-template-columns: 1fr;
  }
}

/* Footer refresh */
#footer.footer,
body > .footer {
  margin-top: 42px;
  background: transparent;
}

#footer .footer__before,
.footer__before {
  padding: 0;
  background: #eef6fb;
}

#footer .ps-emailsubscription,
#footer .email_subscription,
#footer .block_newsletter,
.footer__before .ps-emailsubscription,
.footer__before .email_subscription,
.footer__before .block_newsletter {
  max-width: 1240px;
  margin: 0 auto;
  padding: 26px 24px !important;
  border: 0;
  background: transparent !important;
}

#footer .ps-emailsubscription .row,
#footer .email_subscription form,
#footer .block_newsletter form {
  display: flex;
  align-items: center;
  gap: 12px;
}

#footer .ps-emailsubscription .h3,
#footer .email_subscription h4,
#footer .block_newsletter h4 {
  margin: 0 24px 0 0;
  color: var(--text);
  font-size: 22px;
  font-weight: 850;
  line-height: 1.2;
}

#footer .email_subscription h4,
#footer .block_newsletter h4 {
  flex: 0 0 280px;
}

#footer .ps-emailsubscription p,
#footer .email_subscription p,
#footer .block_newsletter p {
  margin: 6px 0 0;
  color: #52657c;
  font-size: 13px;
  line-height: 1.5;
}

#footer .ps-emailsubscription input[type="email"],
#footer .email_subscription input[type="email"],
#footer .block_newsletter input[type="email"] {
  flex: 1 1 320px;
  min-width: 180px;
  height: 44px;
  padding: 0 18px;
  border: 1px solid #cfe0e8;
  border-radius: 999px;
  background: #ffffff;
  color: var(--text);
  font-size: 14px;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.035);
}

#footer .ps-emailsubscription input[type="email"]:focus,
#footer .email_subscription input[type="email"]:focus,
#footer .block_newsletter input[type="email"]:focus {
  border-color: #91c6d0;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(15, 113, 132, 0.12);
}

#footer .ps-emailsubscription input[type="submit"],
#footer .email_subscription input[type="submit"],
#footer .block_newsletter input[type="submit"] {
  flex: 0 0 auto;
  width: auto;
  min-width: 108px;
  height: 44px;
  min-height: 44px;
  padding: 0 22px;
  border: 1px solid var(--brand);
  border-radius: 999px;
  background: var(--brand);
  color: #ffffff;
  font-size: 13px;
  font-weight: 850;
  line-height: 1;
  text-transform: none;
  box-shadow: 0 8px 18px rgba(15, 113, 132, 0.16);
}

#footer .ps-emailsubscription input[type="submit"]:hover,
#footer .email_subscription input[type="submit"]:hover,
#footer .block_newsletter input[type="submit"]:hover {
  border-color: var(--brand-dark);
  background: var(--brand-dark);
}

#footer .notification {
  flex-basis: 100%;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  font-size: 13px;
}

/* Newsletter module */
#footer .ps-emailsubscription,
.footer__before .ps-emailsubscription {
  max-width: 1180px;
  padding: 24px 18px !important;
}

#footer .ps-emailsubscription .container,
.footer__before .ps-emailsubscription .container {
  max-width: none;
  padding: 0;
}

#footer .ps-emailsubscription .row,
.footer__before .ps-emailsubscription .row {
  min-height: 86px;
  margin: 0;
  padding: 20px 22px;
  border: 1px solid #cfe0e8;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
}

#footer .ps-emailsubscription .h3,
.footer__before .ps-emailsubscription .h3 {
  max-width: 330px;
  margin: 0;
  padding: 0;
  color: var(--text);
  font-size: 21px;
  font-weight: 900;
  line-height: 1.18;
}

#footer .ps-emailsubscription form,
.footer__before .ps-emailsubscription form {
  min-width: 0;
  padding: 0;
}

#footer .ps-emailsubscription .d-flex,
.footer__before .ps-emailsubscription .d-flex {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 10px !important;
  margin: 0 0 8px !important;
}

#footer .ps-emailsubscription input[type="email"],
.footer__before .ps-emailsubscription input[type="email"] {
  width: 100%;
  min-width: 0;
  height: 48px;
  padding: 0 18px;
  border: 1px solid #c8dce5;
  border-radius: 999px;
  background: #f8fbfc;
  color: var(--text);
  font-size: 14px;
  font-weight: 650;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

#footer .ps-emailsubscription input[type="email"]::placeholder,
.footer__before .ps-emailsubscription input[type="email"]::placeholder {
  color: #708197;
  opacity: 1;
}

#footer .ps-emailsubscription input[type="email"]:focus,
.footer__before .ps-emailsubscription input[type="email"]:focus {
  border-color: #87bfcb;
  background: #ffffff;
  outline: 0;
  box-shadow: 0 0 0 4px rgba(15, 113, 132, 0.12);
}

#footer .ps-emailsubscription input[type="submit"],
.footer__before .ps-emailsubscription input[type="submit"] {
  height: 48px;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid var(--brand);
  border-radius: 999px;
  background: var(--brand);
  color: #ffffff;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  text-transform: none;
  box-shadow: 0 10px 20px rgba(15, 113, 132, 0.18);
}

#footer .ps-emailsubscription input[type="submit"]:hover,
.footer__before .ps-emailsubscription input[type="submit"]:hover {
  border-color: var(--brand-dark);
  background: var(--brand-dark);
  transform: translateY(-1px);
}

#footer .ps-emailsubscription input[type="submit"]:active,
.footer__before .ps-emailsubscription input[type="submit"]:active {
  transform: translateY(0);
}

#footer .ps-emailsubscription .fs-6,
#footer .ps-emailsubscription p,
.footer__before .ps-emailsubscription .fs-6,
.footer__before .ps-emailsubscription p {
  color: #52657c !important;
  font-size: 12.5px !important;
  line-height: 1.45;
}

#footer .ps-emailsubscription .alert,
.footer__before .ps-emailsubscription .alert,
.ps-emailsubscription--column .alert {
  margin-bottom: 10px !important;
  padding: 10px 38px 10px 12px;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.35;
}

.ps-emailsubscription--column {
  padding: 18px !important;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #ffffff !important;
  box-shadow: var(--shadow-sm);
}

.ps-emailsubscription--column .left-block__title {
  margin: 0 0 12px;
  color: var(--text);
  font-size: 17px;
  font-weight: 900;
  line-height: 1.25;
}

.ps-emailsubscription--column input[type="email"] {
  height: 44px;
  padding: 0 14px;
  border: 1px solid #c8dce5;
  border-radius: 12px;
  background: #f8fbfc;
  color: var(--text);
  font-weight: 650;
}

.ps-emailsubscription--column input[type="email"]:focus {
  border-color: #87bfcb;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(15, 113, 132, 0.12);
}

.ps-emailsubscription--column input[type="submit"] {
  height: 44px;
  min-height: 44px;
  border-radius: 12px;
  font-weight: 900;
}

.ps-emailsubscription--column .fs-6,
.ps-emailsubscription--column p:not(.left-block__title) {
  color: #52657c !important;
  font-size: 12.5px !important;
  line-height: 1.45;
}

#footer .footer__main,
.footer__main {
  padding: 38px 0 22px;
  background: #111827;
  color: #d6dee8;
}

#footer .footer__main .container {
  max-width: 1240px;
}

#footer .footer__main-top,
.footer__main-top {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px;
  margin-right: 0;
  margin-left: 0;
}

#footer .footer__main-top > *,
#footer .footer__main-bottom > *,
#footer .links.wrapper,
#footer .block-contact,
#footer #block_myaccount_infos,
#footer .ps-social-follow,
#footer .contact-rich {
  width: auto;
  max-width: none;
  padding-right: 0;
  padding-left: 0;
}

#footer h3,
#footer h4,
#footer .h3,
#footer .h4,
#footer .footer-block__title,
#footer .block-contact-title,
#footer #block_myaccount_infos h4,
#footer .ps-social-follow h4,
#footer .contact-rich h4 {
  position: relative;
  margin: 0 0 15px;
  padding: 0 0 10px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: 0;
  text-transform: none !important;
}

#footer h3::after,
#footer h4::after,
#footer .footer-block__title::after,
#footer .block-contact-title::after,
#footer #block_myaccount_infos h4::after,
#footer .ps-social-follow h4::after,
#footer .contact-rich h4::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 30px;
  height: 2px;
  border-radius: 999px;
  background: #2ea1b4;
}

#footer ul,
#footer .footer-block__list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#footer li {
  margin: 0;
}

#footer a,
#footer .footer-block__list a,
#footer .ps-contactinfo a,
#footer .ps-contactinfo__infos,
#footer .block-contact,
#footer .block-contact span,
#footer .contact-rich .data {
  color: #cbd7e3;
  font-size: 13px;
  line-height: 1.55;
  text-decoration: none;
}

#footer a:hover,
#footer .footer-block__list a:hover,
#footer .ps-contactinfo a:hover {
  color: #ffffff;
}

#footer .links a,
#footer #block_myaccount_infos a {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}

#footer .links a::before,
#footer #block_myaccount_infos li a::before {
  content: "";
  width: 5px;
  height: 5px;
  margin-right: 9px;
  border-radius: 999px;
  background: rgba(46, 161, 180, 0.55);
  transition: background var(--transition), transform var(--transition);
}

#footer .links a:hover::before,
#footer #block_myaccount_infos li a:hover::before {
  background: #67d2e4;
  transform: scale(1.18);
}

#footer .block-contact,
#footer .contact-rich {
  color: #cbd7e3;
  font-size: 13px;
  line-height: 1.65;
}

#footer .contact-rich .block {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: flex-start;
  margin: 0;
}

#footer .contact-rich hr {
  margin: 12px 0;
  border-color: rgba(203, 213, 225, 0.14);
  opacity: 1;
}

#footer .contact-rich .icon,
#footer .ps-contactinfo .material-icons {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 999px;
  background: rgba(46, 161, 180, 0.12);
  color: #67d2e4;
}

#footer .contact-rich .icon .material-icons {
  font-size: 18px;
}

#footer .ps-social-follow ul {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

#footer .ps-social-follow li a {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border: 1px solid rgba(203, 213, 225, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.035);
  color: #e5edf5;
  font-size: 12px;
  font-weight: 800;
}

#footer .ps-social-follow li a:hover {
  border-color: rgba(103, 210, 228, 0.45);
  background: rgba(46, 161, 180, 0.18);
}

#footer .footer__main-bottom {
  margin-top: 26px;
  margin-right: 0;
  margin-left: 0;
  padding-top: 22px;
  border-top: 1px solid rgba(203, 213, 225, 0.12);
}

#footer .copyright,
.footer__main .copyright {
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid rgba(203, 213, 225, 0.12);
  color: #8fa0b4;
  text-align: center;
}

#footer .copyright a,
.footer__main .copyright a {
  color: #9cacbe;
  font-size: 12px;
}

#footer .copyright a:hover,
.footer__main .copyright a:hover {
  color: #ffffff;
}

@media (max-width: 991px) {
  #footer .footer__main-top,
  .footer__main-top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #footer .email_subscription h4,
  #footer .block_newsletter h4 {
    flex-basis: 220px;
  }

  #footer .ps-emailsubscription .row,
  .footer__before .ps-emailsubscription .row {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: 14px;
  }

  #footer .ps-emailsubscription .h3,
  .footer__before .ps-emailsubscription .h3 {
    max-width: none;
  }
}

@media (max-width: 767px) {
  #footer.footer,
  body > .footer {
    margin-top: 30px;
  }

  #footer .ps-emailsubscription,
  #footer .email_subscription,
  #footer .block_newsletter,
  .footer__before .ps-emailsubscription,
  .footer__before .email_subscription,
  .footer__before .block_newsletter {
    padding: 22px 16px !important;
  }

  #footer .ps-emailsubscription .row,
  #footer .email_subscription form,
  #footer .block_newsletter form {
    display: grid;
    grid-template-columns: 1fr;
  }

  #footer .ps-emailsubscription .row,
  .footer__before .ps-emailsubscription .row {
    gap: 14px;
    min-height: 0;
    padding: 18px;
    border-radius: 16px;
  }

  #footer .ps-emailsubscription .h3,
  #footer .email_subscription h4,
  #footer .block_newsletter h4 {
    margin-right: 0;
    font-size: 20px;
  }

  #footer .ps-emailsubscription .h3,
  .footer__before .ps-emailsubscription .h3 {
    font-size: 19px;
  }

  #footer .ps-emailsubscription .d-flex,
  .footer__before .ps-emailsubscription .d-flex {
    grid-template-columns: 1fr;
  }

  .ps-emailsubscription .d-flex {
    display: grid !important;
    grid-template-columns: 1fr;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .ps-emailsubscription input[type="email"],
  .ps-emailsubscription input[type="email"].flex-grow-1 {
    flex: 0 0 auto !important;
    flex-grow: 0 !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    padding: 0 16px !important;
    border-radius: 14px !important;
    line-height: 46px !important;
  }

  .ps-emailsubscription input[type="submit"] {
    flex: 0 0 auto !important;
    height: 46px !important;
    min-height: 46px !important;
    border-radius: 14px !important;
  }

  #footer .ps-emailsubscription input[type="email"],
  #footer .email_subscription input[type="email"],
  #footer .block_newsletter input[type="email"],
  #footer .ps-emailsubscription input[type="submit"],
  #footer .email_subscription input[type="submit"],
  #footer .block_newsletter input[type="submit"] {
    width: 100%;
    min-width: 0;
  }

  #footer .footer__main,
  .footer__main {
    padding: 30px 0 18px;
  }

  #footer .footer__main-top,
  .footer__main-top {
    grid-template-columns: 1fr;
    gap: 0;
  }

  #footer .footer__main-top > *,
  #footer .links.wrapper,
  #footer .block-contact,
  #footer #block_myaccount_infos,
  #footer .ps-social-follow,
  #footer .contact-rich {
    padding: 17px 0;
    border-bottom: 1px solid rgba(203, 213, 225, 0.12);
  }

  #footer h3,
  #footer h4,
  #footer .h3,
  #footer .h4,
  #footer .footer-block__title,
  #footer .block-contact-title,
  #footer #block_myaccount_infos h4,
  #footer .ps-social-follow h4,
  #footer .contact-rich h4 {
    margin-bottom: 12px;
  }

  #footer .copyright,
  .footer__main .copyright {
    margin-top: 18px;
  }
}

/* Mobile home slider: remove empty bottom shelf */
@media (max-width: 767px) {
  .ps-imageslider,
  .homeslider-container {
    margin: 16px auto 24px !important;
    padding-inline: 12px !important;
  }

  #ps_imageslider {
    overflow: hidden !important;
    border-radius: 18px !important;
    background: transparent !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important;
  }

  #ps_imageslider .carousel-inner,
  #ps_imageslider .carousel-item,
  #ps_imageslider .carousel-item.active,
  .ps-imageslider__figure {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    border-radius: 18px !important;
    background: transparent !important;
  }

  #ps_imageslider .carousel-item > a,
  #ps_imageslider .carousel-item picture,
  .ps-imageslider__figure a,
  .ps-imageslider__figure picture {
    display: block !important;
    height: auto !important;
    background: transparent !important;
  }

  #ps_imageslider img,
  .ps-imageslider__figure img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: transparent !important;
  }

  #ps_imageslider .carousel-indicators {
    bottom: 10px !important;
    z-index: 4;
  }

  #ps_imageslider .carousel-indicators [data-bs-target] {
    background: rgba(255, 255, 255, 0.78) !important;
  }

  #ps_imageslider .carousel-indicators .active {
    background: var(--brand) !important;
  }

  .homeslider-container {
    overflow: hidden;
  }

  .homeslider,
  .homeslider li,
  .rslides,
  .rslides li {
    min-height: 0 !important;
    padding-bottom: 0 !important;
    background: transparent !important;
  }

  .homeslider img,
  .rslides img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }
}

/* CMS and content pages */
.page-content--cms,
.page-content--stores,
.page-content--general:has(.sitemap) {
  max-width: 1040px;
  margin: 0 auto 46px;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: var(--shadow);
}

.page-content--cms.rich-text {
  color: #3f4f63;
  font-size: 15px;
  line-height: 1.75;
}

.page-content--cms > *:first-child,
.page-content--general > *:first-child,
.page-content--stores > *:first-child {
  margin-top: 0;
}

.page-content--cms > *:last-child,
.page-content--general > *:last-child,
.page-content--stores > *:last-child {
  margin-bottom: 0;
}

.page-content--cms h2,
.page-content--cms h3,
.page-content--cms h4,
.page-content--cms .h2,
.page-content--cms .h3,
.page-content--cms .h4 {
  margin-top: 28px;
  margin-bottom: 12px;
  color: var(--text);
  font-weight: 850;
  line-height: 1.25;
}

.page-content--cms h2,
.page-content--cms .h2 {
  font-size: 24px;
}

.page-content--cms h3,
.page-content--cms .h3 {
  font-size: 20px;
}

.page-content--cms h4,
.page-content--cms .h4 {
  font-size: 17px;
}

.page-content--cms p,
.page-content--cms ul,
.page-content--cms ol {
  margin-bottom: 16px;
}

.page-content--cms ul,
.page-content--cms ol {
  padding-left: 1.25rem;
}

.page-content--cms li {
  margin-bottom: 7px;
}

.page-content--cms a {
  font-weight: 750;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.page-content--cms img,
.page-content--cms iframe,
.page-content--cms video {
  max-width: 100%;
  border-radius: var(--radius-sm);
}

.page-content--cms img {
  height: auto;
}

.page-content--cms figure {
  margin: 22px 0;
}

.page-content--cms figcaption {
  margin-top: 8px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.page-content--cms blockquote {
  margin: 22px 0;
  padding: 16px 18px;
  border-left: 4px solid var(--brand);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  background: #f3fafb;
  color: #31445b;
}

.page-content--cms table {
  display: block;
  width: 100%;
  margin: 22px 0;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #ffffff;
  border-collapse: separate;
  border-spacing: 0;
}

.page-content--cms th,
.page-content--cms td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  color: #34465d;
  font-size: 14px;
  vertical-align: top;
}

.page-content--cms th {
  background: #f5f9fb;
  color: var(--text);
  font-weight: 850;
}

.page-content--cms tr:last-child th,
.page-content--cms tr:last-child td {
  border-bottom: 0;
}

.page-content--cms .btn,
.page-content--general .btn,
.page-content--stores .btn {
  text-decoration: none;
}

.page-content--general > p {
  margin: 0 0 16px;
  color: #52657c;
  font-size: 14px;
  line-height: 1.65;
}

.page-content--general > ul:not([class]) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 12px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.page-content--general > ul:not([class]) li {
  margin: 0;
}

.page-content--general > ul:not([class]) a {
  display: flex;
  min-height: 58px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #ffffff;
  color: var(--text);
  font-weight: 800;
  text-decoration: none;
  box-shadow: var(--shadow-sm);
  transition: border-color var(--transition), background var(--transition), color var(--transition), transform var(--transition);
}

.page-content--general > ul:not([class]) a:hover {
  border-color: #b5d4dd;
  background: #f8fcfd;
  color: var(--brand-dark);
  transform: translateY(-1px);
}

.sitemap {
  gap: 16px 0;
}

.sitemap__block {
  margin-bottom: 0;
}

.sitemap__block h2 {
  position: relative;
  margin: 0 0 14px;
  padding-bottom: 10px;
  color: var(--text);
  font-size: 18px;
  font-weight: 850;
}

.sitemap__block h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 32px;
  height: 2px;
  border-radius: 999px;
  background: var(--brand);
}

.sitemap__list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sitemap__list--nested {
  margin-top: 8px;
  padding-left: 16px;
  border-left: 1px solid var(--line);
}

.sitemap__link {
  display: inline-flex;
  align-items: center;
  color: #34465d;
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
}

.sitemap__link::before {
  content: "";
  width: 5px;
  height: 5px;
  margin-right: 9px;
  border-radius: 999px;
  background: #9bc8d2;
}

.sitemap__link:hover {
  color: var(--brand-dark);
}

.store__list {
  display: grid;
  gap: 16px;
}

.store {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 20px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: var(--shadow-sm);
}

.store__image {
  overflow: hidden;
  min-height: 150px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #f7fafc;
}

.store__image picture,
.store__img {
  display: block;
  width: 100%;
  height: 100%;
}

.store__img {
  object-fit: cover;
}

.store__name {
  margin: 0 0 8px;
  color: var(--text);
  font-size: 18px;
  font-weight: 850;
}

.store__address {
  margin: 0;
  color: #4d6077;
  font-size: 14px;
  line-height: 1.6;
}

.store__toggle.accordion-button {
  min-height: 40px;
  padding: 10px 0;
  background: transparent;
  color: var(--brand-dark);
  font-size: 14px;
  font-weight: 850;
  box-shadow: none;
}

.store__toggle.accordion-button:not(.collapsed) {
  color: var(--brand);
}

.store__additional-infos .accordion-body,
.store .accordion-body {
  padding-right: 0;
  padding-left: 0;
}

.store__contacts {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.store__contact {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #40536a;
  font-size: 14px;
}

.store__contact .material-icons {
  color: var(--brand);
  font-size: 19px;
}

.store__opening-times {
  width: 100%;
  margin: 0;
}

.store__opening-times th,
.store__opening-times td {
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
  color: #40536a;
  font-size: 13px;
}

.store__opening-times th {
  width: 38%;
  color: var(--text);
  font-weight: 850;
}

@media (max-width: 767px) {
  .page-content--cms,
  .page-content--stores,
  .page-content--general:has(.sitemap) {
    margin-bottom: 32px;
    padding: 20px;
  }

  .page-content--cms.rich-text {
    font-size: 14px;
    line-height: 1.7;
  }

  .page-content--cms h2,
  .page-content--cms .h2 {
    font-size: 21px;
  }

  .page-content--cms h3,
  .page-content--cms .h3 {
    font-size: 18px;
  }

  .page-content--general > ul:not([class]) {
    grid-template-columns: 1fr;
  }

  .sitemap__block {
    padding-bottom: 16px;
  }

  .store {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 14px;
  }

  .store__image {
    min-height: 180px;
  }
}

/* Filters1 why + Google reviews modules */
.f1why,
.gr-widget {
  max-width: 1240px;
  margin: 28px auto;
}

.f1why__inner {
  max-width: none;
  padding-inline: 0;
}

.f1why__title {
  position: relative;
  margin: 0 0 16px;
  padding-bottom: 10px;
  color: var(--text);
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 850;
  line-height: 1.18;
  letter-spacing: 0;
}

.f1why__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 42px;
  height: 3px;
  border-radius: 999px;
  background: var(--brand);
}

.f1why__grid {
  gap: 12px;
}

.f1why__card {
  min-height: 126px;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: var(--shadow-sm);
  transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.f1why__card:hover {
  border-color: #b8d6df;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
  transform: translateY(-2px);
}

.f1why__icon {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border: 1px solid #cfe4eb;
  border-radius: 14px;
  background: var(--brand-soft);
  color: var(--brand);
}

.f1why__svg,
.f1why__icon svg {
  width: 24px;
  height: 24px;
  opacity: 1;
}

.f1why__cardTitle {
  margin-bottom: 6px;
  color: var(--text);
  font-size: 15px;
  font-weight: 850;
  line-height: 1.25;
}

.f1why__cardDesc,
.f1why__note {
  color: #51657d;
  font-size: 13px;
  line-height: 1.55;
}

.f1why__note {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #f8fbfc;
}

.gr-widget {
  --card-w: 330px;
  --gap: 14px;
  padding: 0;
}

.gr-header {
  gap: 14px;
  margin-bottom: 14px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: var(--shadow-sm);
}

.gr-brand {
  width: auto;
  min-width: 92px;
}

.gr-badge {
  max-width: 92px;
  width: auto;
  height: auto;
}

.gr-brand__txt,
.gr-src,
.gr-count,
.gr-score__of {
  color: var(--muted);
}

.gr-brand__txt {
  font-family: inherit;
  font-weight: 750;
  letter-spacing: 0;
}

.gr-metrics,
.gr-summary {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 10px;
  color: var(--text);
}

.gr-score {
  display: inline-flex;
  align-items: baseline;
}

.gr-score__num {
  color: var(--brand);
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
}

.gr-score__of {
  margin-left: 4px;
  font-weight: 800;
}

.gr-count {
  font-size: 13px;
  font-weight: 750;
}

.gr-sep {
  width: 1px;
  height: 22px;
  background: var(--line);
}

.gr-link,
.gr-linkbtn {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  padding: 0 16px;
  border: 1px solid #b6d5de;
  border-radius: 999px;
  background: var(--brand-soft);
  color: var(--brand-dark);
  font-size: 13px;
  font-weight: 850;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition);
}

.gr-link:hover,
.gr-linkbtn:hover {
  border-color: var(--brand);
  background: var(--brand);
  color: #ffffff;
  transform: translateY(-1px);
}

.gr-viewport {
  overflow: hidden;
  padding: 2px 2px 8px;
}

.gr-track {
  gap: var(--gap);
}

.gr-grid {
  gap: 14px;
}

.gr-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: var(--shadow-sm);
  color: var(--text);
}

.gr-track .gr-card {
  flex-basis: var(--card-w);
}

.gr-card:hover {
  border-color: #b8d6df;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

.gr-text {
  display: -webkit-box;
  min-height: 72px;
  margin: 10px 0 14px;
  overflow: hidden;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  color: #34465d;
  font-size: 14px;
  line-height: 1.55;
}

.gr-author {
  gap: 10px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.gr-author img {
  width: 34px;
  height: 34px;
  border: 1px solid var(--line);
  border-radius: 999px;
  object-fit: cover;
}

.gr-name {
  color: var(--text);
  font-size: 13px;
  font-weight: 850;
}

.gr-stars {
  display: inline-flex !important;
  align-items: center;
  gap: 2px;
  color: #f5a623;
  font-size: 0 !important;
  letter-spacing: 0;
  line-height: 1;
}

.gr-star {
  display: inline-flex !important;
  width: auto !important;
  height: auto !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  background: transparent !important;
  color: #d7e1e7;
  font-size: 18px !important;
  line-height: 1 !important;
  opacity: 1 !important;
  -webkit-mask: none !important;
  mask: none !important;
}

.gr-star.is-full {
  color: #f5a623;
}

.gr-controls,
.gr-pager {
  justify-content: center;
  gap: 10px;
  margin-top: 14px;
}

.gr-nav,
.gr-pg-btn {
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--text);
  box-shadow: var(--shadow-sm);
  transition: background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition), box-shadow var(--transition);
}

.gr-nav:hover,
.gr-pg-btn:hover {
  border-color: var(--brand);
  background: var(--brand);
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(15, 113, 132, 0.2);
  transform: translateY(-1px);
}

.gr-nav:disabled,
.gr-pg-btn.is-disabled {
  opacity: 0.45;
  pointer-events: none;
}

.gr-pg-track {
  max-width: 260px;
  height: 7px;
  border-radius: 999px;
  background: #dce8ee;
}

.gr-pg-fill {
  border-radius: inherit;
  background: var(--brand);
}

@media (max-width: 991px) {
  .f1why,
  .gr-widget {
    width: calc(100% - 32px);
    margin: 22px auto;
  }

  .f1why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .f1why,
  .gr-widget {
    width: calc(100% - 24px);
    max-width: none;
    margin: 18px auto 24px;
  }

  .f1why__inner {
    padding-inline: 0;
  }

  .f1why__title {
    margin-bottom: 12px;
    font-size: 20px;
    line-height: 1.22;
  }

  .f1why__grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .f1why__card {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    min-height: 0;
    padding: 14px;
    border-radius: 14px;
  }

  .f1why__icon {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    border-radius: 12px;
  }

  .f1why__svg,
  .f1why__icon svg {
    width: 22px;
    height: 22px;
  }

  .f1why__cardTitle {
    margin-bottom: 4px;
    font-size: 14px;
  }

  .f1why__cardDesc,
  .f1why__note {
    font-size: 12.5px;
    line-height: 1.45;
  }

  .f1why__note {
    margin-top: 10px;
    padding: 10px 12px;
  }

  .gr-widget {
    --card-w: calc(100vw - 48px);
    --gap: 10px;
    overflow: hidden;
  }

  .gr-header {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px;
    border-radius: 14px;
    text-align: center;
  }

  .gr-brand {
    min-width: 0;
    justify-content: center;
  }

  .gr-badge {
    max-width: 82px;
  }

  .gr-metrics,
  .gr-summary {
    flex: 1 1 100%;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
  }

  .gr-score__num {
    font-size: 26px;
  }

  .gr-sep {
    display: none;
  }

  .gr-count {
    flex-basis: 100%;
    text-align: center;
  }

  .gr-link,
  .gr-linkbtn {
    width: 100%;
    min-height: 38px;
    margin-left: 0;
  }

  .gr-viewport {
    margin-inline: -2px;
    padding-bottom: 6px;
  }

  .gr-track {
    gap: 10px;
  }

  .gr-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .gr-card {
    padding: 14px;
    border-radius: 14px;
  }

  .gr-track .gr-card {
    flex-basis: var(--card-w);
  }

  .gr-text {
    min-height: auto;
    -webkit-line-clamp: 5;
    font-size: 13px;
    line-height: 1.5;
  }

  .gr-author {
    margin-top: 10px;
    padding-top: 10px;
  }

  .gr-controls {
    display: flex !important;
  }

  .gr-controls,
  .gr-pager {
    margin-top: 10px;
  }

  .gr-nav,
  .gr-pg-btn {
    width: 38px;
    height: 38px;
  }
}

@media (max-width: 380px) {
  .f1why,
  .gr-widget {
    width: calc(100% - 20px);
  }

  .f1why__card {
    grid-template-columns: 38px minmax(0, 1fr);
    padding: 12px;
  }

  .f1why__icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .gr-widget {
    --card-w: calc(100vw - 40px);
  }

  .gr-header {
    padding: 12px;
  }
}

/* Hummingbird footer copyright and trust strip */
#footer .copyright {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: #cbd5e1;
  text-align: center;
}

#footer .payment-security-section {
  margin-bottom: 24px;
}

#footer .payment-security-content {
  display: grid;
  gap: 16px;
  padding: 16px;
  color: #cbd5e1;
  text-align: left;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
}

#footer .pss__col {
  min-width: 0;
}

#footer .pss__title {
  margin: 0 0 12px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.06em;
}

#footer .pss__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#footer .pss__logo {
  display: block;
  width: auto;
  max-width: 120px;
  height: 44px;
  padding: 7px 10px;
  object-fit: contain;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 6px;
}

#footer .pss__note {
  padding-top: 4px;
}

#footer .pss__note-text {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #cbd5e1;
  font-size: 13px;
  line-height: 1.45;
}

#footer .pss__icon {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  object-fit: contain;
}

#footer .footer-copyright {
  margin: 0;
  color: #94a3b8;
  font-size: 13px;
  line-height: 1.5;
}

#footer .footer-copyright__inner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  max-width: 100%;
}

#footer .footer-copyright__logo {
  flex: 0 0 auto;
  width: 42px;
  height: auto;
  object-fit: contain;
}

@media (min-width: 768px) {
  #footer .copyright {
    margin-top: 40px;
    padding-top: 32px;
  }

  #footer .payment-security-content {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
    align-items: start;
    gap: 20px;
    padding: 20px;
  }

  #footer .pss__note {
    grid-column: 1 / -1;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }
}

@media (min-width: 992px) {
  #footer .payment-security-content {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.75fr) minmax(256px, 1fr);
    align-items: center;
  }

  #footer .pss__note {
    grid-column: auto;
    padding-top: 0;
    padding-left: 20px;
    border-top: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
  }
}

@media (max-width: 575px) {
  #footer .payment-security-content {
    text-align: center;
  }

  #footer .pss__grid,
  #footer .pss__note-text,
  #footer .footer-copyright__inner {
    justify-content: center;
  }

  #footer .pss__note-text,
  #footer .footer-copyright__inner {
    flex-wrap: wrap;
  }
}

/* Mobile listing fix: give product cards full width and enough room for content */
@media (max-width: 575.98px) {
  #js-product-list .products,
  #products .products,
  .products {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .product-miniature {
    min-width: 0 !important;
  }

  .product-miniature .product-miniature__inner {
    min-height: 0 !important;
  }

  .product-miniature .product-miniature__top {
    padding: 12px 12px 0 !important;
  }

  .product-miniature .product-miniature__image-link {
    height: 190px !important;
    padding: 14px !important;
  }

  .product-miniature .product-miniature__image {
    max-width: 160px !important;
    max-height: 160px !important;
  }

  .product-miniature .product-miniature__bottom {
    padding: 14px 14px 16px !important;
  }

  .product-miniature .product-miniature__infos {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .product-miniature .product-miniature__title {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .product-miniature .product-miniature__variants {
    margin: 0 !important;
  }

  .product-miniature .product-miniature__variant-select {
    min-height: 42px !important;
    height: 42px !important;
    font-size: 14px !important;
  }

  .product-miniature .product-miniature__prices {
    min-height: 0 !important;
    margin: 0 !important;
  }

  .product-miniature .product-miniature__price {
    font-size: 20px !important;
    line-height: 1.15 !important;
  }

  .product-miniature [data-ps-ref='product-list-review'] {
    display: none !important;
    min-height: 0 !important;
  }

  .product-miniature [data-ps-ref='product-list-review'].d-flex {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    align-items: center !important;
  }

  .product-miniature .product-miniature__actions {
    margin-top: 14px !important;
  }

  .product-miniature .product-miniature__form {
    grid-template-columns: 146px 56px !important;
    gap: 10px !important;
    justify-content: start !important;
  }

  .product-miniature .quantity-button__group.input-group,
  .product-miniature .quantity-button__group .btn,
  .product-miniature .quantity-button__group .form-control,
  .product-miniature .product-miniature__add {
    height: 46px !important;
    min-height: 46px !important;
  }

  .product-miniature .quantity-button__group.input-group {
    width: 146px !important;
    max-width: 146px !important;
    grid-template-columns: 40px 66px 40px !important;
  }

  .product-miniature .quantity-button__group .btn {
    width: 40px !important;
  }

  .product-miniature .quantity-button__group .form-control {
    width: 66px !important;
    min-width: 66px !important;
    flex-basis: 66px !important;
    line-height: 46px !important;
  }

  .product-miniature .product-miniature__add {
    width: 56px !important;
    min-width: 56px !important;
  }
}

@media (max-width: 360px) {
  .product-miniature .product-miniature__form {
    grid-template-columns: 132px 52px !important;
    gap: 8px !important;
  }

  .product-miniature .quantity-button__group.input-group {
    width: 132px !important;
    max-width: 132px !important;
    grid-template-columns: 36px 60px 36px !important;
  }

  .product-miniature .quantity-button__group .btn {
    width: 36px !important;
  }

  .product-miniature .quantity-button__group .form-control {
    width: 60px !important;
    min-width: 60px !important;
    flex-basis: 60px !important;
  }

  .product-miniature .product-miniature__add {
    width: 52px !important;
    min-width: 52px !important;
  }
}

/* Mobile listing polish: subcategories, sorting/filtering, active filters, pagination */
.subcategory {
  margin-bottom: 22px;
}

.subcategory__list {
  display: grid;
  gap: 10px;
}

.subcategory__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #ffffff;
  color: var(--text);
  font-weight: 800;
  text-decoration: none;
  box-shadow: var(--shadow-sm);
  transition: border-color var(--transition), background var(--transition), color var(--transition), transform var(--transition);
}

.subcategory__link:hover {
  border-color: #b9d6de;
  background: #f8fbfc;
  color: var(--brand-dark);
  transform: translateY(-1px);
}

.subcategory__name {
  color: inherit;
}

.active_filters {
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: var(--shadow-sm);
}

.active_filters ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.active_filters .filter-block {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--brand-soft);
  color: var(--brand-dark);
  font-size: 13px;
  font-weight: 750;
}

.active_filters .filter-block a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  color: inherit;
  text-decoration: none;
}

.products__sort-dropdown {
  position: relative;
}

.products__sort-dropdown-button {
  min-height: 46px;
  padding: 0 18px;
  border-color: var(--line) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--text) !important;
  font-size: 14px;
  font-weight: 850;
  box-shadow: none !important;
}

.products__sort-dropdown-button:hover,
.products__sort-dropdown-button:focus,
.products__sort-dropdown-button.show {
  border-color: #9fc9d3 !important;
  background: #ffffff !important;
  color: var(--brand-dark) !important;
  box-shadow: 0 0 0 3px rgba(15, 113, 132, 0.1) !important;
}

.products__sort-dropdown .dropdown-menu {
  min-width: 280px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.12);
}

.products__sort-dropdown .dropdown-item {
  padding: 12px 14px;
  border-radius: 12px;
  color: #31455c;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.35;
  white-space: normal;
}

.products__sort-dropdown .dropdown-item.current,
.products__sort-dropdown .dropdown-item.active {
  background: var(--brand-soft);
  color: #0b5f71;
}

.products__pagination {
  margin-top: 20px;
}

.pagination__container {
  display: grid;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: var(--shadow-sm);
}

.pagination__number {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.pagination__nav nav {
  width: 100%;
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pagination .page-item {
  margin: 0;
}

.pagination .page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 999px !important;
  background: #ffffff;
  color: #36506b;
  font-size: 14px;
  font-weight: 800;
  box-shadow: none;
}

.pagination .page-item.active .page-link {
  border-color: var(--brand);
  background: var(--brand);
  color: #ffffff;
}

.pagination .page-item.disabled .page-link,
.pagination .page-link.disabled,
.pagination .page-link[disabled] {
  opacity: 0.45;
}

.pagination .page-link.previous,
.pagination .page-link.next {
  gap: 6px;
  padding-inline: 16px;
}

@media (max-width: 767px) {
  .subcategory {
    margin-bottom: 18px;
  }

  .subcategory__list {
    gap: 8px;
  }

  .subcategory__link {
    padding: 13px 14px;
    border-radius: 12px;
    font-size: 14px;
  }

  .products__selection {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 14px;
    border-radius: 18px;
  }

  .products__count {
    order: 2;
    font-size: 13px;
  }

  .products__sort {
    order: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: stretch;
  }

  .products__sort-dropdown {
    min-width: 0;
  }

  .products__sort-dropdown-button {
    width: 100%;
    justify-content: space-between;
    padding-inline: 16px;
    font-size: 15px;
    text-align: left;
  }

  .products__sort-dropdown .dropdown-menu {
    position: absolute !important;
    inset: calc(100% + 8px) 0 auto 0 !important;
    min-width: 0;
    width: 100%;
    max-width: none;
    transform: none !important;
  }

  .products__filter-button {
    min-width: 48px;
    width: 48px;
    min-height: 46px;
    padding: 0;
    border-radius: 50% !important;
  }

  .products__filter-button i {
    margin: 0;
  }

  .products__filter-button {
    font-size: 0;
  }

  .active_filters {
    padding: 12px 14px;
    border-radius: 14px;
  }

  .active_filters .filter-block {
    max-width: 100%;
    min-height: 32px;
    font-size: 12px;
  }

  .pagination__container {
    padding: 14px;
    border-radius: 16px;
  }

  .pagination {
    gap: 8px 6px;
    justify-content: center;
  }

  .pagination .page-link {
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    font-size: 13px;
  }

  .pagination .page-link.previous,
  .pagination .page-link.next {
    padding-inline: 14px;
  }

  .pagination .page-link.previous span,
  .pagination .page-link.next span {
    display: none !important;
  }
}

@media (max-width: 575.98px) {
  .products__sort {
    grid-template-columns: 1fr;
  }

  .products__filter-button {
    width: 100%;
    min-width: 0;
    padding: 0 16px;
    border-radius: 999px !important;
    font-size: 14px;
  }

  .products__filter-button i {
    margin-right: 8px;
  }

  .products__selection {
    padding: 12px;
  }

  .pagination {
    justify-content: stretch;
  }

  .pagination .page-item {
    flex: 0 0 auto;
  }

  .pagination .page-item:first-child,
  .pagination .page-item:last-child {
    flex: 1 1 calc(50% - 4px);
  }

  .pagination .page-item:first-child .page-link,
  .pagination .page-item:last-child .page-link {
    width: 100%;
  }
}

/* Category tree module refresh */
.ps-categorytree.category-tree.left-block {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.ps-categorytree.category-tree.left-block > .left-block__title {
  margin: 0 0 12px;
  color: var(--text);
  font-size: 19px;
  font-weight: 850;
  line-height: 1.2;
}

.ps-categorytree.category-tree.left-block > .left-block__title .left-block__title-link {
  color: inherit;
  text-decoration: none;
}

.ps-categorytree .accordion--category {
  display: grid;
  gap: 10px;
}

.ps-categorytree .category-tree__child,
.ps-categorytree .category-tree__list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ps-categorytree .category-tree__item {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: var(--shadow-sm);
}

.ps-categorytree .category-tree__item.active {
  border-color: #b8d6de;
}

.ps-categorytree .category-tree__item-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 0;
}

.ps-categorytree .category-tree__item-header.nosplit:not(.parent) {
  grid-template-columns: 1fr;
}

.ps-categorytree .category-tree__item-link {
  display: block;
  padding: 15px 16px;
  color: var(--text);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
}

.ps-categorytree .category-tree__item.active > .category-tree__item-header > .category-tree__item-link,
.ps-categorytree .category-tree__item-link:hover {
  color: var(--brand-dark);
}

.ps-categorytree .accordion-button {
  width: 46px;
  min-width: 46px;
  height: 46px;
  margin-right: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent !important;
  box-shadow: none !important;
}

.ps-categorytree .accordion-button::after {
  width: 18px;
  height: 18px;
  background-size: 18px;
}

.ps-categorytree .accordion-collapse {
  border-top: 1px solid #edf3f6;
}

.ps-categorytree .accordion-body {
  padding: 8px;
  background: #fbfdfe;
}

.ps-categorytree .category-tree__list[data-depth="1"] {
  gap: 6px;
}

.ps-categorytree .category-tree__list[data-depth="1"] .category-tree__item {
  border: 0;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: none;
}

.ps-categorytree .category-tree__list[data-depth="1"] .category-tree__item-link {
  padding: 12px 14px;
  color: #175e75;
  font-size: 14px;
  font-weight: 750;
}

.ps-categorytree .category-tree__list[data-depth="1"] .category-tree__item-link:hover {
  background: var(--brand-soft);
  color: var(--brand-dark);
}

@media (max-width: 767px) {
  .ps-categorytree.category-tree.left-block > .left-block__title {
    margin-bottom: 10px;
    font-size: 18px;
  }

  .ps-categorytree .category-tree__child,
  .ps-categorytree .category-tree__list,
  .ps-categorytree .accordion--category {
    gap: 8px;
  }

  .ps-categorytree .category-tree__item {
    border-radius: 14px;
  }

  .ps-categorytree .category-tree__item-link {
    padding: 14px;
    font-size: 14px;
  }

  .ps-categorytree .accordion-button {
    width: 42px;
    min-width: 42px;
    height: 42px;
    margin-right: 6px;
  }

  .ps-categorytree .accordion-body {
    padding: 6px;
  }

  .ps-categorytree .category-tree__list[data-depth="1"] .category-tree__item-link {
    padding: 11px 12px;
    font-size: 13.5px;
  }
}

/* Faceted search sidebar */
#search-filters.js-search-filters {
  margin-top: 18px;
  color: var(--text);
}

#search-filters > .h6,
#search-filters > p.h6 {
  margin: 0 0 12px;
  color: var(--text);
  font-size: 18px;
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none !important;
}

#search-filters .clear-all-wrapper {
  margin: 0 0 10px;
}

#search-filters .js-search-filters-clear-all {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  border: 1px solid #d7e5ea;
  border-radius: 8px;
  background: #ffffff;
  color: #087b8f;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

#search-filters .facet {
  overflow: hidden;
  margin: 0 0 10px;
  padding: 0;
  border: 1px solid #aacfd9;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: var(--shadow-sm);
}

#search-filters .facet > .facet-title {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 13px 14px;
  color: #075d70;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: 0;
  background: #ffffff;
  border-bottom: 1px solid #edf4f6;
}

#search-filters .facet > .facet-title::after {
  content: "";
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  border-top: 2px solid #273844;
  border-left: 2px solid #273844;
  transform: translateY(2px) rotate(45deg);
}

#search-filters .facet > .title {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 13px 14px;
  border-bottom: 1px solid #edf4f6;
  background: #ffffff;
  cursor: pointer;
}

#search-filters .facet > .title .facet-title {
  display: block !important;
  margin: 0;
  padding: 0;
  color: #075d70;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: 0;
}

#search-filters .facet > .title .facet-title::after {
  content: none !important;
}

#search-filters .facet > .title .collapse-icons {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  padding: 0;
  color: #273844;
}

#search-filters .facet > .title .collapse-icons .material-icons {
  font-size: 22px;
  line-height: 1;
}

#search-filters .facet ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 8px 10px 10px;
  list-style: none;
  background: #f8fcfd;
}

#search-filters .facet li {
  margin: 0;
  padding: 0;
}

#search-filters .facet-label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  padding: 9px 10px;
  border: 1px solid #f2f6f8;
  border-radius: 9px;
  background: #ffffff;
  color: var(--text);
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(8, 77, 96, 0.03);
  transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

#search-filters .facet-label:hover,
#search-filters .facet-label.active {
  background: #f5fbfd;
  border-color: #d6e8ed;
}

#search-filters .custom-checkbox,
#search-filters .custom-radio {
  flex: 0 0 auto;
  margin-top: 1px;
}

#search-filters .custom-checkbox input,
#search-filters .custom-radio input {
  width: 15px;
  height: 15px;
  margin: 0;
  border-color: #c8dce4;
}

#search-filters .search-link {
  min-width: 0;
  color: #075d70;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.28;
  text-decoration: none;
  overflow-wrap: anywhere;
}

#search-filters .facet-label:hover .search-link,
#search-filters .search-link:hover,
#search-filters .facet-label.active .search-link {
  color: #075d70;
}

#search-filters .facet-label.active .search-link {
  font-weight: 850;
}

#search-filters .magnitude {
  color: #657884;
  font-size: 0.92em;
  font-weight: 700;
}

#search-filters .facet-dropdown .select-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 36px;
  padding: 8px 10px;
  border: 1px solid #d7e5ea;
  border-radius: 10px;
  background: #ffffff;
  color: #0b2438;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
}

#search-filters .facet-dropdown .dropdown-menu {
  width: 100%;
  padding: 6px;
  border: 1px solid #d7e5ea;
  border-radius: 10px;
  box-shadow: var(--shadow-sm);
}

#search-filters .facet-dropdown .dropdown-item {
  border-radius: 7px;
  color: #0b2438;
  font-size: 13px;
  font-weight: 650;
  white-space: normal;
}
