@font-face {
  font-family: "Manrope InfoChen";
  src: url("/tienda/modules/ichome/views/assets/manrope-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

:root {
  --ic-bg: #f5f7fa;
  --ic-surface: #ffffff;
  --ic-surface-soft: #eef3f9;
  --ic-text: #16243a;
  --ic-muted: #637083;
  --ic-brand: #153f8f;
  --ic-brand-dark: #0b2b69;
  --ic-brand-light: #eaf1ff;
  --ic-border: #dce3ec;
  --ic-whatsapp: #1c9b5f;
  --ic-whatsapp-dark: #147a49;
  --ic-radius-sm: 0.65rem;
  --ic-radius: 1rem;
  --ic-radius-lg: 1.35rem;
  --ic-shadow: 0 1rem 2.75rem rgba(22, 44, 79, 0.09);
  --ic-container: 90rem;
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--ic-text);
  background: var(--ic-bg);
  font-family: "Manrope InfoChen", "Microsoft YaHei UI", "Segoe UI", sans-serif;
  text-rendering: optimizeLegibility;
  scrollbar-color: var(--ic-brand) var(--ic-surface-soft);
}

::selection {
  color: #071a32;
  background: #8fc0ff;
}

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

.container,
.container-md,
.container-fluid {
  max-width: var(--ic-container);
}

/* Header */
#header.header {
  position: sticky;
  top: 0;
  z-index: 1030;
  border-bottom: 1px solid var(--ic-border);
  background: #fff;
  box-shadow: 0 0.35rem 1.4rem rgba(23, 45, 78, 0.05);
}

#header .header-top {
  min-height: 2.5rem;
  border: 0;
  background: var(--ic-brand-dark);
  color: #fff;
}

#header .header-top a,
#header .header-top svg,
#header .header-top .material-icons {
  color: #fff !important;
}

#header .header-top__left,
#header .header-top__right {
  min-height: 2.5rem;
  display: flex;
  align-items: center;
}

#header .header-top__left {
  width: auto;
  max-width: none;
  flex: 1 1 auto;
}

#header .header-top__right {
  width: auto;
  max-width: none;
  flex: 0 0 auto;
  justify-content: flex-end;
}

.ic-header-contact {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 1rem;
  color: #fff;
}

.ic-header-contact a,
.ic-header-contact span {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 0.35rem;
  color: #fff !important;
  font-size: 0.74rem;
  font-weight: 650;
  line-height: 1.2;
  text-decoration: none !important;
  white-space: nowrap;
}

.ic-header-contact a:hover,
.ic-header-contact a:focus-visible {
  text-decoration: underline !important;
}

.ic-header-contact img {
  width: 1rem;
  height: 1rem;
  filter: brightness(0) invert(1);
}

.ic-header-contact .material-icons {
  font-size: 1rem;
}

.ic-header-contact-status {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
  padding-left: 1rem;
  color: #dfe9fa !important;
}

.ic-header-actions {
  display: inline-flex;
  align-items: stretch;
  gap: 0.2rem;
  margin-right: 0.35rem;
}

.ic-header-action {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  justify-content: center;
  gap: 0.32rem;
  border: 0;
  border-radius: 0.5rem;
  padding: 0.35rem 0.52rem;
  background: transparent;
  color: #fff !important;
  font-size: 0.72rem;
  font-weight: 760;
  line-height: 1;
  text-decoration: none !important;
  cursor: pointer;
}

.ic-header-action:hover,
.ic-header-action:focus-visible,
.ic-header-language[open] > .ic-header-action {
  background: rgba(255, 255, 255, 0.12);
  outline: 0;
}

.ic-header-action:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.86);
}

.ic-header-action .material-icons {
  font-size: 1.15rem;
}

.ic-header-language {
  position: relative;
}

.ic-header-language > summary {
  list-style: none;
}

.ic-header-language > summary::-webkit-details-marker {
  display: none;
}

.ic-header-language > summary .material-icons:last-child {
  font-size: 0.9rem;
  transition: transform 160ms ease;
}

.ic-header-language[open] > summary .material-icons:last-child {
  transform: rotate(180deg);
}

.ic-header-language-menu {
  position: absolute;
  z-index: 1090;
  top: calc(100% + 0.45rem);
  right: 0;
  display: grid;
  width: min(19rem, calc(100vw - 1.5rem));
  overflow: hidden;
  border: 1px solid #d6e0ec;
  border-radius: 0.8rem;
  padding: 0.35rem;
  background: #fff;
  color: #18304f;
  box-shadow: 0 1rem 2.6rem rgba(3, 19, 48, 0.2);
}

.ic-header-language-menu > * {
  display: grid;
  min-height: 2.8rem;
  grid-template-columns: 2.6rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.45rem;
  border: 0;
  border-radius: 0.58rem;
  padding: 0.5rem 0.62rem;
  background: #fff;
  color: #18304f;
  text-align: left;
}

.ic-header-language-menu > button,
.ic-header-language-menu > a {
  cursor: pointer;
}

.ic-header-language-menu > button:hover,
.ic-header-language-menu > button:focus-visible,
.ic-header-language-menu > a:hover,
.ic-header-language-menu > a:focus-visible {
  background: #edf3fc;
  outline: 2px solid #8eaddb;
  outline-offset: -2px;
}

.ic-header-language-menu .is-current {
  background: #eaf1ff;
  color: #123f8c;
}

.ic-header-language-menu strong {
  font-size: 0.74rem;
  font-weight: 850;
}

.ic-header-language-menu span {
  font-size: 0.78rem;
  font-weight: 700;
}

.ic-header-language-menu small {
  color: #6c7b8f;
  font-size: 0.62rem;
  font-weight: 650;
}

.ic-header-cart-copy {
  display: grid;
  gap: 0.08rem;
  text-align: left;
}

.ic-header-cart-copy strong {
  color: #fff;
  font-size: 0.72rem;
  line-height: 1;
}

.ic-header-cart-copy small {
  color: #cbd9ef;
  font-size: 0.55rem;
  font-weight: 600;
  line-height: 1;
}

.ic-mobile-contact {
  display: none;
}

#header .header-bottom {
  background: #fff;
}

#header .header-bottom__container {
  padding-top: 0.8rem;
  padding-bottom: 0;
}

#header .header-bottom__row {
  align-items: center;
}

#header .header-bottom__logo img,
#header .logo {
  width: 3.25rem !important;
  height: 3.25rem !important;
  aspect-ratio: 1 / 1;
  max-width: 3.25rem;
  max-height: 3.25rem;
  border-radius: 50%;
  background: #050b14;
  object-fit: cover;
  box-shadow: 0 0.35rem 1rem rgba(24, 101, 202, 0.18);
}

#_desktop_ps_searchbar {
  min-width: 0;
}

#_desktop_ps_searchbar .ps-searchbar,
#_desktop_ps_searchbar form,
#_desktop_ps_searchbar .input-group {
  width: 100%;
}

#_desktop_ps_searchbar .js-search-widget {
  position: relative;
}

#_desktop_ps_searchbar .form-control,
#_desktop_ps_searchbar input[type="search"] {
  height: 3rem;
  border: 1px solid #cfd9e6;
  border-radius: 999px 0 0 999px;
  background: #fff;
  font-size: 0.95rem;
}

#_desktop_ps_searchbar button {
  min-width: 3.25rem;
  border-radius: 0 999px 999px 0;
  background: var(--ic-brand);
  color: #fff;
}

.ic-search-shortcuts {
  position: absolute;
  z-index: 1080;
  top: calc(100% + 0.55rem);
  right: 0;
  left: 0;
  border: 1px solid var(--ic-border);
  border-radius: 0.85rem;
  padding: 0.9rem;
  background: #fff;
  box-shadow: 0 1.2rem 3rem rgba(7, 27, 66, 0.16);
}

.ic-search-shortcuts[hidden] {
  display: none;
}

.ic-search-shortcuts-title {
  margin: 0 0 0.65rem;
  color: var(--ic-muted);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ic-search-shortcuts-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.ic-search-shortcut {
  display: inline-flex;
  min-height: 2.35rem;
  align-items: center;
  gap: 0.35rem;
  border-radius: 999px;
  padding: 0.45rem 0.7rem;
  background: var(--ic-surface-soft);
  color: var(--ic-brand-dark) !important;
  font-size: 0.74rem;
  font-weight: 750;
  text-decoration: none !important;
}

.ic-search-shortcut:hover,
.ic-search-shortcut:focus-visible {
  outline: 2px solid #9fb8e7;
  outline-offset: 1px;
  background: var(--ic-brand-light);
}

.ic-search-shortcut .material-icons {
  font-size: 0.95rem;
}

#header .ps-mainmenu__tree {
  margin: 0;
}

#header .ps-mainmenu__tree-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #203653;
  font-size: 0.86rem;
  font-weight: 650;
  white-space: nowrap;
}

#header .ic-menu-thumb {
  flex: 0 0 auto;
  border-radius: 0.28rem;
  background: #fff;
  object-fit: contain;
}

#header .ic-menu-thumb-desktop {
  width: 1.35rem;
  height: 1.35rem;
}

#header .ic-menu-home-link .material-icons {
  color: var(--ic-brand);
  font-size: 1.15rem;
}

#header .ic-menu-home {
  flex: 0 0 auto;
}

#menu-mobile .menu__link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

#menu-mobile .ic-menu-thumb-mobile {
  width: 2.65rem;
  height: 2.65rem;
  flex: 0 0 2.65rem;
  border: 1px solid var(--ic-border);
  border-radius: 0.55rem;
  padding: 0.2rem;
  background: #fff;
  object-fit: contain;
}

#menu-mobile .ic-mobile-home-link .material-icons {
  display: flex;
  width: 2.65rem;
  height: 2.65rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.55rem;
  background: var(--ic-brand-light);
  color: var(--ic-brand);
}

#header .ps-mainmenu__tree-link:hover,
#header .ps-mainmenu__tree-link:focus {
  color: var(--ic-brand);
}

@media (min-width: 1200px) {
  #header .header-bottom__row {
    display: grid !important;
    grid-template-columns: 5rem minmax(28rem, 1fr);
    gap: 0.75rem 1.5rem;
  }

  #header .header-bottom__logo {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
  }

  #_desktop_ps_searchbar {
    grid-column: 2;
    grid-row: 1;
    width: min(100%, 48rem);
    margin-left: auto !important;
  }

  #header .ps-mainmenu--desktop {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    border-top: 1px solid #edf0f4;
  }

  #header .ps-mainmenu__desktop {
    width: 100%;
  }

  #header .ps-mainmenu__tree {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: space-between;
    gap: 0.15rem;
    overflow-x: auto;
    scrollbar-width: none;
  }

  #header .ps-mainmenu__tree::-webkit-scrollbar {
    display: none;
  }

  #header .ps-mainmenu__tree-item {
    flex: 0 0 auto;
    margin-inline: 0 !important;
  }

  #header .ps-mainmenu__tree-link {
    padding: 0.95rem 0.25rem !important;
    font-size: 0.79rem;
  }
}

/* The home page uses its richer image-led category strip instead of repeating
   the same taxonomy as a second text row in the sticky header. */
@media (min-width: 1200px) {
  body.page-index #header .ps-mainmenu--desktop {
    display: none !important;
  }
}

body.page-index #header .header-bottom__container {
  padding-bottom: 0.8rem;
}

/* Shared type and controls */
.breadcrumb {
  margin-block: 1rem;
  color: var(--ic-muted);
  font-size: 0.84rem;
}

.page-header h1,
.h1,
h1 {
  color: var(--ic-text);
  font-weight: 760;
  letter-spacing: -0.035em;
}

.h2,
h2 {
  color: var(--ic-text);
  font-weight: 730;
  letter-spacing: -0.025em;
}

.form-control,
.form-select,
input[type="search"] {
  min-height: 3rem;
  border: 1px solid var(--ic-border);
  border-radius: 0.75rem;
  background: var(--ic-surface);
  color: var(--ic-text);
  box-shadow: none;
}

.form-control:focus,
.form-select:focus,
input[type="search"]:focus {
  border-color: var(--ic-brand);
  box-shadow: 0 0 0 0.2rem rgba(21, 63, 143, 0.12);
}

.btn-primary {
  min-height: 2.8rem;
  border-color: var(--ic-brand);
  border-radius: 0.7rem;
  background: var(--ic-brand);
  font-weight: 700;
}

.btn-primary:hover,
.btn-primary:focus {
  border-color: var(--ic-brand-dark);
  background: var(--ic-brand-dark);
}

/* Catalog cards */
.products {
  align-items: stretch;
  gap: 1rem 0;
}

.products__count {
  display: none !important;
}

.products__selection {
  justify-content: flex-end;
}

.product-miniature {
  position: relative;
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--ic-border);
  border-radius: var(--ic-radius);
  background: #fff;
  box-shadow: none;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.product-miniature:hover {
  transform: translateY(-0.18rem);
  border-color: #bdcad9;
  box-shadow: var(--ic-shadow);
}

.product-miniature__inner {
  display: flex;
  min-width: 0;
  height: 100%;
  flex: 1 1 auto;
  flex-direction: column;
}

.product-miniature__top {
  padding: 0.9rem 0.9rem 0;
}

.product-miniature__image-container {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 0.75rem;
  background: #fff;
}

.product-miniature__image-link {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}

.product-miniature__image,
.product-miniature img {
  width: 100%;
  height: 100% !important;
  max-height: none !important;
  object-fit: contain;
}

.product-miniature__bottom {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 0.9rem 1rem 1rem;
}

.product-miniature__infos {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
}

.product-miniature__title,
.product-miniature__title a {
  display: -webkit-box;
  min-height: 2.85rem;
  overflow: hidden;
  color: var(--ic-text) !important;
  font-size: 0.96rem;
  font-weight: 650;
  line-height: 1.42;
  text-decoration: none;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product-miniature__prices {
  margin-top: 0.65rem;
  margin-bottom: 0.85rem;
}

.product-miniature__price,
.product-price {
  color: #101b2c;
  font-size: 1.18rem;
  font-weight: 780;
  letter-spacing: -0.02em;
}

.product-miniature__actions {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
  gap: 0.55rem;
  align-items: stretch;
  margin-top: auto;
}

.product-miniature__details,
.product-miniature__actions .btn,
.icwa-card-button {
  display: inline-flex;
  width: 100%;
  min-width: 0;
  min-height: 2.55rem;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  border-radius: 0.65rem;
  padding: 0.55rem 0.65rem;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  white-space: normal;
}

.product-flags li,
.badge {
  border-radius: 999px;
  padding: 0.32rem 0.6rem;
  background: var(--ic-brand-light);
  color: var(--ic-brand-dark);
  font-size: 0.72rem;
  font-weight: 700;
}

.block-category,
.product-information,
.card {
  border: 1px solid var(--ic-border);
  border-radius: var(--ic-radius);
  background: #fff;
  box-shadow: none;
}

/* WhatsApp */
.icwa-product-cta {
  margin-block: 1.1rem;
  padding: 1rem;
  border: 1px solid #b8ddca;
  border-radius: var(--ic-radius);
  background: #edf9f2;
}

.icwa-product-cta.is-backorder {
  border-color: #e2c989;
  background: #fff8e7;
}

.icwa-button {
  display: inline-flex;
  width: 100%;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  border: 1px solid var(--ic-whatsapp);
  border-radius: 0.75rem;
  padding-inline: 1.15rem;
  background: var(--ic-whatsapp);
  color: #fff !important;
  font-weight: 740;
  text-decoration: none !important;
}

.icwa-button:hover,
.icwa-button:focus {
  border-color: var(--ic-whatsapp-dark);
  background: var(--ic-whatsapp-dark);
}

.icwa-note {
  margin: 0.65rem 0 0;
  color: #315b45;
  font-size: 0.8rem;
  line-height: 1.45;
  text-align: center;
}

.icwa-product-stock {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  margin: 0 0 0.72rem;
  color: #167044;
  font-size: 0.82rem;
  font-weight: 780;
}

.icwa-product-stock::before {
  width: 0.5rem;
  height: 0.5rem;
  flex: 0 0 0.5rem;
  border-radius: 999px;
  background: #1b9a5b;
  box-shadow: 0 0 0 0.22rem rgba(27, 154, 91, 0.1);
  content: "";
}

.icwa-product-stock.is-low {
  color: #8a4b08;
}

.icwa-product-stock.is-low::before {
  background: #d97706;
  box-shadow: 0 0 0 0.22rem rgba(217, 119, 6, 0.1);
}

.icwa-product-stock.is-last,
.icwa-product-stock.is-unavailable {
  color: #b42318;
}

.icwa-product-stock.is-last::before,
.icwa-product-stock.is-unavailable::before {
  background: #d92d20;
  box-shadow: 0 0 0 0.22rem rgba(217, 45, 32, 0.1);
}

.icwa-product-stock.is-check {
  color: #82520d;
}

.icwa-product-stock.is-check::before {
  background: #d08a15;
  box-shadow: 0 0 0 0.22rem rgba(208, 138, 21, 0.12);
}

.product-miniature.is-unavailable .product-miniature__form,
.product-miniature.is-unavailable [data-button-action="add-to-cart"] {
  display: none !important;
}

.icwa-card-button[data-backorder="true"] {
  border-color: #d9bd78;
  background: #fff8e7;
  color: #68420b !important;
}

.icwa-card-button[data-backorder="true"]:hover,
.icwa-card-button[data-backorder="true"]:focus-visible {
  border-color: #b87912;
  background: #f7e6bd;
  color: #513308 !important;
}

.ichome-search-option.is-backorder .ichome-search-option-copy > span {
  color: #82520d;
}

.icwa-floating {
  position: fixed;
  right: auto;
  bottom: max(1.25rem, env(safe-area-inset-bottom));
  left: 1.25rem;
  z-index: 1040;
  display: inline-flex !important;
  width: 3.75rem !important;
  min-width: 3.75rem !important;
  max-width: 3.75rem !important;
  height: 3.75rem !important;
  min-height: 3.75rem !important;
  max-height: 3.75rem !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.68);
  border-radius: 50% !important;
  padding: 0 !important;
  background: var(--ic-whatsapp);
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 0.45rem 1.2rem rgba(5, 72, 40, 0.18);
  transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.icwa-floating:hover,
.icwa-floating:focus-visible {
  background: var(--ic-whatsapp-dark);
  box-shadow: 0 0.55rem 1.35rem rgba(5, 72, 40, 0.22);
  transform: translateY(-1px);
}

.icwa-floating:focus-visible {
  outline: 3px solid rgba(28, 155, 95, 0.3);
  outline-offset: 3px;
}

.icwa-floating span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

.icwa-floating svg,
.icwa-floating img {
  width: 1.8rem;
  height: 1.8rem;
  flex: 0 0 auto;
  filter: brightness(0) invert(1);
}

body:has(.ic-cookie-notice:not([hidden])) .icwa-floating {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.icwa-button svg {
  width: 1.2rem;
  height: 1.2rem;
  flex: 0 0 auto;
  fill: currentColor;
}

/* Customer account forms */
#registration main,
#authentication main,
#password main,
#identity main,
#address main {
  background: var(--ic-bg);
}

#registration .container--limited-md,
#authentication .container--limited-md,
#password .container--limited-md,
#identity .container--limited-md,
#address .container--limited-md {
  max-width: 48rem;
}

#registration .page-header,
#authentication .page-header,
#password .page-header,
#identity .page-header,
#address .page-header {
  margin: 1.25rem auto 0;
  text-align: center;
}

#registration .page-header h1,
#authentication .page-header h1,
#password .page-header h1,
#identity .page-header h1,
#address .page-header h1 {
  margin-bottom: 0.45rem;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
}

#registration .page-content--general,
#authentication .page-content--general,
#password .page-content--general,
#identity .page-content--general,
#address .page-content--general {
  margin: 1.25rem auto 3.5rem;
  border: 1px solid var(--ic-border);
  border-radius: var(--ic-radius-lg);
  padding: clamp(1.35rem, 4vw, 2.5rem);
  background: #fff;
  box-shadow: var(--ic-shadow);
}

#registration #customer-form > section,
#identity #customer-form > section,
#address .js-address-form > section {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.15rem;
}

#registration #customer-form > section > *,
#identity #customer-form > section > *,
#address .js-address-form > section > * {
  min-width: 0;
  margin: 0 !important;
}

#registration .mb-3:has(#field-id_gender),
#registration .mb-3:has(#field-birthday),
#registration .mb-3:has(#field-optin),
#registration .mb-3:has(#field-customer_privacy),
#registration .mb-3:has(#field-psgdpr),
#identity .mb-3:has(#field-id_gender),
#identity .mb-3:has(#field-birthday),
#identity .mb-3:has(#field-optin),
#identity .mb-3:has(#field-customer_privacy),
#identity .mb-3:has(#field-psgdpr),
#address .form-fields > .form-group:has(textarea) {
  grid-column: 1 / -1;
}

#registration .form-label,
#authentication .form-label,
#password .form-label,
#identity .form-label,
#address .form-label {
  margin-bottom: 0.38rem;
  color: #263b58;
  font-size: 0.85rem;
  font-weight: 700;
}

#registration .form-text,
#authentication .form-text,
#password .form-text,
#identity .form-text,
#address .form-text {
  margin-top: 0.38rem;
  color: var(--ic-muted);
  font-size: 0.76rem;
  line-height: 1.4;
}

#registration .form-check,
#identity .form-check {
  padding: 0.2rem 0 0.2rem 1.65rem;
}

#registration .buttons-wrapper,
#authentication .buttons-wrapper,
#password .buttons-wrapper,
#identity .buttons-wrapper,
#address .buttons-wrapper {
  margin-top: 1.5rem;
}

#registration .buttons-wrapper .btn,
#authentication .buttons-wrapper .btn,
#password .buttons-wrapper .btn,
#identity .buttons-wrapper .btn,
#address .buttons-wrapper .btn {
  width: 100%;
}

#registration .register-form__login-prompt,
#authentication .no-account {
  margin-top: 1.35rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--ic-border);
  text-align: center;
}

/* Filters, pagination and footer */
.faceted-overlay,
.facet,
#search_filters {
  border-color: var(--ic-border);
  border-radius: var(--ic-radius);
  background: #fff;
}

.pagination .page-link {
  border-color: var(--ic-border);
  color: var(--ic-text);
}

.pagination .active .page-link {
  border-color: var(--ic-brand);
  background: var(--ic-brand);
}

#footer,
.footer-container {
  margin-top: 4rem;
  border-top: 1px solid var(--ic-border);
  background: #fff;
  color: var(--ic-muted);
}

@media (max-width: 1199.98px) {
  #header .header-bottom__container {
    padding: 0.55rem 1rem;
  }

  #header .header-bottom__row {
    min-height: 3.5rem;
  }

  #header .header-bottom__logo img,
  #header .logo {
    width: 2.8rem !important;
    height: 2.8rem !important;
    max-width: 2.8rem;
    max-height: 2.8rem;
  }
}

@media (max-width: 767.98px) {
  :root {
    --ic-radius: 0.85rem;
  }

  .ic-header-contact {
    gap: 0.5rem;
  }

  .ic-header-contact-email {
    display: none !important;
  }

  .ic-header-contact a,
  .ic-header-contact span {
    font-size: 0.64rem;
  }

  .ic-header-contact-status {
    padding-left: 0.5rem;
  }

  .ic-mobile-contact {
    display: flex;
    width: 100%;
    min-height: 1.85rem;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.35rem 0.9rem;
    background: var(--ic-brand-dark);
    color: #fff;
    font-size: 0.73rem;
    font-weight: 700;
    line-height: 1.1;
  }

  .ic-mobile-contact a,
  .ic-mobile-contact span {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: #fff !important;
    white-space: nowrap;
    text-decoration: none !important;
  }

  .ic-mobile-contact > span:last-child {
    min-width: 0;
    margin-left: auto;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .ic-mobile-contact img {
    width: 0.85rem;
    height: 0.85rem;
    filter: brightness(0) invert(1);
  }

  .ic-mobile-contact .material-icons {
    color: #fff !important;
    font-size: 0.85rem;
  }

  body:has(.ichome-search-panel:not([hidden])) .icwa-floating {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  .container,
  .container-md,
  .container-fluid {
    padding-inline: 0.9rem;
  }

  .breadcrumb {
    margin-block: 0.75rem;
  }

  .products {
    row-gap: 0.75rem;
  }

  .product-miniature:hover {
    transform: none;
    box-shadow: none;
  }

  .product-miniature__actions {
    gap: 0.4rem;
  }

  .product-miniature__details,
  .product-miniature__actions .btn,
  .icwa-card-button {
    min-height: 2.45rem;
    padding-inline: 0.45rem;
    font-size: 0.76rem;
  }

  #registration #customer-form > section,
  #identity #customer-form > section,
  #address .js-address-form > section {
    grid-template-columns: 1fr;
  }

  #registration .mb-3:has(#field-id_gender),
  #registration .mb-3:has(#field-birthday),
  #registration .mb-3:has(#field-optin),
  #registration .mb-3:has(#field-customer_privacy),
  #registration .mb-3:has(#field-psgdpr),
  #identity .mb-3:has(#field-id_gender),
  #identity .mb-3:has(#field-birthday),
  #identity .mb-3:has(#field-optin),
  #identity .mb-3:has(#field-customer_privacy),
  #identity .mb-3:has(#field-psgdpr) {
    grid-column: 1;
  }

  .icwa-floating {
    right: auto;
    bottom: max(0.9rem, env(safe-area-inset-bottom));
    left: 0.9rem;
    width: 3.625rem !important;
    min-width: 3.625rem !important;
    max-width: 3.625rem !important;
    height: 3.625rem !important;
    min-height: 3.625rem !important;
    max-height: 3.625rem !important;
  }
}

/* Premium utility bar v28. The moving message stays deliberately subtle and
   disappears before the header becomes crowded on tablets and phones. */
#header #_desktop_ps_languageselector {
  display: none !important;
}

#header .header-top {
  position: relative;
  min-height: 3rem;
  overflow: visible;
  border-bottom: 1px solid rgba(117, 175, 255, 0.28);
  background:
    radial-gradient(circle at 12% -180%, rgba(69, 151, 255, 0.62) 0, transparent 42%),
    linear-gradient(112deg, #061a43 0%, #0a2c68 45%, #10458e 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 -1px 0 rgba(2, 15, 43, 0.3);
}

#header .header-top::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, transparent 15%, rgba(255, 255, 255, 0.055) 46%, transparent 72%);
  content: "";
  pointer-events: none;
}

#header .header-top__left,
#header .header-top__right {
  position: relative;
  z-index: 1;
  min-height: 3rem;
}

#header .ic-header-contact {
  width: 100%;
  gap: 0.9rem;
}

#header .ic-header-contact a,
#header .ic-header-contact > span {
  font-size: 0.72rem;
  letter-spacing: 0.005em;
}

#header .ic-header-contact a {
  transition: color 160ms ease, opacity 160ms ease, transform 160ms ease;
}

#header .ic-header-contact a:hover,
#header .ic-header-contact a:focus-visible {
  color: #dcecff !important;
  opacity: 0.96;
  transform: translateY(-1px);
}

#header .ic-header-contact-status {
  border-left-color: rgba(182, 211, 255, 0.3);
  color: #d9e8ff !important;
}

#header .ic-header-ticker {
  position: relative;
  min-width: 10rem;
  max-width: 29rem;
  flex: 1 1 18rem;
  overflow: hidden;
  border-left: 1px solid rgba(182, 211, 255, 0.25);
  margin-left: 0.1rem;
  padding-left: 0.9rem;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

#header .ic-header-ticker-track {
  display: flex;
  width: max-content;
  align-items: center;
  animation: ic-header-ticker 30s linear infinite;
  will-change: transform;
}

#header .ic-header-ticker-item {
  padding-right: 3.5rem;
  color: #c9dcfb !important;
  font-size: 0.67rem !important;
  font-weight: 650 !important;
  letter-spacing: 0.025em !important;
  white-space: nowrap;
}

#header .ic-header-ticker:hover .ic-header-ticker-track {
  animation-play-state: paused;
}

@keyframes ic-header-ticker {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

#header .ic-header-actions {
  gap: 0.4rem;
  margin-right: 0.45rem;
}

#header .ic-header-action,
#header #_desktop_ps_customersignin .header-block__action-btn {
  min-height: 2.25rem;
  border: 1px solid rgba(184, 213, 255, 0.22);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.075);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

#header .ic-header-action {
  padding: 0.34rem 0.68rem;
}

#header #_desktop_ps_customersignin .header-block__action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  padding: 0.34rem 0.7rem;
  color: #fff !important;
  font-size: 0.72rem;
  font-weight: 750;
  text-decoration: none;
}

/* Hummingbird account/cart labels carry their own dark text color. Keep the
   utility-bar controls legible on the navy surface, including logged-in
   customer names and the original cart block before the JS enhancement runs. */
#header .header-top #_desktop_ps_customersignin .header-block__title,
#header .header-top #_desktop_ps_customersignin .header-block__icon,
#header .header-top #_desktop_cart .header-block__title,
#header .header-top #_desktop_cart .header-block__icon,
#header .header-top #_desktop_cart .cart-label {
  color: #fff !important;
}

#header .header-top #_desktop_cart .cart-products-count,
#header .header-top #_desktop_cart .cart-products-count span {
  background: #fff !important;
  color: #0b2b69 !important;
}

/* The global utility-bar rule makes every link white. Reset the signed-in
   dropdown to an explicit light-surface palette so its links never become
   white-on-white. */
#header #_desktop_ps_customersignin .dropdown {
  position: relative;
}

#header #_desktop_ps_customersignin .dropdown-menu {
  min-width: 16.5rem;
  overflow: hidden;
  border: 1px solid #d6e0ec;
  border-radius: 0.9rem;
  margin-top: 0.65rem !important;
  padding: 0.42rem;
  background: #fff;
  color: #18304f !important;
  box-shadow: 0 1.2rem 3rem rgba(1, 19, 53, 0.22);
}

#header #_desktop_ps_customersignin .dropdown-menu .dropdown-item {
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  border-radius: 0.62rem;
  padding: 0.58rem 0.7rem;
  background: transparent;
  color: #18304f !important;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}

#header #_desktop_ps_customersignin .dropdown-menu .dropdown-item .material-icons {
  color: #153f8f !important;
  font-size: 1.1rem;
}

#header #_desktop_ps_customersignin .dropdown-menu .dropdown-item:hover,
#header #_desktop_ps_customersignin .dropdown-menu .dropdown-item:focus-visible,
#header #_desktop_ps_customersignin .dropdown-menu .dropdown-item[aria-current="page"] {
  background: #edf3fc;
  color: #0b2b69 !important;
  outline: 0;
}

#header #_desktop_ps_customersignin .dropdown-menu .dropdown-divider {
  border-top-color: #dce3ec;
  margin: 0.35rem 0.2rem;
}

#header .ic-header-action:hover,
#header .ic-header-action:focus-visible,
#header .ic-header-language[open] > .ic-header-action,
#header #_desktop_ps_customersignin .header-block__action-btn:hover,
#header #_desktop_ps_customersignin .header-block__action-btn:focus-visible {
  border-color: rgba(206, 228, 255, 0.58);
  background: rgba(255, 255, 255, 0.15);
  transform: translateY(-1px);
}

#header .ic-header-language > summary {
  min-width: 4.5rem;
}

#header .ic-language-flag {
  display: block;
  width: 1.5rem;
  height: 1rem;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 0.23rem;
  object-fit: cover;
  box-shadow: 0 0.18rem 0.45rem rgba(0, 0, 0, 0.18);
  filter: none !important;
}

#header .ic-header-language-menu {
  top: calc(100% + 0.65rem);
  width: min(20rem, calc(100vw - 1.5rem));
  border-color: rgba(142, 174, 216, 0.42);
  border-radius: 1rem;
  padding: 0.45rem;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.99), rgba(239, 246, 255, 0.98));
  box-shadow: 0 1.2rem 3rem rgba(1, 19, 53, 0.25);
}

#header .ic-header-language-menu > * {
  grid-template-columns: 2rem 2.1rem minmax(0, 1fr) auto;
  min-height: 3.1rem;
  gap: 0.5rem;
  border-radius: 0.72rem;
  color: #18304f !important;
}

#header .ic-header-language-menu > * strong,
#header .ic-header-language-menu > * span {
  color: #18304f !important;
}

#header .ic-header-language-menu > * small {
  color: #6c7b8f !important;
}

#header .ic-header-language-menu .is-current,
#header .ic-header-language-menu .is-current strong,
#header .ic-header-language-menu .is-current span {
  color: #123f8c !important;
}

#header .ic-header-language-menu .ic-language-flag {
  width: 1.65rem;
  height: 1.1rem;
  border-color: rgba(17, 55, 109, 0.22);
}

#header .ic-header-cart {
  border-color: rgba(121, 186, 255, 0.34);
  background: linear-gradient(135deg, rgba(61, 139, 235, 0.22), rgba(255, 255, 255, 0.075));
}

#header .ic-header-cart,
#header .ic-header-cart .material-icons,
#header .ic-header-cart-copy strong {
  color: #fff !important;
}

@media (max-width: 1199.98px) {
  #header .ic-header-ticker {
    display: none;
  }

  #header .ic-header-contact-email {
    display: none !important;
  }
}

@media (max-width: 767.98px) {
  #header .header-top,
  #header .header-top__left,
  #header .header-top__right {
    min-height: 2.5rem;
  }

  #header .ic-header-action,
  #header #_desktop_ps_customersignin .header-block__action-btn {
    border-radius: 0.65rem;
  }

  #header .ic-mobile-contact .ic-language-flag {
    width: 1.35rem;
    height: 0.9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  #header .ic-header-ticker-track {
    animation: none;
  }

  #header .ic-header-ticker-item:last-child {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* --------------------------------------------------------------------------
   InfoChen category experience
   Scoped to listing pages so the homepage merchandising rails stay untouched.
   -------------------------------------------------------------------------- */

/* Brand lockup */
#header .header-bottom__logo a {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 0.72rem;
  color: var(--ic-brand-dark) !important;
  text-decoration: none !important;
}

#header .ic-header-brand-copy {
  display: inline-flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  line-height: 1;
  white-space: nowrap;
}

#header .ic-header-brand-copy strong {
  color: #0b2b69;
  font-size: 1.34rem;
  font-weight: 850;
  letter-spacing: 0.035em;
}

#header .ic-header-brand-copy > span {
  margin-top: 0.28rem;
  color: #5d6f86;
  font-size: 0.64rem;
  font-weight: 780;
  letter-spacing: 0.14em;
}

@media (min-width: 1200px) {
  #header .header-bottom__row {
    grid-template-columns: 19rem minmax(28rem, 1fr);
  }

  #header .header-bottom__logo {
    min-width: 19rem;
  }
}

body:is(.page-category, .page-search) #wrapper {
  overflow-x: clip;
  background:
    linear-gradient(180deg, #f7f9fc 0, #f7f9fc 14rem, #f3f6fa 14rem, #f3f6fa 100%);
}

body:is(.page-category, .page-search) .columns-container {
  width: 100%;
  max-width: var(--ic-container);
}

body:is(.page-category, .page-search) #center-column,
body:is(.page-category, .page-search) #left-column,
body:is(.page-category, .page-search) #products,
body:is(.page-category, .page-search) #js-product-list {
  min-width: 0;
}

body:is(.page-category, .page-search) #js-product-list-header .page-title,
body:is(.page-category, .page-search) #js-product-list-header .page-header,
body:is(.page-category, .page-search) #js-product-list-header h1 {
  margin-bottom: 1rem;
}

body:is(.page-category, .page-search) #js-product-list-header h1 {
  color: #102d62;
  font-size: clamp(1.55rem, 2.5vw, 2.15rem);
  letter-spacing: -0.035em;
}

/* Faceted-search sidebar */
body:is(.page-category, .page-search) #search_filters_wrapper {
  overflow: hidden;
  border: 1px solid #d9e2ed;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 0.75rem 2.2rem rgba(25, 53, 91, 0.065);
}

body:is(.page-category, .page-search) #search-filters {
  gap: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body:is(.page-category, .page-search) #search-filters .left-block__title {
  margin: 0;
  padding: 1.05rem 1rem 0.9rem;
  border-bottom: 1px solid #e4eaf2;
  color: #102d62;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}

body:is(.page-category, .page-search) .search-filters__clear {
  margin: 0;
  padding: 0.8rem 1rem;
  border-bottom: 1px solid #e7edf4;
}

body:is(.page-category, .page-search) .js-search-filters-clear-all {
  width: 100%;
  min-height: 2.35rem;
  justify-content: center;
  border-color: #bed0eb;
  border-radius: 0.62rem;
  color: #153f8f;
  font-size: 0.78rem;
  font-weight: 750;
}

body:is(.page-category, .page-search) #search-filters .accordion-item {
  border: 0;
  border-bottom: 1px solid #e7edf4;
  background: #fff;
}

body:is(.page-category, .page-search) #search-filters .accordion-item:last-child {
  border-bottom: 0;
}

body:is(.page-category, .page-search) #search-filters .accordion-button {
  min-height: 3.25rem;
  padding: 0.85rem 1rem;
  background: #fff;
  color: #1b304f;
  font-size: 0.86rem;
  font-weight: 780;
  box-shadow: none;
}

body:is(.page-category, .page-search) #search-filters .accordion-button:not(.collapsed) {
  background: #f7faff;
  color: #123d89;
}

body:is(.page-category, .page-search) #search-filters .accordion-button:focus-visible {
  outline: 3px solid rgba(21, 63, 143, 0.2);
  outline-offset: -3px;
}

body:is(.page-category, .page-search) #search-filters .accordion-body {
  max-height: 18rem;
  overflow-y: auto;
  margin: 0;
  padding: 0.15rem 1rem 0.9rem;
  scrollbar-color: #b7c7dd transparent;
  scrollbar-width: thin;
}

body:is(.page-category, .page-search) #search-filters .accordion-body > li + li {
  margin-top: 0.12rem;
}

body:is(.page-category, .page-search) .search-filters__form-check {
  gap: 0.62rem;
  min-height: 2rem;
}

body:is(.page-category, .page-search) .search-filters__form-check .form-check-input {
  width: 1.05rem;
  height: 1.05rem;
  flex: 0 0 1.05rem;
  border: 1.5px solid #9aacbf;
  border-radius: 0.26rem;
  background-color: #fff;
  box-shadow: none;
  cursor: pointer;
}

body:is(.page-category, .page-search) .search-filters__form-check .form-check-input:checked {
  border-color: var(--ic-brand);
  background-color: var(--ic-brand);
}

body:is(.page-category, .page-search) .search-filters__form-check .form-check-input:focus-visible {
  outline: 3px solid rgba(21, 63, 143, 0.22);
  outline-offset: 2px;
}

body:is(.page-category, .page-search) .search-filters__form-label {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  cursor: pointer;
}

body:is(.page-category, .page-search) .search-filters__link,
body:is(.page-category, .page-search) .search-filters__color-label {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  justify-content: space-between;
  gap: 0.45rem;
  color: #35465e !important;
  font-size: 0.8rem;
  line-height: 1.35;
  text-decoration: none !important;
}

body:is(.page-category, .page-search) .search-filters__item.active .search-filters__link,
body:is(.page-category, .page-search) .search-filters__link:hover {
  color: var(--ic-brand) !important;
  font-weight: 700;
}

body:is(.page-category, .page-search) .search-filters__magnitude {
  flex: 0 0 auto;
  color: #5f6d82;
  font-size: 0.72rem;
  font-weight: 600;
}

body:is(.page-category, .page-search) .search-filters__slider-container {
  max-height: none !important;
  overflow: visible !important;
  padding-top: 0.75rem !important;
}

body:is(.page-category, .page-search) .search-filters__slider-values {
  margin-top: 0.7rem;
  color: #314765;
  font-size: 0.78rem;
  font-weight: 700;
}

body:is(.page-category, .page-search) #search-filters .noUi-target {
  height: 0.3rem;
  border: 0;
  border-radius: 999px;
  background: #dbe4ef;
  box-shadow: none;
}

body:is(.page-category, .page-search) #search-filters .noUi-connect {
  background: var(--ic-brand);
}

body:is(.page-category, .page-search) #search-filters .noUi-handle {
  width: 1.05rem;
  height: 1.05rem;
  top: -0.38rem;
  right: -0.52rem;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--ic-brand);
  box-shadow: 0 0 0 1px var(--ic-brand), 0 0.2rem 0.5rem rgba(14, 44, 96, 0.25);
}

body:is(.page-category, .page-search) #search-filters .noUi-handle::before,
body:is(.page-category, .page-search) #search-filters .noUi-handle::after {
  display: none;
}

/* Applied-filter chips */
body:is(.page-category, .page-search) #js-active-search-filters {
  margin: 0 0 1rem;
  border: 1px solid #d8e4f5;
  border-radius: 0.8rem;
  padding: 0.7rem 0.85rem;
  background: #f6f9ff;
}

body:is(.page-category, .page-search) #js-active-search-filters:empty,
body:is(.page-category, .page-search) #js-active-search-filters.hide {
  display: none !important;
}

body:is(.page-category, .page-search) .active-filters__title {
  margin-right: 0.35rem;
  color: #425470;
  font-size: 0.78rem;
}

body:is(.page-category, .page-search) .active-filters__list {
  gap: 0.42rem;
}

body:is(.page-category, .page-search) .active-filters__list a,
body:is(.page-category, .page-search) .active-filters__list .filter-block {
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
  gap: 0.28rem;
  border: 1px solid #c8d8ef;
  border-radius: 999px;
  padding: 0.35rem 0.62rem;
  background: #fff;
  color: #173f82 !important;
  font-size: 0.74rem;
  font-weight: 680;
  text-decoration: none !important;
}

/* Count, sorting and view controls */
body:is(.page-category, .page-search) #js-product-list-top {
  position: relative;
  z-index: 5;
  margin-bottom: 1rem;
  border: 1px solid #dce4ee;
  border-radius: 0.9rem;
  padding: 0.72rem 0.85rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 0.45rem 1.4rem rgba(23, 45, 78, 0.045);
}

body:is(.page-category, .page-search) .products__selection {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) auto minmax(13rem, auto);
  gap: 0.7rem;
  align-items: center;
  margin: 0;
}

body:is(.page-category, .page-search) .products__count {
  display: block !important;
  color: #617087;
  font-size: 0.78rem;
  font-weight: 650;
}

body:is(.page-category, .page-search) .products__sort {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.45rem;
  order: initial;
}

body:is(.page-category, .page-search) .products__sort-label {
  display: flex;
  color: #617087;
  font-size: 0.76rem;
  font-weight: 650;
}

body:is(.page-category, .page-search) .products__sort-dropdown-button {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  border-color: #cdd8e5;
  border-radius: 0.62rem;
  background: #fff;
  color: #243a58;
  font-size: 0.78rem;
  font-weight: 680;
}

body:is(.page-category, .page-search) .ic-sort-control__icon {
  flex: 0 0 auto;
  font-size: 1.15rem;
}

body:is(.page-category, .page-search) .ic-sort-control__copy {
  display: inline-flex;
  min-width: 0;
  align-items: baseline;
  gap: 0.28rem;
}

body:is(.page-category, .page-search) .ic-sort-control__title {
  display: none;
}

body:is(.page-category, .page-search) .ic-sort-control__current {
  overflow: hidden;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body:is(.page-category, .page-search) .ic-plp-view-switcher {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  border: 1px solid #d2dce8;
  border-radius: 0.65rem;
  padding: 0.22rem;
  background: #f7f9fc;
}

body:is(.page-category, .page-search) .ic-plp-view-caption {
  padding-inline: 0.45rem 0.2rem;
  color: #64738a;
  font-size: 0.72rem;
  font-weight: 700;
}

body:is(.page-category, .page-search) .ic-plp-view-button {
  display: inline-flex;
  width: 2.05rem;
  height: 2.05rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0.48rem;
  padding: 0;
  background: transparent;
  color: #617087;
  cursor: pointer;
}

body:is(.page-category, .page-search) .ic-plp-view-button .material-icons {
  font-size: 1.15rem;
}

body:is(.page-category, .page-search) .ic-plp-view-button:hover {
  background: #e8eef7;
  color: var(--ic-brand);
}

body:is(.page-category, .page-search) .ic-plp-view-button.is-active,
body:is(.page-category, .page-search) .ic-plp-view-button[aria-pressed="true"] {
  background: var(--ic-brand);
  color: #fff;
  box-shadow: 0 0.2rem 0.5rem rgba(21, 63, 143, 0.22);
}

body:is(.page-category, .page-search) .products__filter-button {
  min-height: 2.5rem;
  border-radius: 0.62rem;
  font-size: 0.78rem;
  font-weight: 750;
}

/* Product grid and card hierarchy */
body:is(.page-category, .page-search) #js-product-list .products,
body:is(.page-category, .page-search) #js-product-list .products.ic-view-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

body:is(.page-category, .page-search) #js-product-list .product-miniature {
  min-width: 0;
  border-color: #dbe3ed;
  border-radius: 0.95rem;
  background: #fff;
  box-shadow: 0 0.22rem 0.75rem rgba(24, 50, 86, 0.035);
}

body:is(.page-category, .page-search) #js-product-list .product-miniature:hover,
body:is(.page-category, .page-search) #js-product-list .product-miniature:focus-within {
  transform: translateY(-0.2rem);
  border-color: #aebfd5;
  box-shadow: 0 1rem 2rem rgba(19, 48, 88, 0.11);
}

body:is(.page-category, .page-search) #js-product-list .product-miniature__top {
  position: relative;
  padding: 0.72rem 0.72rem 0;
}

body:is(.page-category, .page-search) #js-product-list .ic-plp-favorite-button {
  position: absolute;
  z-index: 4;
  top: 0.62rem;
  right: 0.62rem;
  display: inline-grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border: 1px solid #d7e0ea;
  border-radius: 999px;
  padding: 0;
  background: rgba(255, 255, 255, 0.95);
  color: #44566f;
  cursor: pointer;
  box-shadow: 0 0.35rem 0.9rem rgba(20, 44, 78, 0.1);
}

body:is(.page-category, .page-search) #js-product-list .ic-plp-favorite-button:hover,
body:is(.page-category, .page-search) #js-product-list .ic-plp-favorite-button:focus-visible,
body:is(.page-category, .page-search) #js-product-list .ic-plp-favorite-button[aria-pressed="true"] {
  border-color: #d8465f;
  color: #bd1732;
}

body:is(.page-category, .page-search) #js-product-list .ic-plp-favorite-button:focus-visible {
  outline: 3px solid rgba(18, 63, 140, 0.18);
  outline-offset: 2px;
}

body:is(.page-category, .page-search) #js-product-list .ic-plp-favorite-button .material-icons {
  font-size: 1.25rem;
}

body:is(.page-category, .page-search) #js-product-list .product-miniature__image-container {
  aspect-ratio: 1 / 0.92;
  border-radius: 0.72rem;
  padding: 0.2rem;
  background: #fff;
}

body:is(.page-category, .page-search) #js-product-list .product-miniature__image {
  transition: transform 220ms ease;
}

body:is(.page-category, .page-search) #js-product-list .product-miniature:hover .product-miniature__image {
  transform: scale(1.035);
}

body:is(.page-category, .page-search) #js-product-list .product-miniature__bottom {
  gap: 0.58rem;
  padding: 0.72rem 0.82rem 0.85rem;
}

body:is(.page-category, .page-search) #js-product-list .product-miniature__infos {
  display: flex;
  gap: 0;
}

body:is(.page-category, .page-search) #js-product-list .product-miniature__title,
body:is(.page-category, .page-search) #js-product-list .product-miniature__title a {
  min-height: 2.65rem;
  color: #20334d !important;
  font-size: 0.88rem;
  font-weight: 650;
  line-height: 1.42;
}

body:is(.page-category, .page-search) #js-product-list .product-miniature__title:hover {
  color: var(--ic-brand) !important;
}

body:is(.page-category, .page-search) #js-product-list .product-miniature__prices {
  display: flex;
  margin: 0.62rem 0 0;
  gap: 0.28rem 0.48rem;
  align-items: baseline;
}

body:is(.page-category, .page-search) #js-product-list .product-miniature__price {
  color: #0e2f68;
  font-size: 1.18rem;
  font-weight: 850;
  letter-spacing: -0.025em;
}

body:is(.page-category, .page-search) #js-product-list .product-miniature__regular-price {
  color: #5f6d82;
  font-size: 0.78rem;
  text-decoration-thickness: 1px;
}

body:is(.page-category, .page-search) #js-product-list .ic-product-tax-note {
  width: 100%;
  color: #5f6d82;
  font-size: 0.65rem;
  font-weight: 600;
  line-height: 1.2;
}

body:is(.page-category, .page-search) #js-product-list .ic-product-stock-note {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  margin-top: 0.48rem;
  color: #7b5514;
  font-size: 0.7rem;
  font-weight: 720;
  line-height: 1.25;
}

body:is(.page-category, .page-search) #js-product-list .ic-product-stock-note::before {
  width: 0.45rem;
  height: 0.45rem;
  flex: 0 0 0.45rem;
  border-radius: 50%;
  background: #c48723;
  content: "";
}

body:is(.page-category, .page-search) #js-product-list .ic-product-stock-note.is-available {
  color: #167044;
}

body:is(.page-category, .page-search) #js-product-list .ic-product-stock-note.is-available::before {
  background: #1b9a5b;
  box-shadow: 0 0 0 0.2rem rgba(27, 154, 91, 0.1);
}

body:is(.page-category, .page-search) #js-product-list .ic-product-stock-note.is-last {
  color: #b42318;
}

body:is(.page-category, .page-search) #js-product-list .ic-product-stock-note.is-last::before {
  background: #d92d20;
  box-shadow: 0 0 0 0.2rem rgba(217, 45, 32, 0.1);
}

body:is(.page-category, .page-search) #js-product-list .ic-product-stock-note.is-low {
  color: #8a4b08;
}

body:is(.page-category, .page-search) #js-product-list .ic-product-stock-note.is-low::before {
  background: #d97706;
  box-shadow: 0 0 0 0.2rem rgba(217, 119, 6, 0.1);
}

body:is(.page-category, .page-search) #js-product-list .ic-product-stock-note.is-unavailable {
  color: #b42318;
}

body:is(.page-category, .page-search) #js-product-list .ic-product-stock-note.is-unavailable::before {
  background: #d92d20;
  box-shadow: 0 0 0 0.2rem rgba(217, 45, 32, 0.1);
}

body:is(.page-category, .page-search) #js-product-list .product-flags .out_of_stock,
body:is(.page-category, .page-search) #js-product-list .product-flags .out-of-stock {
  background: #fff1ce;
  color: #6e470c;
}

body:is(.page-category, .page-search) #js-product-list .product-flags {
  z-index: 2;
  gap: 0.3rem;
}

body:is(.page-category, .page-search) #js-product-list .product-flags .discount,
body:is(.page-category, .page-search) #js-product-list .product-flags .discount-percentage,
body:is(.page-category, .page-search) #js-product-list .product-flags .on-sale {
  background: #bd1732;
  color: #fff;
}

body:is(.page-category, .page-search) #js-product-list .product-miniature__actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.42rem;
}

body:is(.page-category, .page-search) #js-product-list .product-miniature__details,
body:is(.page-category, .page-search) #js-product-list .icwa-card-button {
  min-height: 2.35rem;
  border-radius: 0.58rem;
  padding: 0.48rem;
  font-size: 0.74rem;
}

body:is(.page-category, .page-search) #js-product-list .icwa-card-button {
  border: 1px solid #b8d9c8;
  background: #edf8f2;
  color: #137347 !important;
  text-decoration: none !important;
}

body:is(.page-category, .page-search) #js-product-list .icwa-card-button:hover,
body:is(.page-category, .page-search) #js-product-list .icwa-card-button:focus-visible {
  border-color: var(--ic-whatsapp);
  background: var(--ic-whatsapp);
  color: #fff !important;
}

/* Compact view */
body:is(.page-category, .page-search) #js-product-list .products.ic-view-compact {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.72rem;
}

body:is(.page-category, .page-search) .ic-view-compact .product-miniature__top {
  padding: 0.55rem 0.55rem 0;
}

body:is(.page-category, .page-search) .ic-view-compact .product-miniature__bottom {
  padding: 0.6rem 0.65rem 0.68rem;
}

body:is(.page-category, .page-search) .ic-view-compact .product-miniature__title,
body:is(.page-category, .page-search) .ic-view-compact .product-miniature__title a {
  min-height: 2.5rem;
  font-size: 0.78rem;
  line-height: 1.35;
}

body:is(.page-category, .page-search) .ic-view-compact .product-miniature__price {
  font-size: 1rem !important;
}

body:is(.page-category, .page-search) .ic-view-compact .product-miniature__details,
body:is(.page-category, .page-search) .ic-view-compact .icwa-card-button {
  min-height: 2.15rem !important;
  font-size: 0.68rem !important;
}

/* List view */
body:is(.page-category, .page-search) #js-product-list .products.ic-view-list {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.8rem;
}

body:is(.page-category, .page-search) .ic-view-list .product-miniature__inner {
  display: grid;
  grid-template-columns: minmax(9rem, 12.5rem) minmax(0, 1fr);
  min-height: 11.5rem;
}

body:is(.page-category, .page-search) .ic-view-list .product-miniature__top {
  padding: 0.7rem;
}

body:is(.page-category, .page-search) .ic-view-list .product-miniature__image-container {
  height: 100%;
  aspect-ratio: auto;
}

body:is(.page-category, .page-search) .ic-view-list .product-miniature__bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(9.5rem, 11rem);
  gap: 1rem;
  align-items: center;
  padding: 0.9rem 1rem 0.9rem 0.35rem;
}

body:is(.page-category, .page-search) .ic-view-list .product-miniature__title,
body:is(.page-category, .page-search) .ic-view-list .product-miniature__title a {
  min-height: auto;
  font-size: 1rem;
  -webkit-line-clamp: 3;
}

body:is(.page-category, .page-search) .ic-view-list .product-miniature__actions {
  display: flex;
  flex-direction: column;
  align-self: center;
  margin: 0;
}

/* Desktop category layout */
@media (min-width: 992px) {
  body:is(.page-category, .page-search).layout-left-column .columns-container > .row {
    display: grid;
    grid-template-columns: 17rem minmax(0, 1fr);
    gap: 1.25rem;
    margin-inline: 0;
  }

  body:is(.page-category, .page-search).layout-left-column #left-column,
  body:is(.page-category, .page-search).layout-left-column #center-column {
    width: auto;
    max-width: none;
    padding-inline: 0;
  }

  body:is(.page-category, .page-search) #search_filters_wrapper {
    position: sticky;
    top: 10rem;
    max-height: calc(100vh - 11.25rem);
    overflow-y: auto;
    scrollbar-color: #b7c7dd transparent;
    scrollbar-width: thin;
  }
}

@media (max-width: 1279.98px) {
  body:is(.page-category, .page-search) #js-product-list .products,
  body:is(.page-category, .page-search) #js-product-list .products.ic-view-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body:is(.page-category, .page-search) #js-product-list .products.ic-view-compact {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  body:is(.page-category, .page-search) #js-product-list .products,
  body:is(.page-category, .page-search) #js-product-list .products.ic-view-grid,
  body:is(.page-category, .page-search) #js-product-list .products.ic-view-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:is(.page-category, .page-search) .products__selection {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  body:is(.page-category, .page-search) .products__count {
    grid-column: 1;
  }

  body:is(.page-category, .page-search) .ic-plp-view-switcher {
    grid-column: 2;
  }

  body:is(.page-category, .page-search) .products__sort {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  body:is(.page-category, .page-search) .products__sort-dropdown {
    min-width: 0;
  }

}

/* Native Hummingbird mobile filter drawer */
@media (max-width: 767.98px) {
  .ic-header-actions {
    margin-right: 0.1rem;
  }

  .ic-header-action {
    min-width: 2.45rem;
    min-height: 2.45rem;
    padding: 0.32rem 0.4rem;
  }

  .ic-header-cart-copy {
    display: none;
  }

  .ic-header-language > summary .material-icons:last-child {
    display: none;
  }

  .ic-header-language-menu {
    position: fixed;
    top: 3.2rem;
    right: 0.5rem;
    width: min(19rem, calc(100vw - 1rem));
  }

  .ic-mobile-contact .ic-mobile-language {
    position: relative;
    margin-left: auto;
  }

  .ic-mobile-contact .ic-mobile-language > summary {
    min-width: 2.75rem;
    min-height: 2rem;
    padding: 0.2rem 0.35rem;
    color: #fff !important;
    font-size: 0.68rem;
  }

  .ic-mobile-contact .ic-mobile-language > summary .material-icons:first-child {
    font-size: 0.92rem;
  }

  .ic-mobile-contact .ic-mobile-language .ic-header-language-menu {
    top: 2.25rem;
    right: 0.5rem;
  }

  .ic-mobile-contact .ic-header-language-menu > *,
  .ic-mobile-contact .ic-header-language-menu strong,
  .ic-mobile-contact .ic-header-language-menu span {
    color: #18304f !important;
  }

  .ic-mobile-contact .ic-header-language-menu small {
    color: #6c7b8f !important;
  }

  .ic-mobile-contact .ic-header-language-menu .is-current,
  .ic-mobile-contact .ic-header-language-menu .is-current strong,
  .ic-mobile-contact .ic-header-language-menu .is-current span {
    color: #123f8c !important;
  }

  #header .ic-mobile-cart {
    display: inline-flex !important;
    width: 2.5rem;
    min-width: 2.5rem;
    height: 3.5rem;
    min-height: 3.5rem;
    flex: 0 0 2.5rem;
    align-items: center;
    padding: 0;
    color: var(--ic-brand) !important;
  }

  #header .ic-mobile-cart:hover,
  #header .ic-mobile-cart:focus-visible {
    background: #edf3fc;
  }

  #header .ic-mobile-cart .material-icons {
    color: var(--ic-brand) !important;
    font-size: 1.3rem;
  }

  body:is(.page-category, .page-search) .products__filter-button {
    display: inline-flex;
    flex: 0 0 auto;
  }

  body:is(.page-category, .page-search) .ic-filter-drawer #search-filters .accordion-body {
    max-height: none;
    overflow: visible;
  }

  #header .ic-header-brand-copy {
    position: absolute;
    top: 50%;
    left: 3.3rem;
    display: inline-flex;
    width: 7.2rem;
    max-width: 7.2rem;
    gap: 0;
    pointer-events: none;
    transform: translateY(-50%);
  }

  #header .header-bottom__logo a {
    position: relative;
    gap: 0;
  }

  #header .ic-header-brand-copy strong {
    overflow: hidden;
    font-size: 0.88rem;
    letter-spacing: 0.02em;
    text-overflow: ellipsis;
  }

  #header .ic-header-brand-copy > span {
    margin-top: 0.18rem;
    overflow: hidden;
    font-size: 0.43rem;
    letter-spacing: 0.08em;
    text-overflow: ellipsis;
  }

  body:is(.page-category, .page-search) .columns-container {
    padding-inline: 0.75rem;
  }

  body:is(.page-category, .page-search) #left-column {
    width: 0;
    height: 0;
    overflow: visible;
    padding: 0;
  }

  body:is(.page-category, .page-search) .ps-facetedsearch--mobile {
    width: min(calc(100vw - 1rem), 23rem) !important;
    max-width: min(calc(100vw - 1rem), 23rem) !important;
    box-sizing: border-box;
    --bs-offcanvas-width: min(calc(100vw - 1rem), 23rem);
    border-right: 0;
    background: #f6f8fb;
    box-shadow: 1rem 0 3rem rgba(8, 31, 67, 0.2);
  }

  body:is(.page-category, .page-search) .ps-facetedsearch--mobile .offcanvas-header {
    min-height: 4.2rem;
    border-bottom: 1px solid #dae3ee;
    padding: 0.9rem 1rem;
    background: #fff;
  }

  body:is(.page-category, .page-search) .ps-facetedsearch--mobile .offcanvas-title {
    margin: 0;
    color: #102d62;
    font-size: 1.05rem;
    font-weight: 800;
  }

  body:is(.page-category, .page-search) .ps-facetedsearch--mobile .btn-close {
    position: absolute;
    z-index: 1100;
    top: 0.7rem;
    right: 0.75rem;
    left: auto;
    display: inline-grid;
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 2.35rem;
    place-items: center;
    border: 1px solid #cfd9e6;
    border-radius: 999px;
    background: #fff;
    margin: 0;
    opacity: 1;
  }

  body:is(.page-category, .page-search) .ps-facetedsearch--mobile .btn-close::before,
  body:is(.page-category, .page-search) .ps-facetedsearch--mobile .btn-close::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1rem;
    height: 2px;
    border-radius: 999px;
    background: #17345f;
    content: "";
  }

  body:is(.page-category, .page-search) .ps-facetedsearch--mobile .btn-close::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }

  body:is(.page-category, .page-search) .ps-facetedsearch--mobile .btn-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }

  body:is(.page-category, .page-search) .ps-facetedsearch--mobile .offcanvas-body {
    padding: 0.75rem;
  }

  body:is(.page-category, .page-search) .ps-facetedsearch--mobile #search-filters {
    overflow: hidden;
    border: 1px solid #dce4ed;
    border-radius: 0.85rem;
    background: #fff;
  }

  body:is(.page-category, .page-search) #js-product-list-top {
    position: sticky;
    top: 6.7rem;
    z-index: 20;
    padding: 0.58rem 0.65rem;
  }

  body:is(.page-category, .page-search) .products__sort-label {
    display: none;
  }

  body:is(.page-category, .page-search) .products__sort-dropdown {
    width: 100%;
    min-width: 0;
    flex: none;
  }

  body:is(.page-category, .page-search) .products__sort {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
  }

  body:is(.page-category, .page-search) .products__sort-dropdown-button,
  body:is(.page-category, .page-search) .products__filter-button {
    width: 100%;
    min-height: 3rem;
    justify-content: center;
    gap: 0.42rem;
    border: 1px solid #bdcadb;
    border-radius: 0.72rem;
    background: #fff;
    color: #163b76;
    box-shadow: 0 0.18rem 0.55rem rgba(17, 48, 91, 0.045);
  }

  body:is(.page-category, .page-search) .ic-sort-control__copy {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.08rem;
  }

  body:is(.page-category, .page-search) .ic-sort-control__title {
    display: block;
    font-size: 0.75rem;
    font-weight: 820;
    line-height: 1;
  }

  body:is(.page-category, .page-search) .ic-sort-control__current {
    max-width: 7.2rem;
    color: #66758a;
    font-size: 0.62rem;
    font-weight: 650;
  }

  body:is(.page-category, .page-search) .products__sort-dropdown .dropdown-menu {
    width: min(calc(100vw - 1.5rem), 22rem);
    min-width: min(calc(100vw - 1.5rem), 22rem);
    max-height: min(28rem, calc(100vh - 9rem));
    overflow-y: auto;
    border: 1px solid #d5dfeb;
    border-radius: 0.9rem;
    padding: 0.45rem;
    background: #fff;
    box-shadow: 0 1.2rem 3rem rgba(11, 36, 74, 0.22);
  }

  body:is(.page-category, .page-search) .products__sort-dropdown .dropdown-item {
    position: relative;
    display: flex;
    min-height: 3rem;
    align-items: center;
    border-radius: 0.62rem;
    padding: 0.68rem 0.82rem 0.68rem 2.35rem;
    color: #20334d;
    font-size: 0.87rem;
    font-weight: 680;
    white-space: normal;
  }

  body:is(.page-category, .page-search) .products__sort-dropdown .dropdown-item.current::before,
  body:is(.page-category, .page-search) .products__sort-dropdown .dropdown-item[aria-current="true"]::before {
    position: absolute;
    left: 0.85rem;
    color: #123f8c;
    font-size: 1rem;
    font-weight: 900;
    content: "✓";
  }

  body:is(.page-category, .page-search) .products__sort-dropdown .ic-sort-option-secondary {
    display: none;
  }

  body:is(.page-category, .page-search) .ic-plp-view-button {
    width: 2.5rem;
    height: 2.5rem;
  }

  body:is(.page-category, .page-search) #js-product-list .products,
  body:is(.page-category, .page-search) #js-product-list .products.ic-view-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.62rem;
  }

  body:is(.page-category, .page-search) #js-product-list .products.ic-view-compact {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.52rem;
  }

  body:is(.page-category, .page-search) #js-product-list .ic-view-compact .product-miniature__top {
    padding: 0.34rem 0.34rem 0;
  }

  body:is(.page-category, .page-search) #js-product-list .ic-view-compact .product-miniature__bottom {
    gap: 0.28rem;
    padding: 0.4rem 0.42rem 0.48rem;
  }

  body:is(.page-category, .page-search) #js-product-list .ic-view-compact .product-miniature__title,
  body:is(.page-category, .page-search) #js-product-list .ic-view-compact .product-miniature__title a {
    min-height: 2.05rem;
    font-size: 0.66rem;
    line-height: 1.28;
    -webkit-line-clamp: 2;
  }

  body:is(.page-category, .page-search) #js-product-list .ic-view-compact .product-miniature__price {
    font-size: 0.82rem !important;
  }

  body:is(.page-category, .page-search) #js-product-list .ic-view-compact .ic-product-stock-note,
  body:is(.page-category, .page-search) #js-product-list .ic-view-compact .ic-product-tax-note {
    font-size: 0.63rem;
  }

  body:is(.page-category, .page-search) #js-product-list .ic-view-compact .product-miniature__actions {
    display: none;
  }

  body:is(.page-category, .page-search) #js-product-list .ic-view-compact .ic-plp-favorite-button {
    top: 0.35rem;
    right: 0.35rem;
    width: 2.25rem;
    height: 2.25rem;
  }

  body:is(.page-category, .page-search) #js-product-list .ic-view-compact .ic-plp-favorite-button .material-icons {
    font-size: 1rem;
  }

  body:is(.page-category, .page-search) #js-product-list .product-miniature__inner {
    display: flex;
    grid-template-columns: none;
    flex-direction: column;
  }

  body:is(.page-category, .page-search) #js-product-list .product-miniature__top {
    padding: 0.5rem 0.5rem 0;
  }

  body:is(.page-category, .page-search) #js-product-list .product-miniature__bottom {
    padding: 0.52rem 0.58rem 0.62rem;
  }

  body:is(.page-category, .page-search) #js-product-list .product-miniature__title,
  body:is(.page-category, .page-search) #js-product-list .product-miniature__title a {
    min-height: 2.35rem;
    font-size: 0.77rem;
    line-height: 1.35;
  }

  body:is(.page-category, .page-search) #js-product-list .product-miniature__price {
    font-size: 1rem;
  }

  body:is(.page-category, .page-search) #js-product-list .product-miniature__actions {
    grid-template-columns: 1fr;
  }

  body:is(.page-category, .page-search) #js-product-list .product-miniature__details,
  body:is(.page-category, .page-search) #js-product-list .icwa-card-button {
    min-height: 2.75rem;
    padding: 0.38rem 0.32rem;
    font-size: 0.67rem;
  }

  body:is(.page-category, .page-search) #js-product-list .products.ic-view-list {
    grid-template-columns: 1fr !important;
  }

  body:is(.page-category, .page-search) .ic-view-list .product-miniature__inner {
    display: grid !important;
    grid-template-columns: 6.25rem minmax(0, 1fr) !important;
    min-height: 0;
    align-items: stretch;
  }

  body:is(.page-category, .page-search) .ic-view-list .product-miniature__top {
    display: grid;
    align-self: stretch;
    place-items: center;
    padding: 0.62rem 0.42rem;
  }

  body:is(.page-category, .page-search) .ic-view-list .product-miniature__image-container {
    display: grid;
    width: 100%;
    height: auto !important;
    max-width: 5.2rem;
    place-items: center;
    aspect-ratio: 1 / 1;
    margin: auto;
    padding: 0.28rem;
  }

  body:is(.page-category, .page-search) .ic-view-list .product-miniature__image-link {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
  }

  body:is(.page-category, .page-search) .ic-view-list .product-miniature__image,
  body:is(.page-category, .page-search) .ic-view-list .product-miniature__image-link img {
    width: 100%;
    height: 100% !important;
    max-height: 4.9rem !important;
    margin: 0 auto;
    object-fit: contain;
    object-position: center;
  }

  body:is(.page-category, .page-search) .ic-view-list .product-miniature__bottom {
    display: flex;
    gap: 0.4rem;
    padding: 0.62rem !important;
  }

  body:is(.page-category, .page-search) .ic-view-list .product-miniature__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:is(.page-category, .page-search) #js-product-list .products.ic-view-grid:not(.ic-view-compact) .ic-plp-favorite-button {
    width: 2.75rem;
    height: 2.75rem;
  }

  body:is(.page-category, .page-search) #js-product-list .products.ic-view-list .ic-plp-favorite-button {
    top: 0.32rem;
    right: 0.32rem;
    width: 2.25rem;
    height: 2.25rem;
  }

  body:is(.page-category, .page-search) .ic-filter-drawer {
    display: flex;
    flex-direction: column;
  }

  body:is(.page-category, .page-search) .ic-filter-drawer .offcanvas-title {
    text-transform: uppercase;
    letter-spacing: 0.055em;
  }

  body:is(.page-category, .page-search) .ic-filter-drawer .offcanvas-body {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
  }

  body:is(.page-category, .page-search) .ic-filter-drawer .accordion-button {
    min-height: 3.35rem;
  }

  body:is(.page-category, .page-search) .ic-filter-drawer .search-filters__item,
  body:is(.page-category, .page-search) .ic-filter-drawer .search-filters__form-check,
  body:is(.page-category, .page-search) .ic-filter-drawer .search-filters__form-label {
    min-height: 2.75rem;
  }

  body:is(.page-category, .page-search) .ic-filter-drawer .search-filters__form-label {
    display: flex;
    align-items: center;
  }

  body:is(.page-category, .page-search) .ic-filter-drawer-footer {
    display: grid;
    flex: 0 0 auto;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.15fr);
    gap: 0.62rem;
    border-top: 1px solid #d8e1eb;
    padding: 0.72rem 0.75rem calc(0.72rem + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 -0.65rem 1.4rem rgba(12, 36, 70, 0.08);
  }

  body:is(.page-category, .page-search) .ic-filter-drawer-clear,
  body:is(.page-category, .page-search) .ic-filter-drawer-results {
    min-height: 3rem;
    border-radius: 999px;
    padding: 0.58rem 0.75rem;
    font-size: 0.74rem;
    font-weight: 820;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }

  body:is(.page-category, .page-search) .ic-filter-drawer-clear {
    border: 1px solid #173a70;
    background: #fff;
    color: #173a70;
  }

  body:is(.page-category, .page-search) .ic-filter-drawer-clear:disabled {
    border-color: #ccd5df;
    color: #8a98aa;
    cursor: not-allowed;
    opacity: 0.68;
  }

  body:is(.page-category, .page-search) .ic-filter-drawer-results {
    border: 1px solid #123f8c;
    background: #123f8c;
    color: #fff;
    box-shadow: 0 0.45rem 1rem rgba(18, 63, 140, 0.2);
  }
}

/* A single supplier photo should not create an empty-looking thumbnail rail. */
body.page-product .product__thumbnails:has(.product__thumbnail:only-child) {
  display: none;
}

body:is(.page-category, .page-search) .pagination.ic-pagination-enhanced {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  border: 1px solid #d6e0ec;
  border-radius: 0.9rem;
  padding: 0.42rem;
  background: #fff;
  box-shadow: 0 0.4rem 1rem rgba(14, 45, 84, 0.065);
}

body:is(.page-category, .page-search) .pagination.ic-pagination-enhanced .page-link {
  min-height: 2.6rem;
  border-radius: 0.65rem;
}

body:is(.page-category, .page-search) .pagination.ic-pagination-enhanced .ic-pagination-current-item .page-link {
  min-width: 4rem;
  padding-inline: 0.65rem;
  font-weight: 850;
  white-space: nowrap;
}

body.page-product .details__item--manufacturer .ic-product-manufacturer-name {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #b9cbe4;
  border-radius: 999px;
  padding: 0.5rem 1rem;
  background: linear-gradient(135deg, #f7faff 0%, #edf4ff 100%);
  color: #0d3d80;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.035em;
  text-decoration: none;
  text-transform: uppercase;
}

body.page-product .details__item--manufacturer .ic-product-manufacturer-name:hover,
body.page-product .details__item--manufacturer .ic-product-manufacturer-name:focus-visible {
  border-color: #0d57b7;
  background: #fff;
  color: #07366f;
  box-shadow: 0 0.35rem 0.9rem rgba(13, 61, 128, 0.12);
}

body.page-product .blockreassurance--product {
  display: grid;
  gap: 0.72rem;
  margin-top: 1.15rem;
}

body.page-product .blockreassurance--product .reassurance {
  display: grid;
  grid-template-columns: 3.35rem minmax(0, 1fr);
  gap: 0.85rem;
  align-items: center;
  border: 1px solid #d8e3f0;
  border-radius: 1rem;
  padding: 0.9rem 1rem;
  background: linear-gradient(135deg, #fff 0%, #f5f9ff 100%);
  box-shadow: 0 0.35rem 1rem rgba(15, 48, 91, 0.055);
}

body.page-product .blockreassurance--product .reassurance__image {
  display: grid;
  width: 3.2rem;
  height: 3.2rem;
  place-items: center;
  border-radius: 0.9rem;
  background: #eaf3ff;
}

body.page-product .blockreassurance--product .reassurance__image img {
  width: 2.25rem;
  height: 2.25rem;
  object-fit: contain;
}

body.page-product .blockreassurance--product .reassurance__content {
  display: grid;
  gap: 0.18rem;
}

body.page-product .blockreassurance--product .reassurance__title {
  color: #102b52;
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.25;
}

body.page-product .blockreassurance--product .reassurance__desc {
  color: #52647d;
  font-size: 0.82rem;
  line-height: 1.45;
}

@media (max-width: 767.98px) {
  body:is(.page-category, .page-search) nav[aria-label="Paginación de productos"] {
    width: 100%;
  }

  body:is(.page-category, .page-search) .pagination.ic-pagination-enhanced {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 0.45rem;
    border-radius: 1rem;
    padding: 0.48rem;
  }

  body:is(.page-category, .page-search) .pagination.ic-pagination-enhanced .page-item {
    display: none;
  }

  body:is(.page-category, .page-search) .pagination.ic-pagination-enhanced .page-item:first-child,
  body:is(.page-category, .page-search) .pagination.ic-pagination-enhanced .page-item:last-child,
  body:is(.page-category, .page-search) .pagination.ic-pagination-enhanced .ic-pagination-current-item {
    display: block;
  }

  body:is(.page-category, .page-search) .pagination.ic-pagination-enhanced .previous,
  body:is(.page-category, .page-search) .pagination.ic-pagination-enhanced .next {
    display: inline-flex;
    width: 100%;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    gap: 0.18rem;
    padding-inline: 0.48rem;
    font-size: 0.7rem;
    font-weight: 800;
    white-space: nowrap;
  }

  body:is(.page-category, .page-search) .pagination.ic-pagination-enhanced .previous .d-none.d-xl-flex,
  body:is(.page-category, .page-search) .pagination.ic-pagination-enhanced .next .d-none.d-xl-flex {
    display: inline-flex !important;
  }

  body:is(.page-category, .page-search) .pagination.ic-pagination-enhanced .ic-pagination-current-item .page-link {
    min-width: 4.4rem;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
  }

  body.page-product .images-container picture,
  body.page-product .js-images-container picture,
  body.page-product .product-cover picture {
    display: grid;
    width: 100%;
    place-items: center;
  }

  body.page-product .images-container picture img,
  body.page-product .js-images-container picture img,
  body.page-product .product-cover picture img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
    object-fit: contain;
    object-position: center;
  }

  body.page-product .details__item--manufacturer .ic-product-manufacturer-name {
    min-height: 2.25rem;
    padding: 0.42rem 0.82rem;
    font-size: 0.78rem;
  }

  body.page-product .blockreassurance--product .reassurance {
    grid-template-columns: 2.85rem minmax(0, 1fr);
    gap: 0.72rem;
    border-radius: 0.85rem;
    padding: 0.78rem 0.82rem;
  }

  body.page-product .blockreassurance--product .reassurance__image {
    width: 2.75rem;
    height: 2.75rem;
  }

  body.page-product .blockreassurance--product .reassurance__image img {
    width: 1.9rem;
    height: 1.9rem;
  }
}

@media (max-width: 399.98px) {
  body:is(.page-category, .page-search) .ic-plp-view-caption {
    display: none;
  }

  body:is(.page-category, .page-search) .products__count {
    font-size: 0.7rem;
  }

  body:is(.page-category, .page-search) .ic-plp-view-button {
    width: 2.5rem;
    height: 2.5rem;
  }
}

/* Mobile media centering hardening. Supplier images can have uneven internal
   whitespace, so the visual box and the image itself both use the true center. */
@media (max-width: 767.98px) {
  body.page-product .images-container,
  body.page-product .js-images-container,
  body.page-product .product-cover,
  body.page-product .product-cover picture {
    width: 100%;
    margin-inline: auto;
  }

  body.page-product .product-cover,
  body.page-product .product-cover picture {
    display: grid;
    place-items: center;
  }

  body.page-product .product-cover img,
  body.page-product .js-images-container img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin-inline: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
  }
}

/* Checkout, favourites and fast card purchase. These final rules also prevent
   Hummingbird defaults from rendering primary CTA text blue on blue. */
.btn-primary,
.btn-primary:visited,
.btn-primary .material-icons,
.btn-primary * {
  color: #fff !important;
}

#cart .cart-detailed-actions .btn-primary,
#checkout .checkout-step .btn-primary,
#checkout .payment-options .btn-primary {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  font-weight: 800;
  letter-spacing: 0.01em;
}

/* The enhanced cart carries the count and is the single top-bar entry. */
#header #_desktop_cart,
#header .header-top .ps-shoppingcart,
#header #_mobile_ps_shoppingcart {
  display: none !important;
}

#header .ic-header-cart,
#header .ic-header-favorites {
  position: relative;
}

#header .ic-header-cart.has-items {
  border-color: rgba(255, 157, 145, 0.82);
  background: rgba(217, 45, 32, 0.18);
}

#header .ic-header-cart.has-items .ic-header-cart-copy strong,
#header .ic-header-cart.has-items .material-icons {
  color: #ffb4ab !important;
}

#header .ic-header-cart-count,
#header .ic-header-favorites-count {
  position: absolute;
  z-index: 2;
  top: -0.42rem;
  right: -0.36rem;
  display: grid;
  min-width: 1.25rem;
  height: 1.25rem;
  place-items: center;
  border: 2px solid #153f8f;
  border-radius: 999px;
  padding: 0 0.22rem;
  background: #d92d20;
  color: #fff !important;
  font-size: 0.62rem;
  font-weight: 850;
  line-height: 1;
}

#header .ic-header-favorites {
  border-color: rgba(255, 178, 190, 0.42);
}

#header .ic-header-favorites .material-icons {
  color: #ffc3cf !important;
}

#header .ic-header-favorites.has-items {
  border-color: rgba(255, 178, 190, 0.82);
  background: rgba(190, 23, 50, 0.19);
}

.ic-header-favorites-copy {
  display: grid;
  gap: 0.08rem;
  text-align: left;
}

.ic-header-favorites-copy strong {
  color: #fff !important;
  font-size: 0.72rem;
  line-height: 1;
}

.ic-header-favorites-copy small {
  color: #dce8fa;
  font-size: 0.55rem;
  font-weight: 650;
  line-height: 1;
}

body:is(.page-category, .page-search) #js-product-list .product-miniature__top {
  display: flex;
  flex-direction: column;
}

body:is(.page-category, .page-search) #js-product-list .ic-plp-quick-add {
  position: absolute;
  z-index: 5;
  top: 0.62rem;
  right: 3.28rem;
  display: block;
  margin: 0;
}

body:is(.page-category, .page-search) #js-product-list .ic-plp-quick-add .quantity-button {
  display: none;
}

body:is(.page-category, .page-search) #js-product-list .ic-plp-quick-add .product-miniature__add {
  display: inline-flex;
  width: 2.25rem;
  min-width: 2.25rem;
  min-height: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  gap: 0;
  border: 1px solid #c9d7e7;
  border-radius: 999px;
  padding: 0;
  background: rgba(255, 255, 255, 0.96);
  color: #315275 !important;
  box-shadow: 0 0.35rem 0.9rem rgba(20, 44, 78, 0.1);
}

body:is(.page-category, .page-search) #js-product-list .ic-plp-quick-add .product-miniature__add:hover,
body:is(.page-category, .page-search) #js-product-list .ic-plp-quick-add .product-miniature__add:focus-visible,
body:is(.page-category, .page-search) #js-product-list .ic-plp-quick-add .product-miniature__add[aria-busy="true"] {
  border-color: #174f9a;
  background: #edf5ff;
  color: #0b4a96 !important;
}

body:is(.page-category, .page-search) #js-product-list .ic-plp-quick-add .product-miniature__add .material-icons {
  color: inherit !important;
  font-size: 1.08rem;
}

body:is(.page-category, .page-search) #js-product-list .ic-plp-quick-add .product-miniature__add-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

body:is(.page-category, .page-search) #js-product-list .product-miniature__actions {
  grid-template-columns: minmax(0, 1fr);
}

.ic-checkout-stock-summary,
.ic-bank-transfer-reminder,
.ic-bank-transfer-confirmation {
  margin: 1rem auto;
  border: 1px solid #c7d6ec;
  border-radius: 0.95rem;
  padding: 1rem;
  background: #f7fbff;
  color: #18304f;
}

.ic-checkout-stock-summary {
  width: min(100% - 2rem, 60rem);
}

.ic-checkout-stock-summary h2,
.ic-bank-transfer-reminder h2,
.ic-bank-transfer-confirmation h3 {
  margin: 0;
  color: #102f63;
  font-size: 1.05rem;
  font-weight: 820;
}

.ic-checkout-stock-summary > p,
.ic-bank-transfer-reminder > p,
.ic-bank-transfer-confirmation > p {
  margin: 0.48rem 0 0;
  line-height: 1.5;
}

.ic-checkout-stock-list {
  display: grid;
  gap: 0.45rem;
  margin: 0.85rem 0 0;
  padding: 0;
  list-style: none;
}

.ic-checkout-stock-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.2rem 0.7rem;
  align-items: start;
  border: 1px solid #d9e3ef;
  border-left: 0.28rem solid #17885e;
  border-radius: 0.65rem;
  padding: 0.62rem 0.7rem;
  background: #fff;
}

.ic-checkout-stock-list li strong {
  min-width: 0;
  color: #18304f;
  font-size: 0.84rem;
}

.ic-checkout-stock-list li > span {
  color: #50627a;
  font-size: 0.78rem;
  font-weight: 760;
}

.ic-checkout-stock-list li small {
  grid-column: 1 / -1;
  color: #137347;
  font-size: 0.76rem;
  font-weight: 720;
}

.ic-checkout-stock-list li.is-backorder {
  border-left-color: #c98712;
  background: #fffaf0;
}

.ic-checkout-stock-list li.is-backorder small,
.ic-checkout-stock-list li.is-limited small {
  color: #855306;
}

.ic-checkout-stock-list li.is-limited {
  border-left-color: #d97706;
}

.ic-checkout-stock-list li.is-unavailable {
  border-left-color: #d92d20;
  background: #fff5f5;
}

.ic-checkout-stock-list li.is-unavailable small {
  color: #b42318;
}

.ic-checkout-stock-note,
.ic-bank-transfer-wait {
  color: #4f6076;
  font-size: 0.82rem;
}

.ic-bank-transfer-details {
  display: grid;
  grid-template-columns: minmax(7.5rem, auto) minmax(0, 1fr);
  gap: 0.42rem 0.85rem;
  margin: 0.9rem 0;
}

.ic-bank-transfer-details dt {
  color: #50627a;
  font-size: 0.8rem;
  font-weight: 760;
}

.ic-bank-transfer-details dd {
  min-width: 0;
  margin: 0;
  color: #142d55;
  font-weight: 760;
}

.ic-bank-transfer-details .is-copy-value,
.ic-bank-transfer-order-reference strong {
  border: 1px solid #afc5e6;
  border-radius: 0.52rem;
  padding: 0.38rem 0.52rem;
  background: #fff;
  color: #103e86;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.ic-bank-transfer-order-reference {
  display: grid;
  gap: 0.3rem;
  margin: 0.85rem 0;
}

.ic-bank-transfer-order-reference span,
.ic-bank-transfer-kicker {
  color: #53667e;
  font-size: 0.78rem;
  font-weight: 760;
}

.ic-bank-transfer-next-step {
  margin-top: 1rem;
  border-top: 1px solid #d4e0ef;
  padding-top: 0.82rem;
}

.ic-bank-transfer-next-step p {
  margin: 0.34rem 0 0.7rem;
  line-height: 1.5;
}

.ic-bank-transfer-next-step .btn,
.ic-bank-transfer-whatsapp {
  display: inline-flex;
  min-height: 2.7rem;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}

.order-history__status,
.order-history__status.badge,
.order-history__status.pill {
  color: #fff !important;
  font-weight: 760;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.26);
}

.ic-global-favorites-dialog {
  width: min(35rem, calc(100vw - 1.5rem));
  max-width: none;
  border: 0;
  border-radius: 1rem;
  padding: 0;
  color: #18304f;
  box-shadow: 0 1.4rem 4rem rgba(8, 28, 62, 0.35);
}

.ic-global-favorites-dialog::backdrop {
  background: rgba(8, 27, 57, 0.55);
}

.ic-global-favorites-panel {
  padding: 1.05rem;
  background: #fff;
}

.ic-global-favorites-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.ic-global-favorites-panel h2 {
  margin: 0;
  color: #102f63;
  font-size: 1.2rem;
  font-weight: 850;
}

.ic-global-favorites-close,
.ic-global-favorite-remove {
  border: 1px solid #ccd8e7;
  border-radius: 0.55rem;
  background: #fff;
  color: #193b70;
  cursor: pointer;
}

.ic-global-favorites-close {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
}

.ic-global-favorites-description,
.ic-global-favorites-empty {
  margin: 0.65rem 0;
  color: #50627a;
}

.ic-global-favorites-list {
  display: grid;
  gap: 0.5rem;
  max-height: min(52vh, 28rem);
  overflow: auto;
}

.ic-global-favorite-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: center;
  border: 1px solid #d8e2ee;
  border-radius: 0.7rem;
  padding: 0.45rem;
}

.ic-global-favorite-row > a {
  display: grid;
  min-width: 0;
  grid-template-columns: 3.2rem minmax(0, 1fr);
  gap: 0.65rem;
  align-items: center;
  color: #18304f;
  text-decoration: none;
}

.ic-global-favorite-row img {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 0.5rem;
  object-fit: contain;
}

.ic-global-favorite-row strong,
.ic-global-favorite-row small {
  display: block;
}

.ic-global-favorite-row small {
  margin-top: 0.2rem;
  color: #50627a;
}

.ic-global-favorite-remove {
  min-height: 2.2rem;
  padding: 0.35rem 0.55rem;
  font-size: 0.74rem;
  font-weight: 750;
}

.ic-global-favorites-whatsapp {
  display: inline-flex;
  width: 100%;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin-top: 0.8rem;
}

.ic-global-favorites-login {
  display: inline-flex;
  width: 100%;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin-top: 0.8rem;
  border: 1px solid #174f9a;
  border-radius: 0.65rem;
  color: #174f9a;
  font-weight: 800;
  text-decoration: none;
}

.ic-cart-preview-dialog {
  width: min(38rem, calc(100vw - 1.5rem));
  max-width: none;
  max-height: calc(100dvh - 1.5rem);
  border: 0;
  border-radius: 1rem;
  padding: 0;
  color: #18304f;
  box-shadow: 0 1.4rem 4rem rgba(8, 28, 62, 0.35);
}

.ic-cart-preview-dialog::backdrop {
  background: rgba(8, 27, 57, 0.55);
}

.ic-cart-preview-panel {
  padding: 1.05rem;
  background: #fff;
  overflow: auto;
}

.ic-cart-preview-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.ic-cart-preview-panel h2 {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  margin: 0;
  color: #102f63;
  font-size: 1.2rem;
  font-weight: 850;
}

.ic-cart-preview-panel h2 .material-icons {
  color: #174f9a;
}

.ic-cart-preview-close,
.ic-cart-preview-continue {
  border: 1px solid #ccd8e7;
  border-radius: 0.6rem;
  background: #fff;
  color: #193b70;
  cursor: pointer;
  font-weight: 760;
}

.ic-cart-preview-close {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
}

.ic-cart-preview-description,
.ic-cart-preview-empty {
  margin: 0.65rem 0;
  color: #50627a;
}

.ic-cart-preview-list {
  display: grid;
  gap: 0.5rem;
  max-height: min(46vh, 23rem);
  overflow: auto;
}

.ic-cart-preview-row {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr) auto;
  gap: 0.78rem;
  align-items: start;
  border: 1px solid #d8e2ee;
  border-left: 0.26rem solid #17885e;
  border-radius: 0.7rem;
  padding: 0.6rem;
  background: #fff;
}

.ic-cart-preview-thumb {
  display: block;
  width: 4rem;
  height: 4rem;
  border: 1px solid #e0e7ef;
  border-radius: 0.52rem;
  background: #f7f9fc;
  object-fit: contain;
}

.ic-cart-preview-thumb.is-placeholder {
  display: grid;
  place-items: center;
  color: #8090a6;
}

.ic-cart-preview-copy {
  min-width: 0;
}

.ic-cart-preview-row strong,
.ic-cart-preview-row small {
  display: block;
}

.ic-cart-preview-row strong {
  color: #18304f;
  font-size: 0.84rem;
  line-height: 1.26;
}

.ic-cart-preview-row small {
  margin-top: 0.18rem;
  color: #137347;
  font-size: 0.74rem;
  font-weight: 720;
}

.ic-cart-preview-price {
  align-self: center;
  color: #18304f;
  font-size: 0.84rem;
  font-weight: 820;
  white-space: nowrap;
}

.ic-cart-preview-quantity {
  display: inline-grid;
  grid-template-columns: 1.78rem 1.78rem 1.78rem;
  align-items: center;
  margin-top: 0.48rem;
  border: 1px solid #cbd8e6;
  border-radius: 0.48rem;
  overflow: hidden;
  background: #fff;
}

.ic-cart-preview-quantity-button {
  display: grid;
  width: 1.78rem;
  height: 1.78rem;
  padding: 0;
  place-items: center;
  border: 0;
  background: #f6f9fc;
  color: #174f9a;
  cursor: pointer;
}

.ic-cart-preview-quantity-button:hover:not(:disabled),
.ic-cart-preview-quantity-button:focus-visible:not(:disabled) {
  background: #e8f0fb;
}

.ic-cart-preview-quantity-button:disabled {
  cursor: wait;
  opacity: 0.55;
}

.ic-cart-preview-quantity-button .material-icons {
  font-size: 1.03rem;
}

.ic-cart-preview-quantity-value {
  display: grid;
  min-height: 1.78rem;
  place-items: center;
  border-inline: 1px solid #d8e2ee;
  color: #17365f;
  font-size: 0.79rem;
  font-weight: 820;
}

.ic-cart-preview-quantity.is-updating {
  opacity: 0.65;
}

.ic-cart-preview-row.is-limited,
.ic-cart-preview-row.is-backorder {
  border-left-color: #c98712;
  background: #fffaf0;
}

.ic-cart-preview-row.is-limited small,
.ic-cart-preview-row.is-backorder small {
  color: #855306;
}

.ic-cart-preview-row.is-unavailable {
  border-left-color: #d92d20;
  background: #fff5f5;
}

.ic-cart-preview-row.is-unavailable small {
  color: #b42318;
}

.ic-cart-preview-summary {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.78rem;
  border-top: 1px solid #dbe4ee;
  padding-top: 0.78rem;
  color: #18304f;
}

.ic-cart-preview-summary strong {
  font-size: 1.04rem;
}

.ic-cart-preview-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: 0.55rem;
  margin-top: 0.9rem;
}

.ic-cart-preview-continue,
.ic-cart-preview-view-cart {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.45rem 0.7rem;
  text-decoration: none;
}

.ic-cart-preview-view-cart {
  font-weight: 820;
}

#header .ic-header-cart.is-pending {
  border-color: rgba(255, 130, 113, 0.96);
  background: rgba(217, 45, 32, 0.27);
}

@media (max-width: 767.98px) {
  #header .ic-header-favorites-copy {
    display: none;
  }

  #header .ic-header-favorites,
  #header .ic-mobile-favorites {
    min-width: 2.45rem;
    padding-inline: 0.45rem;
  }

  .ic-checkout-stock-summary {
    width: calc(100% - 1rem);
    padding: 0.82rem;
  }

  .ic-bank-transfer-details {
    grid-template-columns: 1fr;
    gap: 0.18rem;
  }

  .ic-bank-transfer-details dd {
    margin-bottom: 0.55rem;
  }

  .ic-cart-preview-panel {
    padding: 0.88rem;
  }

  .ic-cart-preview-row {
    grid-template-columns: 3.25rem minmax(0, 1fr) auto;
    gap: 0.55rem;
  }

  .ic-cart-preview-thumb {
    width: 3.25rem;
    height: 3.25rem;
  }

  .ic-cart-preview-actions {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
   InfoChen commerce polish v38
   A single, quieter visual system across home, catalog and product pages.
   -------------------------------------------------------------------------- */
:root {
  --ic-bg: #f3f6fb;
  --ic-surface-soft: #edf3fa;
  --ic-text: #13243c;
  --ic-muted: #5f7086;
  --ic-brand: #0d4a8d;
  --ic-brand-dark: #072b58;
  --ic-brand-light: #e8f1ff;
  --ic-border: #d9e3ef;
  --ic-accent: #e95d3f;
  --ic-radius: 1.05rem;
  --ic-radius-lg: 1.4rem;
  --ic-shadow: 0 1.1rem 3rem rgba(13, 47, 87, 0.1);
}

body {
  background:
    radial-gradient(circle at 8% 4%, rgba(30, 105, 190, 0.055), transparent 22rem),
    var(--ic-bg);
}

#header.header {
  border-bottom-color: rgba(18, 55, 96, 0.12);
  box-shadow: 0 0.45rem 1.6rem rgba(7, 36, 74, 0.07);
}

#header .header-top {
  min-height: 2.65rem;
  border-bottom-color: rgba(180, 211, 248, 0.16);
  background: linear-gradient(112deg, #061d40 0%, #082f65 58%, #0b447f 100%);
}

#header .ic-header-ticker {
  display: none !important;
}

#header .ic-header-contact {
  gap: 0.78rem;
}

#header .ic-header-contact a,
#header .ic-header-contact > span {
  font-size: 0.69rem;
}

#header .ic-header-actions {
  gap: 0.32rem;
}

#header .ic-header-action,
#header #_desktop_ps_customersignin .header-block__action-btn {
  min-height: 2.15rem;
  border-color: rgba(198, 221, 249, 0.18);
  background: rgba(255, 255, 255, 0.06);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#header .ic-header-cart.has-items,
#header .ic-header-favorites.has-items {
  border-color: rgba(255, 190, 176, 0.5);
  background: rgba(255, 255, 255, 0.12);
}

#header .header-bottom__container {
  padding-top: 0.72rem;
}

#header .header-bottom__logo img,
#header .logo {
  box-shadow: 0 0.38rem 1.15rem rgba(21, 76, 143, 0.16);
}

#_desktop_ps_searchbar .form-control,
#_desktop_ps_searchbar input[type="search"] {
  height: 3.05rem;
  border-color: #cbd8e7;
  background: #fbfdff;
  box-shadow: inset 0 1px 2px rgba(21, 53, 89, 0.035);
}

#_desktop_ps_searchbar .form-control:focus,
#_desktop_ps_searchbar input[type="search"]:focus {
  border-color: #6f9ed5;
  background: #fff;
  box-shadow: 0 0 0 0.22rem rgba(13, 74, 141, 0.12);
}

#_desktop_ps_searchbar button,
.ps-searchbar--mobile button {
  background: var(--ic-brand) !important;
  color: #fff !important;
}

.btn-primary,
.product-miniature__details,
.product-miniature__actions .btn-primary {
  border-color: var(--ic-brand) !important;
  background: var(--ic-brand) !important;
  color: #fff !important;
  box-shadow: 0 0.45rem 1rem rgba(13, 74, 141, 0.14);
}

.btn-primary:hover,
.btn-primary:focus-visible,
.product-miniature__details:hover,
.product-miniature__details:focus-visible {
  border-color: var(--ic-brand-dark) !important;
  background: var(--ic-brand-dark) !important;
  box-shadow: 0 0.55rem 1.2rem rgba(7, 43, 88, 0.2);
  transform: translateY(-1px);
}

#wrapper {
  background: transparent;
}

.breadcrumb {
  margin-block: 1rem;
  color: #6a7b90;
  font-size: 0.78rem;
}

.breadcrumb a {
  color: #536b87;
  text-decoration: none;
}

.breadcrumb a:hover,
.breadcrumb a:focus-visible {
  color: var(--ic-brand);
}

.block-category,
.product-information,
.card,
.facet,
#search_filters,
body:is(.page-category, .page-search) #search_filters_wrapper {
  border-color: var(--ic-border);
  border-radius: var(--ic-radius);
  box-shadow: 0 0.65rem 2rem rgba(12, 48, 88, 0.055);
}

body:is(.page-category, .page-search) #wrapper {
  background:
    linear-gradient(180deg, rgba(232, 241, 255, 0.5) 0, rgba(243, 246, 251, 0) 15rem),
    var(--ic-bg);
}

body:is(.page-category, .page-search) #js-product-list-header h1,
body.page-product h1,
body.page-product .h1 {
  color: #0a2e5b;
  letter-spacing: -0.035em;
}

body:is(.page-category, .page-search) .products__selection {
  border-color: var(--ic-border);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 0.55rem 1.6rem rgba(12, 48, 88, 0.055);
}

.product-miniature,
body:is(.page-category, .page-search) #js-product-list .product-miniature {
  border-color: var(--ic-border);
  border-radius: 1.05rem;
  box-shadow: 0 0.35rem 1.15rem rgba(12, 48, 88, 0.045);
}

.product-miniature:hover,
body:is(.page-category, .page-search) #js-product-list .product-miniature:hover {
  border-color: #aac2df;
  box-shadow: 0 1rem 2.6rem rgba(12, 48, 88, 0.11);
}

.product-miniature__image-container {
  border-radius: 0.85rem;
  background: linear-gradient(145deg, #fff, #f8fbff);
}

.product-miniature__title,
.product-miniature__title a {
  color: #13243c !important;
  font-weight: 690;
}

.product-miniature__price,
.product-price {
  color: #0a2e5b;
}

.product-flags li,
.badge {
  background: #e8f1ff;
  color: #0b447f;
}

.discount,
.discount-percentage,
.product-flag.discount,
.product-flag.on-sale {
  background: #fff0ec !important;
  color: #b63d27 !important;
}

.ichome {
  --ichome-blue: #0d4a8d;
  --ichome-navy: #072b58;
}

.ichome .ichome-top-categories,
.ichome .ichome-trust,
.ichome .ichome-device-categories,
.ichome .ichome-section,
.ichome .ichome-business,
.ichome .ichome-contact {
  scroll-margin-top: 8rem;
}

.ichome .ichome-top-categories-track,
.ichome .ichome-hero-stage,
.ichome .ichome-trust-grid,
.ichome .ichome-device-categories,
.ichome .ichome-section,
.ichome .ichome-business,
.ichome .ichome-contact {
  border-color: rgba(16, 63, 114, 0.12);
}

.ichome .ichome-hero-stage,
.ichome .ichome-section,
.ichome .ichome-business,
.ichome .ichome-contact {
  border-radius: var(--ic-radius-lg);
  box-shadow: 0 0.9rem 2.5rem rgba(11, 48, 90, 0.075);
}

.ichome .ichome-section-heading h2,
.ichome .ichome-business h2,
.ichome .ichome-contact h2 {
  color: #092f60;
  letter-spacing: -0.035em;
}

.ichome .ichome-category-card,
.ichome .ichome-device-category-card,
.ichome .ichome-offer-card,
.ichome .ichome-solution-card {
  border-color: rgba(17, 67, 120, 0.14);
  box-shadow: 0 0.45rem 1.4rem rgba(11, 48, 90, 0.055);
}

.ichome .ichome-category-card:hover,
.ichome .ichome-category-card:focus-visible,
.ichome .ichome-device-category-card:hover,
.ichome .ichome-device-category-card:focus-visible {
  border-color: #97b7db;
  box-shadow: 0 0.9rem 2rem rgba(11, 48, 90, 0.11);
}

#header #_desktop_cart,
#header .header-top .ps-shoppingcart,
#header #_mobile_ps_shoppingcart {
  display: none !important;
}

/* Bootstrap's display utilities live in a named layer and use !important.
   Re-declare the duplicate native cart inside that same layer so the enhanced
   cart remains the only cart entry on phones. */
@layer utilities {
  #header #_mobile_ps_shoppingcart {
    display: none !important;
  }
}

@media (max-width: 767.98px) {
  :root {
    --ic-radius: 0.92rem;
    --ic-radius-lg: 1.1rem;
  }

  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  #header .header-top {
    display: none !important;
  }

  #header .ic-mobile-contact {
    display: flex !important;
    min-height: 2.35rem;
    padding: 0.38rem 0.75rem;
    background: linear-gradient(105deg, #061d40, #0a407a);
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.1);
    font-size: 0.68rem;
  }

  #header .header-bottom__container {
    padding: 0.5rem 0.65rem 0.58rem;
  }

  #header .header-bottom__row {
    display: flex !important;
    min-height: 3.25rem;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 0.28rem;
    margin: 0 !important;
  }

  #header .ps-mainmenu--mobile {
    order: 1;
    width: 2.65rem;
    min-width: 2.65rem;
    flex: 0 0 2.65rem;
    margin: 0 !important;
    padding: 0 !important;
  }

  #header .header-bottom__logo {
    order: 2;
    width: 2.65rem;
    min-width: 2.65rem;
    flex: 0 0 2.65rem;
    margin: 0 auto 0 0 !important;
    padding: 0 !important;
  }

  #header .header-bottom__logo img,
  #header .logo {
    width: 2.55rem !important;
    height: 2.55rem !important;
    max-width: 2.55rem;
    max-height: 2.55rem;
  }

  #header .ic-header-brand-copy {
    display: none !important;
  }

  #header .ic-mobile-favorites,
  #header .ic-mobile-cart,
  #header .ps-searchbar--mobile,
  #header #_mobile_ps_customersignin {
    position: relative;
    width: 2.65rem !important;
    min-width: 2.65rem !important;
    max-width: 2.65rem !important;
    height: 2.65rem !important;
    min-height: 2.65rem !important;
    flex: 0 0 2.65rem !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #header .ic-mobile-favorites {
    order: 3;
  }

  #header .ic-mobile-cart {
    order: 4;
  }

  #header .ps-searchbar--mobile {
    order: 5;
  }

  #header #_mobile_ps_customersignin {
    order: 6;
  }

  #header .ic-mobile-favorites,
  #header .ic-mobile-cart,
  #header .ps-searchbar--mobile > *,
  #header #_mobile_ps_customersignin > * {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid #d7e2ee !important;
    border-radius: 0.78rem !important;
    background: #f8fbff !important;
    color: #164d86 !important;
    box-shadow: none !important;
  }

  #header .ic-mobile-favorites:hover,
  #header .ic-mobile-favorites:focus-visible,
  #header .ic-mobile-cart:hover,
  #header .ic-mobile-cart:focus-visible,
  #header .ps-searchbar--mobile > *:hover,
  #header .ps-searchbar--mobile > *:focus-visible,
  #header #_mobile_ps_customersignin > *:hover,
  #header #_mobile_ps_customersignin > *:focus-visible {
    border-color: #9ab7d8 !important;
    background: #eaf2fc !important;
  }

  #header .ic-mobile-favorites .material-icons,
  #header .ic-mobile-cart .material-icons,
  #header .ps-searchbar--mobile .material-icons,
  #header #_mobile_ps_customersignin .material-icons {
    color: #164d86 !important;
    font-size: 1.18rem;
  }

  #header .ic-header-cart.has-items,
  #header .ic-header-favorites.has-items {
    border-color: #d7e2ee !important;
    background: #f8fbff !important;
  }

  #header .ic-header-cart.has-items .material-icons,
  #header .ic-header-favorites.has-items .material-icons {
    color: #164d86 !important;
  }

  #header .ic-header-cart-count,
  #header .ic-header-favorites-count {
    top: -0.34rem;
    right: -0.3rem;
    min-width: 1.08rem;
    height: 1.08rem;
    border-width: 2px;
    border-color: #fff;
    background: var(--ic-accent);
    font-size: 0.55rem;
  }

  .container,
  .container-md,
  .container-fluid {
    padding-inline: 0.72rem;
  }

  .breadcrumb {
    margin-block: 0.6rem;
    font-size: 0.7rem;
  }

  body:is(.page-category, .page-search) .columns-container {
    padding-inline: 0.72rem;
  }

  body:is(.page-category, .page-search) #js-product-list-header h1 {
    font-size: clamp(1.45rem, 7vw, 1.8rem);
  }

  body:is(.page-category, .page-search) .products__selection {
    gap: 0.45rem;
    border-radius: 0.92rem;
    padding: 0.62rem;
  }

  body:is(.page-category, .page-search) #js-product-list .products,
  body:is(.page-category, .page-search) #js-product-list .products.ic-view-grid,
  body:is(.page-category, .page-search) #js-product-list .products.ic-view-compact {
    gap: 0.65rem;
  }

  body:is(.page-category, .page-search) #js-product-list .product-miniature {
    border-radius: 0.92rem;
  }

  body:is(.page-category, .page-search) #js-product-list .product-miniature__top {
    padding: 0.5rem 0.5rem 0;
  }

  body:is(.page-category, .page-search) #js-product-list .product-miniature__bottom {
    padding: 0.62rem 0.65rem 0.7rem;
  }

  body:is(.page-category, .page-search) #js-product-list .product-miniature__title,
  body:is(.page-category, .page-search) #js-product-list .product-miniature__title a {
    min-height: 2.55rem;
    font-size: 0.78rem;
    line-height: 1.34;
  }

  body:is(.page-category, .page-search) #js-product-list .product-miniature__price {
    font-size: 1rem;
  }

  body:is(.page-category, .page-search) #js-product-list .product-miniature__actions {
    grid-template-columns: 1fr;
  }

  body:is(.page-category, .page-search) #js-product-list .icwa-card-button {
    display: none !important;
  }

  body:is(.page-category, .page-search) .ic-plp-category-chips,
  body.page-category .subcategory__list,
  .ichome .ichome-top-categories-track,
  .ichome .ichome-hero-categories {
    scrollbar-width: none;
    scroll-snap-type: x proximity;
  }

  body:is(.page-category, .page-search) .ic-plp-category-chips::-webkit-scrollbar,
  body.page-category .subcategory__list::-webkit-scrollbar,
  .ichome .ichome-top-categories-track::-webkit-scrollbar,
  .ichome .ichome-hero-categories::-webkit-scrollbar {
    display: none;
  }

  body.page-category #js-product-list-header .category__description p:first-child {
    display: -webkit-box;
    overflow: hidden;
    margin-bottom: 0;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }

  body.page-category #js-product-list-header .category__description p + p {
    display: none;
  }

  .ichome .ichome-hero-stage,
  .ichome .ichome-section,
  .ichome .ichome-business,
  .ichome .ichome-contact {
    border-radius: 1.05rem;
    box-shadow: 0 0.55rem 1.6rem rgba(11, 48, 90, 0.065);
  }

  .ichome .ichome-section-heading h2,
  .ichome .ichome-business h2,
  .ichome .ichome-contact h2 {
    font-size: clamp(1.35rem, 6vw, 1.72rem);
  }

  .icwa-floating {
    right: 0.78rem !important;
    bottom: max(0.78rem, env(safe-area-inset-bottom)) !important;
    left: auto !important;
    width: 3.2rem !important;
    min-width: 3.2rem !important;
    max-width: 3.2rem !important;
    height: 3.2rem !important;
    min-height: 3.2rem !important;
    max-height: 3.2rem !important;
    box-shadow: 0 0.75rem 1.6rem rgba(20, 122, 73, 0.24) !important;
  }
}

@media (max-width: 359.98px) {
  #header .header-bottom__row {
    gap: 0.2rem;
  }

  #header .ic-mobile-favorites,
  #header .ic-mobile-cart,
  #header .ps-searchbar--mobile,
  #header #_mobile_ps_customersignin,
  #header .ps-mainmenu--mobile,
  #header .header-bottom__logo {
    width: 2.45rem !important;
    min-width: 2.45rem !important;
    max-width: 2.45rem !important;
    flex-basis: 2.45rem !important;
  }
}

/* --------------------------------------------------------------------------
   Commerce flow polish v42
   Faster product evaluation, a reachable mobile checkout action and a clear
   bank-transfer sequence. Keep this layer last so it can safely refine the
   parent Hummingbird theme without replacing transactional templates.
   -------------------------------------------------------------------------- */

.ic-payment-guide {
  display: grid;
  gap: 0.85rem;
  border: 1px solid #bfd2ea;
  border-radius: 1rem;
  padding: 1rem;
  background: linear-gradient(145deg, #f8fbff, #eef5ff);
  color: var(--ic-text);
}

.ic-payment-guide__header {
  display: grid;
  gap: 0.24rem;
}

.ic-payment-guide__header strong {
  color: var(--ic-brand-dark);
  font-size: 1rem;
}

.ic-payment-guide__header span,
.ic-payment-guide__note {
  color: var(--ic-muted);
  font-size: 0.82rem;
  line-height: 1.5;
}

.ic-payment-guide__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: ic-payment-step;
}

.ic-payment-guide__steps li {
  position: relative;
  min-width: 0;
  border: 1px solid #d2dfef;
  border-radius: 0.75rem;
  padding: 0.7rem 0.68rem 0.7rem 2.45rem;
  background: #fff;
  counter-increment: ic-payment-step;
}

.ic-payment-guide__steps li::before {
  position: absolute;
  top: 0.65rem;
  left: 0.62rem;
  display: grid;
  width: 1.42rem;
  height: 1.42rem;
  place-items: center;
  border-radius: 999px;
  background: var(--ic-brand);
  color: #fff;
  content: counter(ic-payment-step);
  font-size: 0.72rem;
  font-weight: 850;
}

.ic-payment-guide__steps strong,
.ic-payment-guide__steps small {
  display: block;
}

.ic-payment-guide__steps strong {
  color: #17375e;
  font-size: 0.82rem;
}

.ic-payment-guide__steps small {
  margin-top: 0.18rem;
  color: #5c6f86;
  font-size: 0.72rem;
  line-height: 1.4;
}

.ic-payment-guide__note {
  margin: 0;
  border-left: 0.22rem solid #d29326;
  padding-left: 0.68rem;
}

.ic-empty-search-panel {
  display: grid;
  gap: 0.85rem;
  max-width: 43rem;
  margin: 0.9rem 0 2rem;
  border: 1px solid var(--ic-border);
  border-radius: var(--ic-radius);
  padding: clamp(1rem, 3vw, 1.45rem);
  background: #fff;
  box-shadow: 0 0.7rem 2rem rgba(12, 48, 88, 0.07);
}

.ic-empty-search-panel p {
  margin: 0;
  color: var(--ic-muted);
  line-height: 1.55;
}

.ic-empty-search-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.ic-empty-search-actions .btn {
  min-height: 2.8rem;
  align-items: center;
  justify-content: center;
}

#checkout .ic-checkout-essential-note {
  margin: 0 0 0.9rem;
  border-left: 0.22rem solid #2c78c4;
  border-radius: 0.35rem 0.65rem 0.65rem 0.35rem;
  padding: 0.68rem 0.78rem;
  background: #eff6ff;
  color: #315273;
  font-size: 0.78rem;
  line-height: 1.45;
}

#checkout .ic-checkout-optional-hidden {
  display: none !important;
}

#checkout .checkout-step {
  border-color: var(--ic-border);
  border-radius: 1rem;
}

#checkout .checkout-step.-current {
  border-color: #b5cbe6;
  box-shadow: 0 0.8rem 2.2rem rgba(13, 74, 141, 0.08);
}

@media (max-width: 767.98px) {
  /* One horizontal thumbnail strip keeps the product title and price in the
     first viewport even when suppliers provide five or more gallery images. */
  body.page-product .product__images,
  body.page-product .js-images-container {
    height: auto !important;
    min-height: 0 !important;
  }

  body.page-product .product__thumbnails {
    height: auto !important;
    max-height: none !important;
    margin-top: 0.55rem;
    overflow: hidden;
  }

  body.page-product .product__thumbnails-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0.45rem;
    margin: 0;
    padding: 0.1rem 0 0.35rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  body.page-product .product__thumbnails-list::-webkit-scrollbar {
    display: none;
  }

  body.page-product .product__thumbnail {
    width: 4.45rem !important;
    min-width: 4.45rem !important;
    max-width: 4.45rem !important;
    height: 4.45rem !important;
    min-height: 4.45rem !important;
    flex: 0 0 4.45rem !important;
    padding: 0 !important;
    scroll-snap-align: start;
  }

  body.page-product .product__thumbnail picture,
  body.page-product .product__thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  /* A persistent, single action removes the need to scroll through every cart
     line before discovering checkout. The order total remains in the summary. */
  body.page-cart {
    padding-bottom: calc(5.1rem + env(safe-area-inset-bottom));
  }

  body.page-cart .cart-summary__actions.js-cart-detailed-actions {
    position: fixed;
    z-index: 1020;
    right: 0;
    bottom: 0;
    left: 0;
    height: auto;
    margin: 0;
    border-top: 1px solid rgba(17, 57, 99, 0.14);
    padding: 0.62rem 4.5rem calc(0.62rem + env(safe-area-inset-bottom)) 0.72rem;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 -0.65rem 1.8rem rgba(7, 43, 88, 0.12);
    backdrop-filter: blur(0.75rem);
    -webkit-backdrop-filter: blur(0.75rem);
  }

  body.page-cart .cart-summary__actions .btn-primary {
    width: 100%;
    min-height: 3.05rem;
    border-radius: 0.78rem;
  }

  body.page-cart .icwa-floating {
    bottom: calc(5.25rem + env(safe-area-inset-bottom)) !important;
  }

  .ic-payment-guide__steps {
    grid-template-columns: 1fr;
  }

  .ic-empty-search-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .ic-empty-search-actions .btn {
    display: inline-flex;
    width: 100%;
  }

  #checkout .checkout-step {
    border-radius: 0.85rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-cart .cart-summary__actions.js-cart-detailed-actions {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/* InfoChen visual system, September 2026. Native checkout behaviour unchanged. */
body{--ic-brand-navy:#0b203a;--ic-brand-blue:#2677ed;--ic-brand-border:#dce5f0;background-color:#f3f6fa}
#header .header-top{background:#0b203a;color:#e8f1ff}
#header .header-bottom{background:#fff;border-bottom:1px solid #dee6f1;box-shadow:0 3px 15px #0b203a05}
#header .ic-header-cart,#header .ic-header-favorites{border-color:#dde7f4;border-radius:12px;box-shadow:none}
body :is(.btn-primary,.product-add-to-cart .add-to-cart){background:#2269d2;border-color:#2269d2;color:white;border-radius:10px;box-shadow:none;font-weight:600}
body :is(.btn-primary,.product-add-to-cart .add-to-cart):hover{background:#1859b6;border-color:#1859b6}
body :is(.btn-primary,.product-add-to-cart .add-to-cart):disabled{background:#7186a1;border-color:#7186a1}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #72a5ed;outline-offset:3px}
body:is(.page-category,.page-search) .product-miniature{border:1px solid #dfe6ef;border-radius:13px;box-shadow:0 4px 12px #15305304;background:#fff;overflow:hidden}
body:is(.page-category,.page-search) .product-miniature__title a{color:#153553;font-size:14px;line-height:1.5;font-weight:600}
body:is(.page-category,.page-search) .product-miniature__price{font-size:24px;letter-spacing:-.04em;color:#123b70;font-weight:700}
body:is(.page-category,.page-search) #js-product-list-header h1{color:#102f52;letter-spacing:-.04em}
body.page-product h1{color:#102f52;letter-spacing:-.035em;line-height:1.2}
body.page-product .product-prices{color:#123b70}
body.page-cart .card,#checkout .checkout-step{border:1px solid #dce5f0;box-shadow:none;border-radius:13px}
#checkout .checkout-step.-current{border-color:#91b7e8;box-shadow:0 4px 18px #203d6308}
body :is(.form-control,.form-select){border-color:#bccce0;border-radius:8px;color:#193953}
body .ic-footer{background:#0b203a;color:#b9cbe2;border-top:1px solid #ffffff10}
@media(max-width:767.98px){
 #header .header-bottom__row{padding-block:10px}
 body:is(.page-category,.page-search) #js-product-list .product-miniature{border-radius:12px}
 body:is(.page-category,.page-search) #js-product-list .product-miniature__bottom{padding:12px}
 body:is(.page-category,.page-search) #js-product-list .product-miniature__title,body:is(.page-category,.page-search) #js-product-list .product-miniature__title a{font-size:12px;line-height:1.45}
 body:is(.page-category,.page-search) #js-product-list .product-miniature__price{font-size:22px}
 body:is(.page-category,.page-search) #js-product-list .product-miniature__actions .btn{min-height:44px;font-size:11px}
 body.page-product h1{font-size:25px;line-height:1.23}
 #checkout .checkout-step{padding:18px;border-radius:12px}
 body :is(.form-control,.form-select){font-size:16px;min-height:44px}
 body :is(.page-heading,.page-header h1){font-size:28px;letter-spacing:-.04em}
}
