@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800;900&family=Roboto:wght@400;500;700&family=Roboto+Mono:wght@400;500;600&display=swap");

* {
  box-sizing: border-box;
}

/* Logotipo vectorial compartido con la tienda: locomotora fija y texto ajustable. */
.fa-header-main {
  --fa-logo-train-height: 42px;
  --fa-logo-wordmark-height: 36px;
  --fa-logo-train-mobile-height: 28px;
  --fa-logo-wordmark-mobile-height: 24px;
}

.fa-literal-footer {
  --fa-logo-footer-train-height: 52px;
  --fa-logo-footer-wordmark-height: 54px;
}

.fa-logo-lockup { display: inline-flex; align-items: center; gap: 8px; }
.fa-logo-lockup img { display: block; width: auto; max-width: none; }
.fa-header-main .fa-logo-train { height: var(--fa-logo-train-height) !important; }
.fa-header-main .fa-logo-wordmark { height: var(--fa-logo-wordmark-height) !important; }
.fa-header-main .fa-logo-train,
.fa-header-main .fa-logo-wordmark { filter: brightness(0) saturate(100%) invert(15%) sepia(20%) saturate(1581%) hue-rotate(184deg) brightness(94%) contrast(91%); }
.fa-literal-footer .fa-footer-logo .fa-logo-train { height: var(--fa-logo-footer-train-height) !important; }
.fa-literal-footer .fa-footer-logo .fa-logo-wordmark { height: var(--fa-logo-footer-wordmark-height) !important; }

@media (max-width: 640px) {
  .fa-header-main .fa-logo-lockup { gap: 6px; }
  .fa-header-main .fa-logo-train { height: var(--fa-logo-train-mobile-height) !important; }
  .fa-header-main .fa-logo-wordmark { height: var(--fa-logo-wordmark-mobile-height) !important; }
}

/* Customer area final override: keep every account subpage on the same layout. */
body.page-customer-account .columns-container,
body.page-identity .columns-container,
body.page-addresses .columns-container,
body.page-address .columns-container,
body.page-history .columns-container,
body.page-order-slip .columns-container,
body#module-ps_emailalerts-account .columns-container,
body#module-psgdpr-gdpr .columns-container,
body#module-blockwishlist-lists .columns-container {
  max-width: 1280px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 32px 32px 78px !important;
}

body.page-customer-account .breadcrumb__wrapper,
body.page-identity .breadcrumb__wrapper,
body.page-addresses .breadcrumb__wrapper,
body.page-address .breadcrumb__wrapper,
body.page-history .breadcrumb__wrapper,
body.page-order-slip .breadcrumb__wrapper,
body#module-ps_emailalerts-account .breadcrumb__wrapper,
body#module-psgdpr-gdpr .breadcrumb__wrapper,
body#module-blockwishlist-lists .breadcrumb__wrapper {
  display: none !important;
}

body.page-customer-account .columns-container > .row,
body.page-identity .columns-container > .row,
body.page-addresses .columns-container > .row,
body.page-address .columns-container > .row,
body.page-history .columns-container > .row,
body.page-order-slip .columns-container > .row,
body#module-ps_emailalerts-account .columns-container > .row,
body#module-psgdpr-gdpr .columns-container > .row,
body#module-blockwishlist-lists .columns-container > .row {
  display: grid !important;
  grid-template-columns: 282px minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: start !important;
  margin: 0 !important;
}

body.page-customer-account .columns-container > .row > [class*="col-"],
body.page-identity .columns-container > .row > [class*="col-"],
body.page-addresses .columns-container > .row > [class*="col-"],
body.page-address .columns-container > .row > [class*="col-"],
body.page-history .columns-container > .row > [class*="col-"],
body.page-order-slip .columns-container > .row > [class*="col-"],
body#module-ps_emailalerts-account .columns-container > .row > [class*="col-"],
body#module-psgdpr-gdpr .columns-container > .row > [class*="col-"],
body#module-blockwishlist-lists .columns-container > .row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  float: none !important;
  flex: none !important;
}

body.page-customer-account .center-column,
body.page-customer-account .center-column.page,
body.page-identity .center-column,
body.page-identity .center-column.page,
body.page-addresses .center-column,
body.page-addresses .center-column.page,
body.page-address .center-column,
body.page-address .center-column.page,
body.page-history .center-column,
body.page-history .center-column.page,
body.page-order-slip .center-column,
body.page-order-slip .center-column.page,
body#module-ps_emailalerts-account .center-column,
body#module-ps_emailalerts-account .center-column.page,
body#module-psgdpr-gdpr .center-column,
body#module-psgdpr-gdpr .center-column.page,
body#module-blockwishlist-lists .center-column,
body#module-blockwishlist-lists .center-column.page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page-customer-account .page-content,
body.page-customer-account .page-content--customer,
body.page-identity .page-content,
body.page-identity .page-content--customer,
body.page-addresses .page-content,
body.page-addresses .page-content--customer,
body.page-address .page-content,
body.page-address .page-content--customer,
body.page-history .page-content,
body.page-history .page-content--customer,
body.page-order-slip .page-content,
body.page-order-slip .page-content--customer,
body#module-ps_emailalerts-account .page-content,
body#module-ps_emailalerts-account .page-content--customer,
body#module-psgdpr-gdpr .page-content,
body#module-psgdpr-gdpr .page-content--customer,
body#module-blockwishlist-lists .page-content,
body#module-blockwishlist-lists .page-content--customer {
  display: grid !important;
  gap: 18px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid var(--rule) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 18px 42px -34px rgba(16, 32, 58, .5) !important;
}

body#module-blockwishlist-lists .page-content,
body#module-blockwishlist-lists .page-content--customer {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 900px) {
  body.page-customer-account .columns-container > .row,
  body.page-identity .columns-container > .row,
  body.page-addresses .columns-container > .row,
  body.page-address .columns-container > .row,
  body.page-history .columns-container > .row,
  body.page-order-slip .columns-container > .row,
  body#module-ps_emailalerts-account .columns-container > .row,
  body#module-psgdpr-gdpr .columns-container > .row,
  body#module-blockwishlist-lists .columns-container > .row {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 680px) {
  body.page-customer-account .columns-container,
  body.page-identity .columns-container,
  body.page-addresses .columns-container,
  body.page-address .columns-container,
  body.page-history .columns-container,
  body.page-order-slip .columns-container,
  body#module-ps_emailalerts-account .columns-container,
  body#module-psgdpr-gdpr .columns-container,
  body#module-blockwishlist-lists .columns-container {
    padding: 20px 18px 56px !important;
  }

  body.page-customer-account .page-content,
  body.page-customer-account .page-content--customer,
  body.page-identity .page-content,
  body.page-identity .page-content--customer,
  body.page-addresses .page-content,
  body.page-addresses .page-content--customer,
  body.page-address .page-content,
  body.page-address .page-content--customer,
  body.page-history .page-content,
  body.page-history .page-content--customer,
  body.page-order-slip .page-content,
  body.page-order-slip .page-content--customer,
  body#module-ps_emailalerts-account .page-content,
  body#module-ps_emailalerts-account .page-content--customer,
  body#module-psgdpr-gdpr .page-content,
  body#module-psgdpr-gdpr .page-content--customer {
    padding: 20px !important;
  }
}



html,
body {
  margin: 0;
  padding: 0;
}

body,
.fa-frame {
  --dark: #1B2A4E;
  --dark-2: #0a3d78;
  --blue: #004996;
  --accent: #004996;
  --accent-2: #003a78;
  --accent-ink: #ffffff;
  --paper: #ffffff;
  --paper-2: #f4f7fb;
  --paper-3: #e8edf3;
  --ink: #16202e;
  --ink-2: #3f4a58;
  --muted: #5c6675;
  --rule: #e2e7ee;
  --rule-2: #c2cad4;
  --ok: #2e8a4f;
  --sans: "Montserrat", "Roboto", system-ui, sans-serif;
  --body: "Roboto", system-ui, sans-serif;
  --tech: "Roboto Mono", ui-monospace, monospace;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--body);
  -webkit-font-smoothing: antialiased;
}

body {
  padding-top: 161px;
  overflow-x: hidden;
}

.fa-frame {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
}

.fa-frame a,
.fa-literal-header a,
.fa-literal-footer a {
  color: inherit;
  text-decoration: none;
}

.fa-frame img,
.fa-literal-header img,
.fa-literal-footer img {
  display: block;
  max-width: 100%;
}

/* El logo del pie mantiene la medida de referencia en todas las vistas. */
.fa-literal-footer .fa-footer-logo {
  width: auto !important;
  height: 52px !important;
  max-width: 100% !important;
}

@media (min-width: 641px) {
  .fa-literal-footer .fa-footer-logo {
    height: 64px !important;
  }
}

/* Opening hours footer module */
.fa-literal-footer .cb-opening-footer {
  display: grid;
  gap: 10px;
  color: rgba(255,255,255,.82);
  font-size: 13px;
  line-height: 1.45;
}

.fa-literal-footer .cb-opening-footer__name {
  color: rgba(255,255,255,.9);
  font-weight: 700;
}

.fa-literal-footer .cb-opening-footer__list {
  display: grid;
  gap: 6px;
  margin: 0;
}

.fa-literal-footer .cb-opening-footer__row {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 10px;
}

.fa-literal-footer .cb-opening-footer__day {
  color: rgba(255,255,255,.68);
  font-weight: 700;
}

.fa-literal-footer .cb-opening-footer__hours {
  color: rgba(255,255,255,.86);
}

.fa-literal-footer .cb-opening-footer__hours.is-closed {
  color: rgba(255,255,255,.58);
}

.fa-frame ::placeholder,
.fa-literal-header ::placeholder {
  color: var(--muted);
}

.fa-header-search input[type="search"] {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0;
  min-height: 0 !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0;
  background: transparent !important;
  box-shadow: none !important;
  appearance: none;
  -webkit-appearance: none;
}

.fa-header-search input[type="search"]::-webkit-search-decoration,
.fa-header-search input[type="search"]::-webkit-search-cancel-button,
.fa-header-search input[type="search"]::-webkit-search-results-button,
.fa-header-search input[type="search"]::-webkit-search-results-decoration {
  display: none;
}

.fa-header-search {
  z-index: 130;
}

.fa-literal-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 100;
  background: var(--paper);
}

.fa-literal-header header {
  background: var(--paper);
}

.fa-literal-header .fa-nav {
  z-index: 99 !important;
}

.fa-nav-scroll {
  overscroll-behavior-inline: contain;
  touch-action: pan-y pinch-zoom;
}

.fa-search-suggest {
  position: absolute;
  z-index: 120;
  top: calc(100% + 8px);
  right: 0;
  left: 0;
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 24px 54px -34px rgba(16, 32, 58, .6);
}

.fa-search-suggest[hidden] {
  display: none !important;
}

.fa-search-suggest__status {
  padding: 14px 16px;
  color: var(--muted);
  font-size: 13px;
}

.fa-search-suggest__list {
  display: grid;
  /* Muestra 6 referencias (min-height 74px) y deja el resto en scroll. */
  max-height: min(456px, calc(100vh - 160px));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.fa-search-suggest__item {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 74px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--rule);
  color: var(--ink) !important;
  text-decoration: none !important;
}

.fa-search-suggest__item:hover,
.fa-search-suggest__item:focus,
.fa-search-suggest__item.is-active {
  background: var(--paper-2);
}

.fa-search-suggest__image,
.fa-search-suggest__placeholder {
  width: 54px;
  height: 54px;
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, var(--paper-2));
}

.fa-search-suggest__image {
  object-fit: cover;
}

.fa-search-suggest__placeholder {
  display: grid;
  place-items: center;
  color: var(--rule-2);
  font-family: var(--tech);
  font-size: 10px;
}

.fa-search-suggest__text {
  min-width: 0;
}

.fa-search-suggest__brand {
  margin-bottom: 4px;
  color: var(--muted);
  font-family: var(--tech);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.fa-search-suggest__name {
  display: -webkit-box;
  overflow: hidden;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.fa-search-suggest__price {
  color: var(--dark);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}

.fa-search-suggest__all {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  color: var(--accent) !important;
  background: var(--paper-2);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none !important;
  text-transform: uppercase;
}

.fa-mobile-menu,
.fa-mobile-free-shipping {
  display: none;
}

#wrapper {
  padding: 0;
  background: var(--paper);
}

#wrapper > .container,
.container,
.container-md {
  max-width: none;
}

.skip-link:not(:focus),
.back-to-top-link:not(:focus) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.fa-cat-menu .fa-mega {
  display: none;
}

.fa-cat-menu[open] .fa-mega,
.fa-cat-menu:hover .fa-mega {
  display: grid !important;
}

.fa-mobile-menu:not([open]) .fa-mobile-menu-panel {
  display: none !important;
}

.sentence-random-container,
.sentence-random-container .cip-sentence-bar,
.sentence-random-container .cip-sentence-bar-inner,
.sentence-random-container .cip-sentence-rotator {
  width: 100%;
}

.sentence-random-container .cip-sentence-bar {
  display: block;
  background: var(--accent);
  color: var(--accent-ink);
}

.sentence-random-container .cip-sentence-bar .cip-sentence-bar-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 9px 32px !important;
  box-sizing: border-box;
}

.sentence-random-container .cip-sentence-bar-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.sentence-random-container .cip-sentence-rotator {
  display: grid !important;
  align-items: center;
  justify-items: center;
  text-align: center;
}

.sentence-random-container .cip-sentence {
  grid-area: 1 / 1;
  justify-self: center;
  width: 100%;
  opacity: 0;
  text-align: center;
  transition: opacity .28s ease;
}

.sentence-random-container .cip-sentence:first-child,
.sentence-random-container .cip-sentence.is-active {
  opacity: 1;
}

.sentence-random-container .cip-sentence-rotator.is-ready .cip-sentence:first-child:not(.is-active) {
  opacity: 0;
}

.sentence-random-container .cip-sentence.is-exiting {
  opacity: 0;
}

.fa-cat-trigger {
  list-style: none;
}

.fa-cat-trigger::-webkit-details-marker {
  display: none;
}

.fa-nav-link {
  display: flex;
  align-items: center;
  height: 52px;
  padding: 0 12px;
  margin-bottom: -1px;
  border-bottom: 3px solid transparent;
  color: var(--ink) !important;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1;
  white-space: nowrap;
  text-transform: uppercase;
}

.fa-nav-link--active {
  color: var(--dark) !important;
  border-bottom-color: var(--accent);
}

.fa-mega-side {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 11px 12px;
  border-radius: 8px;
  color: var(--dark) !important;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 700;
}

.fa-mega-side:hover,
.fa-mega-side--active {
  background: #fff;
}

.fa-mega-card {
  display: block;
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 10px;
  background: #fff;
}

.fa-mega-card:hover {
  border-color: var(--accent);
}

.fa-mega-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-bottom: 1px solid var(--rule);
  background: linear-gradient(180deg, #fff, var(--paper-2));
}

.fa-mega-card span {
  display: block;
  padding: 9px 11px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 600;
}

.fa-hover-card {
  transition: transform .2s, box-shadow .2s, border-color .2s;
}

.fa-hover-card:hover {
  transform: translateY(-3px);
  border-color: var(--accent) !important;
  box-shadow: 0 16px 34px -18px rgba(16, 32, 58, .4);
}

.fa-hover-card > img + div[style*="aspect-ratio:16/10"] {
  display: none !important;
}

.fa-about-grid > div:first-child {
  order: 2;
}

.fa-about-grid > div:last-child {
  order: 1;
}

.fa-product-card {
  transition: border-color .15s, box-shadow .15s;
}

.fa-product-card:hover {
  border-color: var(--accent) !important;
  box-shadow: 0 10px 26px -16px rgba(16, 32, 58, .4);
}

.fa-link-accent:hover,
.fa-nav-link:hover {
  color: var(--accent) !important;
}

.fa-button-accent:hover {
  background: var(--accent-2) !important;
}

.fa-button-outline:hover {
  color: var(--dark) !important;
  background: #fff !important;
}

.fa-social:hover {
  color: var(--accent-ink) !important;
  border-color: var(--accent) !important;
  background: var(--accent) !important;
}

.page-loader,
.js-page-loader {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.fa-newsletter-category {
  color: var(--ink);
  background: #f4f7fb;
  border-top: 3px solid var(--dark);
  border-bottom: 1px solid var(--rule);
}

.fa-newsletter-category__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 32px;
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(520px, 1.16fr);
  gap: 56px;
  align-items: center;
}

.fa-newsletter-category__title {
  margin: 0 0 6px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 28px;
  font-weight: 800;
  line-height: 1.15;
}

.fa-newsletter-category__text {
  margin: 0;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.45;
}

.fa-newsletter-category__form {
  display: grid;
  gap: 14px;
}

.fa-newsletter-category__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.fa-newsletter-category__chips label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid var(--rule-2);
  border-radius: 999px;
  color: var(--ink);
  background: #fff;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
}

.fa-newsletter-category__chips input {
  flex: 0 0 auto;
  width: 13px !important;
  min-width: 13px !important;
  max-width: 13px !important;
  height: 13px !important;
  min-height: 13px !important;
  max-height: 13px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 2px !important;
  appearance: auto;
  accent-color: var(--accent);
}

.fa-newsletter-category__row {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 132px;
  gap: 8px;
}

.fa-newsletter-category__row input {
  height: 48px;
  border: 1.5px solid var(--rule-2);
  border-radius: 9px;
  padding: 0 15px;
  color: var(--ink);
  background: #fff;
  font-family: var(--body);
  font-size: 14px;
  outline: none;
}

.fa-newsletter-category__row input:focus {
  border-color: var(--blue);
}

.fa-newsletter-category__row button {
  height: 48px;
  border: 0;
  border-radius: 9px;
  color: var(--accent-ink);
  background: var(--accent);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 800;
}

.fa-newsletter-category__row button:hover {
  background: var(--accent-2);
}

.fa-newsletter-category__message {
  margin: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
}

.fa-newsletter-hook .ps-emailsubscription {
  padding: 0 !important;
  background: transparent !important;
}

.fa-newsletter-hook .container,
.fa-newsletter-hook .row,
.fa-newsletter-hook form {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.fa-newsletter-hook .row {
  display: block !important;
}

.fa-newsletter-hook .h3,
.fa-newsletter-hook .fs-6 {
  display: none !important;
}

.fa-newsletter-hook .d-flex {
  gap: 8px;
}

.fa-newsletter-hook input[type="email"] {
  height: 46px;
  border: 1.5px solid rgba(255,255,255,.32);
  border-radius: 9px;
  color: #fff;
  background: rgba(255,255,255,.08);
}

.fa-newsletter-hook input[type="submit"] {
  height: 46px;
  border: 0;
  border-radius: 9px;
  color: var(--accent-ink);
  background: var(--accent);
  font-family: var(--sans);
  font-weight: 700;
}

/* Native PrestaShop pages */
.breadcrumb__wrapper {
  background: var(--paper-2);
  border-bottom: 1px solid var(--rule);
}

.breadcrumb__wrapper .container,
.columns-container.container,
.page-cms .columns-container,
.page-contact .columns-container,
.page-cart .columns-container,
.page-product .columns-container,
.page-category .columns-container,
.page-new-products .columns-container,
.page-prices-drop .columns-container,
.page-authentication .columns-container,
.page-registration .columns-container,
.page-password .columns-container,
.page-identity .columns-container {
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 32px;
  padding-left: 32px;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0;
  padding: 11px 0;
  list-style: none;
  color: var(--muted);
  background: transparent;
  font-size: 12px;
}

.breadcrumb li,
.breadcrumb-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  list-style: none;
}

.breadcrumb li::marker,
.breadcrumb-item::marker {
  content: "" !important;
}

.breadcrumb-item + .breadcrumb-item::before,
.breadcrumb li + li::before {
  content: "/";
  color: var(--rule-2);
  font-weight: 500;
}

.breadcrumb a,
.breadcrumb-link {
  color: var(--muted) !important;
}

.breadcrumb a:hover,
.breadcrumb-link:hover {
  color: var(--accent) !important;
}

.breadcrumb-item,
.breadcrumb-item.active {
  color: var(--dark);
  font-weight: 600;
}

.columns-container {
  padding-top: 40px;
  padding-bottom: 72px;
}

.center-column.page,
.wrapper__left-column,
.wrapper__right-column {
  color: var(--ink);
}

.page-header,
.page-title-section,
.product_header_container,
.category-cover + h1,
#js-product-list-header {
  margin: 0 0 24px;
}

.page-title,
.page-title-section h1,
.page-header h1,
.center-column h1,
.product-title,
.h1 {
  color: var(--dark);
  font-family: var(--sans);
  font-size: 40px;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: 0;
}

.page-contact .page-title,
.page-cms .page-title,
.page-cart .page-title {
  margin-bottom: 8px;
}

.page-title-section::before,
.page-header::before,
.product_header_container::before,
#js-product-list-header::before {
  content: "";
  display: inline-flex;
  width: 24px;
  height: 1px;
  margin-right: 10px;
  vertical-align: middle;
  background: var(--accent);
}

.page-title-section,
.page-header,
.product_header_container,
#js-product-list-header {
  color: var(--accent);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.card,
.block,
.block-categories,
.facets-container,
.product-miniature,
.js-product-miniature,
.cart-grid__body,
.cart-grid__content,
.cart-summary,
.contact-rich,
.contact-form,
.page-content,
.cms-page,
.product-information,
.product-actions,
.tabs,
.product-images,
.thumbnail-container {
  border-color: var(--rule) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

#blockcart-modal:not(.show) {
  display: none !important;
}

/* Fallero legal CMS pages */
.page-cms.cms-id-1 .page-title-section,
.page-cms.cms-id-2 .page-title-section,
.page-cms.cms-id-3 .page-title-section,
.page-cms.cms-id-6 .page-title-section,
.page-cms.cms-id-7 .page-title-section {
  display: none !important;
}

body.page-cms.cms-id-1 .breadcrumb__wrapper,
body.page-cms.cms-id-2 .breadcrumb__wrapper,
body.page-cms.cms-id-3 .breadcrumb__wrapper,
body.page-cms.cms-id-6 .breadcrumb__wrapper,
body.page-cms.cms-id-7 .breadcrumb__wrapper,
body.page-cms.cms-id-1 .page-header,
body.page-cms.cms-id-2 .page-header,
body.page-cms.cms-id-3 .page-header,
body.page-cms.cms-id-6 .page-header,
body.page-cms.cms-id-7 .page-header {
  display: none !important;
}

body.page-cms.cms-id-1 .columns-container,
body.page-cms.cms-id-2 .columns-container,
body.page-cms.cms-id-3 .columns-container,
body.page-cms.cms-id-6 .columns-container,
body.page-cms.cms-id-7 .columns-container {
  padding-top: 52px;
}

.page-cms .page-cms-1,
.page-cms .page-cms-2,
.page-cms .page-cms-3,
.page-cms .page-cms-6,
.page-cms .page-cms-7 {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none !important;
}

.fa-legal-page {
  display: grid;
  grid-template-columns: minmax(0, 720px) 230px;
  gap: 56px;
  align-items: start;
  justify-content: center;
  color: var(--ink);
}

.fa-legal-main {
  display: grid;
  gap: 0;
  min-width: 0;
}

.fa-legal-hero,
.fa-legal-section,
.fa-legal-note {
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}

.fa-legal-hero {
  display: grid;
  gap: 0;
  padding: 0;
  margin: 0 0 60px;
  border-bottom: 0;
  color: var(--ink);
}

.fa-legal-eyebrow {
  display: none;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.fa-legal-eyebrow::before {
  content: "";
  width: 24px;
  height: 1px;
  background: currentColor;
}

.fa-legal-hero h1 {
  max-width: 760px;
  margin: 0;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 52px;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0;
}

.fa-legal-hero p {
  display: none;
}

.fa-legal-meta {
  display: none;
}

.fa-legal-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid var(--rule);
  border-radius: 999px;
  background: var(--paper-2);
  color: var(--dark);
  font-size: 13px;
  font-weight: 700;
}

.fa-legal-summary {
  display: none;
}

.fa-legal-summary article {
  padding: 22px;
  background: #fff;
}

.fa-legal-summary strong {
  display: block;
  margin-bottom: 8px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.fa-legal-summary span {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

.fa-legal-section {
  padding: 0;
  margin: 0 0 30px;
  border-bottom: 0;
}

.fa-legal-section:first-of-type {
  padding: 30px;
  border: 1px solid var(--rule);
  border-radius: 12px;
  background: #fff;
}

.fa-legal-section h2 {
  margin: 0 0 16px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0;
}

.fa-legal-section h3 {
  margin: 22px 0 10px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 800;
}

.fa-legal-section p,
.fa-legal-section li {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.72;
}

.fa-legal-section p {
  margin: 0 0 14px;
}

.fa-legal-section ul {
  display: grid;
  gap: 8px;
  margin: 0 0 14px;
  padding-left: 20px;
}

.fa-legal-data {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  margin: 18px 0 0;
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 0;
}

.fa-legal-data dt,
.fa-legal-data dd {
  margin: 0;
  padding: 14px 16px;
  border-bottom: 1px solid var(--rule);
}

.fa-legal-data dt {
  background: #f3f5f8;
  color: var(--dark);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.fa-legal-data dd {
  background: #fff;
  color: var(--ink);
}

.fa-legal-data dt:last-of-type,
.fa-legal-data dd:last-of-type {
  border-bottom: 0;
}

.fa-legal-table {
  width: 100%;
  margin: 8px 0 18px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 12px;
  font-size: 14px;
}

.fa-legal-table th,
.fa-legal-table td {
  padding: 14px;
  border-bottom: 1px solid var(--rule);
  text-align: left;
  vertical-align: top;
}

.fa-legal-table th {
  background: var(--paper-2);
  color: var(--dark);
  font-weight: 800;
}

.fa-legal-table tr:last-child th,
.fa-legal-table tr:last-child td {
  border-bottom: 0;
}

.fa-legal-note {
  padding: 18px 0 0;
  border-top: 1px solid var(--rule);
  background: transparent;
  color: var(--dark);
  font-size: 14px;
  line-height: 1.65;
}

.fa-legal-note strong {
  color: var(--dark);
}

.fa-legal-toc {
  position: sticky;
  top: 185px;
  padding: 16px 0 16px 22px;
  border-left: 3px solid var(--accent);
  background: transparent;
  box-shadow: none;
}

.fa-legal-toc strong {
  display: block;
  margin-bottom: 16px;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.fa-legal-toc nav {
  display: grid;
  gap: 8px;
}

.fa-legal-toc a {
  display: block;
  padding: 6px 0;
  border-radius: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.36;
}

.fa-legal-toc a:hover,
.fa-legal-toc a.is-active {
  background: transparent;
  color: var(--dark);
}

@media (max-width: 991px) {
  .fa-legal-page {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .fa-legal-toc {
    position: static;
    order: -1;
    padding-left: 18px;
  }

  .fa-legal-summary {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .fa-legal-hero,
  .fa-legal-section {
    padding-right: 0;
    padding-left: 0;
  }

  .fa-legal-hero h1 {
    font-size: 36px;
  }

  .fa-legal-data {
    grid-template-columns: 1fr;
  }

  .fa-legal-data dt {
    border-bottom: 0;
  }
}

#blockcart-modal.show {
  position: fixed;
  inset: 0;
  z-index: 1055;
  display: grid !important;
  place-items: center;
  padding: 24px;
  overflow: auto;
  background: rgba(0, 47, 97, .28);
}

/* Home hero with blended photo */
.fa-home-hero-photo {
  min-height: 520px;
  isolation: isolate;
}

.fa-home-hero-photo__image {
  z-index: 0;
  background-position: center right;
  background-size: cover;
  background-repeat: no-repeat;
}

.fa-home-hero-photo__shade {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(27, 42, 78, .98) 0%, rgba(27, 42, 78, .95) 28%, rgba(27, 42, 78, .78) 45%, rgba(27, 42, 78, .35) 63%, rgba(27, 42, 78, .08) 100%),
    linear-gradient(180deg, rgba(27, 42, 78, .12) 0%, rgba(27, 42, 78, .26) 100%);
}

.fa-home-hero-photo .fa-hero-grid {
  z-index: 2;
}

.fa-home-hero-photo__copy {
  max-width: 620px;
}

.fa-home-hero-photo .fa-hero-visual {
  display: none !important;
}

@media (max-width: 767px) {
  .fa-home-hero-photo {
    min-height: 0;
  }

  .fa-home-hero-photo__image {
    background-position: 62% center;
  }

  .fa-home-hero-photo__shade {
    background:
      linear-gradient(90deg, rgba(27, 42, 78, .98) 0%, rgba(27, 42, 78, .9) 58%, rgba(27, 42, 78, .64) 100%),
      linear-gradient(180deg, rgba(27, 42, 78, .08) 0%, rgba(27, 42, 78, .4) 100%);
  }
}

/* La ficha de producto no necesita una banda vacía entre el buscador y la ruta. */
body.page-product:not(.page-cart):not(.page-order):not(#checkout) .breadcrumb__wrapper {
  top: 0 !important;
  margin-bottom: 0 !important;
}

/* Sincronizado con la cabecera móvil vigente de PrestaShop. */
@media (max-width: 640px) {
  html body .fa-literal-header .fa-header-main {
    grid-template-columns: 40px minmax(0, 1fr) auto !important;
    grid-template-rows: 42px 40px !important;
    column-gap: 6px !important;
    row-gap: 4px !important;
    padding: 4px 14px !important;
  }

  html body .fa-literal-header .fa-mobile-menu {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  html body .fa-literal-header .fa-header-main > a {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
  }

  html body .fa-literal-header .fa-header-search {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: none !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child {
    display: flex !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    gap: 6px !important;
    justify-self: end !important;
    overflow: visible !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child > a,
  html body .fa-literal-header .fa-header-main > div:last-child > a:first-child,
  html body .fa-literal-header .fa-header-main > div:last-child > a:nth-child(2),
  html body .fa-literal-header .fa-header-main > div:last-child > a:last-child {
    display: flex !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 38px !important;
    padding: 0 !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  html body .fa-literal-header .fa-mobile-menu-trigger {
    width: 40px !important;
    min-width: 40px !important;
    height: 42px !important;
  }

  html body .fa-literal-header .fa-mobile-menu-trigger svg,
  html body .fa-literal-header .fa-header-main > div:last-child > a > svg,
  html body .fa-literal-header .fa-header-main > div:last-child > a > span:first-child,
  html body .fa-literal-header .fa-header-main > div:last-child > a > span:first-child > svg {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child > a:first-child > svg {
    width: 32px !important;
    height: 32px !important;
  }

  html body .fa-literal-header .fa-header-cart-count {
    top: 4px !important;
    transform: translate(45%, -20%) !important;
  }
}

/* El blog tiene un interlineado editorial global; el cajón usa el de la tienda. */
.fa-mobile-menu-panel,
.fa-mobile-menu-heading,
.fa-mobile-menu-label,
.fa-mobile-menu-link,
.fa-mobile-menu-link--secondary {
  line-height: normal;
}

@media (max-width: 640px) {
  .page-product .fa-product-tabs-nav-wrap {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) 30px;
    align-items: stretch;
    border-bottom: 1px solid var(--rule);
    background: #fff;
  }

  .page-product .fa-product-tabs-nav {
    border-bottom: 0 !important;
    scrollbar-width: none;
  }

  .page-product .fa-product-tabs-nav::-webkit-scrollbar {
    display: none;
  }

  .page-product .fa-product-tabs-scroll {
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    background: #fff;
    color: var(--accent);
    font-family: Arial, sans-serif;
    font-size: 28px;
    line-height: 1;
  }

  .page-product .fa-product-tabs-scroll:active {
    background: rgba(0, 82, 165, .08);
  }
}

/* En móvil, el CTA de compra acompaña al selector de cantidad y a favoritos. */
@media (max-width: 640px) {
  .page-product .fa-product-actions .product__actions-qty-add {
    grid-template-columns: 128px minmax(0, 1fr) 52px !important;
    gap: 12px !important;
    align-items: end !important;
  }

  .page-product .fa-product-actions .product__add-to-cart {
    grid-column: auto !important;
    width: 100% !important;
  }

  .page-product .fa-product-actions .product__add-to-cart-button {
    min-width: 0;
    min-height: 46px !important;
    height: 46px;
    padding: 0 10px !important;
    font-size: 13px !important;
    white-space: nowrap;
  }

  .page-product .fa-product-actions .fa-product-action-fav {
    display: grid !important;
    width: 52px !important;
    min-width: 52px !important;
    height: 46px !important;
    margin: 0 !important;
    place-items: center;
  }
}

/* Desktop product page: only the purchase-row wishlist button is shown. */
@media (min-width: 641px) {
  .page-product .fa-product-title-row .fa-product-fav--mobile {
    display: none !important;
  }

  .page-product .fa-product-actions .fa-product-action-fav,
  .page-product .fa-product-actions .wishlist-button-product {
    display: grid !important;
    width: 52px;
    min-width: 52px;
    height: 52px;
    place-items: center;
    padding: 0;
    border: 1px solid var(--accent);
    border-radius: 10px;
    background: #fff;
    color: var(--accent);
  }
}

/* En móvil, la compra se realiza desde el CTA flotante: se mantiene visible
   solo el selector de cantidad y el acceso a favoritos en la ficha. */
@media (max-width: 640px) {
  .page-product .fa-product-actions .product__actions-qty-add {
    grid-template-columns: 128px minmax(0, 1fr) 52px !important;
    justify-content: initial;
    gap: 12px !important;
  }

  .page-product .fa-product-actions .product__add-to-cart {
    display: block !important;
    width: 100% !important;
  }

  .page-product .fa-product-actions .product__add-to-cart-button {
    display: flex !important;
    min-width: 0;
    min-height: 46px !important;
    height: 46px;
    padding: 0 10px !important;
    font-size: 13px !important;
    white-space: nowrap;
  }

  .page-product .fa-product-actions .fa-product-action-fav {
    display: grid !important;
    width: 52px;
    min-width: 52px;
    height: 46px;
    place-items: center;
    padding: 0;
    border: 1px solid var(--accent);
    border-radius: 10px;
    background: #fff;
    color: var(--accent);
  }

  .page-product .fa-product-actions .fa-product-action-fav::before,
  .page-product .fa-product-actions .wishlist-button-product::before {
    content: "♡";
    font-family: Arial, sans-serif;
    font-size: 29px;
    font-weight: 400;
    line-height: 1;
  }

  .page-product .fa-product-actions .fa-product-action-fav:hover,
  .page-product .fa-product-actions .fa-product-action-fav.is-wishlist-active,
  .page-product .fa-product-actions .wishlist-button-product:hover,
  .page-product .fa-product-actions .wishlist-button-product.is-wishlist-active {
    background: rgba(0, 82, 165, .08);
  }

  .page-product .fa-product-actions .fa-product-action-fav.is-wishlist-active::before,
  .page-product .fa-product-actions .wishlist-button-product.is-wishlist-active::before {
    content: "♥";
  }

  .page-product .fa-product-actions .fa-product-action-fav i,
  .page-product .fa-product-actions .fa-product-action-fav .material-icons,
  .page-product .fa-product-actions .wishlist-button-product i,
  .page-product .fa-product-actions .wishlist-button-product .material-icons {
    display: none !important;
  }
}

/* El listado del carrito no tiene límite: deben mostrarse todas las líneas. */
body.page-cart .cart-grid__products-details,
body.page-cart .cart-overview,
body.page-cart .cart__overview,
body.page-cart .cart-items,
body.page-cart .cart__list {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Free-shipping progress card. Loaded from the theme because this child theme
   does not expose module front-office assets in its document head. */
.cb-free-shipping {
  display: grid;
  gap: 12px;
  padding: 18px;
  margin: 0 0 16px;
  border: 1px solid #c9ddf2;
  border-radius: 12px;
  background: linear-gradient(135deg, #eaf5ff 0%, #dceefe 100%);
  color: #102a43;
  box-shadow: 0 14px 30px -24px rgba(27, 74, 120, .42);
}

.cb-free-shipping__head { display: flex; align-items: center; gap: 9px; min-width: 0; }
.cb-free-shipping__icon { display: inline-grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 8px; background: #c5e2fb; color: #2563a5; }
.cb-free-shipping__title { min-width: 0; color: #12355b; font-family: "Montserrat", "Roboto", system-ui, sans-serif; font-size: 14px; font-weight: 800; }
.cb-free-shipping__target { margin-left: auto; color: #2563a5; font-family: "Roboto Mono", ui-monospace, monospace; font-size: 12px; font-weight: 700; white-space: nowrap; }
.cb-free-shipping__message { margin: 0; color: #315271; font-size: 14px; line-height: 1.45; }
.cb-free-shipping__track { height: 10px; overflow: hidden; border-radius: 999px; background: rgba(64, 120, 172, .2); }
.cb-free-shipping__bar { display: block; width: 0; max-width: 100%; height: 100%; border-radius: inherit; background: #dc2626; transition: width .25s ease; }
.cb-free-shipping.is-progress-orange .cb-free-shipping__bar { background: #f97316; }
.cb-free-shipping.is-progress-yellow .cb-free-shipping__bar { background: #eab308; }
.cb-free-shipping.is-complete { border-color: rgba(22, 135, 89, .32); background: linear-gradient(135deg, #e6f8ee 0%, #d8f2e4 100%); }
.cb-free-shipping.is-complete .cb-free-shipping__icon { background: rgba(22, 135, 89, .14); color: #168759; }
.cb-free-shipping.is-complete .cb-free-shipping__bar { background: #168759; }

@media (max-width: 680px) {
  .cb-free-shipping { padding: 14px; }
  .cb-free-shipping__head { flex-wrap: wrap; }
  .cb-free-shipping__target { margin-left: 0; }
}

/* Final override: cabecera compacta solicitada. */
html body .fa-literal-header .fa-header-main {
  display: grid !important;
  grid-template-columns: 42px auto minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto !important;
  max-width: none !important;
  gap: 10px 14px !important;
  padding: 10px 32px 12px !important;
}

html body .fa-literal-header .fa-mobile-menu {
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
}

html body .fa-literal-header .fa-mobile-menu-trigger {
  display: grid !important;
  width: 38px !important;
  height: 38px !important;
  place-items: center !important;
  list-style: none !important;
}

html body .fa-literal-header .fa-mobile-menu-trigger::-webkit-details-marker,
html body .fa-literal-header .fa-mobile-menu-trigger__close {
  display: none !important;
}

html body .fa-literal-header .fa-mobile-menu[open] .fa-mobile-menu-trigger__open {
  display: none !important;
}

html body .fa-literal-header .fa-mobile-menu[open] .fa-mobile-menu-trigger__close {
  display: block !important;
}

html body .fa-literal-header .fa-mobile-menu[open] .fa-mobile-menu-backdrop {
  position: fixed !important;
  z-index: 310 !important;
  top: var(--fa-mobile-menu-top, 120px) !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  display: block !important;
  background: rgba(10, 29, 55, .42) !important;
}

html body .fa-literal-header .fa-mobile-menu[open] .fa-mobile-menu-panel {
  position: fixed !important;
  z-index: 320 !important;
  top: var(--fa-mobile-menu-top, 120px) !important;
  left: 0 !important;
  display: block !important;
  width: min(340px, calc(100vw - 42px)) !important;
  max-height: calc(100dvh - var(--fa-mobile-menu-top, 120px)) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  border-radius: 0 0 10px 0 !important;
  background: #fff !important;
  box-shadow: 18px 24px 50px -28px rgba(0, 32, 68, .75) !important;
}

html body .fa-literal-header .fa-header-main > a {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

html body .fa-literal-header .fa-header-logo {
  width: auto !important;
  height: 38px !important;
}

html body .fa-literal-header .fa-header-main > div:last-child {
  display: flex !important;
  grid-column: 4 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  gap: 2px !important;
}

html body .fa-literal-header .fa-header-main > div:last-child > a {
  display: flex !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  justify-content: center !important;
  padding: 0 !important;
}

html body .fa-literal-header .fa-header-action-text,
html body .fa-literal-header .fa-nav {
  display: none !important;
}

html body .fa-literal-header .fa-header-search {
  position: static !important;
  display: flex !important;
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  order: initial !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1.5px solid var(--rule-2) !important;
  border-radius: 8px !important;
  background: var(--paper-2) !important;
}

html body .fa-literal-header .fa-header-search input,
html body .fa-literal-header .fa-header-search input[type="search"] {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: 100% !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
}

html body {
  padding-top: 120px !important;
}

@media (max-width: 640px) {
  html body .fa-literal-header .fa-header-main {
    grid-template-columns: 38px minmax(0, 1fr) auto !important;
    gap: 8px 10px !important;
    padding: 8px 16px 10px !important;
  }

  html body .fa-literal-header .fa-header-logo {
    height: 32px !important;
    max-width: 148px !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child {
    grid-column: 3 !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child > a {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
  }

  html body .fa-literal-header .fa-header-search {
    height: 40px !important;
    padding: 0 12px !important;
  }

  html body {
    padding-top: 112px !important;
  }
}

/* Mobile header actions: account, wishlist and cart stay together on the right. */
@media (max-width: 640px) {
  html body .fa-literal-header .fa-header-main > div:last-child {
    display: flex !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    /* Evita que las burbujas de favoritos y carrito se pisen entre si. */
    gap: 8px !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child > a,
  html body .fa-literal-header .fa-header-main > div:last-child > a:first-child,
  html body .fa-literal-header .fa-header-main > div:last-child > a:nth-child(2),
  html body .fa-literal-header .fa-header-main > div:last-child > a:last-child {
    display: flex !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    justify-content: center !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child > a:first-child svg {
    width: 24px !important;
    height: 24px !important;
    stroke-width: 1.9px !important;
  }
}

@media (min-width: 641px) {
  html body .fa-literal-header > div:first-child {
    display: none !important;
  }

  html body .fa-literal-header .fa-header-main {
    max-width: 1280px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    gap: 4px 12px !important;
    padding-top: 5px !important;
    padding-bottom: 7px !important;
  }

  html body .fa-literal-header .fa-header-logo {
    height: 32px !important;
  }

  html body .fa-literal-header .fa-header-search {
    height: 38px !important;
  }

  html body .fa-literal-header .fa-nav-inner {
    min-height: 42px !important;
  }

  html body .fa-literal-header .fa-nav-link {
    height: 42px !important;
  }

  html body .fa-literal-header .fa-mobile-menu {
    display: none !important;
  }

  html body .fa-literal-header .fa-header-main {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  }

  html body .fa-literal-header .fa-header-main > a {
    grid-column: 1 !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child {
    grid-column: 3 !important;
  }

  html body .fa-literal-header .fa-nav {
    display: block !important;
  }

  html body {
    padding-top: 136px !important;
  }
}

/* Mobile: hide the upper utility contact strip and remove its reserved space. */
@media (max-width: 640px) {
  html body .fa-literal-header > div:first-child {
    display: none !important;
  }

  html body .fa-literal-header {
    height: 110px !important;
  }

  html body,
  html body:not(.page-order):not(#checkout),
  html body.page-order,
  html body#checkout {
    padding-top: 110px !important;
  }

  html body .fa-mobile-menu-panel,
  html body .fa-mobile-menu-backdrop {
    top: var(--fa-mobile-menu-top, 110px) !important;
  }
}

/* Mobile: the utility contact strip is not shown above the header. */
@media (max-width: 640px) {
  body .fa-literal-header {
    height: 77px !important;
  }

  body .fa-literal-header > div:first-child {
    display: none !important;
  }

  body,
  body:not(.page-order):not(#checkout),
  body.page-order,
  body#checkout {
    padding-top: 77px !important;
  }

  body .fa-mobile-menu-panel,
  body .fa-mobile-menu-backdrop {
    top: var(--fa-mobile-menu-top, 77px) !important;
  }
}

/* Restauración de la cabecera original; solo se conserva el logo invertido. */
@media (min-width: 641px) {
  html body .fa-literal-header > div:first-child {
    display: none !important;
  }

  html body .fa-literal-header .fa-header-main {
    display: flex !important;
    max-width: 1280px !important;
    min-height: 76px !important;
    gap: 28px !important;
    padding: 14px 32px !important;
  }

  html body .fa-literal-header .fa-mobile-menu {
    display: none !important;
  }

  html body .fa-literal-header .fa-header-main > a,
  html body .fa-literal-header .fa-header-main > div:last-child,
  html body .fa-literal-header .fa-header-search {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  html body .fa-literal-header .fa-header-logo {
    width: 150px !important;
    height: 57px !important;
  }

  html body .fa-literal-header .fa-header-search {
    position: relative !important;
    order: 0 !important;
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: 682px !important;
    height: 46px !important;
    margin: 0 auto 0 0 !important;
    padding: 0 16px !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child > a {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 8px 12px !important;
  }

  html body .fa-literal-header .fa-header-action-text {
    display: flex !important;
  }

  html body .fa-literal-header .fa-nav {
    display: block !important;
  }

  html body {
    padding-top: 132px !important;
  }
}

@media (max-width: 640px) {
  html body .fa-literal-header .fa-header-main {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) 38px 38px !important;
    gap: 8px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }

  html body .fa-literal-header .fa-mobile-menu {
    display: block !important;
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  html body .fa-literal-header .fa-header-main > a {
    grid-column: 2 !important;
    grid-row: auto !important;
  }

  html body .fa-literal-header .fa-header-logo {
    height: 34px !important;
    max-width: 154px !important;
  }

  html body .fa-literal-header .fa-header-search {
    position: relative !important;
    grid-column: 3 !important;
    grid-row: auto !important;
    order: 0 !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
  }

  html body .fa-literal-header .fa-header-search input,
  html body .fa-literal-header .fa-header-search input[type="search"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child {
    grid-column: 4 !important;
    grid-row: auto !important;
    gap: 0 !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child > a:first-child,
  html body .fa-literal-header .fa-header-main > div:last-child > a:nth-child(2) {
    display: none !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child > a:last-child {
    display: flex !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
  }

  html body .fa-literal-header .fa-nav {
    display: block !important;
  }

  html body {
    padding-top: 190px !important;
  }
}

#blockcart-modal .modal-dialog {
  width: min(720px, 100%);
  margin: 0;
}

#blockcart-modal .modal-content {
  overflow: hidden;
  border: 0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 30px 80px -40px rgba(0, 47, 97, .55);
}

#blockcart-modal .modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--rule);
}

#blockcart-modal .modal-title {
  margin: 0;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0;
}

#blockcart-modal .modal-title .material-icons {
  display: none;
}

#blockcart-modal .modal-body {
  padding: 24px;
}

.product-miniature,
.js-product-miniature,
.thumbnail-container {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--rule);
  transition: border-color .15s, box-shadow .15s;
}

.product-miniature:hover,
.js-product-miniature:hover,
.thumbnail-container:hover {
  border-color: var(--accent) !important;
  box-shadow: 0 10px 26px -16px rgba(16, 32, 58, .4) !important;
}

.product-miniature .thumbnail,
.product-miniature .product-thumbnail,
.thumbnail-container .thumbnail,
.thumbnail-container .product-thumbnail,
.product-cover,
.product-cover img {
  background: linear-gradient(180deg, #fff, var(--paper-2));
}

.product-miniature .product-title,
.product-miniature h2,
.product-miniature h3,
.thumbnail-container .product-title {
  color: var(--dark);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
}

.product-price,
.current-price,
.cart-summary-line .value,
.cart-total .value,
.price {
  color: var(--dark) !important;
  font-family: var(--sans);
  font-weight: 800;
}

.product-flags .product-flag,
.badge,
.label {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  justify-content: center;
  padding: 5px 9px;
  border-radius: 999px !important;
  background: var(--accent) !important;
  color: var(--accent-ink) !important;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.btn,
.btn-primary,
.button,
button[type="submit"],
.cart-detailed-actions a,
.checkout a,
.continue {
  border-radius: 10px !important;
  font-family: var(--sans) !important;
  font-weight: 700 !important;
}

.btn-primary,
button[type="submit"],
.cart-detailed-actions .btn,
.add-to-cart {
  border-color: var(--accent) !important;
  background: var(--accent) !important;
  color: var(--accent-ink) !important;
}

.btn-primary:hover,
button[type="submit"]:hover,
.cart-detailed-actions .btn:hover,
.add-to-cart:hover {
  border-color: var(--accent-2) !important;
  background: var(--accent-2) !important;
}

input,
select,
textarea,
.form-control,
.input-group .form-control {
  border: 1.5px solid var(--rule-2) !important;
  border-radius: 9px !important;
  color: var(--ink) !important;
  font-family: var(--body) !important;
  font-size: 14px !important;
  outline: none !important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus {
  border-color: var(--blue) !important;
  box-shadow: none !important;
}

label,
.form-control-label {
  color: var(--muted);
  font-size: 12px;
}

.page-category .columns-container .row,
.page-search .columns-container .row,
.page-new-products .columns-container .row,
.page-prices-drop .columns-container .row {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 32px;
  align-items: start;
}

.page-category .breadcrumb__wrapper {
  display: block !important;
  background: var(--paper-2);
  border-bottom: 1px solid var(--rule);
}

.page-category .breadcrumb {
  padding: 10px 0;
  list-style: none !important;
}

.page-category .breadcrumb-item {
  margin: 0;
}

.page-category .columns-container .row {
  grid-template-columns: minmax(0, 1fr);
}

.page-category #left-column,
.page-category .left-column {
  display: none !important;
}

.page-category .left-column,
.page-search .left-column,
.page-manufacturer .left-column,
.page-supplier .left-column,
.page-category .wrapper__left-column,
.page-search .wrapper__left-column,
.page-new-products .wrapper__left-column,
.page-prices-drop .wrapper__left-column {
  width: auto;
  max-width: none;
  padding: 0;
}

.page-new-products #left-column,
.page-prices-drop #left-column {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  max-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.page-category #center-column,
.page-search #center-column,
.page-manufacturer #center-column,
.page-supplier #center-column,
.page-category .center-column,
.page-search .center-column,
.page-new-products .center-column,
.page-prices-drop .center-column {
  width: auto;
  max-width: none;
  padding: 0;
}

.page-new-products .columns-container .row,
.page-prices-drop .columns-container .row {
  grid-template-columns: minmax(0, 1fr);
}

.page-new-products #center-column,
.page-prices-drop #center-column {
  grid-column: 1;
  flex: 0 0 100%;
  width: 100% !important;
  max-width: 100%;
}

.facets-container,
.block-categories,
.ps-categorytree,
.wrapper__left-column > * {
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: #fff;
}

.facets-container .facet,
.block-categories li,
.ps-categorytree .category-tree__item,
.wrapper__left-column .block_content,
.wrapper__left-column .block-title {
  border-bottom: 1px solid var(--rule);
}

.facet-title,
.block-title,
.left-block__title,
.wrapper__left-column h4,
.wrapper__left-column .h6 {
  color: var(--dark);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.ps-categorytree {
  position: sticky;
  top: 72px;
}

.ps-categorytree .left-block__title {
  margin: 0;
  padding: 17px 18px 15px;
  border-bottom: 1px solid var(--rule);
}

.ps-categorytree .left-block__title-link,
.ps-categorytree .category-tree__item-link {
  color: inherit !important;
  text-decoration: none !important;
}

.ps-categorytree .category-tree__list {
  display: grid;
  gap: 0;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ps-categorytree .category-tree__item {
  margin: 0 !important;
  list-style: none !important;
}

.ps-categorytree .category-tree__item:last-child {
  border-bottom: 0;
}

.ps-categorytree .category-tree__item::marker {
  content: "" !important;
}

.ps-categorytree .category-tree__item-link {
  display: flex;
  min-height: 42px;
  align-items: center;
  padding: 0 18px;
  color: var(--ink-2) !important;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 700;
}

.ps-categorytree .category-tree__item-link:hover,
.ps-categorytree .category-tree__item-link:focus {
  color: var(--accent) !important;
  background: var(--paper-2);
}

.page-category #js-product-list-header,
.page-search #js-product-list-header {
  margin-bottom: 22px;
}

.page-category #js-product-list-header::before,
.page-category .page-title-section::before {
  display: none !important;
  content: none !important;
}

.page-category .category__header {
  display: grid;
  gap: 14px;
}

.page-category .category__description {
  max-width: 720px;
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.55;
}

.page-category .category__description p {
  margin: 0;
}

.page-category .category__cover {
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 8px;
  background: var(--paper-2);
}

.page-category .category__cover picture,
.page-category .category__cover-image {
  display: block;
  width: 100%;
}

.page-category .category__cover-image {
  min-height: 160px;
  object-fit: cover;
}

.fa-subcategories {
  margin: 0 0 28px;
}

/* Los indicadores solo forman parte de la experiencia de carrusel en móvil. */
.fa-home-categories__dots,
.fa-subcategories__dots {
  display: none;
}

@media (min-width: 641px) {
  .fa-home-categories__dots,
  .fa-subcategories__dots {
    display: none !important;
  }
}

.fa-subcategories__header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.fa-subcategories__header::before {
  content: "";
  width: 24px;
  height: 1px;
  background: currentColor;
}

.fa-subcategories__track {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 16px;
}

.fa-subcategories__card {
  display: block;
  overflow: hidden;
  min-width: 0;
  border: 1px solid var(--rule);
  border-radius: 10px;
  background: #fff;
  color: var(--dark) !important;
  text-decoration: none !important;
}

.fa-subcategories__media {
  display: block;
  overflow: hidden;
  border-bottom: 1px solid var(--rule);
  background: linear-gradient(180deg, #fff, var(--paper-2));
}

.fa-subcategories__media picture,
.fa-subcategories__media img,
.fa-subcategories__placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
}

.fa-subcategories__media img {
  height: auto;
  object-fit: cover;
}

.fa-subcategories__placeholder {
  display: grid;
  place-items: center;
  color: var(--rule-2);
  font-family: var(--tech);
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
}

.fa-subcategories__body {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 58px;
  padding: 12px 14px;
}

.fa-subcategories__index {
  color: var(--muted);
  font-family: var(--tech);
  font-size: 11px;
  font-weight: 600;
}

.fa-subcategories__name {
  overflow-wrap: anywhere;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
}

.fa-subcategories__arrow {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 999px;
  color: var(--accent-ink);
  background: var(--accent);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
}

#js-product-list-top,
.products-selection {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--rule);
  color: var(--muted);
  font-size: 13px;
}

#js-product-list-top .products__selection {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

#js-product-list-top .products__count {
  color: var(--ink-2);
  font-family: var(--body);
  font-size: 14px;
}

#js-product-list-top .products__sort {
  display: flex;
  align-items: center;
  gap: 10px;
}

#js-product-list-top .products__sort-label {
  color: var(--muted);
  font-size: 13px;
}

#js-product-list-top .products__sort-dropdown {
  position: relative;
  z-index: 50;
}

#js-product-list-top .products__sort-dropdown-button {
  width: 220px;
  max-width: 280px;
  min-height: 42px;
  padding: 0 40px 0 14px !important;
  overflow: hidden;
  border: 1.5px solid var(--rule-2) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--dark) !important;
  font-family: var(--body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#js-product-list-top .dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 220px;
  min-width: 100%;
  margin-top: 0;
  padding: 8px;
  border: 1px solid var(--rule);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 44px -26px rgba(16, 32, 58, .5);
  z-index: 1000;
}

#js-product-list-top .dropdown-menu.show {
  display: block;
}

#js-product-list-top .dropdown-item {
  display: block;
  padding: 9px 10px;
  border-radius: 8px;
  color: var(--ink) !important;
  font-size: 13px;
  text-decoration: none !important;
}

#js-product-list-top .dropdown-item:hover,
#js-product-list-top .dropdown-item:focus,
#js-product-list-top .dropdown-item:active,
#js-product-list-top .dropdown-item.active,
#js-product-list-top .dropdown-item.current {
  background: #004996 !important;
  color: #fff !important;
}

.page-new-products .breadcrumb__wrapper,
.page-prices-drop .breadcrumb__wrapper {
  background: var(--paper-2);
}

.fa-listing-page {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 32px 72px;
}

.fa-listing-hero {
  padding-bottom: 34px;
}

.fa-listing-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  line-height: 1;
  text-transform: uppercase;
}

.fa-listing-eyebrow span {
  width: 24px;
  height: 1px;
  background: var(--accent);
}

.fa-listing-hero h1 {
  margin: 14px 0 8px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 40px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.08;
}

.fa-listing-hero p {
  max-width: 640px;
  margin: 0;
  color: var(--ink-2);
  font-size: 15px;
}

.fa-listing-band {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  padding: 9px 15px;
  border-radius: 8px;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .03em;
}

.fa-listing-band--new {
  background: var(--paper-3);
  color: var(--dark);
}

.fa-listing-band--offers {
  background: var(--accent);
  color: var(--accent-ink);
}

.fa-listing-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 32px;
  align-items: start;
}

.fa-listing-facets {
  align-self: start;
  position: sticky;
  top: 235px;
  max-height: calc(100vh - 259px);
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: #fff;
}

.fa-listing-mobile-filters {
  display: none;
}

.fa-listing-facet {
  padding: 16px 18px;
  border-bottom: 1px solid var(--rule);
}

.fa-listing-facet:last-child {
  border-bottom: 0;
}

.fa-listing-facet__title {
  margin-bottom: 12px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

summary.fa-listing-facet__title {
  list-style: none;
}

summary.fa-listing-facet__title::-webkit-details-marker {
  display: none;
}

.fa-listing-facet label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 5px 0;
  color: var(--ink-2);
  cursor: pointer;
  font-size: 13px;
}

.fa-listing-facet label span {
  display: flex;
  align-items: center;
  gap: 9px;
}

.fa-listing-facet input[type="checkbox"] {
  width: 15px !important;
  min-width: 15px !important;
  height: 15px !important;
  min-height: 15px !important;
  padding: 0 !important;
  border-radius: 2px !important;
  accent-color: var(--accent);
  appearance: auto;
}

.fa-listing-facet small,
.fa-listing-price-row {
  color: var(--muted);
  font-family: var(--tech);
  font-size: 11px;
}

.fa-listing-range {
  width: 100%;
  padding: 0 !important;
  accent-color: var(--accent);
}

.fa-listing-price-row {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
}

.fa-listing-results {
  min-width: 0;
}

.page-new-products .columns-container,
.page-prices-drop .columns-container,
.page-category .columns-container {
  max-width: none;
  padding: 0;
}

.page-new-products .columns-container > .row,
.page-prices-drop .columns-container > .row,
.page-category .columns-container > .row {
  display: block;
}

.page-new-products #center-column,
.page-prices-drop #center-column,
.page-category #center-column {
  width: 100% !important;
  max-width: none;
}

.page-new-products #js-product-list-header,
.page-prices-drop #js-product-list-header {
  margin-bottom: 20px;
}

.fa-listing-page #js-product-list-header {
  display: none;
}

.fa-listing-page--category .fa-subcategories {
  margin-top: 22px;
  margin-bottom: 0;
}

.fa-listing-description {
  max-width: 720px;
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.55;
}

.fa-listing-description p {
  margin: 0;
}

.page-new-products #js-product-list-top,
.page-prices-drop #js-product-list-top {
  margin-bottom: 24px;
}

.fa-listing-page #js-product-list-top {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin-bottom: 24px;
  padding-bottom: 18px;
}

.fa-listing-page #js-product-list-top .products__selection {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.fa-listing-page #js-product-list-top .products__count {
  color: var(--ink-2);
  font-family: var(--body);
  font-size: 14px;
}

.fa-listing-page #js-product-list-top .products__listing-actions,
.fa-listing-page #js-product-list-top .products__sort {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.fa-listing-page #js-product-list-top .products__listing-actions {
  order: 1;
}

.fa-listing-page #js-product-list-top .products__count {
  order: 2;
  margin-left: auto;
}

.fa-listing-page #js-product-list-top .products__filters-button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  gap: 8px;
  padding: 0 15px;
  border: 1.5px solid var(--rule-2);
  border-radius: 8px;
  background: #fff;
  color: var(--dark);
  font-family: var(--body);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}

.fa-listing-page #js-product-list-top .products__filters-button:hover,
.fa-listing-page #js-product-list-top .products__filters-button[aria-expanded="true"] {
  border-color: var(--accent);
  color: var(--accent);
}

.fa-listing-page #js-product-list-top .products__filters-button svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.8;
}

.fa-listing-page #js-product-list-top .products__sort-label {
  color: var(--muted);
  font-size: 13px;
}

.fa-listing-page #js-product-list-top .products__sort-dropdown {
  position: relative;
  z-index: 50;
}

.fa-listing-page #js-product-list-top .products__sort-dropdown-button {
  width: 164px;
  max-width: 164px;
  min-height: 42px;
  padding: 0 40px 0 14px !important;
  overflow: hidden;
  border: 1.5px solid var(--rule-2) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--dark) !important;
  font-family: var(--body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fa-listing-page #js-product-list-top .dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 220px;
  min-width: 100%;
  margin-top: 0;
  padding: 8px;
  border: 1px solid var(--rule);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 44px -26px rgba(16, 32, 58, .5);
  z-index: 1000;
}

.fa-listing-page #js-product-list-top .dropdown-menu.show { display: block; }

.fa-listing-page #js-product-list-top .dropdown-item {
  display: block;
  padding: 9px 10px;
  border-radius: 8px;
  color: var(--ink) !important;
  font-size: 13px;
  text-decoration: none !important;
}

.fa-listing-page #js-product-list-top .dropdown-item:hover,
.fa-listing-page #js-product-list-top .dropdown-item.current,
.fa-listing-page #js-product-list-top .dropdown-item:focus,
.fa-listing-page #js-product-list-top .dropdown-item:active,
.fa-listing-page #js-product-list-top .dropdown-item.active {
  background: #004996 !important;
  color: #fff !important;
}

.fa-listing-page #js-product-list-top .dropdown-item.products__sort-clear,
.fa-listing-page #js-product-list-top .dropdown-item.products__sort-clear:hover,
.fa-listing-page #js-product-list-top .dropdown-item.products__sort-clear:focus {
  border: 1px solid rgba(217, 61, 61, .42);
  background: rgba(217, 61, 61, .08) !important;
  color: #b42323 !important;
  font-weight: 700;
}

.fa-listing-page #js-product-list-top .products__filters-panel {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: #fff;
}

.fa-listing-page #js-product-list-top .products__filters-panel[hidden] { display: none; }

@media (min-width: 768px) {
  .fa-listing-page #js-product-list-top .products__filters-button,
  .fa-listing-page #js-product-list-top .products__filters-panel {
    display: none !important;
  }
}

.fa-listing-page #js-product-list-top .products__filters-panel .fa-listing-facet {
  border-right: 0;
  border-bottom: 1px solid var(--rule);
}

.fa-listing-page #js-product-list-top .products__filters-panel .fa-listing-facet:last-child { border-bottom: 0; }

.page-new-products #js-product-list-top .products__selection,
.page-prices-drop #js-product-list-top .products__selection {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.page-new-products #js-product-list-top .products__count,
.page-prices-drop #js-product-list-top .products__count {
  color: var(--ink-2);
  font-family: var(--body);
  font-size: 14px;
}

.page-new-products #js-product-list-top .products__sort,
.page-prices-drop #js-product-list-top .products__sort {
  display: flex;
  align-items: center;
  gap: 10px;
}

.page-new-products #js-product-list-top .products__sort-label,
.page-prices-drop #js-product-list-top .products__sort-label {
  color: var(--muted);
  font-size: 13px;
}

.page-new-products #js-product-list-top .products__sort-dropdown,
.page-prices-drop #js-product-list-top .products__sort-dropdown {
  position: relative;
  z-index: 50;
}

.page-new-products #js-product-list-top .products__sort-dropdown-button,
.page-prices-drop #js-product-list-top .products__sort-dropdown-button {
  width: 220px;
  max-width: 260px;
  min-height: 42px;
  padding: 0 40px 0 14px !important;
  overflow: hidden;
  border: 1.5px solid var(--rule-2) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--dark) !important;
  font-family: var(--body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.page-new-products #js-product-list-top .dropdown-menu,
.page-prices-drop #js-product-list-top .dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 220px;
  min-width: 100%;
  margin-top: 0;
  padding: 8px;
  border: 1px solid var(--rule);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 44px -26px rgba(16, 32, 58, .5);
  z-index: 1000;
}

.page-new-products #js-product-list-top .dropdown-menu.show,
.page-prices-drop #js-product-list-top .dropdown-menu.show {
  display: block;
}

.page-new-products #js-product-list-top .dropdown-item,
.page-prices-drop #js-product-list-top .dropdown-item {
  display: block;
  padding: 9px 10px;
  border-radius: 8px;
  color: var(--ink) !important;
  font-size: 13px;
  text-decoration: none !important;
}

.page-new-products #js-product-list-top .dropdown-item:hover,
.page-new-products #js-product-list-top .dropdown-item.current,
.page-new-products #js-product-list-top .dropdown-item:focus,
.page-new-products #js-product-list-top .dropdown-item:active,
.page-new-products #js-product-list-top .dropdown-item.active,
.page-prices-drop #js-product-list-top .dropdown-item:hover,
.page-prices-drop #js-product-list-top .dropdown-item.current,
.page-prices-drop #js-product-list-top .dropdown-item:focus,
.page-prices-drop #js-product-list-top .dropdown-item:active,
.page-prices-drop #js-product-list-top .dropdown-item.active {
  background: #004996 !important;
  color: #fff !important;
}

.page-new-products #js-product-list .product-miniature__quickview-button,
.page-new-products #js-product-list .product-miniature__quickview-touch,
.page-prices-drop #js-product-list .product-miniature__quickview-button,
.page-prices-drop #js-product-list .product-miniature__quickview-touch,
.page-category #js-product-list .product-miniature__quickview-button,
.page-category #js-product-list .product-miniature__quickview-touch {
  display: none !important;
}

#js-product-list .products,
.featured-products .products,
.product__accessories .products,
.product-accessories .products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.page-new-products #js-product-list .products,
.page-prices-drop #js-product-list .products,
.page-category #js-product-list .products {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

#js-product-list .products > *,
.featured-products .products > *,
.product__accessories .products > *,
.product-accessories .products > * {
  width: auto !important;
  max-width: none !important;
}

#js-product-list .product-miniature,
#js-product-list .js-product-miniature,
.product__accessories .product-miniature,
.product__accessories .js-product-miniature {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-width: 0;
  height: auto;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#js-product-list .product-miniature:hover,
#js-product-list .js-product-miniature:hover,
.product__accessories .product-miniature:hover,
.product__accessories .js-product-miniature:hover {
  border: 0 !important;
  box-shadow: none !important;
}

#js-product-list .product-miniature__inner,
.product__accessories .product-miniature__inner {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: #fff;
}

#js-product-list .product-miniature:hover .product-miniature__inner,
#js-product-list .js-product-miniature:hover .product-miniature__inner,
.product__accessories .product-miniature:hover .product-miniature__inner,
.product__accessories .js-product-miniature:hover .product-miniature__inner {
  border-color: var(--accent);
  box-shadow: 0 10px 26px -16px rgba(16, 32, 58, .4);
}

#js-product-list .product-miniature__top,
.product__accessories .product-miniature__top {
  position: relative;
  background: linear-gradient(180deg, #fff, var(--paper-2));
}

#js-product-list .product-miniature__image-container,
#js-product-list .thumbnail-container,
.product__accessories .product-miniature__image-container,
.product__accessories .thumbnail-container {
  display: block;
  aspect-ratio: 4 / 3;
  border: 0 !important;
  border-radius: 0 !important;
  border-bottom: 1px solid var(--rule) !important;
  background: transparent;
}

#js-product-list .product-miniature__image-link,
#js-product-list .product-miniature__image-link picture,
.product__accessories .product-miniature__image-link,
.product__accessories .product-miniature__image-link picture {
  display: block;
  width: 100%;
  height: 100%;
}

#js-product-list .product-miniature__image,
.product__accessories .product-miniature__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
}

#js-product-list .product-flags,
.product__accessories .product-flags {
  position: absolute;
  z-index: 2;
  top: 10px;
  left: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#js-product-list .product-miniature__quickview-button,
#js-product-list .product-miniature__quickview-touch,
.product__accessories .product-miniature__quickview-button,
.product__accessories .product-miniature__quickview-touch {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 38px;
  height: 38px;
  padding: 0 !important;
  border-color: var(--rule-2) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--accent) !important;
  font-size: 0 !important;
}

#js-product-list .product-miniature__quickview-button .material-icons,
#js-product-list .product-miniature__quickview-touch .material-icons,
.product__accessories .product-miniature__quickview-button .material-icons,
.product__accessories .product-miniature__quickview-touch .material-icons {
  font-size: 20px;
}

#js-product-list .product-miniature__bottom,
.product__accessories .product-miniature__bottom {
  display: flex;
  position: relative;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  padding: 14px 16px 62px;
}

#js-product-list .product-miniature__infos,
.product__accessories .product-miniature__infos {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
}

#js-product-list .product-miniature__brand,
.product__accessories .product-miniature__brand {
  color: var(--accent);
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

#js-product-list .product-miniature__title,
.product__accessories .product-miniature__title {
  color: var(--dark);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  min-height: 38px;
  text-decoration: none;
}

#js-product-list .product-miniature__title:hover,
.product__accessories .product-miniature__title:hover {
  color: var(--accent);
}

#js-product-list .product-miniature__chips,
.product__accessories .product-miniature__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

#js-product-list .product-miniature__chip,
.product__accessories .product-miniature__chip {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 7px;
  border: 1px solid var(--rule);
  border-radius: 6px;
  color: var(--muted);
  background: #fff;
  font-family: var(--tech);
  font-size: 10px;
}

#js-product-list .product-miniature__chip--stock,
.product__accessories .product-miniature__chip--stock {
  border-color: rgba(42, 157, 88, .35);
  color: #25764b;
  background: rgba(42, 157, 88, .08);
}

#js-product-list .product-miniature__stock,
.product__accessories .product-miniature__stock {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  gap: 6px;
  color: var(--muted);
  font-family: var(--tech);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
}

#js-product-list .product-miniature__stock-dot,
.product__accessories .product-miniature__stock-dot {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 50%;
  background: #7c8796;
  box-shadow: 0 0 0 3px rgba(124, 135, 150, .13);
}

#js-product-list .product-miniature__stock--ok .product-miniature__stock-dot,
.product__accessories .product-miniature__stock--ok .product-miniature__stock-dot {
  background: #2a9d58;
  box-shadow: 0 0 0 3px rgba(42, 157, 88, .14);
}

#js-product-list .product-miniature__stock--low .product-miniature__stock-dot,
.product__accessories .product-miniature__stock--low .product-miniature__stock-dot {
  background: #f59f00;
  box-shadow: 0 0 0 3px rgba(245, 159, 0, .16);
}

#js-product-list .product-miniature__stock--out .product-miniature__stock-dot,
.product__accessories .product-miniature__stock--out .product-miniature__stock-dot {
  background: #d93d3d;
  box-shadow: 0 0 0 3px rgba(217, 61, 61, .14);
}

#js-product-list .product-miniature__stock--ok,
.product__accessories .product-miniature__stock--ok {
  color: #25764b;
}

#js-product-list .product-miniature__stock--low,
.product__accessories .product-miniature__stock--low {
  color: #9a6100;
}

#js-product-list .product-miniature__stock--out,
.product__accessories .product-miniature__stock--out {
  color: #a83232;
}

#js-product-list .product-miniature__prices,
.product__accessories .product-miniature__prices {
  display: grid;
  position: absolute;
  bottom: 18px;
  left: 16px;
  right: 112px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
  padding-top: 12px;
  border-top: 1px solid var(--rule);
}

#js-product-list .product-miniature__price,
.product__accessories .product-miniature__price {
  color: var(--dark);
  font-family: var(--sans);
  font-size: 19px;
  font-weight: 800;
  line-height: 1;
}

#js-product-list .product-miniature__price-item,
.product__accessories .product-miniature__price-item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
  justify-content: flex-end;
  padding: 0 12px;
  border-left: 1px solid var(--rule);
}

#js-product-list .product-miniature__discount-price,
.product__accessories .product-miniature__discount-price {
  display: contents;
}

#js-product-list .product-miniature__price-item--current,
.product__accessories .product-miniature__price-item--current {
  padding-left: 0;
  border-left: 0;
}

#js-product-list .product-miniature__price-item--discount,
.product__accessories .product-miniature__price-item--discount {
  padding-right: 0;
}

#js-product-list .product-miniature__price-label,
.product__accessories .product-miniature__price-label {
  color: var(--muted);
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
}

#js-product-list .regular-price,
#js-product-list .product-miniature__regular-price,
.product__accessories .regular-price,
.product__accessories .product-miniature__regular-price {
  color: var(--muted);
  font-size: 13px;
  text-decoration: line-through;
}

#js-product-list .product-list-review,
.product__accessories .product-list-review {
  min-height: 0;
  color: var(--muted);
  font-size: 12px;
}

.page-category #js-product-list .product-list-review,
.page-new-products #js-product-list .product-list-review,
.page-prices-drop #js-product-list .product-list-review {
  display: none;
}

#js-product-list .product-miniature__actions,
#js-product-list .product-miniature__form,
.product__accessories .product-miniature__actions,
.product__accessories .product-miniature__form {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

#js-product-list .product-miniature__actions,
.product__accessories .product-miniature__actions {
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 86px;
  flex: 0 0 86px;
}

#js-product-list .product-miniature__actions .product-miniature__form,
.product__accessories .product-miniature__actions .product-miniature__form {
  width: 38px;
  flex: 0 0 38px;
}

#js-product-list .product-miniature__wishlist,
.product__accessories .product-miniature__wishlist,
#js-product-list .product-miniature__actions .wishlist-button-add,
.product__accessories .product-miniature__actions .wishlist-button-add,
.cb-featured-products .cb-featured-wishlist,
.cb-featured-products .cb-featured-card-actions .wishlist-button-add {
  display: grid;
  width: 38px;
  min-width: 38px;
  max-width: 38px;
  height: 38px;
  min-height: 38px;
  max-height: 38px;
  flex: 0 0 38px;
  place-items: center;
  padding: 0 !important;
  border: 1.5px solid var(--accent) !important;
  border-radius: 9px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--accent) !important;
  font-size: 0 !important;
  position: static !important;
  inset: auto !important;
}

#js-product-list .product-miniature__wishlist:hover,
.product__accessories .product-miniature__wishlist:hover,
#js-product-list .product-miniature__actions .wishlist-button-add:hover,
.product__accessories .product-miniature__actions .wishlist-button-add:hover,
.cb-featured-products .cb-featured-wishlist:hover,
.cb-featured-products .cb-featured-card-actions .wishlist-button-add:hover {
  border-color: var(--accent);
  color: var(--accent);
  opacity: 1;
}

#js-product-list .product-miniature__actions .wishlist-button-add i,
.product__accessories .product-miniature__actions .wishlist-button-add i,
.cb-featured-products .cb-featured-card-actions .wishlist-button-add i,
.wishlist-button-add i,
.wishlist-button-add .material-icons {
  display: none !important;
}

#js-product-list .product-miniature__actions .wishlist-button-add::before,
.product__accessories .product-miniature__actions .wishlist-button-add::before,
.cb-featured-products .cb-featured-card-actions .wishlist-button-add::before {
  content: "";
  display: block;
  width: 17px;
  height: 17px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 1 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 1 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E") center / contain no-repeat;
}

#js-product-list .product-miniature__actions .wishlist-button-add.is-wishlist-active,
.product__accessories .product-miniature__actions .wishlist-button-add.is-wishlist-active,
.cb-featured-products .cb-featured-card-actions .wishlist-button-add.is-wishlist-active {
  background: #fff !important;
  color: var(--accent) !important;
}

#js-product-list .product-miniature__actions .wishlist-button-add.is-wishlist-active::before,
.product__accessories .product-miniature__actions .wishlist-button-add.is-wishlist-active::before,
.cb-featured-products .cb-featured-card-actions .wishlist-button-add.is-wishlist-active::before {
  -webkit-mask: none;
  mask: none;
  background: transparent;
  color: var(--accent);
  content: "♥";
  width: auto;
  height: auto;
  font-family: Arial, sans-serif;
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
}

.fa-wishlist-feedback {
  flex: 0 0 auto;
  width: 100%;
  margin-top: 10px;
  padding: 8px 10px;
  border: 1px solid rgba(0, 82, 165, .18);
  border-radius: 8px;
  background: rgba(0, 82, 165, .07);
  color: var(--accent);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity .18s ease, transform .18s ease;
}

.fa-wishlist-feedback.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.fa-wishlist-feedback--login {
  border-color: rgba(245, 166, 35, .3);
  background: rgba(245, 166, 35, .12);
  color: #8a5a00;
}

.fa-wishlist-feedback--removed {
  border-color: rgba(210, 22, 104, .32);
  background: rgba(210, 22, 104, .1);
  color: #b0003a;
}

.wishlist-toast {
  display: none !important;
}

.cb-featured-products .cb-featured-add-form {
  margin: 0;
}

.cb-featured-products .cb-featured-header {
  display: flex;
  justify-content: center;
  margin-bottom: 28px;
  text-align: center;
}

.cb-featured-products .cb-featured-header span {
  justify-content: center;
}

.cb-featured-products .cb-featured-carousel-wrap {
  position: relative;
}

.cb-featured-products .cb-featured-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.cb-featured-products .cb-featured-grid.is-carousel {
  flex-wrap: nowrap;
  justify-content: flex-start;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 6px 12px;
  scroll-behavior: smooth;
  scroll-padding-inline: 6px;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
}

.cb-featured-products .cb-featured-card-shell {
  display: flex;
  flex-direction: column;
  flex: 0 1 228px;
  width: 228px;
  min-width: 0;
}

.cb-featured-products .cb-featured-grid.is-carousel .cb-featured-card-shell {
  flex: 0 0 228px;
  min-width: 0;
  scroll-snap-align: start;
}

.cb-featured-products .cb-featured-product-card {
  flex: 1 1 auto;
}

.cb-featured-products .cb-featured-add-feedback {
  margin-top: 8px;
  padding: 8px 10px;
  border: 1px solid rgba(46, 138, 79, .22);
  border-radius: 8px;
  background: rgba(46, 138, 79, .11);
  color: #1f6d3b;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity .18s ease, transform .18s ease;
}

.cb-featured-products .cb-featured-add-feedback.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.cb-featured-products .cb-featured-carousel-button {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--accent);
  border-radius: 999px;
  background: #fff;
  color: var(--accent);
  cursor: pointer;
  font-family: var(--sans);
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 14px 34px -22px rgba(16, 32, 58, .48);
  transform: translateY(-50%);
}

.cb-featured-products .cb-featured-carousel-button:hover,
.cb-featured-products .cb-featured-carousel-button:focus {
  background: var(--accent);
  color: var(--accent-ink);
}

.cb-featured-products .cb-featured-carousel-button--prev {
  left: -18px;
}

.cb-featured-products .cb-featured-carousel-button--next {
  right: -18px;
}

.cb-featured-products .cb-featured-cta-wrap {
  display: flex;
  justify-content: center;
  margin-top: 28px;
}

.cb-featured-products .cb-featured-cta {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border-radius: 10px;
  background: var(--accent);
  color: var(--accent-ink) !important;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none !important;
}

.cb-featured-products .cb-featured-cta:hover,
.cb-featured-products .cb-featured-cta:focus {
  background: var(--accent-2);
  color: var(--accent-ink) !important;
}

.cb-featured-products .cb-featured-add,
.cb-featured-products .cb-featured-details {
  display: grid;
  width: 38px;
  min-width: 38px;
  height: 38px;
  min-height: 38px;
  place-items: center;
  padding: 0 !important;
  border: 1.5px solid var(--accent) !important;
  border-radius: 9px !important;
  background: var(--accent) !important;
  color: var(--accent-ink) !important;
  cursor: pointer;
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none !important;
}

.fa-home-services {
  background: linear-gradient(180deg, #fff 0%, var(--paper-2) 100%);
}

.fa-home-blog {
  overflow: hidden;
  background: #fff;
}

.fa-home-blog__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 66px 32px 64px;
}

.fa-home-blog__header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 30px;
}

.fa-home-blog__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.fa-home-blog__eyebrow span {
  width: 24px;
  height: 1px;
  background: currentColor;
}

.fa-home-blog__header h2 {
  margin: 13px 0 9px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 38px;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.1;
}

.fa-home-blog__header p {
  margin: 0;
  color: var(--ink-2);
  font-size: 16px;
  line-height: 1.55;
}

.fa-home-blog__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  padding-bottom: 5px;
  color: var(--accent) !important;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none !important;
}

.fa-home-blog__link span,
.fa-home-blog__button span {
  font-size: 18px;
  line-height: .8;
}

.fa-home-blog__viewport {
  overflow: hidden;
  touch-action: pan-y;
}

.fa-home-blog__track {
  display: flex;
  transition: transform .28s ease-out;
}

.fa-home-blog__page {
  display: grid;
  width: 100%;
  min-width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.fa-home-blog__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 15px;
  background: #fff;
  color: inherit;
  text-decoration: none !important;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.fa-home-blog__card:hover {
  border-color: rgba(0, 73, 150, .32);
  box-shadow: 0 18px 36px rgba(27, 42, 78, .12);
  transform: translateY(-3px);
}

.fa-home-blog__image {
  display: block;
  width: 100%;
  height: 152px;
  object-fit: cover;
  background: var(--paper-3);
}

.fa-home-blog__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 176px;
  padding: 16px 18px 18px;
}

.fa-home-blog__date {
  margin-bottom: 7px;
  color: var(--accent);
  font-family: var(--tech);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.fa-home-blog__title {
  display: -webkit-box;
  overflow: hidden;
  margin: 0 0 8px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.fa-home-blog__excerpt {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--ink-2);
  font-size: 13px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.fa-home-blog__read-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 12px;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 800;
}

.fa-home-blog__footer {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  margin-top: 28px;
}

.fa-home-blog__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.fa-home-blog__dot {
  min-width: 30px;
  height: 30px;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--ink-2);
  cursor: pointer;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 800;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.fa-home-blog__dot.is-active {
  background: var(--accent);
  color: var(--accent-ink);
}

.fa-home-blog__pagination {
  display: flex;
  grid-column: 2;
  align-items: center;
  justify-content: center;
  gap: 9px;
}

.fa-home-blog__arrow {
  display: inline-grid;
  width: 30px;
  height: 30px;
  padding: 0;
  place-items: center;
  border: 1px solid var(--rule);
  border-radius: 8px;
  background: #fff;
  color: var(--accent);
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}

.fa-home-blog__arrow:hover:not(:disabled) {
  border-color: var(--accent);
  background: var(--paper-3);
}

.fa-home-blog__arrow:disabled {
  cursor: default;
  opacity: .38;
}

.fa-home-blog__button {
  display: inline-flex;
  grid-column: 3;
  align-items: center;
  justify-self: end;
  gap: 8px;
  min-height: 46px;
  padding: 0 21px;
  border-radius: 10px;
  background: var(--accent);
  color: var(--accent-ink) !important;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none !important;
}

.fa-home-blog__button:hover { background: var(--accent-2); }

@media (max-width: 640px) {
  .fa-home-blog__inner { padding: 45px 18px 42px; }
  .fa-home-blog__header { display: block; margin-bottom: 22px; }
  .fa-home-blog__header h2 { font-size: 27px; }
  .fa-home-blog__header p { font-size: 14px; }
  .fa-home-blog__link { display: none; }
  .fa-home-blog__page { grid-template-columns: minmax(0, 1fr); }
  .fa-home-blog__footer { grid-template-columns: 1fr; gap: 22px; margin-top: 22px; }
  .fa-home-blog__pagination { grid-column: 1; }
  .fa-home-blog__button { grid-column: 1; justify-self: center; }
}

.fa-home-services__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  max-width: 1160px;
  margin: 0 auto;
  padding: 46px 32px 52px;
}

.fa-home-service-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(0, 73, 150, .14);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(27, 42, 78, .08);
}

.fa-home-service-card--repair {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr);
  min-height: 330px;
}

.fa-home-service-card__media {
  position: relative;
  overflow: hidden;
  background: var(--paper-3);
}

.fa-home-service-card__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 48%;
  background: linear-gradient(180deg, rgba(27, 42, 78, 0), rgba(27, 42, 78, .76));
  pointer-events: none;
}

.fa-home-service-card__media img {
  width: 100%;
  aspect-ratio: 16 / 10;
  height: auto;
  object-fit: cover;
  transition: transform .35s ease;
}

.fa-home-service-card:hover .fa-home-service-card__media img {
  transform: scale(1.035);
}

.fa-home-service-card__body {
  display: flex;
  min-height: 178px;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 22px 22px 24px;
}

.fa-home-service-card__body h3 {
  margin: 0 0 10px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 20px;
  font-weight: 800;
  line-height: 1.16;
}

.fa-home-service-card__body p {
  margin: 0;
  color: var(--ink-2);
  font-size: 14px;
  line-height: 1.62;
}

.fa-home-service-card--repair .fa-home-service-card__body {
  justify-content: center;
  padding: 32px 34px;
  background: var(--accent);
}

.fa-home-service-card--repair .fa-home-service-card__body h3 {
  color: #fff;
  font-size: 28px;
}

.fa-home-service-card--repair .fa-home-service-card__body p {
  color: rgba(255, 255, 255, .9);
  font-size: 15px;
}

.fa-home-service-card--repair .fa-home-service-card__eyebrow {
  color: #cfe5ff;
}

.fa-home-service-card__button {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 8px;
  margin-top: 22px;
  padding: 12px 16px;
  border-radius: 9px;
  background: #fff;
  color: var(--dark) !important;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none !important;
  transition: background .2s ease, transform .2s ease;
}

.fa-home-service-card__button:hover {
  background: #e8f3ff;
  transform: translateY(-1px);
}

.fa-home-service-card__eyebrow {
  display: block;
  margin-bottom: 9px;
  color: var(--accent);
  font-family: var(--tech);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
  text-transform: uppercase;
}

.fa-home-service-card__badge,
.fa-home-service-card__phone {
  position: absolute;
  z-index: 2;
  right: 16px;
  bottom: 16px;
  border: 1px solid rgba(255, 255, 255, .26);
  border-radius: 10px;
  background: rgba(255, 255, 255, .94);
  color: var(--dark);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .16);
  backdrop-filter: blur(10px);
}

.fa-home-service-card__badge {
  padding: 9px 12px;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 800;
}

.fa-home-service-card__phone {
  display: grid;
  gap: 2px;
  min-width: 178px;
  padding: 12px 14px;
}

.fa-home-service-card__phone span {
  color: var(--accent);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 800;
}

.fa-home-service-card__phone a {
  color: var(--dark) !important;
  font-family: var(--sans);
  font-size: 23px;
  font-weight: 900;
  line-height: 1.06;
}

@media (max-width: 980px) {
  .fa-home-services__inner {
    padding-top: 32px;
    padding-bottom: 36px;
  }

  .fa-home-service-card--repair {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr);
  }

  .fa-home-service-card__media img {
    height: 100%;
    min-height: 230px;
  }

  .fa-home-service-card__body {
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .fa-home-services__inner {
    padding: 26px 18px 30px !important;
  }

  .fa-home-service-card {
    display: flex;
    border-radius: 12px;
  }

  .fa-home-service-card--repair {
    min-height: 0;
  }

  .fa-home-service-card__media img {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .fa-home-service-card__body {
    padding: 16px 16px 18px;
  }

  .fa-home-service-card__body h3 {
    font-size: 17px;
  }

  .fa-home-service-card__body p {
    font-size: 13px;
    line-height: 1.5;
  }

  .fa-home-service-card--repair .fa-home-service-card__body {
    padding: 14px 16px 16px;
  }

  .fa-home-service-card--repair .fa-home-service-card__body h3 {
    font-size: 20px;
  }

  .fa-home-service-card--repair .fa-home-service-card__body p {
    font-size: 12px;
    line-height: 1.45;
  }

  .fa-home-service-card__button {
    margin-top: 14px;
    padding: 10px 14px;
    font-size: 12px;
  }

  .fa-home-service-card__phone {
    right: 10px;
    bottom: 10px;
    min-width: 150px;
    padding: 9px 10px;
  }

  .fa-home-service-card__phone a {
    font-size: 18px;
  }

  .fa-home-service-card__badge {
    right: 10px;
    bottom: 10px;
    max-width: calc(100% - 20px);
    padding: 8px 10px;
    font-size: 11px;
  }
}

#js-product-list .quantity-button,
.product__accessories .quantity-button {
  display: none;
}

#js-product-list .product-miniature__details,
#js-product-list .product-miniature__add,
.product__accessories .product-miniature__details,
.product__accessories .product-miniature__add {
  display: inline-flex;
  align-items: center;
  width: 38px;
  min-width: 38px;
  max-width: 38px;
  height: 38px;
  min-height: 38px;
  flex: 0 0 38px;
  justify-content: center;
  border: 1.5px solid var(--accent) !important;
  border-radius: 9px !important;
  background: var(--accent) !important;
  color: var(--accent-ink) !important;
  font-size: 0 !important;
  font-weight: 800;
  text-decoration: none !important;
}

.page-category #js-product-list .product-miniature__add.is-added {
  border-color: rgba(46, 138, 79, .35) !important;
  background: #2e8a4f !important;
  color: #fff !important;
}

.product__accessories {
  margin-top: 48px;
  padding-top: 36px;
  border-top: 1px solid var(--rule);
}

.product__accessories .module-products {
  width: 100%;
}

.product__accessories .section-title {
  margin: 0 0 22px !important;
  color: var(--dark);
  font-family: var(--sans) !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  letter-spacing: 0;
  line-height: 1.15;
  text-transform: none;
}

.page-product .product__accessories .product-miniature__bottom {
  padding-bottom: 16px;
}

.page-product .product__accessories .product-miniature__infos {
  padding-right: 0;
}

.page-product .product__accessories .product-miniature__prices {
  padding-right: 0;
}

.page-product .product__accessories .product-miniature__actions {
  position: static;
  display: flex;
  width: 100%;
  justify-content: flex-end;
  margin-top: 12px;
}

.page-product .product__accessories .product-miniature__actions .wishlist-button-add,
.page-product .product__accessories .product-miniature__actions .wishlist-button-product {
  position: static !important;
  inset: auto !important;
}

#js-product-list .product-miniature__details::before,
#js-product-list .product-miniature__add::before,
.product__accessories .product-miniature__details::before,
.product__accessories .product-miniature__add::before {
  content: "+";
  color: var(--accent-ink);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
}

#js-product-list .product-miniature__add.btn-square-icon {
  width: 38px;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.product__accessories .product-miniature__add.btn-square-icon {
  width: 38px;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

#js-product-list .product-miniature__details .material-icons,
#js-product-list .product-miniature__add .material-icons,
.product__accessories .product-miniature__details .material-icons,
.product__accessories .product-miniature__add .material-icons {
  display: none !important;
}

.page-new-products #js-product-list-bottom,
.page-prices-drop #js-product-list-bottom,
.page-new-products .products__pagination,
.page-prices-drop .products__pagination {
  margin-top: 28px;
}

.page-category .fa-listing-results {
  display: flex;
  min-height: 565px;
  flex-direction: column;
}

.page-category #js-product-list {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.fa-empty-state {
  display: flex;
  min-height: 220px;
  align-items: flex-start;
  padding: 36px 0;
}

.fa-empty-state__content {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.55;
}

.fa-empty-state__content .h3,
.fa-empty-state__content h3 {
  margin: 0 0 8px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
}

.fa-empty-state__content p {
  margin: 0 0 10px;
}

.fa-empty-state__back,
.fa-empty-state__back:hover,
.fa-empty-state__back:focus {
  display: inline-flex;
  width: auto;
  min-width: 0;
  min-height: 0;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--blue) !important;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}

.fa-empty-state__back:hover,
.fa-empty-state__back:focus {
  color: var(--dark) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.fa-empty-state__arrow {
  display: inline-block;
  color: currentColor;
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  transform: translateY(-1px);
}

.page-category #js-product-list .products__pagination,
.page-new-products #js-product-list .products__pagination,
.page-prices-drop #js-product-list .products__pagination {
  margin-top: auto;
  padding-top: 56px;
}

.page-category .products__pagination .pagination__container,
.page-new-products .products__pagination .pagination__container,
.page-prices-drop .products__pagination .pagination__container {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.page-category .products__pagination .pagination__number,
.page-new-products .products__pagination .pagination__number,
.page-prices-drop .products__pagination .pagination__number {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.4;
}

.page-category .products__pagination .page-list,
.page-category .products__pagination .pagination,
.page-category .products__pagination ul,
.page-new-products .products__pagination .page-list,
.page-new-products .products__pagination .pagination,
.page-new-products .products__pagination ul,
.page-prices-drop .products__pagination .page-list,
.page-prices-drop .products__pagination .pagination,
.page-prices-drop .products__pagination ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-product .columns-container,
.page-product #main {
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
}

.page-product .columns-container.container {
  padding-top: 32px;
  padding-bottom: 56px;
}

.page-product .breadcrumb__wrapper {
  border-top: 0;
  background: #fff;
}

.page-product .breadcrumb {
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  padding: 14px 32px;
  font-family: var(--tech);
  font-size: 11px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.page-product .product-container,
.page-product .product-detail,
.page-product .row.product-container {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, 1fr);
  gap: 64px;
  align-items: start;
}

.page-product .product__container {
  margin: 0;
}

.page-product .product__left,
.page-product .product__right {
  min-width: 0;
}

.page-product .product__right {
  padding-top: 4px;
}

.page-product .product__manufacturer {
  margin: 0 0 12px;
  color: var(--muted);
  font-family: var(--tech);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.page-product .product__manufacturer a {
  color: var(--muted) !important;
}

.page-product .product__name {
  margin: 0 0 18px !important;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 44px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.05;
}

.page-product .product__description-short {
  margin: 0 0 24px;
  color: var(--ink-2);
  font-size: 16px;
  line-height: 1.65;
}

.product-cover,
.product-images,
.product-thumbs,
.images-container {
  border-radius: 14px;
}

.page-product .product__images,
.page-product .product-images,
.page-product .images-container,
.page-product .product__no-image {
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, var(--paper-2));
}

.page-product .product__no-image,
.page-product .product__images .product-cover {
  position: relative;
  display: grid;
  min-height: 0;
  aspect-ratio: 1 / 1;
  place-items: center;
}

.page-product .fa-product-main-image {
  display: block;
  width: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

.fa-gallery-modal-open {
  overflow: hidden;
}

.fa-product-image-modal[hidden] {
  display: none;
}

.fa-product-image-modal {
  position: fixed;
  z-index: 2147483647;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
}

.fa-product-image-modal__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(8, 23, 44, .88);
  cursor: zoom-out;
}

.fa-product-image-modal__content {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(1120px, calc(100vw - 40px));
  height: calc(100vh - 40px);
  overflow: hidden;
  place-items: center;
}

.fa-product-image-modal__image {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  background: #fff;
  object-fit: contain;
}

.fa-product-image-modal__close {
  position: absolute;
  z-index: 2;
  top: 10px;
  right: 10px;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  padding: 0 0 3px;
  border: 0;
  border-radius: 50%;
  background: rgba(8, 23, 44, .84);
  color: #fff;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 640px) {
  .fa-product-image-modal {
    padding: 12px;
  }

  .fa-product-image-modal__content {
    width: calc(100vw - 24px);
    height: calc(100vh - 24px);
  }

  .fa-product-image-modal__image {
    width: 100%;
    height: 100%;
  }
}

.page-product .product__images img,
.page-product .product-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-product .fa-product-image-modal .fa-product-image-modal__image {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  transform: scale(1.85);
  transform-origin: center;
}

@media (max-width: 640px) {
  .page-product .fa-product-image-modal .fa-product-image-modal__image {
    transform: scale(1.5);
  }
}

.page-product .product-flags {
  position: absolute;
  z-index: 3;
  top: 16px;
  left: 16px;
  display: flex;
  max-width: calc(100% - 32px);
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.product-information,
.product-actions {
  padding: 0;
  border: 0 !important;
}

.page-product .product__prices {
  margin: 0;
}

.page-product .product__prices-block {
  margin: 0;
}

.page-product .product__price {
  color: var(--dark);
  font-family: var(--sans);
  font-size: 32px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
}

.page-product .product__tax-infos {
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
}

.page-product .product__actions {
  margin-top: 24px;
}

.page-product #add-to-cart-or-refresh {
  display: block;
}

.page-product .product__add-to-cart-container {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.page-product .product__availability {
  order: 3;
  margin-top: 12px;
  color: var(--muted);
  font-family: var(--tech);
  font-size: 12px;
  text-align: center;
}

.page-product .product__availability-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: var(--muted) !important;
}

.page-product .product__availability-icon {
  width: auto;
  color: var(--ok);
  font-size: 13px;
}

.page-product .product__actions-qty-add {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: end;
  order: 1;
  margin: 8px 0 24px;
  padding: 20px 0;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}

.page-product .product-actions__quantity::before {
  content: "Cantidad";
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-family: var(--tech);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.page-product .quantity-button__group {
  width: 96px;
}

.page-product .quantity-button__group .btn {
  width: 30px;
  height: 40px;
  min-height: 40px;
  padding: 0 !important;
  border-color: var(--rule-2) !important;
  background: #fff !important;
  color: var(--dark) !important;
}

.page-product #quantity_wanted {
  width: 36px !important;
  height: 40px;
  min-height: 40px;
  padding: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  text-align: center;
  font-family: var(--tech) !important;
  font-size: 14px !important;
  font-weight: 700;
}

.page-product .product__add-to-cart {
  grid-column: 1 / -1;
  width: 100%;
}

.page-product .product__add-to-cart-button {
  display: flex;
  width: 100%;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--accent) !important;
  color: #fff !important;
  font-family: var(--sans) !important;
  font-size: 14px;
  font-weight: 800 !important;
}

.page-product .product__mobile-sticky-cart {
  display: none;
}

.page-product .product__additional-info {
  margin-top: 14px;
}

.page-product .fa-stock-alert {
  margin: 14px 0 18px;
  padding: 16px;
  border: 1px solid rgba(213, 31, 38, .18);
  border-radius: 10px;
  background: rgba(213, 31, 38, .045);
}

.page-product .fa-stock-alert__heading {
  color: var(--dark);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
}

.page-product .fa-stock-alert__text {
  margin: 6px 0 12px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.page-product .fa-stock-alert__email {
  width: 100%;
  min-height: 44px;
  margin-bottom: 10px;
  border-color: var(--rule-2);
  border-radius: 8px;
  font-size: 14px;
}

.page-product .fa-stock-alert__button {
  width: 100%;
  min-height: 44px;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--dark) !important;
  color: #fff !important;
  font-family: var(--sans) !important;
  font-size: 13px;
  font-weight: 800 !important;
}

.page-product .fa-stock-alert__gdpr {
  margin-bottom: 10px;
  color: var(--muted);
  font-size: 12px;
}

.page-product .fa-stock-alert__alerts .alert,
.page-product .fa-stock-alert__done {
  margin: 10px 0 0;
  border-radius: 8px;
  font-size: 13px;
}

.fa-stock-alert-modal {
  position: fixed;
  inset: 0;
  z-index: 1080;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.fa-stock-alert-modal.is-open {
  display: flex;
}

.fa-stock-alert-modal-open {
  overflow: hidden;
}

.fa-stock-alert-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 31, 50, .54);
}

.fa-stock-alert-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 440px);
}

.fa-stock-alert-modal__content {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 22px 70px rgba(15, 31, 50, .28);
}

.fa-stock-alert-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
}

.fa-stock-alert-modal__body {
  padding: 34px 30px 30px;
}

.fa-stock-alert-modal__eyebrow {
  margin-bottom: 8px;
  color: var(--accent);
  font-family: var(--tech);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.fa-stock-alert-modal__title {
  margin: 0;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 23px;
  font-weight: 850;
  line-height: 1.12;
}

.fa-stock-alert-modal__text {
  margin: 12px 0 22px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.fa-stock-alert-modal__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.fa-stock-alert-modal__button {
  display: inline-flex !important;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 8px !important;
  font-family: var(--sans) !important;
  font-size: 13px;
  font-weight: 800 !important;
}

@media (max-width: 420px) {
  .fa-stock-alert-modal {
    padding: 14px;
  }

  .fa-stock-alert-modal__body {
    padding: 32px 22px 24px;
  }

  .fa-stock-alert-modal__title {
    font-size: 21px;
  }

  .fa-stock-alert-modal__actions {
    grid-template-columns: 1fr;
  }
}

.page-product .ps-sharebuttons {
  justify-content: center;
}

.page-product .ps-sharebuttons__label {
  color: var(--muted);
  font-family: var(--tech);
  font-size: 11px;
}

.page-product .product__bottom {
  display: block;
  margin-top: 46px;
}

.page-product .product__bottom-left,
.page-product .product__bottom-right {
  width: 100%;
  max-width: none;
}

.page-product .product__accordion {
  border-top: 1px solid var(--rule);
}

.page-product .product__accordion .accordion-item {
  border-right: 0;
  border-left: 0;
  border-color: var(--rule);
  background: transparent;
}

.page-product .product__accordion .accordion-button {
  padding: 18px 0;
  color: var(--muted);
  background: transparent !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-product .product__accordion .accordion-button:not(.collapsed) {
  color: var(--dark);
}

.page-product .product__accordion .accordion-body {
  max-width: 760px;
  padding: 8px 0 30px;
  color: var(--ink-2);
  font-size: 16px;
  line-height: 1.7;
}

.page-product .product__accordion .accordion-body p {
  margin-bottom: 14px;
}

.product-reference,
.product-manufacturer,
.tax-shipping-delivery-label {
  color: var(--muted);
  font-family: var(--tech);
  font-size: 12px;
}

.product-add-to-cart,
.product-quantity,
.product-variants,
.tabs {
  margin-top: 24px;
}

.tabs {
  border: 0 !important;
  border-bottom: 1px solid var(--rule) !important;
  background: transparent !important;
}

.tabs .nav-tabs {
  border-bottom: 1px solid var(--rule);
}

.tabs .nav-link {
  border: 0 !important;
  border-bottom: 3px solid transparent !important;
  color: var(--muted) !important;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 600;
}

.tabs .nav-link.active {
  border-bottom-color: var(--accent) !important;
  color: var(--dark) !important;
}

.page-cart .cart-grid,
.page-order .checkout-grid,
.page-order .columns-container .row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 28px;
  align-items: start;
}

.page-cart .cart-grid__content,
.page-cart .cart-grid__body,
.page-cart .cart-summary,
.cart-overview,
.cart-item,
.checkout-step,
.js-cart {
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: #fff;
}

.page-cart .cart-grid__content,
.cart-overview {
  padding: 0;
}

.cart-item {
  margin-bottom: 12px;
  padding: 18px;
}

.cart-summary,
.cart-grid__right,
.checkout-summary {
  position: sticky;
  top: 68px;
}

.cart-summary {
  padding: 22px;
}

.cart-summary-line,
.cart-total {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.page-contact .columns-container .row {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(0, 1.1fr);
  gap: 44px;
  align-items: start;
}

.page-contact .wrapper__left-column,
.page-contact .center-column {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
}

.page-contact .wrapper__left-column > *,
.page-contact .contact-form,
.page-contact .center-column > * {
  border: 1px solid var(--rule);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 44px -26px rgba(16, 32, 58, .4);
}

.page-contact .contact-form,
.page-contact .center-column > * {
  width: 100%;
  padding: 28px 30px;
}

.page-contact .wrapper__left-column > * {
  padding: 20px;
}

.page-contact .form-fields,
.contact-form form {
  display: grid;
  gap: 16px;
}

.page-contact .contact-form form,
.page-contact .contact-form .form-fields {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
}

.page-contact .contact-form .form-fields {
  grid-column: 1 / -1;
}

.page-contact .contact-form .page-title-section,
.page-contact .contact-form .mb-3:has(textarea),
.page-contact .contact-form .mb-3:has(input[type="file"]),
.page-contact .contact-form .buttons-wrapper {
  grid-column: 1 / -1;
}

.page-contact .contact-form .page-title-section {
  margin: 0 0 4px;
  color: var(--dark);
  font-size: 30px;
  line-height: 1.08;
}

.page-contact .contact-form .mb-3 {
  margin: 0 !important;
}

.page-contact .contact-form .form-label {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 12px;
}

.page-contact .contact-form .form-select,
.page-contact .contact-form .form-control {
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
}

.page-contact .contact-form textarea.form-control {
  min-height: 132px;
  padding-top: 12px;
  padding-bottom: 12px;
  resize: vertical;
}

.page-contact .buttons-wrapper {
  display: flex;
  justify-content: flex-start !important;
  margin-top: 4px;
}

.page-contact .ps-contactinfo,
.page-contact .contact-rich {
  min-height: 210px;
}

.page-contact .ps-contactinfo h4,
.page-contact .contact-rich h4,
.page-contact .wrapper__left-column h4 {
  margin: 0 0 18px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
}

.page-contact .ps-contactinfo a,
.page-contact .contact-rich a {
  color: var(--accent) !important;
  font-weight: 600;
}

.page-cart .cart-grid__content {
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: #fff;
}

.page-cart .cart-grid__content .page-title-section {
  margin: 0;
  padding: 24px 30px;
  border-bottom: 1px solid var(--rule);
  color: var(--dark);
  font-size: 34px;
}

.page-cart .cart-grid__products-details {
  padding: 24px 30px 30px;
}

.page-cart .cart__overview {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent;
}

.page-cart .cart__overview hr {
  display: none;
}

.page-cart .cart__empty {
  margin: 0 0 18px;
  padding: 18px 20px;
  border: 1px solid var(--rule);
  border-radius: 12px;
  color: var(--ink-2);
  background: var(--paper-2);
  font-size: 15px;
}

.page-cart .cart__continue-shopping {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 20px;
  border: 1.5px solid var(--rule-2) !important;
  color: var(--dark) !important;
  background: #fff !important;
}

.page-cart .cart__continue-shopping:hover {
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}

.page-cart .cart-grid__aside-wrapper > h2 {
  margin: 0 0 18px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 22px;
  font-weight: 800;
}

.page-cart .cart-summary {
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: #fff;
}

.page-cart .cart-summary__line {
  margin-bottom: 10px;
  color: var(--ink-2);
  font-size: 14px;
}

.page-cart .cart-summary__line--bold {
  align-items: baseline;
  padding-top: 16px;
  border-top: 1px solid var(--rule);
  color: var(--dark);
  font-family: var(--sans);
  font-size: 17px;
  font-weight: 800;
}

.page-cart .cart-summary__line--bold .cart-summary__value {
  font-size: 24px;
}

.page-cart .blockreassurance--cart {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--rule);
}

.page-cart .blockreassurance--cart .reassurance {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  align-items: center;
  margin-bottom: 18px;
}

.page-cart .blockreassurance--cart .reassurance__image {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--paper-2);
}

.page-cart .blockreassurance--cart .reassurance__image img,
.page-cart .blockreassurance--cart .reassurance__image svg {
  max-width: 30px !important;
  max-height: 30px !important;
}

.page-cart .blockreassurance--cart .reassurance__content {
  min-width: 0;
}

.page-cart .blockreassurance--cart .reassurance__title {
  color: var(--dark);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 700;
}

.page-cart .blockreassurance--cart .reassurance__desc {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.page-cart .cart-items {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-cart .cart__list {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
}

.page-cart .cart-item {
  margin: 0;
  padding: 20px;
  border: 1px solid var(--rule);
  border-radius: 12px;
  background: #fff;
}

.page-cart .cart__item {
  margin: 0;
  padding: 20px;
  border: 1px solid var(--rule);
  border-radius: 12px;
  background: #fff;
}

.page-cart .product-line-grid {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) minmax(220px, .42fr);
  gap: 20px;
  align-items: center;
}

.page-cart .product-line {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 20px;
  align-items: center;
}

.page-cart .product-line-grid-left,
.page-cart .product-line-grid-body,
.page-cart .product-line-grid-right {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

.page-cart .product-line__image {
  width: 132px;
}

.page-cart .product-line-grid-left img,
.page-cart .product-image img,
.page-cart .cart-item img,
.page-cart .product-line__img {
  display: block;
  width: 132px;
  max-width: 100%;
  aspect-ratio: 1;
  height: auto;
  object-fit: contain;
  border-radius: 10px;
  background: var(--paper-2);
}

.page-cart .product-line-info,
.page-cart .product-line-grid-body > div {
  margin: 0 0 7px;
  color: var(--ink-2);
  font-size: 13px;
  line-height: 1.35;
}

.page-cart .product-line-info.product-title,
.page-cart .product-line-grid-body .product-title,
.page-cart .product-line-grid-body a.label,
.page-cart .product-line-grid-body a:not(.remove-from-cart) {
  color: var(--dark) !important;
  background: transparent !important;
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
  text-transform: none;
}

.page-cart .product-line-info .material-icons {
  display: none;
}

.page-cart .product-line__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, auto);
  gap: 18px;
  align-items: center;
}

.page-cart .product-line__content-left {
  min-width: 0;
}

.page-cart .product-line__title {
  display: inline-block;
  color: var(--dark) !important;
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
}

.page-cart .product-line__item {
  margin-top: 7px;
  color: var(--ink-2);
  font-size: 13px;
  line-height: 1.35;
}

.page-cart .product-line__item-availability-message {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #227a3d !important;
  font-size: 13px;
  font-weight: 600;
}

.page-cart .product-line__item-availability-message::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #29a55a;
}

.page-cart .product-line__item-availability-icon,
.page-cart .product-line .material-icons {
  display: none !important;
}

.page-cart .product-line__item-price,
.page-cart .product-line__price {
  color: var(--dark);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 800;
}

.page-cart .product-line__item-price.fa-cart-price-breakdown {
  grid-area: details;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 48px;
  align-items: end;
  width: 100%;
  max-width: 100%;
  margin: 0;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
}

.page-cart .fa-cart-native-price-hidden {
  display: none !important;
}

.page-cart .fa-cart-price-breakdown__item {
  display: grid;
  gap: 4px;
  min-width: max-content;
  padding: 0 0 0 22px;
  border-left: 1px solid var(--rule);
}

.page-cart .fa-cart-price-breakdown__item:first-child {
  padding-left: 0;
  border-left: 0;
}

.page-cart .fa-cart-price-breakdown__item > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
}

.page-cart .fa-cart-price-breakdown__item > strong {
  color: var(--dark);
  font-family: var(--tech);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.page-cart .fa-cart-price-breakdown__item--discount > strong {
  display: inline-flex;
  width: fit-content;
  min-height: 22px;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  border-radius: 999px;
  color: var(--accent-ink);
  background: var(--accent);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 800;
}

.page-cart .product-line__content-right {
  display: grid;
  gap: 10px;
  justify-items: end;
}

.page-cart .product-line__actions {
  grid-column: 2;
  justify-self: end;
}

.page-cart .product-line-grid-right {
  display: grid;
  grid-template-columns: minmax(86px, .7fr) minmax(126px, 1fr);
  gap: 12px;
  align-items: center;
  text-align: right;
}

.page-cart .product-line-grid-right .price,
.page-cart .product-line-grid-right .product-price,
.page-cart .product-line-grid-right .current-price {
  color: var(--dark) !important;
  font-size: 18px;
  font-weight: 800;
}

.page-cart .product-line-grid-right .cart-line-product-actions,
.page-cart .product-line-grid-right .product-line-actions {
  display: grid;
  gap: 10px;
  justify-items: end;
}

.page-cart .product-line-grid-right .qty,
.page-cart .product-line-grid-right .input-group,
.page-cart .product-line__quantity-button .input-group,
.page-cart .quantity-button__group,
.page-cart .bootstrap-touchspin {
  display: inline-flex;
  align-items: stretch;
  justify-content: flex-end;
  width: auto;
  max-width: 160px;
}

.page-cart .bootstrap-touchspin input,
.page-cart .js-cart-line-product-quantity {
  width: 56px !important;
  min-width: 56px;
  height: 40px;
  padding: 0 8px !important;
  text-align: center;
}

.page-cart .bootstrap-touchspin .btn,
.page-cart .bootstrap-touchspin button,
.page-cart .quantity-button__group .btn {
  position: relative;
  display: grid;
  width: 38px;
  min-width: 38px;
  height: 40px;
  place-items: center;
  padding: 0 !important;
  border: 1.5px solid var(--rule-2) !important;
  color: var(--dark) !important;
  background: #fff !important;
  font-size: 0 !important;
  line-height: 1;
}

.page-cart .bootstrap-touchspin .btn i,
.page-cart .bootstrap-touchspin button i,
.page-cart .quantity-button__group .btn i {
  display: none !important;
}

.page-cart .bootstrap-touchspin .bootstrap-touchspin-down::before,
.page-cart .bootstrap-touchspin button.bootstrap-touchspin-down::before,
.page-cart .quantity-button__group .decrement::before {
  content: "-";
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 800;
}

.page-cart .bootstrap-touchspin .bootstrap-touchspin-up::before,
.page-cart .bootstrap-touchspin button.bootstrap-touchspin-up::before,
.page-cart .quantity-button__group .increment::before {
  content: "+";
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 800;
}

/* Cart symbols share the input's text line instead of being centered as icons. */
.page-cart .bootstrap-touchspin .bootstrap-touchspin-down::before,
.page-cart .bootstrap-touchspin .bootstrap-touchspin-up::before,
.page-cart .quantity-button__group .decrement::before,
.page-cart .quantity-button__group .increment::before {
  display: block !important;
  height: 33px !important;
  font-size: 16px !important;
  line-height: 33px !important;
  text-align: center;
  transform: none !important;
}

.page-cart .remove-from-cart,
.page-cart .cart-line-product-actions a,
.page-cart .js-remove-from-cart,
.page-cart .product-line__actions a {
  color: var(--accent) !important;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.page-cart .remove-from-cart .material-icons,
.page-cart .js-remove-from-cart .material-icons {
  display: none;
}

.page-cart .remove-from-cart:empty::before {
  content: "Eliminar";
}

.page-cart .product-discount,
.page-cart .discount,
.page-cart .regular-price {
  display: inline-flex;
  width: fit-content;
}

/* Fallero cart target layout */
.page-cart .columns-container {
  padding-top: 28px;
}

.page-cart .page-title-section,
.page-cart .page-header {
  margin-bottom: 16px;
}

.page-cart .page-title,
.page-cart .page-title-section h1,
.page-cart .page-header h1,
.page-cart .center-column h1 {
  margin-bottom: 6px;
  font-size: 38px;
  line-height: 1;
}

.page-cart .cart-grid {
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 32px;
}

.page-cart .cart-grid__content,
.page-cart .cart-grid__body {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent;
}

.page-cart .cart-grid__content .page-title-section {
  padding: 0;
  border-bottom: 0;
}

.page-cart .cart-grid__products-details,
.page-cart .cart__overview,
.page-cart .cart-overview {
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--rule) !important;
  border-radius: 12px !important;
  background: #fff;
}

.page-cart .cart-items,
.page-cart .cart__list {
  display: block;
}

.page-cart .cart-item,
.page-cart .cart__item {
  margin: 0;
  padding: 18px;
  border: 0 !important;
  border-radius: 0 !important;
  border-bottom: 1px solid var(--rule) !important;
  background: #fff;
}

.page-cart .cart-item:last-child,
.page-cart .cart__item:last-child {
  border-bottom: 0 !important;
}

.page-cart .product-line-grid {
  grid-template-columns: 88px minmax(0, 1fr) minmax(154px, max-content);
  gap: 18px;
  min-height: 88px;
  align-items: center;
}

.page-cart .product-line {
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 18px;
}

.page-cart .product-line__image {
  width: 88px;
}

.page-cart .product-line-grid-left img,
.page-cart .product-image img,
.page-cart .cart-item img,
.page-cart .product-line__img {
  width: 88px;
  height: 88px;
  padding: 10px;
  border: 1px solid var(--rule);
  border-radius: 8px;
  background: #f8fafc;
}

.page-cart .product-line-grid-body {
  align-self: center;
}

.page-cart .product-line-info,
.page-cart .product-line-grid-body > div {
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.page-cart .product-line-grid-body .product-line-info:first-child,
.page-cart .product-line-grid-body > div:first-child:not(.product-title) {
  color: var(--accent);
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-cart .product-line-info.product-title,
.page-cart .product-line-grid-body .product-title,
.page-cart .product-line-grid-body a.label,
.page-cart .product-line-grid-body a:not(.remove-from-cart) {
  margin-bottom: 10px;
  color: var(--dark) !important;
  font-size: 15px;
  line-height: 1.25;
}

.page-cart .product-line-grid-right {
  grid-template-columns: 1fr;
  gap: 8px;
  justify-items: end;
  align-self: center;
  min-width: 146px;
}

.page-cart .product-line-grid-right .price,
.page-cart .product-line-grid-right .product-price,
.page-cart .product-line-grid-right .current-price {
  font-size: 19px;
  line-height: 1.1;
}

.page-cart .product-line-grid-right .regular-price,
.page-cart .product-line__item-price,
.page-cart .product-line__price {
  color: var(--muted);
  font-size: 11px;
  font-family: var(--tech);
  font-weight: 500;
}

.page-cart .product-line-grid-right .cart-line-product-actions,
.page-cart .product-line-grid-right .product-line-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  justify-content: flex-end;
}

.page-cart .product-line-grid-right .qty,
.page-cart .product-line-grid-right .input-group,
.page-cart .product-line__quantity-button .input-group,
.page-cart .quantity-button__group,
.page-cart .bootstrap-touchspin {
  overflow: hidden;
  max-width: 100px;
  border: 1px solid var(--rule-2);
  border-radius: 7px;
  background: #fff;
}

.page-cart .bootstrap-touchspin input,
.page-cart .js-cart-line-product-quantity {
  width: 38px !important;
  min-width: 38px;
  height: 33px;
  padding: 0 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 800;
  line-height: 33px !important;
}

.page-cart .bootstrap-touchspin .btn,
.page-cart .bootstrap-touchspin button,
.page-cart .quantity-button__group .btn {
  width: 30px;
  min-width: 30px;
  height: 33px;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--dark) !important;
  line-height: 33px !important;
}

.page-cart .remove-from-cart,
.page-cart .cart-line-product-actions a,
.page-cart .js-remove-from-cart,
.page-cart .product-line__actions a {
  color: var(--ink-2) !important;
  font-size: 12px;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.page-cart .cart__continue-shopping {
  margin: 0;
  padding: 16px 18px;
  border: 0 !important;
  border-top: 1px solid var(--rule) !important;
  border-radius: 0 !important;
  color: var(--accent) !important;
  font-size: 14px;
  font-weight: 800 !important;
}

.page-cart .cart__continue-shopping .material-icons,
.page-cart .cart__continue-shopping i,
.page-cart .cart__continue-shopping svg {
  display: none !important;
}

.page-cart .cart__continue-shopping::before {
  content: "\2190";
  display: inline-flex;
  margin-right: 7px;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.page-cart .cart-grid__aside-wrapper > h2,
.page-cart .cart-summary .h2,
.page-cart .cart-summary h2,
.page-cart .cart-summary .card-title {
  margin: 0 0 18px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 800;
}

.page-cart .cart-summary {
  padding: 22px;
  border-radius: 12px !important;
}

.page-cart .cart-grid__right,
.page-cart .cart-grid__aside-wrapper {
  margin-top: 118px;
}

.page-cart .cart-summary-line,
.page-cart .cart-total,
.page-cart .cart-summary__line {
  margin-bottom: 12px;
  color: var(--ink-2);
  font-size: 14px;
}

.page-cart .cart-summary-line .value,
.page-cart .cart-summary__value {
  color: var(--dark) !important;
  font-weight: 800;
}

.page-cart .cart-summary__line--bold,
.page-cart .cart-total {
  margin-top: 16px;
  padding-top: 18px;
  border-top: 1px solid var(--rule);
  font-size: 17px;
}

.page-cart .cart-total .value,
.page-cart .cart-summary__line--bold .cart-summary__value {
  font-size: 24px;
  line-height: 1;
}

.page-cart .cart-detailed-actions,
.page-cart .checkout {
  margin-top: 22px;
}

.page-cart .cart-detailed-actions .btn,
.page-cart .cart-detailed-actions a,
.page-cart .checkout a {
  display: flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  border-radius: 9px !important;
  color: #fff !important;
  font-size: 15px;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.page-cart .cart-detailed-actions a::after,
.page-cart .checkout a::after {
  content: " \2192";
}

.page-cart .ps-featuredproducts,
#cart .ps-featuredproducts {
  display: none !important;
}

/* Cart visual pass aligned with the approved mockup */
.page-cart .page-title-section::before,
.page-cart .page-header::before {
  display: none;
}

.page-cart .page-title,
.page-cart .page-title-section h1,
.page-cart .page-header h1,
.page-cart .center-column h1 {
  color: var(--dark);
  font-size: 40px;
  text-transform: none;
}

.page-cart .fa-cart-count {
  display: none !important;
}

.page-cart .fa-cart-shipping-progress {
  margin: 0 0 20px;
  padding: 15px 18px;
  border: 1px solid var(--rule);
  border-radius: 9px;
  background: #f5f8fc;
}

.page-cart .fa-cart-shipping-progress p {
  margin: 0 0 9px;
  color: var(--dark);
  font-size: 12px;
  line-height: 1.35;
}

.page-cart .fa-cart-shipping-track {
  overflow: hidden;
  height: 7px;
  border-radius: 999px;
  background: #dbe6f3;
}

.page-cart .fa-cart-shipping-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
}

.page-cart .product-line__content {
  display: grid;
  grid-template-columns: minmax(260px, .95fr) minmax(360px, 1.35fr) auto minmax(150px, auto);
  grid-template-areas:
    "left details actions price";
  gap: 18px 34px;
  align-items: center;
}

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

.page-cart .product-line__content-right {
  grid-area: price;
  display: grid;
  gap: 5px;
  justify-items: end;
  align-self: center;
}

.page-cart .product-line__actions {
  grid-area: actions;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  align-items: center;
  justify-self: center;
  min-width: max-content;
}

.page-cart .product-line__price {
  color: var(--dark) !important;
  font-family: var(--sans);
  font-size: 20px;
  font-weight: 800;
  line-height: 1.05;
}

.page-cart .cart-grid__right > h2,
.page-cart .cart-grid__aside-wrapper > h2 {
  display: none;
}

.page-cart .fa-cart-summary-title {
  margin: 0 0 18px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 800;
}

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

.page-authentication .columns-container,
.page-registration .columns-container,
.page-password .columns-container,
.page-identity .columns-container {
  padding-top: 44px;
  padding-bottom: 78px;
}

.page-registration .breadcrumb,
.page-registration ol.breadcrumb,
.page-password .breadcrumb,
.page-password ol.breadcrumb,
.page-identity .breadcrumb,
.page-identity ol.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  list-style: none !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  color: var(--muted);
  font-size: 12px;
}

.page-registration .breadcrumb-item,
.page-password .breadcrumb-item,
.page-identity .breadcrumb-item {
  display: inline-flex;
  list-style: none !important;
}

.page-registration .breadcrumb-item::marker,
.page-password .breadcrumb-item::marker,
.page-identity .breadcrumb-item::marker {
  content: "" !important;
}

.page-registration .breadcrumb-item + .breadcrumb-item::before,
.page-password .breadcrumb-item + .breadcrumb-item::before,
.page-identity .breadcrumb-item + .breadcrumb-item::before {
  content: "/";
  margin-right: 8px;
  color: var(--rule-2);
}

.page-authentication .columns-container .row,
.page-registration .columns-container .row,
.page-password .columns-container .row,
.page-identity .columns-container .row {
  display: block;
}

.page-authentication .center-column,
.page-registration .center-column,
.page-password .center-column,
.page-identity .center-column {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  margin-right: auto;
  margin-left: auto;
  float: none !important;
  flex: none !important;
}

.page-authentication .center-column.page,
.page-registration .center-column.page,
.page-password .center-column.page,
.page-identity .center-column.page,
.page-authentication .page-content,
.page-registration .page-content,
.page-password .page-content,
.page-identity .page-content {
  overflow: hidden;
  border: 1px solid var(--rule) !important;
  border-radius: 16px !important;
  background: #fff;
  box-shadow: 0 22px 52px -34px rgba(16, 32, 58, .55) !important;
}

.page-authentication .center-column.page,
.page-registration .center-column.page,
.page-password .center-column.page,
.page-identity .center-column.page {
  padding: 0;
}

.page-authentication .page-title-section,
.page-registration .page-title-section,
.page-password .page-title-section,
.page-identity .page-title-section {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 30px 34px 22px;
  border-bottom: 1px solid var(--rule);
  color: var(--dark);
  font-size: 34px;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0;
  text-transform: uppercase;
}

.page-authentication .page-title-section::before,
.page-registration .page-title-section::before,
.page-password .page-title-section::before,
.page-identity .page-title-section::before {
  flex: 0 0 24px;
  width: 24px;
  margin: 0;
}

.page-registration .page-header::before {
  display: none !important;
  content: none !important;
}

.page-registration .page-title-section {
  padding-top: 24px;
}

.page-authentication #login-form,
.page-registration #customer-form,
.page-password #password-form,
.page-identity #customer-form,
.page-authentication .page-content form,
.page-registration .page-content form,
.page-password .page-content form,
.page-identity .page-content form {
  display: grid;
  gap: 16px;
  padding: 28px 34px 34px;
}

.page-authentication form .mb-3,
.page-registration form .mb-3,
.page-password form .mb-3,
.page-identity form .mb-3,
.page-authentication form .form-group,
.page-registration form .form-group,
.page-password form .form-group,
.page-identity form .form-group {
  margin: 0 !important;
}

.page-authentication .form-label,
.page-registration .form-label,
.page-password .form-label,
.page-identity .form-label,
.page-authentication label,
.page-registration label,
.page-password label,
.page-identity label {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 600;
}

.page-authentication .form-control,
.page-registration .form-control,
.page-password .form-control,
.page-identity .form-control,
.page-authentication input,
.page-registration input,
.page-password input,
.page-identity input,
.page-authentication select,
.page-registration select,
.page-password select,
.page-identity select {
  width: 100% !important;
  min-height: 46px;
  padding: 0 14px;
  background: #fff !important;
}

.page-authentication textarea.form-control,
.page-registration textarea.form-control,
.page-password textarea.form-control,
.page-identity textarea.form-control {
  min-height: 118px;
  padding-top: 12px;
  padding-bottom: 12px;
}

.page-authentication .form-check,
.page-registration .form-check,
.page-password .form-check,
.page-identity .form-check {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  min-height: 0;
  margin: 0 !important;
  padding: 0 !important;
}

.page-authentication input[type="checkbox"],
.page-registration input[type="checkbox"],
.page-password input[type="checkbox"],
.page-identity input[type="checkbox"],
.page-authentication input[type="radio"],
.page-registration input[type="radio"],
.page-password input[type="radio"],
.page-identity input[type="radio"],
.page-authentication .form-check-input,
.page-registration .form-check-input,
.page-password .form-check-input,
.page-identity .form-check-input {
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  flex: 0 0 16px;
}

.page-authentication .form-check-label,
.page-registration .form-check-label,
.page-password .form-check-label,
.page-identity .form-check-label {
  margin: 0 !important;
  color: var(--ink-2);
  font-family: var(--body);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
  text-transform: none;
}

.page-registration [aria-labelledby="field-id_gender-label"] {
  display: flex;
  flex-wrap: wrap;
  column-gap: 22px;
  row-gap: 8px;
  align-items: center;
}

.page-registration [aria-labelledby="field-id_gender-label"] .form-check {
  width: auto;
  flex: 0 0 auto;
}

.page-registration #customer-form .form-text,
.page-registration #customer-form .form-control-comment {
  display: none !important;
}

.page-authentication .input-group.password-field,
.page-registration .input-group.password-field,
.page-password .input-group.password-field,
.page-identity .input-group.password-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px;
  align-items: stretch;
  width: 100%;
}

.page-authentication .password-field .form-control,
.page-registration .password-field .form-control,
.page-password .password-field .form-control,
.page-identity .password-field .form-control {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.page-authentication .password-field .btn,
.page-registration .password-field .btn,
.page-password .password-field .btn,
.page-identity .password-field .btn {
  width: 46px;
  min-width: 46px;
  height: 46px;
  padding: 0 !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.page-authentication .buttons-wrapper,
.page-registration .buttons-wrapper,
.page-password .buttons-wrapper,
.page-identity .buttons-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between !important;
  gap: 14px;
  margin-top: 4px;
}

.page-authentication .btn-basic,
.page-registration .btn-basic,
.page-password .btn-basic,
.page-identity .btn-basic {
  padding: 0 !important;
  border: 0 !important;
  color: var(--accent) !important;
  background: transparent !important;
  font-weight: 700 !important;
}

.page-authentication #submit-login,
.page-registration .form-footer .btn,
.page-password .form-footer .btn,
.page-identity .form-footer .btn,
.page-authentication .buttons-wrapper .btn-primary,
.page-registration .buttons-wrapper .btn-primary,
.page-password .buttons-wrapper .btn-primary,
.page-identity .buttons-wrapper .btn-primary {
  min-height: 44px;
  padding-right: 18px !important;
  padding-left: 18px !important;
}

.page-authentication .login__register-prompt {
  margin: 0;
  padding: 26px 34px 32px;
  border-top: 1px solid var(--rule);
  background: var(--paper-2);
}

.page-authentication .login__register-prompt h2 {
  margin: 0 0 14px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.15;
}

.page-authentication .login__register-prompt .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px !important;
  border: 1.5px solid var(--accent) !important;
  color: var(--accent) !important;
  background: #fff !important;
}

.page-authentication .login__register-prompt .btn:hover {
  color: var(--accent-ink) !important;
  background: var(--accent) !important;
}

.page-registration .form-footer,
.page-password .form-footer,
.page-identity .form-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
}

.page-authentication .breadcrumb__wrapper,
.page-authentication .page-title-section {
  display: none !important;
}

.page-authentication .page-header,
.page-authentication .page-footer {
  display: none !important;
}

.page-authentication .columns-container,
.page-authentication .columns-container.container {
  max-width: none;
  padding: 0;
}

.page-authentication .columns-container {
  padding-top: 0;
  padding-bottom: 0;
}

.page-authentication .center-column,
.page-authentication .center-column.page,
.page-authentication .page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-my-account .columns-container,
.page-customer-account .columns-container {
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  padding: 32px 32px 78px;
}

.page-my-account .breadcrumb__wrapper,
.page-customer-account .breadcrumb__wrapper {
  display: none !important;
}

.page-my-account .page-header,
.page-my-account .page-title-section,
.page-my-account .account-menu__back {
  display: none !important;
}

.page-my-account .columns-container .row,
.page-customer-account .columns-container .row {
  display: block;
}

.page-my-account .center-column,
.page-customer-account .center-column {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}

.page-my-account .page-content,
.page-customer-account .page-content {
  margin: 0;
  padding: 0;
  border: 0 !important;
  background: transparent;
  box-shadow: none !important;
}

.fa-account-page {
  display: grid;
  gap: 28px;
}

.fa-account-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 34px;
  border: 1px solid var(--rule);
  border-radius: 16px;
  background: linear-gradient(180deg, #fff, var(--paper-2));
}

.fa-account-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.fa-account-eyebrow::before {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--accent);
}

.fa-account-hero h1 {
  margin: 0 0 10px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 42px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: 0;
}

.fa-account-hero p {
  max-width: 640px;
  margin: 0;
  color: var(--ink-2);
  font-size: 16px;
  line-height: 1.55;
}

.fa-account-logout {
  display: inline-flex;
  min-height: 44px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1.5px solid var(--rule-2);
  border-radius: 10px;
  color: var(--dark) !important;
  background: #fff;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none !important;
}

.fa-account-logout:hover {
  border-color: var(--accent);
  color: var(--accent) !important;
}

.fa-account-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.fa-account-card,
.fa-account-hook a {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 118px;
  padding: 20px;
  border: 1px solid var(--rule);
  border-radius: 14px;
  color: var(--ink) !important;
  background: #fff;
  text-decoration: none !important;
  transition: border-color .16s, box-shadow .16s, transform .16s;
}

.fa-account-card:hover,
.fa-account-hook a:hover {
  transform: translateY(-2px);
  border-color: var(--accent);
  box-shadow: 0 16px 34px -24px rgba(16, 32, 58, .45);
}

.fa-account-card__icon,
.fa-account-hook a i,
.fa-account-hook a .material-icons {
  display: grid !important;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 12px;
  color: var(--accent) !important;
  background: var(--paper-2);
  font-size: 0 !important;
  line-height: 0 !important;
}

.fa-account-hook {
  display: contents;
}

.fa-account-hook a {
  position: relative;
}

.fa-account-hook a i::before,
.fa-account-hook a .material-icons::before {
  content: "";
  width: 22px;
  height: 22px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' viewBox='0 0 24 24'%3E%3Cpath d='M12 21l-7-7a4.5 4.5 0 0 1 6.4-6.4l.6.6.6-.6A4.5 4.5 0 0 1 19 14l-7 7z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' viewBox='0 0 24 24'%3E%3Cpath d='M12 21l-7-7a4.5 4.5 0 0 1 6.4-6.4l.6.6.6-.6A4.5 4.5 0 0 1 19 14l-7 7z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.fa-account-card strong,
.fa-account-hook a span,
.fa-account-hook a strong {
  display: block;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 17px;
  font-weight: 800;
  line-height: 1.2;
}

.fa-account-card em {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 13px;
  font-style: normal;
  line-height: 1.4;
}

.fa-account-hook a span:not(.material-icons) {
  margin: 0;
}

.page-customer-account .columns-container > .row {
  display: grid;
  grid-template-columns: 282px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  margin: 0;
}

.page-customer-account .columns-container > .row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  float: none !important;
}

.page-customer-account .account-menu {
  position: sticky;
  top: 76px;
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: #fff;
}

.page-customer-account .account-menu__title {
  margin: 0;
  padding: 20px 20px 16px;
  border-bottom: 1px solid var(--rule);
  color: var(--dark);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.15;
}

.page-customer-account .account-menu__nav {
  display: grid;
  gap: 2px;
  padding: 8px;
}

.page-customer-account .account-menu__link {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 42px;
  padding: 8px 10px;
  border-radius: 9px;
  color: var(--ink) !important;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none !important;
}

.page-customer-account .account-menu__nav > a:not(.account-menu__link) {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 42px;
  width: auto !important;
  max-width: none !important;
  padding: 8px 10px !important;
  border-radius: 9px;
  color: var(--ink) !important;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none !important;
}

.page-customer-account .account-menu__nav > a:not(.account-menu__link):hover {
  color: var(--accent) !important;
  background: var(--paper-2);
}

.page-customer-account .account-menu__nav > a:not(.account-menu__link) .link-item {
  display: contents;
}

.page-customer-account .account-menu__nav > a:not(.account-menu__link) i,
.page-customer-account .account-menu__nav > a:not(.account-menu__link) .material-icons {
  display: grid !important;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 9px;
  color: var(--accent) !important;
  background: var(--paper-2);
  font-size: 18px !important;
  line-height: 1 !important;
}

.page-customer-account .account-menu__link:hover,
.page-customer-account .account-menu__link--active,
.page-customer-account .account-menu__link[aria-current="page"] {
  color: var(--accent) !important;
  background: var(--paper-2);
}

.page-customer-account .account-menu__link--signout {
  margin-top: 6px;
  border-top: 1px solid var(--rule);
  border-radius: 0 0 8px 8px;
}

.page-customer-account .account-menu__icon,
.page-customer-account .account-menu .material-icons {
  display: grid !important;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 9px;
  color: var(--accent) !important;
  background: var(--paper-2);
  font-size: 18px !important;
  line-height: 1 !important;
}

.page-customer-account .account-menu__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  margin: 0 0 18px;
  padding: 0 14px !important;
  border: 1.5px solid var(--rule-2) !important;
  border-radius: 10px !important;
  color: var(--dark) !important;
  background: #fff !important;
  font-family: var(--sans) !important;
  font-size: 13px;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.page-customer-account .page-header {
  margin: 0 0 14px;
}

.page-customer-account .page-title-section {
  display: block;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 34px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: 0;
  text-transform: none;
}

.page-customer-account .page-title-section::before {
  display: none !important;
  content: none !important;
}

.page-customer-account .page-content--customer {
  display: grid;
  gap: 18px;
  overflow: hidden;
  padding: 28px;
  border: 1px solid var(--rule) !important;
  border-radius: 14px !important;
  background: #fff;
  box-shadow: 0 18px 42px -34px rgba(16, 32, 58, .5) !important;
}

.page-customer-account .page-content--customer > p {
  margin: 0;
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.5;
}

.page-customer-account #customer-form,
.page-customer-account #address-form,
.page-customer-account .address-form form {
  display: grid;
  gap: 16px;
  margin: 0;
}

.page-customer-account #customer-form section,
.page-customer-account #address-form section,
.page-customer-account .address-form form > section {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.page-customer-account #customer-form .mb-3,
.page-customer-account #address-form .mb-3,
.page-customer-account .address-form .mb-3,
.page-customer-account #customer-form .form-group,
.page-customer-account #address-form .form-group,
.page-customer-account .address-form .form-group {
  margin: 0 !important;
}

.page-customer-account #customer-form [data-ps-ref="password-field"],
.page-customer-account #address-form [data-ps-ref="password-field"],
.page-customer-account .form-fields,
.page-customer-account .form-footer,
.page-customer-account .buttons-wrapper {
  grid-column: 1 / -1;
}

.page-customer-account label,
.page-customer-account .form-label,
.page-customer-account .form-control-label {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}

.page-customer-account input,
.page-customer-account select,
.page-customer-account textarea,
.page-customer-account .form-control {
  width: 100% !important;
  min-height: 46px;
  padding: 0 14px;
  background: #fff !important;
}

.page-customer-account textarea,
.page-customer-account textarea.form-control {
  min-height: 116px;
  padding-top: 12px;
  padding-bottom: 12px;
}

.page-customer-account .form-check {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  min-height: 0;
  margin: 0 !important;
  padding: 0 !important;
}

.page-customer-account input[type="checkbox"],
.page-customer-account input[type="radio"],
.page-customer-account .form-check-input {
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  flex: 0 0 16px;
}

.page-customer-account .fa-newsletter-category__chips input[type="checkbox"],
.page-authentication .fa-newsletter-category__chips input[type="checkbox"],
.page-registration .fa-newsletter-category__chips input[type="checkbox"],
.page-password .fa-newsletter-category__chips input[type="checkbox"],
.page-identity .fa-newsletter-category__chips input[type="checkbox"] {
  width: 13px !important;
  min-width: 13px !important;
  max-width: 13px !important;
  height: 13px !important;
  min-height: 13px !important;
  max-height: 13px !important;
  margin: 0 !important;
  flex: 0 0 13px !important;
}

body .fa-literal-footer .fa-newsletter-category__chips label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.page-customer-account .form-check-label {
  margin: 0 !important;
  color: var(--ink-2);
  font-family: var(--body);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
  text-transform: none;
}

.page-customer-account [aria-labelledby="field-id_gender-label"] {
  display: flex;
  flex-wrap: wrap;
  column-gap: 22px;
  row-gap: 8px;
  align-items: center;
}

.page-customer-account .input-group.password-field,
.page-customer-account .password-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px;
  align-items: stretch;
  width: 100%;
}

.page-customer-account .password-field .form-control {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.page-customer-account .password-field .btn {
  width: 46px;
  min-width: 46px;
  height: 46px;
  padding: 0 !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.page-customer-account .buttons-wrapper,
.page-customer-account .form-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 4px;
}

.page-customer-account .buttons-wrapper .btn,
.page-customer-account .form-footer .btn,
.page-customer-account .form-control-submit {
  min-height: 44px;
  padding-right: 18px !important;
  padding-left: 18px !important;
}

.page-customer-account .addresses__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.page-customer-account .address-card {
  min-height: 174px;
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: #fff;
}

.page-customer-account .address-card__container {
  display: grid;
  gap: 14px;
  height: 100%;
  padding: 20px;
}

.page-customer-account .address-card__alias {
  color: var(--dark);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 900;
}

.page-customer-account .address-card__content {
  margin: 0;
  color: var(--ink-2);
  font-size: 14px;
  line-height: 1.5;
}

.page-customer-account .address-card__actions {
  display: flex;
  gap: 14px;
  align-self: end;
  padding-top: 12px;
  border-top: 1px solid var(--rule);
}

.page-customer-account .address-card__actions a,
.page-customer-account .address-card__edit,
.page-customer-account .address-card__delete {
  color: var(--accent) !important;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none !important;
}

.page-customer-account .address-card--add-address {
  display: grid;
  place-items: center;
  gap: 12px;
  padding: 24px;
  color: var(--accent) !important;
  background: var(--paper-2);
  font-family: var(--sans);
  font-weight: 900;
  text-align: center;
  text-decoration: none !important;
}

.page-customer-account .grid-table,
.page-customer-account .order-history {
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: #fff;
}

.page-customer-account .grid-table__inner,
.page-customer-account .order-history__inner {
  display: grid;
  min-width: 720px;
}

.page-customer-account .grid-table__header,
.page-customer-account .grid-table__row,
.page-customer-account .order-history__header,
.page-customer-account .order-history__row {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(110px, 1fr);
  align-items: center;
}

.page-customer-account .grid-table__header,
.page-customer-account .order-history__header {
  min-height: 48px;
  background: var(--paper-2);
  color: var(--dark);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-customer-account .grid-table__row,
.page-customer-account .order-history__row {
  min-height: 58px;
  border-top: 1px solid var(--rule);
  color: var(--ink-2);
  font-size: 13px;
}

.page-customer-account .grid-table__cell,
.page-customer-account .order-history__cell {
  min-width: 0;
  padding: 12px 14px;
  overflow-wrap: anywhere;
}

.page-customer-account .alert {
  margin: 0;
  padding: 16px 18px;
  border: 1px solid rgba(0, 73, 150, .16);
  border-radius: 12px;
  color: var(--dark);
  background: rgba(0, 73, 150, .06);
  font-size: 14px;
  line-height: 1.45;
}

.page-customer-account .page-content--customer ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-customer-account .page-content--customer li {
  margin: 0 !important;
  padding: 16px !important;
  border: 1px solid var(--rule);
  border-radius: 12px;
  background: #fff !important;
}

.page-customer-account .page-content--customer li > * {
  min-width: 0;
}

.page-customer-account .page-content--customer .btn,
.page-customer-account .wishlist-footer-links a,
.page-customer-account .wishlist-container button,
.page-customer-account .wishlist-products-container button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px !important;
  border-radius: 10px !important;
  font-family: var(--sans) !important;
  font-size: 13px;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.page-customer-account .page-content--customer .btn-outline-primary,
.page-customer-account .wishlist-footer-links a {
  border: 1.5px solid var(--rule-2) !important;
  color: var(--dark) !important;
  background: #fff !important;
}

.page-customer-account .page-content--customer .btn-outline-primary:hover,
.page-customer-account .wishlist-footer-links a:hover {
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}

.page-customer-account .page-content--customer .btn-primary,
.page-customer-account .wishlist-container .btn-primary,
.page-customer-account .wishlist-products-container .btn-primary {
  border-color: var(--accent) !important;
  color: var(--accent-ink) !important;
  background: var(--accent) !important;
}

.page-customer-account .wishlist-container,
.page-customer-account .wishlist-products-container {
  min-height: 220px;
  padding: 28px;
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: #fff;
}

.page-customer-account .wishlist-container:empty::before,
.page-customer-account .wishlist-products-container:empty::before {
  content: attr(data-title);
  display: block;
  margin-bottom: 8px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 28px;
  font-weight: 900;
  line-height: 1.1;
}

.page-customer-account .wishlist-container:empty::after,
.page-customer-account .wishlist-products-container:empty::after {
  content: attr(data-empty-text);
  color: var(--muted);
  font-size: 15px;
}

.page-customer-account .wishlist-products-container:empty::after {
  content: attr(data-no-products-message);
}

.page-customer-account .wishlist-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.page-customer-account .wishlist-footer-links .material-icons,
.page-customer-account .page-content--customer .btn .material-icons {
  font-size: 18px;
  line-height: 1;
}

.page-customer-account .page-content--customer h1,
.page-customer-account .page-content--customer h2,
.page-customer-account .page-content--customer h3 {
  color: var(--dark);
  font-family: var(--sans);
  font-weight: 900;
  letter-spacing: 0;
}

.page-customer-account .page-content--customer h2 {
  margin: 8px 0 4px;
  font-size: 22px;
}

.page-customer-account .page-content--customer p + .btn,
.page-customer-account .page-content--customer p + div,
.page-customer-account .page-content--customer p + form {
  margin-top: 8px;
}

.page-customer-account #exportDataToCsv,
.page-customer-account #exportDataToPdf {
  margin-right: 8px;
  margin-bottom: 10px;
}

@media (max-width: 900px) {
  .page-customer-account .columns-container > .row {
    grid-template-columns: 1fr;
  }

  .page-customer-account .account-menu {
    position: static;
  }

  .page-customer-account .account-menu__nav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 10px;
    scrollbar-width: none;
  }

  .page-customer-account .account-menu__nav::-webkit-scrollbar {
    display: none;
  }

  .page-customer-account .account-menu__link {
    min-width: max-content;
    grid-template-columns: 30px max-content;
  }

  .fa-account-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .page-my-account .columns-container,
  .page-customer-account .columns-container {
    padding: 20px 18px 56px;
  }

  .page-customer-account .page-title-section {
    font-size: 30px;
  }

  .page-customer-account .page-content--customer {
    padding: 20px;
  }

  .page-customer-account #customer-form section,
  .page-customer-account #address-form section,
  .page-customer-account .address-form form > section,
  .page-customer-account .addresses__list {
    grid-template-columns: 1fr;
  }

  .page-customer-account .grid-table,
  .page-customer-account .order-history {
    overflow-x: auto;
  }

  .fa-account-hero {
    display: grid;
    gap: 18px;
    padding: 24px 20px;
  }

  .fa-account-hero h1 {
    font-size: 34px;
  }

  .fa-account-hero p {
    font-size: 14px;
  }

  .fa-account-logout {
    width: 100%;
  }

  .fa-account-grid {
    grid-template-columns: 1fr;
  }

  .fa-account-card,
  .fa-account-hook a {
    min-height: 96px;
    padding: 16px;
  }
}

.fa-auth-page {
  width: 100%;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--paper);
  box-shadow: none !important;
}

.fa-auth-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(360px, .85fr);
  min-height: 720px;
  overflow: hidden;
}

.fa-auth-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  overflow: hidden;
  padding: 80px 64px;
  color: #fff;
  background: var(--dark);
}

.fa-auth-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0, 32, 74, .34) 0%, rgba(0, 32, 74, .66) 100%),
    radial-gradient(circle at 72% 24%, rgba(255, 255, 255, .16), transparent 26%),
    linear-gradient(135deg, rgba(0, 85, 170, .36), rgba(0, 55, 112, .08));
}

.fa-auth-visual {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  opacity: .18;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 58px 58px;
  font-family: var(--tech);
}

.fa-auth-visual span {
  font-size: 12px;
}

.fa-auth-visual strong {
  font-family: var(--sans);
  font-size: 22px;
  font-weight: 800;
}

.fa-auth-panel-copy,
.fa-auth-stats {
  position: relative;
  z-index: 2;
}

.fa-auth-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: rgba(255,255,255,.82);
  font-family: var(--tech);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.fa-auth-eyebrow span {
  width: 24px;
  height: 2px;
  background: rgba(255,255,255,.82);
}

.fa-auth-panel h1 {
  max-width: 560px;
  margin: 14px 0 18px;
  color: #fff;
  font-family: var(--sans);
  font-size: 56px;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0;
}

.fa-auth-panel p {
  max-width: 470px;
  margin: 0;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
}

.fa-auth-stats {
  display: flex;
  gap: 32px;
  padding-top: 40px;
  border-top: 1px solid rgba(255,255,255,.18);
}

.fa-auth-stats strong {
  display: block;
  color: #fff;
  font-family: var(--sans);
  font-size: 30px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
}

.fa-auth-stats span {
  display: block;
  margin-top: 7px;
  color: rgba(255,255,255,.86);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.fa-auth-form-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 80px 64px;
  background: var(--paper);
}

.fa-auth-card {
  width: 100%;
  max-width: 440px;
}

.fa-auth-step {
  margin-bottom: 10px;
  color: var(--muted);
  font-family: var(--tech);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.fa-auth-card h2 {
  margin: 0 0 32px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 36px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0;
}

.fa-auth-page .login-form form,
.fa-auth-page .login-form .mb-3,
.fa-auth-page .login-form .form-group {
  margin: 0;
}

.fa-auth-page .login-form form {
  display: block;
  padding: 0 !important;
}

.fa-auth-page .login-form .mb-3,
.fa-auth-page .login-form .form-group {
  display: block;
  margin-bottom: 18px !important;
}

.fa-auth-page .login-form .form-label,
.fa-auth-page .login-form .form-control-label {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0 0 8px;
  padding: 0;
  color: var(--muted);
  font-family: var(--tech);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.fa-auth-page .login-form .js-input-column,
.fa-auth-page .login-form .form-control-comment {
  display: block;
  width: 100%;
  max-width: none;
  padding: 0;
}

.fa-auth-page .login-form .form-control {
  width: 100% !important;
  min-height: 52px;
  padding: 14px 16px;
  border: 1px solid var(--rule-2) !important;
  border-radius: 9px !important;
  color: var(--ink) !important;
  background: #fff !important;
  font-family: var(--sans) !important;
}

.fa-auth-page .login-form .input-group,
.fa-auth-page .login-form .password-field {
  display: flex;
  width: 100%;
}

.fa-auth-page .login-form .input-group .form-control,
.fa-auth-page .login-form .password-field .form-control {
  flex: 1 1 auto;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.fa-auth-page .login-form .input-group-btn .btn,
.fa-auth-page .login-form .password-field .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  min-width: 52px;
  min-height: 52px;
  padding: 0 !important;
  border: 0 !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  color: #fff !important;
  background: var(--accent) !important;
  font-size: 0 !important;
}

.fa-auth-page .login-form .password-field .btn i,
.fa-auth-page .login-form .password-field .btn .material-icons {
  display: none !important;
}

.fa-auth-page .login-form .password-field .btn::before {
  content: "";
  display: block;
  width: 21px;
  height: 21px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M2.5 12s3.5-6 9.5-6 9.5 6 9.5 6-3.5 6-9.5 6-9.5-6-9.5-6z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M2.5 12s3.5-6 9.5-6 9.5 6 9.5 6-3.5 6-9.5 6-9.5-6-9.5-6z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
}

.fa-auth-page .login-form .forgot-password,
.fa-auth-page .login-form .btn-basic {
  margin: 0;
  text-align: right;
}

.fa-auth-page .login-form .forgot-password a,
.fa-auth-page .login-form .btn-basic {
  color: var(--accent) !important;
  background: transparent !important;
  border: 0 !important;
  font-family: var(--tech) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-decoration: none !important;
}

.fa-login-error {
  margin: -4px 0 18px;
  padding: 13px 15px;
  border: 1px solid #f1b8b8;
  border-radius: 9px;
  color: #8d1d1d;
  background: #fff1f1;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}

.fa-login-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 2px 0 24px;
}

.fa-login-remember {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  width: auto !important;
  margin: 0 !important;
  color: var(--ink) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer;
}

.fa-login-remember input[type="checkbox"] {
  flex: 0 0 18px;
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 0;
  accent-color: var(--accent);
}

.fa-auth-page .login-form .buttons-wrapper,
.fa-auth-page .login-form .form-footer {
  display: block;
  margin: 0;
  padding: 0;
  text-align: stretch;
}

.fa-auth-page #submit-login {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 9px !important;
  color: #fff !important;
  background: var(--accent) !important;
  font-family: var(--tech) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.fa-auth-separator {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 40px 0 24px;
}

.fa-auth-separator span {
  flex: 1;
  height: 1px;
  background: var(--rule);
}

.fa-auth-separator em {
  color: var(--muted);
  font-family: var(--tech);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Botones de login social (modulo wksociallogin) integrados en la tarjeta fa-auth */
.fa-auth-social {
  margin-top: 20px;
}

.fa-auth-social-sep {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
}

.fa-auth-social-sep::before,
.fa-auth-social-sep::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--rule);
}

.fa-auth-social-sep span {
  color: var(--muted);
  font-family: var(--tech);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.fa-auth-social #wkSocialLoginBlock {
  padding-bottom: 0;
}

.fa-auth-social .button-display {
  gap: 10px;
}

.fa-auth-social #glogin {
  display: flex;
  justify-content: center;
}

.fa-auth-register {
  padding: 24px;
  border-left: 3px solid var(--accent);
  border-radius: 0 9px 9px 0;
  background: var(--paper-2);
}

.fa-auth-register h3 {
  margin: 0 0 8px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 800;
}

.fa-auth-register p {
  margin: 0 0 14px;
  color: var(--ink-2);
  font-size: 13px;
  line-height: 1.6;
}

.fa-auth-register-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border: 1.5px solid var(--accent);
  border-radius: 9px;
  color: var(--accent) !important;
  background: #fff;
  font-family: var(--tech);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.fa-auth-register-link:hover {
  color: #fff !important;
  background: var(--accent);
  text-decoration: none;
}

.page-contact .breadcrumb__wrapper {
  display: none !important;
}

.page-contact .page-header,
.page-contact .page-footer {
  display: none !important;
}

.page-contact .columns-container,
.page-contact .columns-container.container {
  max-width: none;
  padding: 0;
}

.page-contact .columns-container {
  padding-top: 0;
  padding-bottom: 0;
}

.page-contact .columns-container .row {
  display: block;
}

.page-contact .wrapper__left-column {
  display: none !important;
}

body#contact.page-contact #left-column,
body#contact.page-contact .left-column {
  display: none !important;
  width: 0 !important;
  max-width: 0 !important;
  flex: 0 0 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.page-contact .center-column,
.page-contact .center-column.page,
body#contact.page-contact #center-column,
body#contact.page-contact .center-column,
.page-contact .page-content {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.fa-contact-page {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--paper);
  box-shadow: none !important;
}

.fa-contact-hero {
  position: relative;
  min-height: 240px;
  overflow: hidden;
  color: #fff;
  background: var(--dark);
}

.fa-contact-hero-photo {
  position: absolute;
  inset: 0;
  opacity: .04;
  background: linear-gradient(90deg, rgba(255,255,255,.28) 1px, transparent 1px);
  background-size: 56px 56px;
}

.fa-contact-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--dark);
}

.fa-contact-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 1280px;
  margin: 0 auto;
  padding: 60px 32px 54px;
}

.fa-contact-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.8);
  font-family: var(--tech);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.fa-contact-eyebrow span {
  width: 24px;
  height: 1px;
  background: var(--accent);
}

.fa-contact-hero h1 {
  max-width: 640px;
  margin: 16px 0 20px;
  color: #fff;
  font-family: var(--sans);
  font-size: 45px;
  font-weight: 800;
  line-height: 1.07;
  letter-spacing: 0;
}

.fa-contact-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  gap: 44px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 56px 32px 72px;
}

.fa-contact-info,
.fa-contact-form-card {
  min-width: 0;
}

.fa-contact-kicker {
  display: block;
  margin-bottom: 14px;
  color: var(--accent);
  font-family: var(--tech);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .26em;
  text-transform: uppercase;
}

.fa-contact-info h2,
.fa-contact-form-head h2 {
  margin: 0;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 28px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0;
}

.fa-contact-lead,
.fa-contact-form-head p {
  margin: 14px 0 0;
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.7;
}

.fa-contact-list {
  display: grid;
  gap: 0;
  margin-top: 28px;
}

.fa-contact-item {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid var(--rule);
  border-radius: 0;
  color: var(--ink) !important;
  background: transparent;
}

.fa-contact-item:hover {
  color: var(--accent) !important;
  text-decoration: none;
}

.fa-contact-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 9px;
  color: var(--accent);
  background: var(--paper-2);
}

.fa-contact-icon svg {
  width: 20px;
  height: 20px;
}

.fa-contact-item strong {
  display: block;
  margin-bottom: 3px;
  color: var(--dark);
  font-family: var(--tech);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.fa-contact-map {
  overflow: hidden;
  margin-top: 22px;
  border: 1px solid var(--rule);
  border-radius: 12px;
  background: var(--paper-2);
}

.fa-contact-map iframe {
  display: block;
  width: 100%;
  height: 280px;
  border: 0;
}

.fa-contact-form-card {
  align-self: start;
}

.fa-contact-form-panel {
  padding: 30px;
  border: 1px solid var(--rule);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 22px 52px -34px rgba(16,32,58,.48);
}

.fa-contact-form-head {
  margin-bottom: 26px;
}

.fa-contact-native-form .contact-form {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.fa-contact-native-form .contact-form form,
.fa-contact-native-form .contact-form .form-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
  width: 100%;
}

.fa-contact-native-form .contact-form .page-title-section {
  display: none;
}

.fa-contact-native-form .contact-form .mb-3 {
  margin: 0 !important;
}

.fa-contact-native-form .contact-form .mb-3:has(select),
.fa-contact-native-form .fa-contact-extra--phone,
.fa-contact-native-form .fa-contact-consent,
.fa-contact-native-form .contact-form .mb-3:has(input[type="file"]),
.fa-contact-native-form .contact-form .mb-3:has(textarea),
.fa-contact-native-form .contact-form .buttons-wrapper {
  grid-column: 1 / -1;
}

.fa-contact-native-form .contact-form .form-label {
  display: block;
  margin: 0 0 8px;
  color: var(--muted);
  font-family: var(--tech);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.fa-contact-native-form .contact-form .form-select,
.fa-contact-native-form .contact-form .form-control {
  width: 100% !important;
  min-height: 50px;
  padding: 13px 15px;
  border: 1px solid var(--rule-2) !important;
  border-radius: 9px !important;
  background: #fff !important;
}

.fa-contact-native-form .contact-form textarea.form-control {
  min-height: 150px;
  resize: vertical;
}

.fa-contact-native-form .form-text {
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
}

.fa-contact-native-form input[type="file"].form-control {
  min-height: 0;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
}

.fa-contact-native-form .fa-contact-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.fa-contact-native-form .fa-contact-consent input {
  flex: 0 0 auto;
  width: 13px !important;
  height: 13px;
  min-height: 0;
  margin-top: 2px;
  padding: 0;
}

.fa-contact-native-form .buttons-wrapper {
  display: flex;
  justify-content: flex-start !important;
  margin-top: 2px;
}

.fa-contact-native-form .buttons-wrapper .btn {
  min-height: 48px;
  padding: 0 26px !important;
  border: 0 !important;
  border-radius: 9px !important;
  color: #fff !important;
  background: var(--accent) !important;
  font-family: var(--tech) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.page-cms.cms-id-4 .columns-container,
.page-cms.cms-id-4 .center-column,
.page-cms.cms-id-8 .columns-container,
.page-cms.cms-id-8 .center-column {
  max-width: none;
  padding: 0;
}

.page-cms.cms-id-4 .page-header,
.page-cms.cms-id-4 .breadcrumb,
.page-cms.cms-id-4 .breadcrumb__wrapper,
.page-cms.cms-id-4 .page-footer {
  display: none !important;
}

.fa-about-page {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  overflow: hidden;
  color: var(--ink);
  background: var(--paper);
}

.fa-about-inner,
.fa-about-story,
.fa-about-values-inner,
.fa-about-visit {
  max-width: 1280px;
  margin: 0 auto;
  padding-left: 32px;
  padding-right: 32px;
}

.fa-about-hero {
  color: #fff;
  background: var(--dark);
}

.fa-about-inner {
  padding-top: 72px;
  padding-bottom: 72px;
}

.fa-about-eyebrow,
.fa-about-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--tech);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .22em;
  line-height: 1;
  text-transform: uppercase;
}

.fa-about-eyebrow {
  margin-bottom: 16px;
  color: #fff;
}

.fa-about-eyebrow span,
.fa-about-kicker span {
  width: 24px;
  height: 2px;
  background: var(--accent);
}

.fa-about-hero h1 {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-family: var(--sans);
  font-size: 48px;
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: 0;
}

.fa-about-story {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
  padding-top: 64px;
  padding-bottom: 64px;
}

.fa-about-photo {
  display: grid;
  min-height: 360px;
  aspect-ratio: 4 / 3;
  place-items: center;
  border: 1px solid var(--rule);
  border-radius: 14px;
  color: var(--rule-2);
  background: linear-gradient(180deg, #fff, var(--paper-2));
  font-family: var(--tech);
  font-size: 12px;
  letter-spacing: .04em;
}

.fa-about-copy h2,
.fa-about-visit-copy h2 {
  margin: 0 0 16px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 30px;
  font-weight: 800;
  line-height: 1.15;
}

.fa-about-copy p {
  margin: 0 0 14px;
  color: var(--ink-2);
  font-size: 16px;
  line-height: 1.7;
}

.fa-about-copy p:last-child {
  margin-bottom: 0;
}

.fa-about-values {
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  background: var(--paper-2);
}

.fa-about-values-inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  padding-top: 56px;
  padding-bottom: 56px;
}

.fa-about-value-icon {
  display: grid;
  width: 46px;
  height: 46px;
  margin-bottom: 14px;
  place-items: center;
  border: 1px solid var(--rule);
  border-radius: 12px;
  color: var(--accent);
  background: #fff;
}

.fa-about-value-icon svg {
  width: 24px;
  height: 24px;
}

.fa-about-value h3 {
  margin: 0 0 8px;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.fa-about-value p {
  margin: 0;
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.6;
}

.fa-about-visit {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: stretch;
  padding-top: 64px;
  padding-bottom: 64px;
}

.fa-about-map {
  min-height: 360px;
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: var(--paper-2);
}

.fa-about-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  border: 0;
}

.fa-about-visit-copy {
  align-self: center;
}

.fa-about-kicker {
  color: var(--accent);
}

.fa-about-visit-copy h2 {
  margin-top: 14px;
  margin-bottom: 14px;
  font-size: 32px;
}

.fa-about-address {
  margin: 0 0 6px;
  color: var(--ink-2);
  font-size: 17px;
}

.fa-about-hours {
  margin: 0 0 24px;
  color: var(--muted);
  font-size: 15px;
}

.fa-about-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.fa-about-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  gap: 8px;
  padding: 14px 24px;
  border-radius: 10px;
  font-family: var(--tech);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none !important;
}

.fa-about-btn--primary {
  color: var(--accent-ink) !important;
  background: var(--accent);
}

.fa-about-btn--primary:hover {
  background: var(--accent-2);
}

.fa-about-btn--ghost {
  border: 1.5px solid var(--rule-2);
  color: var(--dark) !important;
  background: #fff;
}

.fa-about-btn--ghost:hover {
  border-color: var(--accent);
  color: var(--accent) !important;
}

/* Repair service landing */
.page-cms.cms-id-8 .page-header,.page-cms.cms-id-8 .breadcrumb,.page-cms.cms-id-8 .breadcrumb__wrapper,.page-cms.cms-id-8 .page-footer { display:none !important; }
.fa-repair-page { overflow:hidden; color:var(--ink); background:var(--paper); }.fa-repair-inner { max-width:1280px; margin:0 auto; padding-left:32px; padding-right:32px; }.fa-repair-hero { color:#fff; background:var(--dark); }.fa-repair-hero .fa-repair-inner { padding-top:72px; padding-bottom:72px; }
.fa-repair-eyebrow,.fa-repair-kicker { display:inline-flex; align-items:center; gap:10px; font-family:var(--tech); font-size:11px; font-weight:800; letter-spacing:.22em; line-height:1; text-transform:uppercase; }.fa-repair-eyebrow { color:#fff; margin-bottom:18px; }.fa-repair-kicker { color:var(--accent); }.fa-repair-eyebrow span,.fa-repair-kicker span { width:24px; height:2px; background:var(--accent); }
.fa-repair-hero h1 { max-width:800px; margin:0 0 16px; color:#fff; font-family:var(--sans); font-size:48px; font-weight:800; line-height:1.06; }.fa-repair-hero p { max-width:660px; margin:0 0 28px; color:rgba(255,255,255,.82); font-size:17px; line-height:1.65; }.fa-repair-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:14px 24px; border-radius:10px; font-family:var(--tech); font-size:12px; font-weight:800; letter-spacing:.04em; line-height:1; text-transform:uppercase; text-decoration:none !important; }.fa-repair-btn--primary,.fa-repair-btn--accent { color:var(--accent-ink) !important; background:var(--accent); }.fa-repair-btn--primary:hover,.fa-repair-btn--accent:hover { background:var(--accent-2); }
.fa-repair-intro { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:center; padding-top:64px; padding-bottom:64px; }.fa-repair-intro h2,.fa-repair-steps h2,.fa-repair-cta h2 { margin:14px 0 0; color:var(--dark); font-family:var(--sans); font-size:32px; font-weight:800; line-height:1.15; }.fa-repair-intro p { margin:0; color:var(--ink-2); font-size:17px; line-height:1.7; }
.fa-repair-steps { border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); background:var(--paper-2); }.fa-repair-steps .fa-repair-inner { padding-top:56px; padding-bottom:56px; }.fa-repair-steps-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:34px; }.fa-repair-step { padding:26px; border:1px solid var(--rule); border-radius:14px; background:#fff; }.fa-repair-step > span { color:var(--accent); font-family:var(--tech); font-size:12px; font-weight:800; letter-spacing:.12em; }.fa-repair-step h3,.fa-repair-delivery-card h3 { margin:15px 0 9px; color:var(--dark); font-family:var(--sans); font-size:19px; font-weight:800; line-height:1.2; }.fa-repair-step p,.fa-repair-delivery-card p { margin:0; color:var(--ink-2); font-size:15px; line-height:1.65; }
.fa-repair-delivery { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-top:64px; padding-bottom:64px; }.fa-repair-delivery-card { display:flex; gap:18px; padding:26px; border:1px solid var(--rule); border-radius:14px; background:#fff; }.fa-repair-delivery-card svg { flex:0 0 auto; width:28px; height:28px; color:var(--accent); }.fa-repair-delivery-card h3 { margin-top:1px; }.fa-repair-cta { background:var(--dark); color:#fff; }.fa-repair-cta .fa-repair-inner { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-top:54px; padding-bottom:54px; }.fa-repair-cta h2 { max-width:720px; color:#fff; margin-top:14px; }
@media (max-width:767px) { .fa-repair-inner { padding-left:20px; padding-right:20px; }.fa-repair-hero .fa-repair-inner { padding-top:52px; padding-bottom:52px; }.fa-repair-hero h1 { font-size:34px; }.fa-repair-hero p { font-size:16px; }.fa-repair-intro { grid-template-columns:1fr; gap:18px; padding-top:44px; padding-bottom:44px; }.fa-repair-intro h2,.fa-repair-steps h2,.fa-repair-cta h2 { font-size:27px; }.fa-repair-steps .fa-repair-inner { padding-top:44px; padding-bottom:44px; }.fa-repair-steps-grid,.fa-repair-delivery { grid-template-columns:1fr; gap:16px; }.fa-repair-steps-grid { margin-top:26px; }.fa-repair-step { padding:22px; }.fa-repair-delivery { padding-top:44px; padding-bottom:44px; }.fa-repair-delivery-card { padding:21px; }.fa-repair-cta .fa-repair-inner { display:block; padding-top:44px; padding-bottom:44px; }.fa-repair-cta .fa-repair-btn { width:100%; margin-top:26px; } }

.pagination .page-link,
.pagination a,
.pagination span {
  min-width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--rule) !important;
  border-radius: 8px !important;
  color: var(--ink-2) !important;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
}

.pagination .current,
.pagination .active .page-link,
.pagination .page-list .current {
  border-color: var(--accent) !important;
  background: var(--accent) !important;
  color: var(--accent-ink) !important;
}

/* Product page - handoff 2 */
.page-product .fa-product-page {
  max-width: 1280px;
  margin: 0 auto;
  padding: 32px 32px 72px;
}

.page-product .breadcrumb,
.page-product .breadcrumb ol,
.page-product ol.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  list-style: none !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  color: var(--muted);
  font-family: var(--body);
  font-size: 12px;
  text-transform: none;
}

.page-product .breadcrumb li,
.page-product .breadcrumb-item {
  display: inline-flex;
  list-style: none !important;
}

.page-product .breadcrumb li::marker,
.page-product .breadcrumb-item::marker {
  content: "" !important;
}

.page-product .breadcrumb-item + .breadcrumb-item::before {
  content: "/";
  margin-right: 8px;
  color: var(--rule-2);
}

.page-product .fa-product-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr) !important;
  gap: 64px !important;
  align-items: start;
}

.page-product .fa-product-gallery,
.page-product .fa-product-info {
  min-width: 0;
}

.page-product .fa-product-gallery .product__no-image,
.page-product .fa-product-gallery .product__carousel,
.page-product .fa-product-gallery .carousel-inner,
.page-product .fa-product-gallery .carousel-item {
  width: 100%;
  aspect-ratio: 4 / 3;
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, var(--paper-2));
}

.page-product .fa-product-gallery .product__images {
  width: 100%;
  height: auto !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.page-product .fa-product-gallery .product__no-image picture,
.page-product .fa-product-gallery .carousel-item picture {
  display: block;
  width: 100%;
  height: 100%;
}

.page-product .fa-product-gallery img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.page-product .fa-product-gallery .product-flags {
  display: none !important;
}

.page-product .product-miniature__top {
  position: relative;
  overflow: hidden;
}

.page-product .product-miniature__image-container,
.page-product .thumbnail-container {
  position: relative;
}

.page-product .product-miniature__image-container .wishlist-button-add,
.page-product .thumbnail-container .wishlist-button-add,
.page-product .product-miniature__quickview-button,
.page-product .product-miniature__quickview-touch {
  display: none !important;
}

.page-product .fa-product-gallery .product__thumbnails {
  margin-top: 14px;
  overflow: visible;
}

.page-product .fa-product-gallery .product__thumbnails--carousel {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 8px;
}

.page-product .fa-product-gallery .product__thumbnails-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(136px, 152px));
  justify-content: start;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.page-product .fa-product-gallery .product__thumbnails--carousel .product__thumbnails-list {
  display: flex;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}

.page-product .fa-product-gallery .product__thumbnail-item {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-product .fa-product-gallery .product__thumbnails--carousel .product__thumbnail-item {
  flex: 0 0 152px;
  scroll-snap-align: start;
}

.page-product .fa-product-gallery .product__thumbnails-control {
  display: grid;
  width: 32px;
  height: 48px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--rule);
  border-radius: 8px;
  background: #fff;
  color: var(--dark);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.page-product .fa-product-gallery .product__thumbnails-control:hover,
.page-product .fa-product-gallery .product__thumbnails-control:focus {
  border-color: var(--accent);
  color: var(--accent);
}

.page-product .fa-product-gallery .product__thumbnail {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  padding: 0;
  border: 1px solid var(--rule);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
  cursor: pointer;
}

.page-product .fa-product-gallery .product__thumbnail.active,
.page-product .fa-product-gallery .product__thumbnail[aria-current="true"] {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(0, 82, 165, .14);
}

.page-product .fa-product-gallery .product__thumbnail-image {
  border: 0 !important;
  border-radius: 0 !important;
}

@media (max-width: 640px) {
  /* Keep product thumbnails in one strip below the main photo on phones. */
  .page-product .fa-product-gallery .product__thumbnails-list {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 0 1px 4px;
    scroll-padding-inline: 1px;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }

  .page-product .fa-product-gallery .product__thumbnail-item,
  .page-product .fa-product-gallery .product__thumbnails--carousel .product__thumbnail-item {
    flex: 0 0 88px;
    scroll-snap-align: start;
  }

  .page-product .fa-product-gallery .product__thumbnails--carousel {
    grid-template-columns: 28px minmax(0, 1fr) 28px;
    gap: 6px;
  }

  .page-product .fa-product-gallery .product__thumbnails-control {
    width: 28px;
    height: 42px;
    font-size: 22px;
  }
}

.page-product .fa-product-meta {
  margin-bottom: 8px;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-product .fa-product-title-row {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 8px;
}

.page-product .fa-product-title {
  flex: 1;
  margin: 0 !important;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 32px !important;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.12;
}

.page-product .fa-product-fav,
.page-product .fa-product-title-row .wishlist-button-add {
  display: grid;
  width: 44px;
  min-width: 44px;
  max-width: 44px;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  flex: 0 0 44px;
  place-items: center;
  padding: 0 !important;
  border: 1.5px solid var(--accent) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--accent) !important;
  font-size: 0 !important;
  margin-left: 0 !important;
}

.page-product .fa-product-fav::before,
.page-product .fa-product-title-row .wishlist-button-add::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 1 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 1 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.page-product .fa-product-title-row .wishlist-button-add i,
.page-product .fa-product-title-row .wishlist-button-add .material-icons {
  display: none !important;
}

.page-product .fa-product-fav.is-wishlist-active,
.page-product .fa-product-title-row .wishlist-button-add.is-wishlist-active {
  background: #fff !important;
  color: var(--accent) !important;
}

.page-product .fa-product-fav.is-wishlist-active::before,
.page-product .fa-product-title-row .wishlist-button-add.is-wishlist-active::before {
  -webkit-mask: none;
  mask: none;
  background: transparent;
  color: var(--accent);
  content: "♥";
  width: auto;
  height: auto;
  font-family: Arial, sans-serif;
  font-size: 23px;
  font-weight: 700;
  line-height: 1;
}

.page-product .fa-product-ref {
  min-height: 15px;
  margin-bottom: 18px;
  color: var(--muted);
  font-family: var(--tech);
  font-size: 12px;
}

.page-product .fa-product-buy-card {
  padding: 24px;
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 42px -34px rgba(16, 32, 58, .45);
}

.page-product .fa-product-price-block {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 12px;
}

.page-product .fa-product-price {
  color: var(--dark);
  font-family: var(--sans);
  font-size: 34px;
  font-weight: 800;
  line-height: 1;
}

.page-product .fa-product-old-price {
  color: var(--muted);
  font-family: var(--sans);
  font-size: 17px;
  text-decoration: line-through;
}

.page-product .fa-product-tax {
  flex-basis: 100%;
  color: var(--muted);
  font-size: 12px;
}

.page-product .fa-product-sequra {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding: 10px 14px;
  border: 1px solid var(--rule);
  border-radius: 10px;
  background: var(--paper-2);
  color: var(--ink-2);
  font-size: 13px;
}

.page-product .fa-product-sequra span {
  color: #00a995;
  font-family: var(--sans);
  font-weight: 800;
}

.page-product .fa-product-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.page-product .fa-product-chip {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid var(--rule);
  border-radius: 7px;
  color: var(--ink-2);
  background: #fff;
  font-family: var(--tech);
  font-size: 11px;
}

.page-product .fa-product-chip--stock {
  border-color: rgba(42, 157, 88, .35);
  color: #25764b;
  background: rgba(42, 157, 88, .08);
}

.page-product .fa-product-stock {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  gap: 8px;
  color: var(--ink-2);
  font-family: var(--tech);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
}

.page-product .fa-product-stock__dot {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border-radius: 50%;
  background: #7c8796;
  box-shadow: 0 0 0 4px rgba(124, 135, 150, .12);
}

.page-product .fa-product-stock--ok {
  color: #25764b;
}

.page-product .fa-product-stock--ok .fa-product-stock__dot {
  background: #2a9d58;
  box-shadow: 0 0 0 4px rgba(42, 157, 88, .14);
}

.page-product .fa-product-stock--low {
  color: #9a6100;
}

.page-product .fa-product-stock--low .fa-product-stock__dot {
  background: #f59f00;
  box-shadow: 0 0 0 4px rgba(245, 159, 0, .16);
}

.page-product .fa-product-stock--out {
  color: #a83232;
}

.page-product .fa-product-stock--out .fa-product-stock__dot {
  background: #d93d3d;
  box-shadow: 0 0 0 4px rgba(217, 61, 61, .14);
}

.page-product .fa-product-stock--spec {
  justify-content: flex-end;
  min-height: 0;
}

.page-product .fa-product-short {
  margin-bottom: 22px;
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.6;
}

.page-product .fa-product-actions {
  padding-top: 14px;
  border-top: 1px solid var(--rule);
}

.page-product .fa-product-actions .product__availability {
  margin-bottom: 16px;
  color: var(--ink-2);
  font-family: var(--tech);
  font-size: 12px;
}

.page-product .fa-product-actions .material-icons,
.page-product .product__additional-info .material-icons,
.page-product .product__minimal-quantity .material-icons {
  display: none !important;
}

.page-product .fa-product-actions .product__actions-qty-add {
  display: grid !important;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 14px;
  align-items: end;
  padding: 0 !important;
  border: 0 !important;
}

.page-product .fa-product-actions .product-actions__quantity {
  display: block !important;
  margin: 0 !important;
}

.page-product .fa-product-actions .product-actions__quantity::before {
  content: "Cantidad";
  display: block;
  margin-bottom: 8px;
  color: var(--dark);
  font-family: var(--tech);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-product .fa-product-actions .quantity-button__group {
  display: grid !important;
  grid-template-columns: 40px 48px 40px;
  align-items: center;
  width: 128px;
  height: 46px;
  border: 1px solid var(--rule-2);
  border-radius: 9px;
  background: #fff;
  overflow: hidden;
}

.page-product .fa-product-actions .quantity-button__group .btn {
  position: relative;
  display: grid !important;
  width: 40px;
  height: 44px;
  place-items: center;
  border: 0 !important;
  background: #fff !important;
  color: var(--accent);
  font-size: 0 !important;
}

.page-product .fa-product-actions .quantity-button__group .decrement::before,
.page-product .fa-product-actions .quantity-button__group .increment::before {
  color: var(--accent);
  font-family: var(--sans);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}

.page-product .fa-product-actions .quantity-button__group .decrement::before {
  content: "-";
}

.page-product .fa-product-actions .quantity-button__group .increment::before {
  content: "+";
}

.page-product .fa-product-actions #quantity_wanted {
  width: 48px !important;
  height: 44px !important;
  border: 0 !important;
  text-align: center;
}

.page-product .fa-product-actions .product__add-to-cart-button {
  display: flex;
  width: 100%;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--accent) !important;
  color: var(--accent-ink) !important;
  font-family: var(--sans) !important;
  font-size: 14px;
  font-weight: 800 !important;
  gap: 8px;
}

.page-product .fa-product-actions .product__add-to-cart-button.is-loading,
.page-product .fa-product-actions .product__add-to-cart-button.is-added {
  background: #003a7a !important;
}

/* Quantity controls: identical alignment, visible separators and press feedback. */
.page-product .fa-product-actions .quantity-button__group .btn,
.page-cart .bootstrap-touchspin .btn,
.page-cart .bootstrap-touchspin button,
.page-cart .quantity-button__group .btn {
  display: inline-grid !important;
  place-items: center;
  line-height: 1 !important;
  transition: background-color .12s ease, border-color .12s ease, color .12s ease;
}

.page-product .fa-product-actions .quantity-button__group .decrement,
.page-cart .bootstrap-touchspin .bootstrap-touchspin-down,
.page-cart .quantity-button__group .decrement {
  border-right: 1px solid var(--rule-2) !important;
}

.page-product .fa-product-actions .quantity-button__group .increment,
.page-cart .bootstrap-touchspin .bootstrap-touchspin-up,
.page-cart .quantity-button__group .increment {
  border-left: 1px solid var(--rule-2) !important;
}

.page-product .fa-product-actions .quantity-button__group .btn:active:not(:disabled),
.page-cart .bootstrap-touchspin .btn:active:not(:disabled),
.page-cart .bootstrap-touchspin button:active:not(:disabled),
.page-cart .quantity-button__group .btn:active:not(:disabled) {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--accent-ink) !important;
}

.page-product .fa-product-actions .quantity-button__group .btn:active::before,
.page-cart .bootstrap-touchspin .btn:active::before,
.page-cart .bootstrap-touchspin button:active::before,
.page-cart .quantity-button__group .btn:active::before {
  color: currentColor;
}

.page-product .fa-product-actions #quantity_wanted,
.page-cart .bootstrap-touchspin input,
.page-cart .js-cart-line-product-quantity {
  appearance: textfield;
  -moz-appearance: textfield;
  line-height: 1 !important;
}

.page-product .fa-product-actions #quantity_wanted:focus,
.page-cart .bootstrap-touchspin input:focus,
.page-cart .js-cart-line-product-quantity:focus {
  position: relative;
  z-index: 1;
  outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent);
  outline-offset: -2px;
}

/* Keep the inside of the quantity control perfectly straight. The outer
   container alone keeps its rounded corners. */
.page-product .fa-product-actions .quantity-button__group .btn,
.page-cart .bootstrap-touchspin .btn,
.page-cart .bootstrap-touchspin button,
.page-cart .quantity-button__group .btn {
  border-radius: 0 !important;
}

.page-product .fa-product-actions .quantity-button__group .decrement::before,
.page-product .fa-product-actions .quantity-button__group .increment::before,
.page-cart .bootstrap-touchspin .bootstrap-touchspin-down::before,
.page-cart .bootstrap-touchspin .bootstrap-touchspin-up::before,
.page-cart .quantity-button__group .decrement::before,
.page-cart .quantity-button__group .increment::before {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transform: none !important;
}

/* blockwishlist replaces the initial classes once loaded. Match the final
   button too, so it retains the Fallero outline instead of a standalone circle. */
.page-product .product__actions-qty-add .wishlist-button-add.wishlist-button-product {
  display: grid !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  place-items: center;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--accent) !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--accent) !important;
  font-size: 0 !important;
  line-height: 1;
}

.page-product .product__actions-qty-add .wishlist-button-add.wishlist-button-product::before {
  content: "" !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  background: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 1 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 1 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.page-product .product__actions-qty-add .wishlist-button-add.wishlist-button-product.is-wishlist-active::before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23004996' stroke='%23004996' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 1 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  -webkit-mask: none !important;
  mask: none !important;
}

.page-product .product__actions-qty-add .wishlist-button-add.wishlist-button-product .material-icons,
.page-product .product__actions-qty-add .wishlist-button-add.wishlist-button-product i {
  display: none !important;
}

/* Use the same 44 px text line for the three quantity values. This aligns
   the visual baseline of −, 1 and + instead of merely centering their boxes. */
.page-product .fa-product-actions #quantity_wanted {
  height: 44px !important;
  padding: 0 !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 44px !important;
  text-align: center;
}

.page-product .fa-product-actions .quantity-button__group .decrement::before,
.page-product .fa-product-actions .quantity-button__group .increment::before {
  display: block !important;
  height: 44px !important;
  color: var(--accent) !important;
  font-size: 16px !important;
  line-height: 44px !important;
  text-align: center !important;
  transform: none !important;
}

@media (min-width: 641px) {
  .page-product .fa-product-actions #quantity_wanted {
    height: 52px !important;
    line-height: 52px !important;
  }

  .page-product .fa-product-actions .quantity-button__group .decrement::before,
  .page-product .fa-product-actions .quantity-button__group .increment::before {
    height: 52px !important;
    line-height: 52px !important;
  }
}

/* Product purchase row: quantity, cart and wishlist stay together. */
.page-product .fa-product-actions .fa-product-action-fav {
  display: none;
}

@media (min-width: 641px) {
  .page-product .fa-product-title-row .fa-product-fav--mobile {
    display: none;
  }

  .page-product .fa-product-actions .product__actions-qty-add {
    grid-template-columns: 128px minmax(0, 1fr) 52px;
    gap: 12px;
  }

  .page-product .fa-product-actions .product__add-to-cart {
    grid-column: auto;
  }

  .page-product .fa-product-actions .fa-product-action-fav {
    display: grid;
    width: 52px;
    min-width: 52px;
    height: 52px;
    place-items: center;
    padding: 0;
    border: 1px solid var(--accent);
    border-radius: 10px;
    background: #fff;
    color: var(--accent);
  }

  .page-product .fa-product-actions .fa-product-action-fav::before {
    content: "♡";
    font-family: Arial, sans-serif;
    font-size: 29px;
    font-weight: 400;
    line-height: 1;
  }

  .page-product .fa-product-actions .fa-product-action-fav:hover,
  .page-product .fa-product-actions .fa-product-action-fav.is-wishlist-active {
    background: rgba(0, 82, 165, .08);
  }

  .page-product .fa-product-actions .fa-product-action-fav.is-wishlist-active::before {
    content: "♥";
  }

  .page-product .fa-product-actions .fa-product-action-fav i,
  .page-product .fa-product-actions .fa-product-action-fav .material-icons {
    display: none !important;
  }
}

.page-product .fa-product-cart-feedback {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  column-gap: 10px;
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(31, 135, 75, .26);
  border-radius: 10px;
  background: #edf8f1;
  color: #17452d;
  font-size: 13px;
  line-height: 1.45;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity .18s ease, transform .18s ease;
}

.page-product .fa-product-cart-feedback[hidden] {
  display: none !important;
}

.page-product .fa-product-cart-feedback::before {
  content: "\2713";
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 999px;
  background: #1f874b;
  color: #fff;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
}

.page-product .fa-product-cart-feedback__body {
  display: block;
  min-width: 0;
}

.page-product .fa-product-cart-feedback__body > span {
  display: block;
  margin-top: 2px;
}

.page-product .fa-product-cart-feedback strong {
  display: block;
  color: #146c43;
  font-family: var(--sans);
  font-weight: 800;
}

.page-product .fa-product-cart-feedback.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 640px) {
  .page-product .fa-product-cart-feedback--mobile-sticky {
    position: fixed;
    z-index: 91;
    right: 14px;
    bottom: calc(70px + env(safe-area-inset-bottom, 0px));
    left: 14px;
    margin: 0;
    box-shadow: 0 12px 30px rgba(16, 32, 58, .2);
  }
}

.page-product .fa-product-actions .product__mobile-sticky-cart {
  display: none !important;
}

.page-product .fa-product-actions .product__add-to-cart-button .material-icons,
.page-product .fa-product-actions .product__mobile-sticky-cart .material-icons {
  display: inline-flex !important;
  font-size: 20px;
  line-height: 1;
}

.page-product .product__add-to-cart-button .fa-cart-icon,
.page-product .product__mobile-sticky-cart .fa-cart-icon {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
}

.page-product .fa-product-pickup {
  margin-top: 18px;
  padding: 16px 18px;
  border: 1px solid var(--rule);
  border-radius: 12px;
  background: var(--paper-2);
  color: var(--ink-2);
  font-size: 13px;
  line-height: 1.6;
}

.page-product .fa-product-pickup strong {
  display: block;
  color: var(--dark);
  font-family: var(--sans);
  font-weight: 800;
}

.page-product .fa-product-actions .product__additional-info {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--rule);
}

.page-product .fa-product-actions .ps-sharebuttons {
  margin-top: 0;
}

.page-product .ps-sharebuttons__list {
  display: flex;
  gap: 10px;
  align-items: center;
  list-style: none !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
}

.page-product .ps-sharebuttons__list li {
  list-style: none !important;
}

.page-product .ps-sharebuttons__list li::marker {
  content: "" !important;
}

.page-product .ps-sharebuttons__link {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid var(--rule);
  border-radius: 9px;
  color: var(--accent);
  background: #fff;
}

.page-product .fa-product-tabs {
  margin-top: 44px;
  border-top: 1px solid var(--rule);
}

@media (min-width: 641px) {
  .page-product .fa-product-tabs-scroll {
    display: none;
  }
}

.page-product .fa-product-tabs-nav {
  display: flex;
  gap: 0;
  overflow-x: auto;
  border-bottom: 1px solid var(--rule);
}

.page-product .fa-product-tabs-nav button {
  padding: 12px 18px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}

.page-product .fa-product-tabs-nav .is-active {
  border-bottom-color: var(--accent);
  color: var(--dark);
}

.page-product .fa-product-tabs-body {
  padding-top: 24px;
}

.page-product .fa-product-tab-panel[hidden] {
  display: none !important;
}

.page-product .fa-product-tab-panel p,
.page-product .fa-product-tab-panel .rich-text {
  max-width: 780px;
  margin: 0;
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.7;
}

.page-product .fa-product-specs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}

.page-product .fa-product-specs div {
  padding: 14px;
  border: 1px solid var(--rule);
  border-radius: 10px;
  background: #fff;
}

.page-product .fa-product-specs span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-family: var(--tech);
  font-size: 10px;
  text-transform: uppercase;
}

.page-product .fa-product-specs strong {
  color: var(--dark);
  font-family: var(--sans);
  font-size: 13px;
}

.page-product .fa-product-downloads,
.page-product .cip-product-downloads {
  display: grid;
  gap: 12px;
  max-width: 820px;
}

.page-product .cip-product-download {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 16px;
  border: 1px solid var(--rule);
  border-radius: 8px;
  background: #fff;
}

.page-product .cip-product-download strong,
.page-product .cip-product-download span {
  display: block;
}

.page-product .cip-product-download strong {
  color: var(--dark);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 800;
}

.page-product .cip-product-download span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 13px;
}

.page-product .cip-product-download a {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 8px;
  color: var(--accent-ink);
  background: var(--accent);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.page-product .cip-product-download a:hover,
.page-product .cip-product-download a:focus {
  background: var(--dark);
}

.page-product .cip-product-empty {
  max-width: 720px;
  padding: 16px;
  border: 1px dashed var(--rule-2);
  border-radius: 8px;
  color: var(--muted);
  background: var(--paper-2);
}

.page-product .cip-product-video {
  max-width: 860px;
}

.page-product .cip-product-video iframe,
.page-product .cip-product-video video,
.page-product .cip-product-video embed {
  display: block;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  border: 0;
  border-radius: 8px;
  background: var(--paper-2);
}

@media (max-width: 640px) {
  .page-product .cip-product-download {
    align-items: stretch;
    flex-direction: column;
  }

  .page-product .cip-product-download a {
    width: 100%;
  }
}

@media (max-width: 980px) {
  body {
    padding-top: 190px;
  }

  .fa-header-main {
    flex-wrap: wrap;
  }

  .fa-header-search {
    order: 3;
    flex-basis: 100% !important;
  }

  .fa-call-button {
    display: none !important;
  }

  .fa-nav-scroll {
    overflow-x: auto;
  }

  .fa-hero-grid,
  .fa-about-grid,
  .fa-about-story,
  .fa-about-visit,
  .fa-newsletter-category__inner {
    grid-template-columns: 1fr !important;
  }

  .fa-about-values-inner {
    grid-template-columns: 1fr;
  }

  .fa-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .fa-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .page-category .columns-container .row,
  .page-search .columns-container .row,
  .page-new-products .columns-container .row,
  .page-prices-drop .columns-container .row,
  .page-product .product-container,
  .page-product .product-detail,
  .page-product .row.product-container,
  .page-cart .cart-grid,
  .page-order .checkout-grid,
  .page-order .columns-container .row,
  .page-contact .columns-container .row {
    grid-template-columns: 1fr;
  }

  .page-product .product-container,
  .page-product .product-detail,
  .page-product .row.product-container {
    gap: 32px;
  }

  .fa-listing-page {
    padding-right: 24px;
    padding-left: 24px;
  }

  .fa-listing-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .fa-listing-facets {
    position: static;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-height: none;
    overflow: hidden;
  }

  .fa-listing-facet {
    border-right: 1px solid var(--rule);
    border-bottom: 0;
  }

  .fa-listing-facet:last-child {
    border-right: 0;
  }

  .page-category .fa-listing-results {
    min-height: 0;
  }

  .page-product .fa-product-grid {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .page-product .fa-product-specs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #js-product-list .products,
  .page-new-products #js-product-list .products,
  .page-prices-drop #js-product-list .products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }

  .product__accessories .products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }

  .page-product .product__actions-qty-add {
    display: block;
  }

  .page-product .product-actions__quantity {
    margin-bottom: 14px;
  }

  .fa-auth-layout {
    grid-template-columns: 1fr;
  }

  .fa-auth-panel,
  .fa-auth-form-wrap {
    padding: 48px 24px;
  }

  .fa-auth-panel {
    min-height: 420px;
  }

  .fa-auth-panel h1 {
    font-size: 44px;
  }

  .fa-contact-hero h1 {
    font-size: 44px;
  }

  .fa-contact-wrap {
    grid-template-columns: 1fr;
    gap: 36px;
    padding-top: 56px;
  }

  .cart-summary,
  .cart-grid__right,
  .checkout-summary {
    position: static;
  }
}

@media (max-width: 640px) {
  body {
    padding-top: 73px;
  }

  .fa-auth-page,
  .fa-auth-layout,
  .fa-auth-panel,
  .fa-auth-form-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .fa-auth-page,
  .fa-auth-layout {
    overflow-x: hidden;
  }

  .fa-auth-panel,
  .fa-auth-form-wrap {
    padding-right: 24px;
    padding-left: 24px;
  }

  .fa-auth-panel-copy,
  .fa-auth-panel h1,
  .fa-auth-panel p {
    max-width: 100%;
  }

  .fa-auth-panel h1,
  .fa-auth-panel p,
  .fa-auth-stats strong {
    overflow-wrap: break-word;
  }
}

@media (max-width: 680px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .fa-page-pad,
  .fa-top-inner,
  .fa-header-main,
  .fa-nav-inner,
  .fa-sentence-inner,
  .fa-section,
  .fa-footer-grid,
  .fa-footer-bottom {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .fa-home-categories {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    margin-right: -18px;
    margin-left: -18px;
    padding: 0 18px 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-padding-inline: 18px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .fa-home-categories::-webkit-scrollbar {
    display: none;
  }

  .fa-home-category-card {
    /* Two full cards plus at least 20% of the next one remain visible at every mobile width. */
    flex: 0 0 calc((100% - 24px) / 2.4);
    width: calc((100% - 24px) / 2.4);
    border-radius: 12px !important;
    scroll-snap-align: start;
  }

  .fa-home-categories__dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 2px;
  }

  .fa-home-categories__dots button {
    width: 6px;
    height: 6px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(27, 42, 78, .24);
    cursor: pointer;
    transition: width .2s ease, background .2s ease;
  }

  .fa-home-categories__dots .is-active {
    width: 18px;
    background: var(--accent);
  }

  .fa-home-category-card > img {
    aspect-ratio: 4 / 3 !important;
  }

  .fa-home-category-card > div:last-child {
    min-height: 58px;
    gap: 8px;
    padding: 10px 11px !important;
  }

  .fa-home-category-card > div:last-child > div {
    min-width: 0;
    gap: 7px !important;
  }

  .fa-home-category-card > div:last-child > div span:first-child {
    font-size: 10px !important;
  }

  .fa-home-category-card > div:last-child > div span:nth-child(2) {
    font-size: 13px !important;
    line-height: 1.18;
  }

  .page-category .columns-container,
  .page-category .columns-container.container {
    padding-right: 0;
    padding-left: 0;
  }

  .page-category #center-column,
  .page-category .center-column,
  .page-category .category__header {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    flex: 0 0 100% !important;
  }

  .fa-subcategories {
    width: calc(100% + 36px);
    max-width: calc(100% + 36px);
    min-width: 0;
    margin-right: -18px;
    margin-left: -18px;
    margin-bottom: 22px;
  }

  .fa-subcategories__header {
    margin-right: 18px;
    margin-left: 18px;
    font-size: 10px;
    letter-spacing: .14em;
  }

  .fa-subcategories__track {
    display: flex;
    grid-template-columns: none;
    gap: 12px;
    padding: 0 18px 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-padding-inline: 18px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .fa-subcategories__track::-webkit-scrollbar {
    display: none;
  }

  .fa-subcategories__card {
    flex: 0 0 calc((100% - 24px) / 2.4);
    width: calc((100% - 24px) / 2.4);
    border-radius: 12px !important;
    scroll-snap-align: start;
  }

  .fa-subcategories__dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 2px;
  }

  .fa-subcategories__dots button {
    width: 6px;
    height: 6px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(27, 42, 78, .24);
    cursor: pointer;
    transition: width .2s ease, background .2s ease;
  }

  .fa-subcategories__dots button.is-active {
    width: 18px;
    background: var(--accent);
  }

  .fa-subcategories__media picture,
  .fa-subcategories__media img,
  .fa-subcategories__placeholder {
    aspect-ratio: 4 / 3;
  }

  .fa-subcategories__body {
    min-height: 58px;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 7px;
    padding: 10px 11px;
  }

  .fa-subcategories__index {
    font-size: 10px;
  }

  .fa-subcategories__name {
    font-size: 13px;
  }

  .fa-subcategories__arrow {
    display: none;
  }

  .cb-featured-products {
    padding-top: 22px !important;
    padding-bottom: 46px !important;
  }

  .cb-featured-products .cb-featured-header {
    justify-content: flex-start;
    margin-bottom: 18px;
    text-align: left;
  }

  .cb-featured-products .cb-featured-header span {
    justify-content: flex-start;
  }

  .cb-featured-products .cb-featured-header h2 {
    font-size: 25px !important;
    line-height: 1.12 !important;
  }

  .cb-featured-products .cb-featured-grid {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    margin-right: -18px;
    margin-left: -18px;
    padding: 0 18px 12px !important;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-padding-inline: 18px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .cb-featured-products .cb-featured-grid::-webkit-scrollbar {
    display: none;
  }

  .cb-featured-products .cb-featured-card-shell,
  .cb-featured-products .cb-featured-grid.is-carousel .cb-featured-card-shell {
    flex: 0 0 184px;
    width: 184px;
    scroll-snap-align: start;
  }

  .cb-featured-products .cb-featured-product-card {
    border-radius: 12px !important;
  }

  .cb-featured-products .cb-featured-product-card > a {
    aspect-ratio: 4 / 3 !important;
  }

  .cb-featured-products .cb-featured-product-card > a > span {
    top: 8px !important;
    left: 8px !important;
    padding: 3px 6px !important;
    border-radius: 5px !important;
    font-size: 9px !important;
  }

  .cb-featured-products .cb-featured-product-card > div {
    padding: 16px 12px 12px !important;
  }

  .cb-featured-products .cb-featured-product-card > div > div:first-child {
    overflow: hidden;
    font-size: 9px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .cb-featured-products .cb-featured-product-card > div > a {
    min-height: 48px !important;
    font-size: 13px !important;
    line-height: 1.22 !important;
  }

  .cb-featured-products .cb-featured-product-card > div > div:nth-of-type(2) {
    gap: 5px !important;
    margin: 8px 0 10px !important;
  }

  .cb-featured-products .cb-featured-product-card > div > div:nth-of-type(2) span {
    padding: 2px 6px !important;
    font-size: 9px !important;
  }

  .cb-featured-products .cb-featured-product-card > div > div:last-child {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px !important;
    padding-top: 10px !important;
  }

  .cb-featured-products .cb-featured-product-card > div > div:last-child > span {
    align-self: center;
    font-size: 17px !important;
  }

  .cb-featured-products .cb-featured-wishlist,
  .cb-featured-products .cb-featured-card-actions .wishlist-button-add,
  .cb-featured-products .cb-featured-add,
  .cb-featured-products .cb-featured-details {
    width: 34px;
    min-width: 34px;
    max-width: 34px;
    height: 34px;
    min-height: 34px;
    max-height: 34px;
    flex-basis: 34px;
    border-radius: 8px !important;
  }

  .cb-featured-products .cb-featured-card-actions {
    gap: 6px !important;
  }

  .cb-featured-products .cb-featured-add-feedback {
    font-size: 11px;
  }

  .cb-featured-products .cb-featured-carousel-button {
    display: none;
  }

  .cb-featured-products .cb-featured-cta-wrap {
    margin-top: 18px;
  }

  .fa-literal-header > div:first-child {
    display: block !important;
    background: var(--dark) !important;
  }

  .fa-literal-header > div:first-child .fa-top-inner {
    min-height: 20px;
    justify-content: center !important;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
  }

  .fa-literal-header > div:first-child .fa-top-inner > div:first-child,
  .fa-literal-header > div:first-child .fa-top-inner > div:last-child > span:not(.fa-mobile-free-shipping) {
    display: none !important;
  }

  .fa-mobile-free-shipping {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-family: var(--sans);
    font-size: 8px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
  }

  .fa-literal-header header {
    position: sticky;
    top: 0;
    z-index: 130;
  }

  .fa-header-main {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) 38px 38px;
    gap: 8px !important;
    align-items: center !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }

  .fa-mobile-menu {
    position: relative;
    display: block;
    grid-column: 1;
    align-self: center;
    justify-self: start;
  }

  .fa-mobile-menu-trigger {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    color: var(--dark);
    cursor: pointer;
    list-style: none;
  }

  .fa-mobile-menu-trigger::-webkit-details-marker {
    display: none;
  }

  .fa-mobile-menu-trigger__close {
    display: none;
  }

  .fa-mobile-menu[open] .fa-mobile-menu-trigger__open {
    display: none;
  }

  .fa-mobile-menu[open] .fa-mobile-menu-trigger__close {
    display: block;
  }

  .fa-mobile-menu[open] .fa-mobile-menu-trigger {
    color: var(--accent);
    background: rgba(0, 73, 150, .08);
    border-radius: 8px;
  }

  .fa-mobile-menu-backdrop {
    position: fixed;
    z-index: 310;
    top: var(--fa-mobile-menu-top, 97px);
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(10, 29, 55, .42);
    -webkit-backdrop-filter: blur(1px);
    backdrop-filter: blur(1px);
  }

  .fa-mobile-menu-panel {
    position: fixed;
    top: var(--fa-mobile-menu-top, 97px);
    left: 0;
    z-index: 320;
    width: min(330px, calc(100vw - 42px));
    max-height: calc(100dvh - var(--fa-mobile-menu-top, 97px));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 0;
    border-radius: 0 0 10px 0;
    background: #fff;
    box-shadow: 18px 24px 50px -28px rgba(0, 32, 68, .75);
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }

  .fa-mobile-menu-heading {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    padding: 0 14px 0 18px;
    border-bottom: 1px solid var(--rule);
    background: rgba(255, 255, 255, .97);
    color: var(--dark);
    font-family: var(--sans);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .fa-mobile-menu-close {
    display: grid;
    width: 34px;
    height: 34px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 8px;
    background: var(--paper-2);
    color: var(--dark);
    cursor: pointer;
  }

  .fa-mobile-menu-account {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    min-height: 72px;
    margin: 12px;
    padding: 12px 14px;
    align-items: center;
    gap: 11px;
    border: 1px solid rgba(0, 73, 150, .18);
    border-radius: 10px;
    background: #eaf3fb;
    color: var(--dark) !important;
  }

  .fa-mobile-menu-account__icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
  }

  .fa-mobile-menu-account__text {
    display: flex;
    min-width: 0;
    flex-direction: column;
    line-height: 1.25;
  }

  .fa-mobile-menu-account__text strong {
    font-family: var(--sans);
    font-size: 14px;
    font-weight: 800;
  }

  .fa-mobile-menu-account__text small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 10.5px;
  }

  .fa-mobile-menu-account__arrow {
    color: var(--accent);
    font-size: 24px;
    line-height: 1;
  }

  .fa-mobile-menu-label {
    margin: 0;
    padding: 10px 18px 6px;
    color: var(--muted);
    font-family: var(--sans);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .fa-mobile-menu-link {
    display: flex;
    min-height: 40px;
    align-items: center;
    padding: 0 14px;
    border-bottom: 1px solid var(--rule);
    color: var(--dark) !important;
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 700;
  }

  .fa-mobile-menu-group .fa-mobile-menu-link:last-child {
    border-bottom: 0;
  }

  .fa-mobile-menu-group--secondary {
    margin-top: 8px;
    padding: 8px 0 12px;
    border-top: 8px solid var(--paper-2);
    background: #f8fafc;
  }

  .fa-mobile-menu-link--secondary {
    min-height: 44px;
    background: #f8fafc;
    color: #40516a !important;
    font-weight: 600;
  }

  html.fa-mobile-menu-open,
  body.fa-mobile-menu-open {
    overflow: hidden !important;
  }

  .fa-header-main > a {
    grid-column: 2;
    align-self: center;
    justify-self: start;
  }

  .fa-header-logo {
    height: 34px !important;
    max-width: 154px;
    object-fit: contain;
  }

  .fa-header-search {
    grid-column: 3;
    order: 0;
    width: 38px;
    height: 38px !important;
    flex: 0 0 38px !important;
    justify-content: center;
    justify-self: end;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
  }

  .fa-header-search input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
  }

  .fa-header-main > div:last-child {
    grid-column: 4;
    gap: 0 !important;
    justify-self: end;
  }

  .fa-header-main > div:last-child > a:first-child,
  .fa-header-main > div:last-child > a:nth-child(2) {
    display: none !important;
  }

  .fa-header-main > div:last-child > a:last-child {
    min-width: 38px;
    height: 38px;
    justify-content: center;
    padding: 0 !important;
    border: 0;
    border-radius: 0 !important;
    background: #fff;
  }

  .fa-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }

  .fa-proof-grid > div {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 2px 8px;
    align-items: center;
    min-height: 54px;
    padding: 9px 8px;
    border: 1px solid var(--rule);
    border-radius: 8px;
    background: #fff;
  }

  .fa-proof-grid > div > div:first-child {
    grid-row: 1 / 3;
    width: 30px !important;
    height: 30px !important;
    margin-bottom: 0 !important;
    border-radius: 8px !important;
  }

  .fa-proof-grid > div > div:first-child svg {
    width: 17px;
    height: 17px;
  }

  .fa-proof-grid > div > div:nth-child(2) {
    min-width: 0;
    margin-bottom: 0 !important;
    overflow: hidden;
    font-size: 8px !important;
    line-height: 1.1;
    letter-spacing: .08em !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .fa-proof-grid > div > div:nth-child(3) {
    min-width: 0;
    margin-bottom: 0 !important;
    overflow: hidden;
    font-size: 12px !important;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .fa-proof-grid > div > div:nth-child(4) {
    display: none !important;
  }

  .fa-about-grid > div:first-child {
    order: 2;
  }

  .fa-about-grid > div:last-child {
    order: 1;
  }

  .fa-utility-flex {
    grid-template-columns: 1fr !important;
  }

  .fa-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px 22px !important;
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }

  .fa-footer-grid > div:first-child {
    grid-column: 1 / -1;
  }

  .fa-footer-grid h4 {
    margin-bottom: 10px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  .fa-footer-grid h4 + div {
    gap: 7px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .fa-header-action-text,
  .fa-call-button {
    display: none !important;
  }

  .fa-nav {
    display: none !important;
  }

  .fa-literal-header > .sentence-random-container {
    display: block;
  }

  .fa-literal-header > .sentence-random-container .cip-sentence-bar .cip-sentence-bar-inner {
    min-height: 24px;
    padding: 5px 18px !important;
  }

  .fa-literal-header > .sentence-random-container .cip-sentence {
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  .fa-nav-inner {
    min-height: 40px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 6px !important;
  }

  .fa-nav-scroll {
    overflow-x: auto;
  }

  .fa-cat-trigger {
    height: 34px !important;
    padding-right: 10px !important;
    padding-left: 10px !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-size: 0 !important;
  }

  .fa-cat-trigger span {
    width: 22px !important;
    height: 22px !important;
  }

  .fa-cat-trigger span:last-child {
    display: none !important;
  }

  .fa-cat-trigger::after {
    content: "Menu";
    font-size: 11px;
  }

  .sentence-random-container .cip-sentence-bar,
  .sentence-random-container .cip-sentence-bar-inner,
  .sentence-random-container .cip-sentence-rotator {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .sentence-random-container .cip-sentence {
    padding-right: 18px;
    padding-left: 18px;
    white-space: normal;
  }

  .fa-nav-link {
    white-space: nowrap;
  }

  .page-product .columns-container.container {
    padding-top: 22px;
    padding-right: 18px;
    padding-left: 18px;
  }

  .page-product .fa-product-page {
    padding: 24px 18px 56px;
  }

  .page-product .product-flags {
    top: 12px;
    left: 12px;
    max-width: calc(100% - 24px);
    gap: 6px;
  }

  .page-product .product-flags .product-flag,
  .page-product .product-flags .badge,
  .page-product .product-flags .label {
    min-height: 28px;
    padding: 7px 11px;
    font-size: 11px;
    letter-spacing: .03em;
  }

  .page-product .fa-product-title-row {
    gap: 12px;
  }

  .page-product .fa-product-title {
    font-size: 20px !important;
  }

  .page-product .fa-product-fav {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }

  .page-product .fa-product-price {
    font-size: 30px;
  }

  .page-product .fa-product-buy-card {
    margin-right: -2px;
    margin-left: -2px;
    padding: 20px 18px;
    border-radius: 12px;
    background: #f8fafc;
  }

  .page-product .fa-product-price-block {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 12px;
    align-items: end;
  }

  .page-product .fa-product-old-price {
    grid-column: 1 / -1;
  }

  .page-product .fa-product-tax {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    flex-basis: auto;
    text-align: right;
  }

  .page-product .fa-product-sequra {
    justify-content: center;
    text-align: center;
  }

  .page-product .fa-product-actions .product__actions-qty-add {
    grid-template-columns: 104px minmax(0, 1fr);
    align-items: end;
  }

  .page-product .fa-product-specs {
    grid-template-columns: 1fr;
  }

  .page-new-products .columns-container.container,
  .page-prices-drop .columns-container.container,
  .page-category .columns-container.container,
  .page-new-products .columns-container,
  .page-prices-drop .columns-container,
  .page-category .columns-container {
    padding: 0;
  }

  .fa-listing-page {
    padding: 34px 18px 56px;
  }

  .fa-listing-hero {
    padding-bottom: 26px;
  }

  .fa-listing-hero h1 {
    font-size: 36px;
  }

  .fa-listing-facets {
    display: none;
  }

  .fa-listing-page #js-product-list-top .products__listing-actions {
    flex-wrap: nowrap;
    justify-content: flex-end;
  }

  .fa-listing-page #js-product-list-top .products__sort-dropdown-button {
    width: 142px;
    min-width: 142px;
    max-width: 142px;
  }

  .fa-listing-page #js-product-list-top .products__filters-panel {
    grid-template-columns: 1fr;
    margin-top: 14px;
  }

  .fa-listing-page #js-product-list-top .products__filters-panel .fa-listing-facet {
    border-right: 0;
    border-bottom: 1px solid var(--rule);
  }

  .fa-listing-page #js-product-list-top .products__filters-panel .fa-listing-facet:last-child {
    border-bottom: 0;
  }

  .fa-listing-page #js-product-list-top .products__filters-panel .fa-listing-facet__title {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    color: var(--dark);
    cursor: pointer;
  }

  .fa-listing-page #js-product-list-top .products__filters-panel .fa-listing-facet__title::after {
    content: "";
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-right: 2px solid rgba(27, 42, 78, .72);
    border-bottom: 2px solid rgba(27, 42, 78, .72);
    transform: rotate(45deg) translateY(-2px);
  }

  .fa-listing-page #js-product-list-top .products__filters-panel .fa-listing-facet[open] .fa-listing-facet__title::after {
    transform: rotate(225deg) translate(-1px, -1px);
  }

  .fa-listing-page #js-product-list-top .products__filters-panel .fa-listing-facet__body {
    display: grid;
    gap: 2px;
    padding: 0 0 12px;
  }

  .fa-listing-page #js-product-list-top .products__filters-panel .fa-listing-facet label {
    min-height: 34px;
    padding: 4px 0;
  }

  .fa-listing-page #js-product-list-top .products__filters-panel .fa-listing-mobile-filters__clear,
  .fa-listing-page #js-product-list-top .products__filters-panel .fa-listing-mobile-filters__apply {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
  }

  .fa-listing-page #js-product-list-top .products__filters-panel .fa-listing-mobile-filters__clear {
    justify-self: start;
    min-width: 142px;
    margin-bottom: 10px;
    padding: 0 18px;
    background: #fff;
    color: var(--dark);
  }

  .fa-listing-page #js-product-list-top .products__filters-panel .fa-listing-mobile-filters__apply {
    width: 100%;
    margin-top: 16px;
    background: var(--accent);
    color: var(--accent-ink);
  }

  /* El panel accionado desde el botón conserva el acabado del filtro móvil original. */
  .fa-listing-page #js-product-list-top .products__filters-panel.fa-listing-mobile-filters {
    margin: 14px 0 18px;
    padding: 16px 14px 18px;
    border: 0;
    border-radius: 0;
    background: #eef0f2;
  }

  .fa-listing-page #js-product-list-top .products__filters-panel.fa-listing-mobile-filters .fa-listing-facet {
    overflow: visible;
    padding: 0;
    border: 0;
    border-bottom: 1px solid rgba(27, 42, 78, .36);
    border-radius: 0;
    background: transparent;
  }

  .fa-listing-page #js-product-list-top .products__filters-panel.fa-listing-mobile-filters .fa-listing-facet__title {
    gap: 12px;
    padding: 0;
    background: transparent;
  }

  .fa-listing-page #js-product-list-top .products__filters-panel.fa-listing-mobile-filters .fa-listing-mobile-filters__clear {
    border: 1px solid rgba(217, 61, 61, .42) !important;
    background: rgba(217, 61, 61, .08) !important;
    color: #b42323 !important;
    font-family: var(--sans);
    font-size: 14px;
    font-weight: 800;
  }

  .fa-listing-page #js-product-list-top .products__filters-panel.fa-listing-mobile-filters .fa-listing-mobile-filters__apply {
    border: 1px solid var(--accent) !important;
    background: var(--accent) !important;
    color: #fff !important;
    font-family: var(--sans);
    font-size: 14px;
    font-weight: 800;
  }

  .fa-listing-results > .fa-listing-mobile-filters {
    display: none !important;
  }

  .fa-listing-mobile-filters {
    display: none;
    width: 100%;
    gap: 0;
    margin: -4px 0 18px;
    padding: 16px 14px 18px;
    background: #eef0f2;
  }

  .fa-listing-mobile-filters .fa-listing-facet {
    overflow: visible;
    padding: 0;
    border: 0;
    border-bottom: 1px solid rgba(27, 42, 78, .36);
    border-radius: 0;
    background: transparent;
  }

  .fa-listing-mobile-filters .fa-listing-facet[open] {
    border-color: rgba(27, 42, 78, .36);
    box-shadow: none;
  }

  .fa-listing-mobile-filters .fa-listing-facet__title {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: 0;
    background: transparent;
    color: var(--dark);
    cursor: pointer;
  }

  .fa-listing-mobile-filters .fa-listing-facet__title::after {
    content: "";
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-right: 2px solid rgba(27, 42, 78, .72);
    border-bottom: 2px solid rgba(27, 42, 78, .72);
    transform: rotate(45deg) translateY(-2px);
  }

  .fa-listing-mobile-filters .fa-listing-facet[open] .fa-listing-facet__title::after {
    transform: rotate(225deg) translate(-1px, -1px);
  }

  .fa-listing-mobile-filters .fa-listing-facet__body {
    display: grid;
    gap: 2px;
    padding: 0 0 12px;
    background: transparent;
  }

  .fa-listing-mobile-filters .fa-listing-facet label {
    min-height: 34px;
    padding: 4px 0;
  }

  .fa-listing-mobile-filters__clear,
  .fa-listing-mobile-filters__clear:hover,
  .fa-listing-mobile-filters__clear:focus {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(217, 61, 61, .42) !important;
    border-radius: 8px;
    background: rgba(217, 61, 61, .08) !important;
    color: #b42323 !important;
    font-family: var(--sans);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0;
    text-decoration: none !important;
  }

  .fa-listing-mobile-filters__apply,
  .fa-listing-mobile-filters__apply:hover,
  .fa-listing-mobile-filters__apply:focus {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--accent) !important;
    border-radius: 8px;
    background: var(--accent) !important;
    color: #fff !important;
    font-family: var(--sans);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0;
    text-decoration: none !important;
  }

  .fa-listing-mobile-filters__clear {
    justify-self: start;
    min-width: 142px;
    margin-bottom: 10px;
    padding: 0 18px;
  }

  .fa-listing-mobile-filters__apply {
    width: 100%;
    margin-top: 16px;
  }

  .page-category #js-product-list .products__pagination,
  .page-new-products #js-product-list .products__pagination,
  .page-prices-drop #js-product-list .products__pagination {
    padding-top: 34px;
  }

  .page-category .products__pagination .pagination__container,
  .page-new-products .products__pagination .pagination__container,
  .page-prices-drop .products__pagination .pagination__container {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: start;
    gap: 16px;
  }

  #js-product-list .products,
  .page-new-products #js-product-list .products,
  .page-prices-drop #js-product-list .products,
  .page-category #js-product-list .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .product__accessories .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .product__accessories {
    margin-top: 36px;
    padding-top: 28px;
  }

  .product__accessories .section-title {
    margin-bottom: 16px !important;
    font-size: 21px !important;
  }

  .page-new-products #js-product-list .product-miniature__bottom,
  .page-prices-drop #js-product-list .product-miniature__bottom,
  .product__accessories .product-miniature__bottom {
    gap: 12px;
    padding: 12px;
  }

  .page-new-products #js-product-list .product-miniature__title,
  .page-prices-drop #js-product-list .product-miniature__title,
  .product__accessories .product-miniature__title {
    font-size: 13px;
    line-height: 1.24;
  }

  .page-new-products #js-product-list .product-miniature__price,
  .page-prices-drop #js-product-list .product-miniature__price,
  .product__accessories .product-miniature__price {
    font-size: 18px;
  }

  .page-new-products #js-product-list .product-miniature__details,
  .page-new-products #js-product-list .product-miniature__add,
  .page-prices-drop #js-product-list .product-miniature__details,
  .page-prices-drop #js-product-list .product-miniature__add {
    min-height: 38px;
    width: 38px;
    flex: 0 0 38px;
    padding-right: 10px !important;
    padding-left: 10px !important;
    font-size: 0 !important;
  }

  .page-new-products #js-product-list .product-miniature__details::before,
  .page-new-products #js-product-list .product-miniature__add::before,
  .page-prices-drop #js-product-list .product-miniature__details::before,
  .page-prices-drop #js-product-list .product-miniature__add::before {
    content: "+";
    color: var(--accent-ink);
    font-family: var(--sans);
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
  }

  .page-product .breadcrumb {
    padding-right: 18px;
    padding-left: 18px;
    overflow-x: auto;
    white-space: nowrap;
  }

  .page-product .product__name {
    font-size: 32px;
    line-height: 1.08;
  }

  .page-product .product__description-short {
    font-size: 15px;
  }

  .page-product .product__images,
  .page-product .product__no-image,
  .page-product .product__images .product-cover {
    border-radius: 12px;
  }

  .page-product .product__price {
    font-size: 28px;
  }

  .page-product .product__actions-qty-add {
    display: block;
    margin-bottom: 18px;
    padding: 18px 0;
  }

  .page-product .product-actions__quantity {
    margin-bottom: 14px;
  }

  .page-product .quantity-button__group {
    width: 112px;
  }

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

  .page-product #quantity_wanted {
    width: 40px !important;
  }

  .page-product .product__add-to-cart-button {
    min-height: 50px;
  }

  .page-product {
    padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px));
  }

  .page-product .product__mobile-sticky-cart {
    position: fixed;
    z-index: 90;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex !important;
    width: 100%;
    min-height: calc(58px + env(safe-area-inset-bottom, 0px));
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 15px 18px calc(15px + env(safe-area-inset-bottom, 0px));
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--accent) !important;
    box-shadow: 0 -14px 34px -20px rgba(16, 32, 58, .55);
    color: #fff !important;
    font-family: var(--sans) !important;
    font-size: 14px;
    font-weight: 800 !important;
  }

  .page-product .fa-product-actions .product__mobile-sticky-cart {
    display: flex !important;
  }

  .page-product .product__mobile-sticky-cart:disabled {
    background: var(--muted) !important;
    box-shadow: none;
    opacity: .85;
  }

  .page-product .ps-sharebuttons {
    flex-wrap: wrap;
  }

  .page-product .product__bottom {
    margin-top: 34px;
  }

  .page-product .product__accordion .accordion-button {
    padding: 16px 0;
    font-size: 12px;
  }

  .fa-hero-grid {
    min-height: 0 !important;
    gap: 0 !important;
  }

  .fa-hero-grid > div:first-child {
    padding-top: 34px !important;
    padding-bottom: 38px !important;
  }

  .fa-hero-grid > div:first-child > div:first-child {
    gap: 8px !important;
    margin-bottom: 12px !important;
    font-size: 10px !important;
    letter-spacing: .16em !important;
  }

  .fa-hero-grid > div:first-child > div:first-child span {
    width: 20px !important;
  }

  .fa-hero-title {
    margin-bottom: 12px !important;
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  .fa-hero-title em {
    padding-right: 8px !important;
    padding-left: 8px !important;
  }

  .fa-hero-title + p {
    max-width: none !important;
    margin-bottom: 18px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .fa-hero-title + p + div {
    gap: 8px !important;
  }

  .fa-hero-title + p + div a {
    min-height: 42px !important;
    padding: 0 16px !important;
    font-size: 12px !important;
  }

  .fa-hero-visual {
    display: none !important;
    min-height: 0 !important;
  }

  .fa-footer-bottom {
    display: block !important;
    line-height: 1.6 !important;
    text-align: center !important;
  }

  .fa-footer-bottom span + span {
    display: block !important;
    margin-top: 8px !important;
  }

  .fa-newsletter-category__inner {
    padding: 40px 18px !important;
    gap: 24px;
  }

  .fa-newsletter-category__chips {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .fa-newsletter-category__chips label {
    width: 100%;
    min-width: 0;
    padding-right: 12px;
    padding-left: 12px;
  }

  .fa-newsletter-category__chips label:nth-child(5) {
    grid-column: 1 / -1;
  }

  .fa-newsletter-category__row {
    grid-template-columns: 1fr;
  }

  .page-authentication .columns-container,
  .page-registration .columns-container,
  .page-password .columns-container,
  .page-identity .columns-container {
    padding-right: 18px;
    padding-left: 18px;
  }

  .page-authentication .page-title-section,
  .page-registration .page-title-section,
  .page-password .page-title-section,
  .page-identity .page-title-section {
    padding: 24px 22px 18px;
    font-size: 28px;
  }

  .page-authentication #login-form,
  .page-registration #customer-form,
  .page-password #password-form,
  .page-identity #customer-form,
  .page-authentication .page-content form,
  .page-registration .page-content form,
  .page-password .page-content form,
  .page-identity .page-content form,
  .page-authentication .login__register-prompt {
    padding-right: 22px;
    padding-left: 22px;
  }

  .page-authentication .buttons-wrapper,
  .page-registration .buttons-wrapper,
  .page-password .buttons-wrapper,
  .page-identity .buttons-wrapper {
    align-items: stretch;
    flex-direction: column;
  }

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

  .fa-auth-page .login-form .buttons-wrapper,
  .fa-auth-page .login-form .form-footer {
    display: block;
  }

  .fa-auth-page .login-form .input-group-btn .btn,
  .fa-auth-page .login-form .password-field .btn {
    width: auto;
  }

  .fa-auth-panel h1 {
    font-size: 36px;
  }

  .fa-auth-stats {
    flex-direction: column;
    gap: 18px;
  }

  .fa-contact-hero-inner {
    padding: 58px 18px 64px;
  }

  .fa-contact-hero h1 {
    font-size: 36px;
  }

  .fa-contact-wrap {
    padding-right: 18px;
    padding-left: 18px;
  }

  .fa-contact-form-panel {
    padding: 24px 20px;
  }

  .fa-contact-native-form .contact-form form,
  .fa-contact-native-form .contact-form .form-fields {
    grid-template-columns: 1fr;
  }

  .page-cart .cart-grid__products-details {
    padding: 0;
  }

  .page-cart .product-line-grid {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
  }

  .page-cart .product-line {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
  }

  .page-cart .product-line-grid-left img,
  .page-cart .product-image img,
  .page-cart .cart-item img,
  .page-cart .product-line__img,
  .page-cart .product-line__image {
    width: 96px;
    height: 96px;
  }

  .page-cart .product-line__content {
    grid-template-columns: 1fr;
    grid-template-areas:
      "left"
      "details"
      "actions"
      "price";
    gap: 12px;
  }

  .page-cart .product-line__content-right {
    justify-items: start;
  }

  .page-cart .product-line__actions {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .page-cart .product-line-grid-right {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
    justify-items: stretch;
    text-align: left;
  }

  .page-cart .product-line-grid-right .cart-line-product-actions,
  .page-cart .product-line-grid-right .product-line-actions {
    justify-items: start;
  }

  .page-cart .product-line-grid-right .qty,
  .page-cart .product-line-grid-right .input-group,
  .page-cart .product-line__quantity-button .input-group,
  .page-cart .quantity-button__group,
  .page-cart .bootstrap-touchspin {
    justify-content: flex-start;
    max-width: 100%;
  }

  .page-cart .cart-item,
  .page-cart .cart__item {
    padding: 16px;
  }

  .page-cart .product-line-grid-right {
    min-width: 0;
  }

  .page-cart .cart-summary {
    position: static;
  }

  .page-cart .cart-grid__right,
  .page-cart .cart-grid__aside-wrapper {
    margin-top: 0;
  }
}

/* Customer area final override: keep every account subpage on the same layout. */
body.page-customer-account .columns-container,
body.page-identity .columns-container,
body.page-addresses .columns-container,
body.page-address .columns-container,
body.page-history .columns-container,
body.page-order-slip .columns-container,
body#module-ps_emailalerts-account .columns-container,
body#module-psgdpr-gdpr .columns-container,
body#module-blockwishlist-lists .columns-container {
  max-width: 1280px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 32px 32px 78px !important;
}

body.page-customer-account .breadcrumb__wrapper,
body.page-identity .breadcrumb__wrapper,
body.page-addresses .breadcrumb__wrapper,
body.page-address .breadcrumb__wrapper,
body.page-history .breadcrumb__wrapper,
body.page-order-slip .breadcrumb__wrapper,
body#module-ps_emailalerts-account .breadcrumb__wrapper,
body#module-psgdpr-gdpr .breadcrumb__wrapper,
body#module-blockwishlist-lists .breadcrumb__wrapper {
  display: none !important;
}

body.page-customer-account .columns-container > .row,
body.page-identity .columns-container > .row,
body.page-addresses .columns-container > .row,
body.page-address .columns-container > .row,
body.page-history .columns-container > .row,
body.page-order-slip .columns-container > .row,
body#module-ps_emailalerts-account .columns-container > .row,
body#module-psgdpr-gdpr .columns-container > .row,
body#module-blockwishlist-lists .columns-container > .row {
  display: grid !important;
  grid-template-columns: 282px minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: start !important;
  margin: 0 !important;
}

body.page-customer-account .columns-container > .row > [class*="col-"],
body.page-identity .columns-container > .row > [class*="col-"],
body.page-addresses .columns-container > .row > [class*="col-"],
body.page-address .columns-container > .row > [class*="col-"],
body.page-history .columns-container > .row > [class*="col-"],
body.page-order-slip .columns-container > .row > [class*="col-"],
body#module-ps_emailalerts-account .columns-container > .row > [class*="col-"],
body#module-psgdpr-gdpr .columns-container > .row > [class*="col-"],
body#module-blockwishlist-lists .columns-container > .row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  float: none !important;
  flex: none !important;
}

body.page-customer-account .center-column,
body.page-customer-account .center-column.page,
body.page-identity .center-column,
body.page-identity .center-column.page,
body.page-addresses .center-column,
body.page-addresses .center-column.page,
body.page-address .center-column,
body.page-address .center-column.page,
body.page-history .center-column,
body.page-history .center-column.page,
body.page-order-slip .center-column,
body.page-order-slip .center-column.page,
body#module-ps_emailalerts-account .center-column,
body#module-ps_emailalerts-account .center-column.page,
body#module-psgdpr-gdpr .center-column,
body#module-psgdpr-gdpr .center-column.page,
body#module-blockwishlist-lists .center-column,
body#module-blockwishlist-lists .center-column.page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page-customer-account .page-content,
body.page-customer-account .page-content--customer,
body.page-identity .page-content,
body.page-identity .page-content--customer,
body.page-addresses .page-content,
body.page-addresses .page-content--customer,
body.page-address .page-content,
body.page-address .page-content--customer,
body.page-history .page-content,
body.page-history .page-content--customer,
body.page-order-slip .page-content,
body.page-order-slip .page-content--customer,
body#module-ps_emailalerts-account .page-content,
body#module-ps_emailalerts-account .page-content--customer,
body#module-psgdpr-gdpr .page-content,
body#module-psgdpr-gdpr .page-content--customer,
body#module-blockwishlist-lists .page-content,
body#module-blockwishlist-lists .page-content--customer {
  display: grid !important;
  gap: 18px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid var(--rule) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 18px 42px -34px rgba(16, 32, 58, .5) !important;
}

body#module-blockwishlist-lists .page-content,
body#module-blockwishlist-lists .page-content--customer {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 900px) {
  body.page-customer-account .columns-container > .row,
  body.page-identity .columns-container > .row,
  body.page-addresses .columns-container > .row,
  body.page-address .columns-container > .row,
  body.page-history .columns-container > .row,
  body.page-order-slip .columns-container > .row,
  body#module-ps_emailalerts-account .columns-container > .row,
  body#module-psgdpr-gdpr .columns-container > .row,
  body#module-blockwishlist-lists .columns-container > .row {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 680px) {
  body.page-customer-account .columns-container,
  body.page-identity .columns-container,
  body.page-addresses .columns-container,
  body.page-address .columns-container,
  body.page-history .columns-container,
  body.page-order-slip .columns-container,
  body#module-ps_emailalerts-account .columns-container,
  body#module-psgdpr-gdpr .columns-container,
  body#module-blockwishlist-lists .columns-container {
    padding: 20px 18px 56px !important;
  }

  body.page-customer-account .page-content,
  body.page-customer-account .page-content--customer,
  body.page-identity .page-content,
  body.page-identity .page-content--customer,
  body.page-addresses .page-content,
  body.page-addresses .page-content--customer,
  body.page-address .page-content,
  body.page-address .page-content--customer,
  body.page-history .page-content,
  body.page-history .page-content--customer,
  body.page-order-slip .page-content,
  body.page-order-slip .page-content--customer,
  body#module-ps_emailalerts-account .page-content,
  body#module-ps_emailalerts-account .page-content--customer,
  body#module-psgdpr-gdpr .page-content,
  body#module-psgdpr-gdpr .page-content--customer {
    padding: 20px !important;
  }
}
/* Checkout final override: PrestaShop keeps Bootstrap row/col markup here. */
body.page-order .checkout-steps,
body#checkout .checkout-steps {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 32px 0 !important;
}

body.page-order .checkout-steps__desktop,
body#checkout .checkout-steps__desktop {
  display: block !important;
}

body.page-order .checkout-steps__list,
body#checkout .checkout-steps__list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.page-order .checkout-steps__step,
body#checkout .checkout-steps__step {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  margin: 0 !important;
}

body.page-order .checkout-steps__number,
body#checkout .checkout-steps__number {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 24px !important;
  height: 24px !important;
  border-radius: 999px !important;
  background: var(--paper-3) !important;
  color: var(--accent) !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

body.page-order .checkout-steps__btn,
body#checkout .checkout-steps__btn {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ink) !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.page-order .checkout-steps__mobile,
body.page-order .checkout-steps__step-mobile.d-none,
body#checkout .checkout-steps__mobile,
body#checkout .checkout-steps__step-mobile.d-none {
  display: none !important;
}

body.page-order .columns-container,
body#checkout .columns-container {
  max-width: 1280px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 26px 32px 78px !important;
}

body.page-order .columns-container > .row,
body#checkout .columns-container > .row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 340px !important;
  gap: 28px !important;
  align-items: start !important;
  width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body.page-order .columns-container > .row > [class*="col-"],
body#checkout .columns-container > .row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  flex: none !important;
}

body.page-order .center-column,
body.page-order .center-column.page,
body#checkout .center-column,
body#checkout .center-column.page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-order .checkout-grid,
body#checkout .checkout-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 340px !important;
  gap: 28px !important;
  align-items: start !important;
}

body.page-order .checkout-step,
body#checkout .checkout-step {
  overflow: hidden !important;
  margin-bottom: 16px !important;
  padding: 24px 26px !important;
  border: 1px solid var(--rule) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 18px 42px -34px rgba(16, 32, 58, .5) !important;
}

body.page-order .checkout-summary,
body.page-order .cart-grid__right,
body#checkout .checkout-summary,
body#checkout .cart-grid__right {
  width: 100% !important;
  max-width: none !important;
  position: sticky;
  top: 190px;
}

@media (max-width: 980px) {
  body.page-order .columns-container > .row,
  body#checkout .columns-container > .row,
  body.page-order .checkout-grid,
  body#checkout .checkout-grid {
    grid-template-columns: 1fr !important;
  }

  body.page-order .checkout-summary,
  body.page-order .cart-grid__right,
  body#checkout .checkout-summary,
  body#checkout .cart-grid__right {
    position: static;
  }
}

@media (max-width: 680px) {
  body.page-order .checkout-steps,
  body#checkout .checkout-steps {
    padding: 18px 18px 0 !important;
  }

  body.page-order .checkout-steps__desktop,
  body#checkout .checkout-steps__desktop {
    display: none !important;
  }

  body.page-order .checkout-steps__mobile,
  body#checkout .checkout-steps__mobile {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 16px !important;
    border: 1px solid var(--rule) !important;
    border-radius: 12px !important;
    background: #fff !important;
  }

  body.page-order .checkout-steps__step-mobile:not(.d-none),
  body#checkout .checkout-steps__step-mobile:not(.d-none) {
    display: block !important;
  }

  body.page-order .columns-container,
  body#checkout .columns-container {
    padding: 22px 18px 58px !important;
  }

  body.page-order .checkout-step,
  body#checkout .checkout-step {
    padding: 20px !important;
  }
}

/* Checkout target visual pass: closer to the approved Fallero mockup. */
body.page-order,
body#checkout {
  padding-top: 36px !important;
  background: #f7f9fc !important;
}

body.page-order .fa-literal-header,
body#checkout .fa-literal-header {
  height: 36px !important;
  background: var(--accent) !important;
}

body.page-order .fa-literal-header header,
body.page-order .fa-literal-header .fa-nav,
body#checkout .fa-literal-header header,
body#checkout .fa-literal-header .fa-nav {
  display: none !important;
}

body.page-order .fa-literal-header > div:first-child,
body#checkout .fa-literal-header > div:first-child {
  background: var(--accent) !important;
}

body.page-order .fa-literal-header .fa-top-inner,
body#checkout .fa-literal-header .fa-top-inner {
  justify-content: center !important;
  min-height: 36px !important;
  padding: 0 32px !important;
}

body.page-order .fa-literal-header .fa-top-inner > *,
body#checkout .fa-literal-header .fa-top-inner > * {
  display: none !important;
}

body.page-order .wrapper,
body#checkout .wrapper {
  padding: 0 !important;
  background: #f7f9fc !important;
}

body.page-order .checkout-steps,
body#checkout .checkout-steps {
  position: relative !important;
  max-width: 1216px !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 40px 0 0 !important;
}

body.page-order .checkout-steps::before,
body#checkout .checkout-steps::before {
  content: "Finalizar compra";
  display: block;
  margin-bottom: 24px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 34px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: 0;
}

body.page-order .checkout-steps__desktop,
body#checkout .checkout-steps__desktop {
  height: auto !important;
}

body.page-order .checkout-steps__list,
body#checkout .checkout-steps__list {
  gap: 10px !important;
}

body.page-order .checkout-steps__step,
body#checkout .checkout-steps__step {
  min-height: 42px !important;
  padding: 0 16px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #4d5b70 !important;
}

body.page-order .checkout-steps__step:first-child,
body#checkout .checkout-steps__step:first-child {
  border-color: var(--accent) !important;
  background: var(--accent) !important;
  color: #fff !important;
}

body.page-order .checkout-steps__number,
body#checkout .checkout-steps__number {
  min-width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: currentColor !important;
  font-size: 15px !important;
}

body.page-order .checkout-steps__btn,
body#checkout .checkout-steps__btn {
  color: currentColor !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

body.page-order .columns-container,
body#checkout .columns-container {
  max-width: 1216px !important;
  margin: 0 auto !important;
  padding: 32px 0 88px !important;
  background: transparent !important;
}

body.page-order .center-column,
body.page-order .center-column.page,
body#checkout .center-column,
body#checkout .center-column.page {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  column-gap: 32px !important;
  align-items: start !important;
  width: 100% !important;
}

body.page-order .step--unreachable.d-none,
body#checkout .step--unreachable.d-none {
  display: none !important;
}

body.page-order .tab-pane:not(.active),
body#checkout .tab-pane:not(.active) {
  display: none !important;
}

body.page-order #checkout-personal-information-step,
body.page-order #checkout-addresses-step,
body.page-order #checkout-delivery-step,
body.page-order #checkout-payment-step,
body#checkout #checkout-personal-information-step,
body#checkout #checkout-addresses-step,
body#checkout #checkout-delivery-step,
body#checkout #checkout-payment-step {
  grid-column: 1 !important;
  width: 100% !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page-order .step__title,
body#checkout .step__title {
  margin: 0 !important;
  padding: 0 !important;
}

body.page-order .step__title .page-title-section,
body#checkout .step__title .page-title-section {
  display: block !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 0 !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

body.page-order #checkout-personal-information-step .step__title .page-title-section::after,
body#checkout #checkout-personal-information-step .step__title .page-title-section::after {
  content: "Datos de contacto";
  font-size: 18px;
}

body.page-order .step__title hr,
body#checkout .step__title hr {
  display: none !important;
}

body.page-order .step__content,
body#checkout .step__content {
  display: grid !important;
  gap: 20px !important;
}

body.page-order #personal-information-tabs,
body#checkout #personal-information-tabs {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 78px !important;
  margin: 0 !important;
  padding: 20px 24px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 13px !important;
  background: #fff !important;
  list-style: none !important;
}

body.page-order #personal-information-tabs::before,
body#checkout #personal-information-tabs::before {
  content: "Acceso rapido:";
  margin-right: 8px;
  color: #39485d;
  font-size: 13px;
}

body.page-order #personal-information-tabs .nav-item,
body#checkout #personal-information-tabs .nav-item {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}

body.page-order #personal-information-tabs .nav-link,
body#checkout #personal-information-tabs .nav-link {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 36px !important;
  padding: 0 16px !important;
  border: 1px solid #cdd8e6 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.page-order #personal-information-tabs .nav-link.active,
body#checkout #personal-information-tabs .nav-link.active {
  border-color: var(--accent) !important;
  background: var(--accent) !important;
  color: #fff !important;
}

body.page-order #personal-information-tabs-content,
body#checkout #personal-information-tabs-content {
  padding: 26px 24px 24px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 13px !important;
  background: #fff !important;
}

body.page-order #customer-form section,
body.page-order #login-form,
body#checkout #customer-form section,
body#checkout #login-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
}

body.page-order #customer-form section > .mb-3,
body.page-order #login-form > .mb-3,
body#checkout #customer-form section > .mb-3,
body#checkout #login-form > .mb-3 {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
}

body.page-order #customer-form section > .mb-3:first-child,
body.page-order #customer-form section > .mb-3:nth-child(n+4),
body.page-order #login-form > .fa-login-options,
body.page-order #login-form > .buttons-wrapper,
body#checkout #customer-form section > .mb-3:first-child,
body#checkout #customer-form section > .mb-3:nth-child(n+4),
body#checkout #login-form > .fa-login-options,
body#checkout #login-form > .buttons-wrapper {
  grid-column: 1 / -1 !important;
}

body.page-order .form-label,
body#checkout .form-label {
  margin: 0 !important;
  color: #4d5b70 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}

body.page-order .form-control,
body.page-order .input-group.password-field,
body#checkout .form-control,
body#checkout .input-group.password-field {
  width: 100% !important;
  min-height: 46px !important;
  border: 1px solid #c8d4e3 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.page-order .input-group.password-field,
body#checkout .input-group.password-field {
  display: flex !important;
}

body.page-order .input-group.password-field .form-control,
body#checkout .input-group.password-field .form-control {
  min-height: 44px !important;
  border: 0 !important;
}

body.page-order .form-text,
body#checkout .form-text {
  display: none !important;
}

body.page-order .form-check,
body#checkout .form-check {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  height: auto !important;
}

body.page-order .form-check-input,
body#checkout .form-check-input {
  flex: 0 0 auto !important;
  width: 14px !important;
  height: 14px !important;
  margin: 2px 0 0 !important;
}

body.page-order .form-check-label,
body#checkout .form-check-label {
  width: auto !important;
  color: #26364b !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

body.page-order .buttons-wrapper,
body#checkout .buttons-wrapper {
  display: flex !important;
  justify-content: flex-end !important;
  width: 100% !important;
  height: auto !important;
  margin-top: 8px !important;
}

body.page-order .btn.btn-primary,
body#checkout .btn.btn-primary {
  min-height: 48px !important;
  padding: 0 22px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--accent) !important;
  color: #fff !important;
  font-family: var(--sans) !important;
  font-weight: 900 !important;
}

body.page-order .delivery-option,
body.page-order .payment-option,
body#checkout .delivery-option,
body#checkout .payment-option {
  display: flex !important;
  align-items: center !important;
  min-height: 48px !important;
  margin: 0 0 10px !important;
  padding: 0 18px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 8px !important;
  background: #fff !important;
}

body.page-order .delivery-option:focus-within,
body.page-order .payment-option:focus-within,
body#checkout .delivery-option:focus-within,
body#checkout .payment-option:focus-within {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 1px var(--accent) inset !important;
}

body.page-order #js-checkout-summary,
body#checkout #js-checkout-summary {
  grid-column: 2 !important;
  grid-row: 1 / span 8 !important;
  position: sticky !important;
  top: 56px !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 24px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 13px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.page-order #js-checkout-summary::before,
body#checkout #js-checkout-summary::before {
  content: "Tu pedido";
  display: block;
  margin-bottom: 14px;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 900;
}

body.page-order .cart-summary__products-number,
body#checkout .cart-summary__products-number {
  color: #4d5b70 !important;
  font-size: 13px !important;
}

body.page-order .accordion-button,
body#checkout .accordion-button {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #4d5b70 !important;
  font-size: 12px !important;
  box-shadow: none !important;
}

body.page-order .cart-summary__subtotals,
body#checkout .cart-summary__subtotals {
  margin-top: 16px !important;
  padding-top: 16px !important;
  border-top: 1px solid #dbe4ef !important;
}

body.page-order .cart-summary__line,
body#checkout .cart-summary__line {
  display: flex !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  margin-bottom: 10px !important;
  color: #4d5b70 !important;
  font-size: 14px !important;
}

body.page-order .cart-summary__value,
body#checkout .cart-summary__value {
  margin-left: auto !important;
  color: var(--dark) !important;
  font-weight: 900 !important;
}

body.page-order .cart-summary__total,
body#checkout .cart-summary__total {
  margin-top: 16px !important;
  padding-top: 18px !important;
  border-top: 1px solid #dbe4ef !important;
}

body.page-order .cart-summary__line--bold,
body#checkout .cart-summary__line--bold {
  align-items: baseline !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

body.page-order .cart-summary__line--bold .cart-summary__value,
body#checkout .cart-summary__line--bold .cart-summary__value {
  font-size: 28px !important;
}

@media (max-width: 980px) {
  body.page-order .checkout-steps,
  body#checkout .checkout-steps,
  body.page-order .columns-container,
  body#checkout .columns-container {
    max-width: none !important;
    padding-right: 24px !important;
    padding-left: 24px !important;
  }

  body.page-order .center-column,
  body.page-order .center-column.page,
  body#checkout .center-column,
  body#checkout .center-column.page {
    grid-template-columns: 1fr !important;
  }

  body.page-order #js-checkout-summary,
  body#checkout #js-checkout-summary {
    grid-column: 1 !important;
    grid-row: auto !important;
    position: static !important;
  }
}

@media (max-width: 680px) {
  body.page-order,
  body#checkout {
    padding-top: 36px !important;
  }

  body.page-order .checkout-steps,
  body#checkout .checkout-steps {
    padding-top: 26px !important;
  }

  body.page-order .checkout-steps::before,
  body#checkout .checkout-steps::before {
    margin-bottom: 18px;
    font-size: 28px;
  }

  body.page-order .checkout-steps__mobile,
  body#checkout .checkout-steps__mobile {
    display: none !important;
  }

  body.page-order .checkout-steps__desktop,
  body#checkout .checkout-steps__desktop {
    display: block !important;
  }

  body.page-order .checkout-steps__list,
  body#checkout .checkout-steps__list {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  body.page-order .columns-container,
  body#checkout .columns-container {
    padding-top: 24px !important;
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  body.page-order #personal-information-tabs,
  body#checkout #personal-information-tabs {
    align-items: stretch !important;
    flex-direction: column !important;
  }

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

  body.page-order #personal-information-tabs-content,
  body#checkout #personal-information-tabs-content,
  body.page-order #js-checkout-summary,
  body#checkout #js-checkout-summary {
    padding: 20px !important;
  }
}

/* Checkout grid correction: the real two-column wrapper is .checkout-grid. */
body.page-order .center-column,
body.page-order .center-column.page,
body#checkout .center-column,
body#checkout .center-column.page {
  display: block !important;
}

body.page-order .checkout-grid,
body#checkout .checkout-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 824px) 360px !important;
  gap: 32px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 !important;
}

body.page-order .checkout-grid__content,
body.page-order .checkout-grid__aside,
body#checkout .checkout-grid__content,
body#checkout .checkout-grid__aside {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  flex: none !important;
}

body.page-order #personal-information-tabs,
body.page-order #personal-information-tabs-content,
body.page-order #checkout-personal-information-step,
body.page-order #checkout-addresses-step,
body.page-order #checkout-delivery-step,
body.page-order #checkout-payment-step,
body#checkout #personal-information-tabs,
body#checkout #personal-information-tabs-content,
body#checkout #checkout-personal-information-step,
body#checkout #checkout-addresses-step,
body#checkout #checkout-delivery-step,
body#checkout #checkout-payment-step {
  width: 100% !important;
}

body.page-order #js-checkout-summary,
body#checkout #js-checkout-summary {
  grid-column: auto !important;
  grid-row: auto !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

@media (max-width: 980px) {
  body.page-order .checkout-grid,
  body#checkout .checkout-grid {
    grid-template-columns: 1fr !important;
  }
}

body.page-order .checkout__summary-accordion-wrapper,
body#checkout .checkout__summary-accordion-wrapper {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.page-order .checkout__summary-accordion-item,
body.page-order .checkout__summary-accordion,
body#checkout .checkout__summary-accordion-item,
body#checkout .checkout__summary-accordion {
  border: 0 !important;
  background: transparent !important;
}

body.page-order #js-checkout-summary,
body#checkout #js-checkout-summary {
  width: 100% !important;
}

body.page-order .blockreassurance--checkout,
body#checkout .blockreassurance--checkout {
  display: none !important;
}

/* Checkout logged-in/address-step fixes. */
body.page-order .fa-literal-header--checkout,
body#checkout .fa-literal-header--checkout {
  height: 36px !important;
  background: var(--accent) !important;
}

body.page-order .fa-checkout-strip,
body#checkout .fa-checkout-strip {
  height: 36px !important;
  color: #fff !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 36px !important;
  text-align: center !important;
}

body.page-order:has(.fa-literal-header--checkout)::before,
body#checkout:has(.fa-literal-header--checkout)::before {
  content: none !important;
}

body.page-order #checkout-addresses-step.step--current,
body.page-order #checkout-delivery-step.step--current,
body.page-order #checkout-payment-step.step--current,
body#checkout #checkout-addresses-step.step--current,
body#checkout #checkout-delivery-step.step--current,
body#checkout #checkout-payment-step.step--current {
  display: block !important;
  padding: 26px 24px 24px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 13px !important;
  background: #fff !important;
}

body.page-order #checkout-addresses-step .step__title,
body.page-order #checkout-delivery-step .step__title,
body.page-order #checkout-payment-step .step__title,
body#checkout #checkout-addresses-step .step__title,
body#checkout #checkout-delivery-step .step__title,
body#checkout #checkout-payment-step .step__title {
  margin-bottom: 18px !important;
}

body.page-order #checkout-addresses-step .page-title-section,
body.page-order #checkout-delivery-step .page-title-section,
body.page-order #checkout-payment-step .page-title-section,
body#checkout #checkout-addresses-step .page-title-section,
body#checkout #checkout-delivery-step .page-title-section,
body#checkout #checkout-payment-step .page-title-section {
  font-size: 18px !important;
}

body.page-order #checkout-addresses-step .form-fields,
body.page-order #checkout-addresses-step form section,
body.page-order .js-address-form form section,
body#checkout #checkout-addresses-step .form-fields,
body#checkout #checkout-addresses-step form section,
body#checkout .js-address-form form section {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.page-order #checkout-addresses-step .mb-3,
body.page-order #checkout-addresses-step .form-group,
body#checkout #checkout-addresses-step .mb-3,
body#checkout #checkout-addresses-step .form-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  width: 100% !important;
  margin: 0 !important;
}

body.page-order #checkout-addresses-step .mb-3:has(#field-alias),
body.page-order #checkout-addresses-step .mb-3:has(#field-address1),
body.page-order #checkout-addresses-step .mb-3:has(#field-address2),
body.page-order #checkout-addresses-step .mb-3:has(#field-company),
body.page-order #checkout-addresses-step .mb-3:has(#field-vat_number),
body#checkout #checkout-addresses-step .mb-3:has(#field-alias),
body#checkout #checkout-addresses-step .mb-3:has(#field-address1),
body#checkout #checkout-addresses-step .mb-3:has(#field-address2),
body#checkout #checkout-addresses-step .mb-3:has(#field-company),
body#checkout #checkout-addresses-step .mb-3:has(#field-vat_number) {
  grid-column: 1 / -1 !important;
}

body.page-order #checkout-addresses-step .form-control,
body#checkout #checkout-addresses-step .form-control {
  width: 100% !important;
  min-height: 46px !important;
  padding: 0 12px !important;
  border: 1px solid #c8d4e3 !important;
  border-radius: 8px !important;
  background: #fff !important;
}

body.page-order #checkout-addresses-step .step__content > p,
body#checkout #checkout-addresses-step .step__content > p {
  margin: 0 0 20px !important;
  color: #0b1f38 !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
}

body.page-order #js-checkout-summary .cart-summary__products-accordion,
body#checkout #js-checkout-summary .cart-summary__products-accordion {
  display: none !important;
}

body.page-order #js-checkout-summary .cart-summary__products-number,
body#checkout #js-checkout-summary .cart-summary__products-number {
  margin-bottom: 18px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #dbe4ef !important;
}

@media (max-width: 680px) {
  body.page-order #checkout-addresses-step .form-fields,
  body.page-order #checkout-addresses-step form section,
  body.page-order .js-address-form form section,
  body#checkout #checkout-addresses-step .form-fields,
  body#checkout #checkout-addresses-step form section,
  body#checkout .js-address-form form section {
    grid-template-columns: 1fr !important;
  }
}

body.page-order .fa-literal-header:not(.fa-literal-header--checkout) header,
body.page-order .fa-literal-header:not(.fa-literal-header--checkout) .fa-nav,
body.page-order .fa-literal-header:not(.fa-literal-header--checkout) .fa-header-main,
body#checkout .fa-literal-header:not(.fa-literal-header--checkout) header,
body#checkout .fa-literal-header:not(.fa-literal-header--checkout) .fa-nav,
body#checkout .fa-literal-header:not(.fa-literal-header--checkout) .fa-header-main {
  display: none !important;
}

body.page-order .fa-literal-header:not(.fa-literal-header--checkout),
body#checkout .fa-literal-header:not(.fa-literal-header--checkout) {
  height: 0 !important;
  overflow: hidden !important;
}

body.page-order #checkout-addresses-step:not(.d-none),
body#checkout #checkout-addresses-step:not(.d-none) {
  padding: 26px 24px 24px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 13px !important;
  background: #fff !important;
}

/* Checkout must use the real Fallero header, not a simulated top strip. */
body.page-order,
body#checkout {
  padding-top: 161px !important;
}

body.page-order::before,
body#checkout::before {
  display: none !important;
  content: none !important;
}

body.page-order .fa-literal-header,
body#checkout .fa-literal-header {
  height: auto !important;
  background: var(--paper) !important;
}

body.page-order .fa-literal-header header,
body.page-order .fa-literal-header .fa-nav,
body#checkout .fa-literal-header header,
body#checkout .fa-literal-header .fa-nav {
  display: block !important;
}

body.page-order .fa-literal-header > div:first-child,
body#checkout .fa-literal-header > div:first-child {
  background: var(--dark) !important;
}

body.page-order .fa-literal-header .fa-top-inner,
body#checkout .fa-literal-header .fa-top-inner {
  min-height: auto !important;
  justify-content: space-between !important;
  padding: 8px 32px !important;
}

body.page-order .fa-literal-header .fa-top-inner > *,
body#checkout .fa-literal-header .fa-top-inner > * {
  display: flex !important;
}

body.page-order .fa-literal-header .fa-top-inner::before,
body#checkout .fa-literal-header .fa-top-inner::before {
  display: none !important;
  content: none !important;
}

@media (max-width: 980px) {
  body.page-order,
  body#checkout {
    padding-top: 190px !important;
  }
}

@media (max-width: 640px) {
  body.page-order,
  body#checkout {
    padding-top: 73px !important;
  }

  body.page-order .fa-literal-header .fa-nav,
  body#checkout .fa-literal-header .fa-nav,
  body.page-order .fa-literal-header:not(.fa-literal-header--checkout) .fa-nav,
  body#checkout .fa-literal-header:not(.fa-literal-header--checkout) .fa-nav {
    display: none !important;
  }

  body.page-order .fa-literal-header .fa-top-inner,
  body#checkout .fa-literal-header .fa-top-inner {
    min-height: 20px !important;
    justify-content: center !important;
    padding: 3px 18px !important;
  }

  body.page-order .fa-literal-header .fa-top-inner > div:first-child,
  body#checkout .fa-literal-header .fa-top-inner > div:first-child,
  body.page-order .fa-literal-header .fa-top-inner > div:last-child > span:not(.fa-mobile-free-shipping),
  body#checkout .fa-literal-header .fa-top-inner > div:last-child > span:not(.fa-mobile-free-shipping) {
    display: none !important;
  }

  body.page-order .fa-mobile-free-shipping,
  body#checkout .fa-mobile-free-shipping {
    display: inline-flex !important;
  }
}

/* Header reference layout: clean two-row desktop header with text-only category menu. */
@media (min-width: 641px) {
  body {
    padding-top: 132px;
  }

  .fa-literal-header > div:first-child {
    display: none !important;
  }

  .fa-literal-header header {
    border-bottom: 1px solid var(--rule) !important;
  }

  .fa-header-main {
    min-height: 76px;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }

  .fa-header-logo {
    width: 150px !important;
    height: 57px !important;
    object-fit: contain;
  }

  .fa-header-search {
    max-width: 682px;
    height: 46px !important;
    margin-right: auto;
    margin-left: 0;
  }

  .fa-nav {
    background: var(--paper) !important;
    border-bottom: 1px solid var(--rule) !important;
  }

  .fa-nav-inner {
    min-height: 54px;
    align-items: center !important;
  }

  .fa-cat-menu {
    flex: 0 0 auto;
    padding-right: 28px !important;
  }

  .fa-cat-trigger {
    min-width: 280px;
    height: 40px !important;
    justify-content: space-between;
    padding: 0 8px 0 18px !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 24px -12px rgba(0, 73, 150, .7) !important;
  }

  .fa-cat-menu::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    display: none;
    width: min(860px, calc(100vw - 64px));
    height: 10px;
  }

  .fa-cat-menu[open]::after,
  .fa-cat-menu:hover::after {
    display: block;
  }

  .fa-nav-link {
    height: 54px;
    padding: 0 18px;
    margin-bottom: 0;
    border-bottom: 0;
    color: #0a1d34 !important;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
  }

  .fa-call-button {
    height: 34px;
    padding: 0 18px !important;
  }

  .fa-mega--text {
    display: none;
  }

  .fa-cat-menu[open] .fa-mega--text,
  .fa-cat-menu:hover .fa-mega--text {
    display: block !important;
  }

  .fa-mega-text-list {
    display: grid;
    position: relative;
    width: 330px;
    min-height: 398px;
    padding: 8px;
    border-radius: 14px 0 0 14px;
    background: #fff;
  }

  .fa-mega-item {
    display: block;
  }

  .fa-mega-text-link {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    padding: 0 14px;
    border-radius: 9px;
    color: var(--dark) !important;
    font-family: var(--sans);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .02em;
  }

  .fa-mega-text-link:hover {
    background: var(--paper-2);
    color: var(--accent) !important;
  }

  .fa-mega-item:hover > .fa-mega-text-link,
  .fa-mega-item:focus-within > .fa-mega-text-link {
    background: var(--paper-2);
    color: var(--accent) !important;
  }

  .fa-mega-text-link--soft {
    justify-content: flex-start;
    color: var(--ink-2) !important;
  }

  .fa-mega-text-link span {
    color: var(--accent);
    font-size: 18px;
    line-height: 1;
  }

  /* Pictogramas compartidos con el megamenú de la tienda. */
  .fa-mega-text-link {
    gap: 10px;
  }

  .fa-mega-text-link__icon,
  .fa-mega-text-link .fa-mega-text-link__sale-icon {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    object-fit: contain;
  }

  .fa-mega-text-link .fa-mega-text-link__sale-icon {
    display: grid;
    place-items: center;
    color: var(--sale, #d21f2b);
    font-size: inherit;
    margin-left: 0;
  }

  .fa-mega-text-link__sale-icon svg {
    width: 100%;
    height: 100%;
  }

  .fa-mega-text-link > span:last-child:not(.fa-mega-text-link__sale-icon) {
    margin-left: auto;
  }

  .fa-mega-submenu {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;
    display: none;
    width: 528px;
    max-width: calc(100vw - 426px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 8px 10px;
    min-height: 100%;
    padding: 16px;
    overflow-y: auto;
    border-left: 1px solid var(--rule);
    border-radius: 0 14px 14px 0;
    background: var(--paper-2);
  }

  .fa-mega-submenu::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -10px;
    width: 10px;
  }

  .fa-mega-submenu a {
    display: flex;
    align-items: center;
    min-height: 38px;
    min-width: 0;
    padding: 9px 12px;
    border: 1px solid var(--rule);
    border-radius: 9px;
    color: var(--dark) !important;
    background: #fff;
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }

  .fa-mega-submenu a:hover,
  .fa-mega-submenu a:focus {
    border-color: var(--accent);
    color: var(--accent) !important;
  }

  .fa-mega-submenu .fa-mega-submenu-title {
    grid-column: 1 / -1;
    color: var(--accent) !important;
    background: #fff;
  }

  .fa-mega-text-list .fa-mega-item:first-child .fa-mega-submenu,
  .fa-mega-item:hover .fa-mega-submenu,
  .fa-mega-item:focus-within .fa-mega-submenu {
    display: grid;
  }

  .fa-mega-text-list:hover .fa-mega-item:first-child:not(:hover):not(:focus-within) .fa-mega-submenu {
    display: none;
  }

  .fa-mega--text:has(.fa-mega-item--plain:hover),
  .fa-mega--text:has(.fa-mega-item--plain:focus-within) {
    width: 330px !important;
    overflow: hidden !important;
  }

  .fa-mega-text-list:has(.fa-mega-item--plain:hover) .fa-mega-submenu,
  .fa-mega-text-list:has(.fa-mega-item--plain:focus-within) .fa-mega-submenu {
    display: none !important;
  }

  body.page-order,
  body#checkout {
    padding-top: 132px !important;
  }
}

/* Identity page final cascade guard. Keep this block at EOF. */
body.page-identity .columns-container,
body.page-identity .columns-container.container {
  max-width: 1280px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 32px 32px 78px !important;
}

body.page-identity .breadcrumb,
body.page-identity ol.breadcrumb,
body.page-identity .breadcrumb__wrapper {
  display: none !important;
}

body.page-identity .columns-container > .row {
  display: grid !important;
  grid-template-columns: 282px minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: start !important;
  margin: 0 !important;
}

body.page-identity .columns-container > .row > [class*="col-"],
body.page-identity .center-column,
body.page-identity .center-column.page {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  flex: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page-identity .account-menu {
  position: sticky !important;
  top: 176px !important;
  overflow: hidden !important;
  border: 1px solid var(--rule) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 18px 42px -34px rgba(16, 32, 58, .45) !important;
}

body.page-identity .account-menu__title {
  margin: 0 !important;
  padding: 20px 20px 16px !important;
  border-bottom: 1px solid var(--rule) !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

body.page-identity .account-menu__nav {
  display: grid !important;
  gap: 2px !important;
  padding: 8px !important;
}

body.page-identity .account-menu__link,
body.page-identity .account-menu__nav > a:not(.account-menu__link) {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 8px 10px !important;
  border-radius: 9px !important;
  color: var(--ink) !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

body.page-identity .account-menu__link:hover,
body.page-identity .account-menu__link--active,
body.page-identity .account-menu__link[aria-current="page"],
body.page-identity .account-menu__nav > a:not(.account-menu__link):hover {
  color: var(--accent) !important;
  background: var(--paper-2) !important;
}

body.page-identity .account-menu__icon,
body.page-identity .account-menu .material-icons {
  display: grid !important;
  width: 34px !important;
  height: 34px !important;
  place-items: center !important;
  border-radius: 9px !important;
  color: var(--accent) !important;
  background: var(--paper-2) !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

body.page-identity .page-header {
  margin: 0 0 14px !important;
}

body.page-identity .page-title-section {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.page-identity .page-title-section::before {
  display: none !important;
  content: none !important;
}

@media (max-width: 640px) {
  body:not(.page-order):not(#checkout) {
    padding-top: 97px !important;
  }

  body:not(.page-order):not(#checkout) .fa-literal-header {
    height: auto !important;
    overflow: visible !important;
  }

  body:not(.page-order):not(#checkout) .fa-literal-header > .sentence-random-container {
    display: block !important;
  }

  body:not(.page-order):not(#checkout) .fa-literal-header > .sentence-random-container .cip-sentence-bar .cip-sentence-bar-inner {
    min-height: 24px !important;
    padding: 5px 18px !important;
  }
}

/* Checkout final guard: keep the real site header visible on every checkout state. */
body.page-order,
body#checkout {
  padding-top: 132px !important;
}

body.page-order::before,
body#checkout::before,
html:has(body.page-order)::before,
html:has(body#checkout)::before {
  display: none !important;
  content: none !important;
}

body.page-order .fa-literal-header,
body#checkout .fa-literal-header,
body.page-order .fa-literal-header:not(.fa-literal-header--checkout),
body#checkout .fa-literal-header:not(.fa-literal-header--checkout) {
  height: 132px !important;
  overflow: visible !important;
  background: var(--paper) !important;
}

body.page-order .fa-literal-header header,
body.page-order .fa-literal-header .fa-nav,
body#checkout .fa-literal-header header,
body#checkout .fa-literal-header .fa-nav,
body.page-order .fa-literal-header:not(.fa-literal-header--checkout) header,
body.page-order .fa-literal-header:not(.fa-literal-header--checkout) .fa-nav,
body#checkout .fa-literal-header:not(.fa-literal-header--checkout) header,
body#checkout .fa-literal-header:not(.fa-literal-header--checkout) .fa-nav {
  display: block !important;
}

body.page-order .fa-literal-header .fa-header-main,
body#checkout .fa-literal-header .fa-header-main,
body.page-order .fa-literal-header:not(.fa-literal-header--checkout) .fa-header-main,
body#checkout .fa-literal-header:not(.fa-literal-header--checkout) .fa-header-main {
  display: flex !important;
}

body.page-order .fa-literal-header > div:first-child,
body#checkout .fa-literal-header > div:first-child {
  display: none !important;
}

@media (max-width: 640px) {
  body.page-order,
  body#checkout {
    padding-top: 73px !important;
  }

  body.page-order .fa-literal-header,
  body#checkout .fa-literal-header,
  body.page-order .fa-literal-header:not(.fa-literal-header--checkout),
  body#checkout .fa-literal-header:not(.fa-literal-header--checkout) {
    height: 73px !important;
  }

  body.page-order .fa-literal-header .fa-nav,
  body#checkout .fa-literal-header .fa-nav {
    display: none !important;
  }

  body.page-order .fa-literal-header .fa-header-main,
  body#checkout .fa-literal-header .fa-header-main,
  body.page-order .fa-literal-header:not(.fa-literal-header--checkout) .fa-header-main,
  body#checkout .fa-literal-header:not(.fa-literal-header--checkout) .fa-header-main {
    display: grid !important;
  }
}

@media (max-width: 640px) {
  body.page-order .fa-literal-header .fa-nav,
  body.page-order .fa-literal-header:not(.fa-literal-header--checkout) .fa-nav,
  body#checkout .fa-literal-header .fa-nav,
  body#checkout .fa-literal-header:not(.fa-literal-header--checkout) .fa-nav {
    display: none !important;
    height: 0 !important;
  }
}

body.page-identity .account-menu__back {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 40px !important;
  margin: 0 0 18px !important;
  padding: 0 14px !important;
  border: 1.5px solid var(--rule-2) !important;
  border-radius: 10px !important;
  color: var(--dark) !important;
  background: #fff !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.page-identity .page-content,
body.page-identity .page-content--customer {
  display: grid !important;
  gap: 22px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid var(--rule) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 18px 42px -34px rgba(16, 32, 58, .5) !important;
}

body.page-identity .fa-customer-intro {
  display: grid;
  gap: 8px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--rule);
}

body.page-identity .fa-customer-intro__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

body.page-identity .fa-customer-intro__eyebrow::before {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--accent);
}

body.page-identity .fa-customer-intro h2 {
  margin: 0;
  color: var(--dark);
  font-family: var(--sans);
  font-size: 24px;
  font-weight: 900;
  line-height: 1.16;
}

body.page-identity .fa-customer-intro p {
  max-width: 720px;
  margin: 0;
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.55;
}

body.page-identity #customer-form {
  display: grid !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-identity #customer-form section {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

body.page-identity #customer-form .mb-3,
body.page-identity #customer-form .form-group {
  min-width: 0 !important;
  margin: 0 !important;
}

body.page-identity #customer-form .form-fields,
body.page-identity #customer-form .form-footer,
body.page-identity #customer-form .buttons-wrapper,
body.page-identity #customer-form [data-ps-ref="password-field"],
body.page-identity #customer-form .input-group.password-field,
body.page-identity #customer-form .password-field {
  grid-column: 1 / -1 !important;
}

body.page-identity #customer-form label,
body.page-identity #customer-form .form-label,
body.page-identity #customer-form .form-control-label {
  display: block !important;
  margin-bottom: 7px !important;
  color: var(--muted) !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

body.page-identity #customer-form input,
body.page-identity #customer-form select,
body.page-identity #customer-form textarea,
body.page-identity #customer-form .form-control {
  width: 100% !important;
  min-height: 46px !important;
  padding: 0 14px !important;
  border: 1.5px solid var(--rule-2) !important;
  border-radius: 9px !important;
  color: var(--ink) !important;
  background: #fff !important;
  font-family: var(--body) !important;
  font-size: 14px !important;
}

body.page-identity #customer-form .input-group.password-field,
body.page-identity #customer-form .password-field {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 46px !important;
  align-items: stretch !important;
  width: 100% !important;
}

body.page-identity #customer-form .password-field .form-control {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

body.page-identity #customer-form .password-field .btn {
  width: 46px !important;
  min-width: 46px !important;
  height: 46px !important;
  padding: 0 !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

body.page-identity #customer-form .form-text,
body.page-identity #customer-form .form-control-comment,
body.page-identity #customer-form .help-block {
  margin-top: 6px !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

body.page-identity #customer-form .form-check {
  display: flex !important;
  gap: 10px !important;
  align-items: flex-start !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-identity #customer-form input[type="checkbox"],
body.page-identity #customer-form input[type="radio"],
body.page-identity #customer-form .form-check-input {
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  flex: 0 0 16px !important;
}

body.page-identity #customer-form .form-check-label {
  margin: 0 !important;
  color: var(--ink-2) !important;
  font-family: var(--body) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  text-transform: none !important;
}

body.page-identity #customer-form [aria-labelledby="field-id_gender-label"] {
  display: flex !important;
  flex-wrap: wrap !important;
  column-gap: 22px !important;
  row-gap: 8px !important;
  align-items: center !important;
}

body.page-identity #customer-form .form-footer,
body.page-identity #customer-form .buttons-wrapper {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin-top: 4px !important;
}

body.page-identity #customer-form .form-footer .btn,
body.page-identity #customer-form .buttons-wrapper .btn,
body.page-identity #customer-form .form-control-submit {
  min-height: 44px !important;
  padding-right: 18px !important;
  padding-left: 18px !important;
}

@media (max-width: 900px) {
  body.page-identity .columns-container > .row {
    grid-template-columns: 1fr !important;
  }

  body.page-identity .account-menu {
    position: static !important;
  }

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

@media (max-width: 680px) {
  body.page-identity .columns-container,
  body.page-identity .columns-container.container {
    padding: 20px 18px 56px !important;
  }

  body.page-identity .page-title-section {
    font-size: 28px !important;
  }

  body.page-identity .page-content,
  body.page-identity .page-content--customer {
    padding: 20px !important;
  }

  body.page-identity #customer-form section,
  body.page-identity .account-menu__nav {
    grid-template-columns: 1fr !important;
  }
}

/* Checkout handoff final pass. Source: CHECKOUT-finalizar-compra.md. */
body.page-order,
body#checkout,
body.page-order .wrapper,
body#checkout .wrapper {
  background: #fff !important;
}

body.page-order .checkout-steps,
body#checkout .checkout-steps,
body.page-order .columns-container,
body#checkout .columns-container {
  max-width: 1280px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 32px !important;
  padding-left: 32px !important;
}

body.page-order .checkout-steps,
body#checkout .checkout-steps {
  padding-top: 40px !important;
  padding-bottom: 0 !important;
}

body.page-order .checkout-steps::before,
body#checkout .checkout-steps::before {
  content: "Finalizar compra" !important;
  display: block !important;
  margin: 0 0 24px !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.page-order .checkout-steps__desktop,
body#checkout .checkout-steps__desktop {
  display: block !important;
}

body.page-order .checkout-steps__mobile,
body#checkout .checkout-steps__mobile {
  display: none !important;
}

body.page-order .checkout-steps__list,
body#checkout .checkout-steps__list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.page-order .checkout-steps__step,
body#checkout .checkout-steps__step {
  display: inline-flex !important;
  min-height: 40px !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 16px !important;
  border: 1px solid var(--rule) !important;
  border-radius: 10px !important;
  color: var(--muted) !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.page-order .checkout-steps__step:first-child,
body.page-order .checkout-steps__step.active,
body.page-order .checkout-steps__step--current,
body#checkout .checkout-steps__step:first-child,
body#checkout .checkout-steps__step.active,
body#checkout .checkout-steps__step--current {
  border-color: var(--accent) !important;
  color: #fff !important;
  background: var(--accent) !important;
}

body.page-order .checkout-steps__number,
body#checkout .checkout-steps__number {
  display: inline !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  color: currentColor !important;
  background: transparent !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

body.page-order .checkout-steps__btn,
body#checkout .checkout-steps__btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: currentColor !important;
  background: transparent !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

body.page-order .columns-container,
body#checkout .columns-container {
  padding-top: 24px !important;
  padding-bottom: 72px !important;
  background: transparent !important;
}

body.page-order .checkout-grid,
body#checkout .checkout-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 32px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 !important;
}

body.page-order .checkout-grid__content,
body.page-order .checkout-grid__aside,
body#checkout .checkout-grid__content,
body#checkout .checkout-grid__aside {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  flex: none !important;
}

body.page-order #personal-information-tabs,
body#checkout #personal-information-tabs,
body.page-order #personal-information-tabs-content,
body#checkout #personal-information-tabs-content,
body.page-order #checkout-addresses-step.step--current,
body.page-order #checkout-delivery-step.step--current,
body.page-order #checkout-payment-step.step--current,
body#checkout #checkout-addresses-step.step--current,
body#checkout #checkout-delivery-step.step--current,
body#checkout #checkout-payment-step.step--current,
body.page-order #js-checkout-summary,
body#checkout #js-checkout-summary {
  border: 1px solid var(--rule) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.page-order #personal-information-tabs,
body#checkout #personal-information-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  min-height: 0 !important;
  margin: 0 0 20px !important;
  padding: 20px 24px !important;
}

body.page-order #personal-information-tabs::before,
body#checkout #personal-information-tabs::before {
  content: "Acceso rapido:" !important;
  margin-right: 0 !important;
  color: var(--ink-2) !important;
  font-family: var(--body) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

body.page-order #personal-information-tabs .nav-link,
body#checkout #personal-information-tabs .nav-link {
  min-height: 38px !important;
  padding: 0 14px !important;
  border: 1.5px solid var(--rule-2) !important;
  border-radius: 9px !important;
  color: var(--ink) !important;
  background: #fff !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

body.page-order #personal-information-tabs .nav-link:hover,
body#checkout #personal-information-tabs .nav-link:hover {
  border-color: var(--blue) !important;
}

body.page-order #personal-information-tabs-content,
body#checkout #personal-information-tabs-content,
body.page-order #checkout-addresses-step.step--current,
body.page-order #checkout-delivery-step.step--current,
body.page-order #checkout-payment-step.step--current,
body#checkout #checkout-addresses-step.step--current,
body#checkout #checkout-delivery-step.step--current,
body#checkout #checkout-payment-step.step--current {
  margin: 0 0 20px !important;
  padding: 24px !important;
}

body.page-order .step__title .page-title-section,
body#checkout .step__title .page-title-section,
body.page-order #checkout-addresses-step .page-title-section,
body.page-order #checkout-delivery-step .page-title-section,
body.page-order #checkout-payment-step .page-title-section,
body#checkout #checkout-addresses-step .page-title-section,
body#checkout #checkout-delivery-step .page-title-section,
body#checkout #checkout-payment-step .page-title-section {
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

body.page-order #customer-form section,
body.page-order #login-form,
body.page-order #checkout-addresses-step .form-fields,
body.page-order #checkout-addresses-step form section,
body.page-order .js-address-form form section,
body#checkout #customer-form section,
body#checkout #login-form,
body#checkout #checkout-addresses-step .form-fields,
body#checkout #checkout-addresses-step form section,
body#checkout .js-address-form form section {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.page-order #checkout-addresses-step .mb-3:has(#field-address1),
body.page-order #checkout-addresses-step .mb-3:has(#field-address2),
body#checkout #checkout-addresses-step .mb-3:has(#field-address1),
body#checkout #checkout-addresses-step .mb-3:has(#field-address2) {
  grid-column: 1 / -1 !important;
}

body.page-order .form-label,
body.page-order label,
body#checkout .form-label,
body#checkout label {
  color: var(--muted) !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

body.page-order .form-control,
body.page-order input,
body.page-order select,
body.page-order textarea,
body#checkout .form-control,
body#checkout input,
body#checkout select,
body#checkout textarea {
  min-height: 46px !important;
  padding: 0 14px !important;
  border: 1.5px solid var(--rule-2) !important;
  border-radius: 9px !important;
  color: var(--ink) !important;
  background: #fff !important;
  font-family: var(--body) !important;
}

body.page-order .form-control:focus,
body.page-order input:focus,
body.page-order select:focus,
body.page-order textarea:focus,
body#checkout .form-control:focus,
body#checkout input:focus,
body#checkout select:focus,
body#checkout textarea:focus {
  border-color: var(--blue) !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body.page-order input[type="radio"],
body.page-order input[type="checkbox"],
body#checkout input[type="radio"],
body#checkout input[type="checkbox"] {
  accent-color: var(--accent);
}

body.page-order .delivery-option,
body.page-order .payment-option,
body#checkout .delivery-option,
body#checkout .payment-option {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 52px !important;
  margin: 0 0 12px !important;
  padding: 14px !important;
  border: 1.5px solid var(--rule) !important;
  border-radius: 10px !important;
  background: #fff !important;
}

body.page-order .delivery-option:focus-within,
body.page-order .payment-option:focus-within,
body#checkout .delivery-option:focus-within,
body#checkout .payment-option:focus-within {
  border-color: var(--accent) !important;
  box-shadow: none !important;
}

body.page-order #js-checkout-summary,
body#checkout #js-checkout-summary {
  position: sticky !important;
  top: 68px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 22px !important;
}

body.page-order #js-checkout-summary::before,
body#checkout #js-checkout-summary::before {
  content: "Tu pedido" !important;
  display: block !important;
  margin: 0 0 16px !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

body.page-order .cart-summary__line,
body#checkout .cart-summary__line {
  display: flex !important;
  justify-content: space-between !important;
  gap: 16px !important;
  color: var(--ink-2) !important;
  font-size: 13px !important;
}

body.page-order .cart-summary__value,
body#checkout .cart-summary__value {
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

body.page-order .cart-summary__subtotals,
body#checkout .cart-summary__subtotals,
body.page-order .cart-summary__total,
body#checkout .cart-summary__total {
  margin-top: 16px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--rule) !important;
}

body.page-order .cart-summary__line--bold,
body#checkout .cart-summary__line--bold {
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}

body.page-order .cart-summary__line--bold .cart-summary__value,
body#checkout .cart-summary__line--bold .cart-summary__value {
  font-size: 24px !important;
  font-weight: 800 !important;
}

body.page-order #payment-confirmation button,
body#checkout #payment-confirmation button {
  width: 100% !important;
  min-height: 50px !important;
  padding: 15px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--accent) !important;
  color: #fff !important;
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

body.page-order #payment-confirmation button:hover,
body#checkout #payment-confirmation button:hover {
  background: var(--accent-2) !important;
}

body.page-order .blockreassurance--checkout,
body#checkout .blockreassurance--checkout {
  display: none !important;
}

@media (max-width: 980px) {
  body.page-order .checkout-grid,
  body#checkout .checkout-grid {
    grid-template-columns: 1fr !important;
  }

  body.page-order #js-checkout-summary,
  body#checkout #js-checkout-summary {
    position: static !important;
  }
}

@media (max-width: 680px) {
  body.page-order .checkout-steps,
  body#checkout .checkout-steps,
  body.page-order .columns-container,
  body#checkout .columns-container {
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  body.page-order .checkout-steps__list,
  body#checkout .checkout-steps__list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.page-order #customer-form section,
  body.page-order #login-form,
  body.page-order #checkout-addresses-step .form-fields,
  body.page-order #checkout-addresses-step form section,
  body.page-order .js-address-form form section,
  body#checkout #customer-form section,
  body#checkout #login-form,
  body#checkout #checkout-addresses-step .form-fields,
  body#checkout #checkout-addresses-step form section,
  body#checkout .js-address-form form section {
    grid-template-columns: 1fr !important;
  }
}

/* Keep the sentence bar visible under the fixed Fallero header on catalog pages. */
body:not(.page-order):not(#checkout) {
  padding-top: 195px !important;
}

body:not(.page-order):not(#checkout) .fa-literal-header {
  height: auto !important;
  overflow: visible !important;
}

body:not(.page-order):not(#checkout) .fa-literal-header > .sentence-random-container {
  display: block !important;
}

@media (max-width: 980px) and (min-width: 641px) {
  body:not(.page-order):not(#checkout) {
    padding-top: 224px !important;
  }
}

@media (max-width: 640px) {
  body:not(.page-order):not(#checkout) {
    padding-top: 97px !important;
  }
}

/* Checkout guest polish: keep order items visible and compact the first step. */
body.page-order #js-checkout-summary .cart-summary__products-number,
body#checkout #js-checkout-summary .cart-summary__products-number {
  margin-bottom: 10px !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

body.page-order #js-checkout-summary .cart-summary__products-accordion,
body#checkout #js-checkout-summary .cart-summary__products-accordion {
  display: block !important;
  margin-top: 10px !important;
}

body.page-order #js-checkout-summary .cart-summary__products-accordion .accordion-header,
body.page-order #js-checkout-summary .cart-summary__products-accordion .accordion-button,
body#checkout #js-checkout-summary .cart-summary__products-accordion .accordion-header,
body#checkout #js-checkout-summary .cart-summary__products-accordion .accordion-button {
  display: none !important;
}

body.page-order #js-checkout-summary #cart-summary-product-list,
body#checkout #js-checkout-summary #cart-summary-product-list {
  display: block !important;
  height: auto !important;
  visibility: visible !important;
}

body.page-order #js-checkout-summary .cart-summary__products-list,
body#checkout #js-checkout-summary .cart-summary__products-list {
  display: grid !important;
  gap: 10px !important;
  margin: 0 0 16px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid var(--rule) !important;
}

body.page-order #js-checkout-summary .cart-summary-product,
body#checkout #js-checkout-summary .cart-summary-product {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 10px !important;
  border: 1px solid var(--rule) !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
}

body.page-order #js-checkout-summary .cart-summary-product__image,
body#checkout #js-checkout-summary .cart-summary-product__image {
  width: 58px !important;
  height: 58px !important;
  overflow: hidden !important;
  border-radius: 8px !important;
  background: #fff !important;
}

body.page-order #js-checkout-summary .cart-summary-product__img,
body#checkout #js-checkout-summary .cart-summary-product__img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body.page-order #js-checkout-summary .cart-summary-product__content,
body#checkout #js-checkout-summary .cart-summary-product__content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
  min-width: 0 !important;
}

body.page-order #js-checkout-summary .cart-summary-product__link,
body#checkout #js-checkout-summary .cart-summary-product__link {
  display: block !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

body.page-order #js-checkout-summary .cart-summary-product__price,
body.page-order #js-checkout-summary .cart-summary-product__quantity,
body#checkout #js-checkout-summary .cart-summary-product__price,
body#checkout #js-checkout-summary .cart-summary-product__quantity {
  display: inline-flex !important;
  gap: 4px !important;
  margin-top: 4px !important;
  color: var(--ink-2) !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}

body.page-order #js-checkout-summary .cart-summary-product__content-right,
body#checkout #js-checkout-summary .cart-summary-product__content-right {
  align-self: start !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

/* Checkout order summary: avoid duplicate price chip and keep quantity as plain text. */
body.page-order #js-checkout-summary .cart-summary-product__price,
body#checkout #js-checkout-summary .cart-summary-product__price {
  display: none !important;
}

body.page-order #js-checkout-summary .cart-summary-product__quantity,
body#checkout #js-checkout-summary .cart-summary-product__quantity {
  display: block !important;
  margin-top: 5px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ink-2) !important;
  font-family: var(--sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

body.page-order #customer-form section > .mb-3:first-child,
body#checkout #customer-form section > .mb-3:first-child {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 10px 18px !important;
  align-items: center !important;
}

body.page-order #customer-form section > .mb-3:first-child > .form-label,
body#checkout #customer-form section > .mb-3:first-child > .form-label {
  margin: 0 !important;
}

body.page-order #customer-form [aria-labelledby="field-id_gender-label"],
body#checkout #customer-form [aria-labelledby="field-id_gender-label"] {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 18px !important;
}

body.page-order #customer-form [aria-labelledby="field-id_gender-label"] .form-check,
body#checkout #customer-form [aria-labelledby="field-id_gender-label"] .form-check {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  margin: 0 !important;
  gap: 7px !important;
}

body.page-order .input-group.password-field .btn,
body#checkout .input-group.password-field .btn {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  min-width: 52px !important;
  border-radius: 8px !important;
  background: var(--accent) !important;
  color: #fff !important;
}

body.page-order .input-group.password-field .btn .material-icons,
body.page-order .buttons-wrapper .btn-primary .material-icons,
body#checkout .input-group.password-field .btn .material-icons,
body#checkout .buttons-wrapper .btn-primary .material-icons {
  display: none !important;
}

body.page-order .input-group.password-field .btn::before,
body#checkout .input-group.password-field .btn::before {
  content: "" !important;
  display: block !important;
  width: 18px !important;
  height: 12px !important;
  border: 2px solid currentColor !important;
  border-radius: 999px / 700px !important;
}

body.page-order .input-group.password-field .btn::after,
body#checkout .input-group.password-field .btn::after {
  content: "" !important;
  position: absolute !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background: currentColor !important;
}

body.page-order .buttons-wrapper .btn-primary,
body#checkout .buttons-wrapper .btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

body.page-order .buttons-wrapper .btn-primary::after,
body#checkout .buttons-wrapper .btn-primary::after {
  content: "" !important;
  display: block !important;
  width: 8px !important;
  height: 8px !important;
  border-top: 2px solid currentColor !important;
  border-right: 2px solid currentColor !important;
  transform: rotate(45deg) !important;
}

@media (max-width: 680px) {
  body.page-order #customer-form section > .mb-3:first-child,
  body#checkout #customer-form section > .mb-3:first-child {
    grid-template-columns: 1fr !important;
  }
}

/* Checkout address final actions: clearer billing checkbox and navigation. */
body.page-order #checkout-addresses-step .form-check:has(#use_same_address),
body.page-order #checkout-addresses-step .form-check:has([name="use_same_address"]),
body#checkout #checkout-addresses-step .form-check:has(#use_same_address),
body#checkout #checkout-addresses-step .form-check:has([name="use_same_address"]) {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 2px 0 0 !important;
  padding: 12px 14px !important;
  border: 1px solid var(--rule) !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
}

body.page-order #checkout-addresses-step #use_same_address,
body.page-order #checkout-addresses-step [name="use_same_address"],
body#checkout #checkout-addresses-step #use_same_address,
body#checkout #checkout-addresses-step [name="use_same_address"] {
  width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
}

body.page-order #checkout-addresses-step label[for="use_same_address"],
body.page-order #checkout-addresses-step .form-check:has([name="use_same_address"]) .form-check-label,
body#checkout #checkout-addresses-step label[for="use_same_address"],
body#checkout #checkout-addresses-step .form-check:has([name="use_same_address"]) .form-check-label {
  display: block !important;
  margin: 0 !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 0 !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

body.page-order #checkout-addresses-step label[for="use_same_address"]::before,
body.page-order #checkout-addresses-step .form-check:has([name="use_same_address"]) .form-check-label::before,
body#checkout #checkout-addresses-step label[for="use_same_address"]::before,
body#checkout #checkout-addresses-step .form-check:has([name="use_same_address"]) .form-check-label::before {
  content: "Usar esta misma dirección para la factura";
  display: block;
  font-size: 14px;
}

body.page-order #checkout-addresses-step label[for="use_same_address"]::after,
body.page-order #checkout-addresses-step .form-check:has([name="use_same_address"]) .form-check-label::after,
body#checkout #checkout-addresses-step label[for="use_same_address"]::after,
body#checkout #checkout-addresses-step .form-check:has([name="use_same_address"]) .form-check-label::after {
  content: "Desmárcalo solo si quieres introducir otra dirección de facturación.";
  display: block;
  margin-top: 3px;
  color: var(--ink-2);
  font-family: var(--body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.35;
}

body.page-order #checkout-addresses-step .buttons-wrapper,
body#checkout #checkout-addresses-step .buttons-wrapper {
  grid-column: 1 / -1 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  width: 100% !important;
  margin-top: 8px !important;
}

body.page-order #checkout-addresses-step .buttons-wrapper .btn,
body#checkout #checkout-addresses-step .buttons-wrapper .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  border-radius: 9px !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.page-order #checkout-addresses-step .buttons-wrapper .btn:not(.btn-primary),
body#checkout #checkout-addresses-step .buttons-wrapper .btn:not(.btn-primary) {
  order: 1 !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 1.5px solid var(--rule-2) !important;
  background: #fff !important;
  color: var(--dark) !important;
}

body.page-order #checkout-addresses-step .buttons-wrapper .btn-primary,
body#checkout #checkout-addresses-step .buttons-wrapper .btn-primary {
  order: 2 !important;
  margin: 0 !important;
  padding: 0 24px !important;
}

body.page-order #checkout-addresses-step .buttons-wrapper .material-icons,
body.page-order #checkout-addresses-step .buttons-wrapper .btn-primary::after,
body#checkout #checkout-addresses-step .buttons-wrapper .material-icons,
body#checkout #checkout-addresses-step .buttons-wrapper .btn-primary::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 680px) {
  body.page-order #checkout-addresses-step .buttons-wrapper,
  body#checkout #checkout-addresses-step .buttons-wrapper {
    align-items: stretch !important;
    flex-direction: column-reverse !important;
  }

  body.page-order #checkout-addresses-step .buttons-wrapper .btn,
  body#checkout #checkout-addresses-step .buttons-wrapper .btn {
    width: 100% !important;
  }
}

/* Authentication final mobile guard: prevent inherited wide containers from clipping the blue panel copy. */
@media (max-width: 640px) {
  body.page-authentication .fa-auth-page,
  body.page-authentication .fa-auth-layout,
  body.page-authentication .fa-auth-panel,
  body.page-authentication .fa-auth-form-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  body.page-authentication .fa-auth-panel {
    padding-right: 24px !important;
    padding-left: 24px !important;
  }

  body.page-authentication .fa-auth-panel-copy,
  body.page-authentication .fa-auth-panel h1,
  body.page-authentication .fa-auth-panel p {
    width: calc(100vw - 84px) !important;
    max-width: calc(100vw - 84px) !important;
  }

  body.page-authentication .fa-auth-panel h1 {
    font-size: 32px !important;
    line-height: 1.12 !important;
  }

  body.page-authentication .fa-auth-panel p {
    font-size: 14px !important;
    line-height: 1.55 !important;
    overflow-wrap: break-word !important;
  }
}

/* Checkout identity/address state: keep stepper aligned with the real PrestaShop step. */
body.page-order .checkout-steps__step:first-child,
body#checkout .checkout-steps__step:first-child {
  border-color: var(--rule) !important;
  color: var(--muted) !important;
  background: #fff !important;
}

body.page-order:has(#checkout-personal-information-step.step--current) .checkout-steps__step:nth-child(1),
body#checkout:has(#checkout-personal-information-step.step--current) .checkout-steps__step:nth-child(1),
body.page-order:has(#personal-information-tabs) .checkout-steps__step:nth-child(1),
body#checkout:has(#personal-information-tabs) .checkout-steps__step:nth-child(1),
body.page-order:has(#checkout-addresses-step.step--current) .checkout-steps__step:nth-child(2),
body#checkout:has(#checkout-addresses-step.step--current) .checkout-steps__step:nth-child(2),
body.page-order:has(#checkout-delivery-step.step--current) .checkout-steps__step:nth-child(3),
body#checkout:has(#checkout-delivery-step.step--current) .checkout-steps__step:nth-child(3),
body.page-order:has(#checkout-payment-step.step--current) .checkout-steps__step:nth-child(4),
body#checkout:has(#checkout-payment-step.step--current) .checkout-steps__step:nth-child(4),
body.page-order .checkout-steps__step.active,
body.page-order .checkout-steps__step--current,
body#checkout .checkout-steps__step.active,
body#checkout .checkout-steps__step--current {
  border-color: var(--accent) !important;
  color: #fff !important;
  background: var(--accent) !important;
}

body.page-order:has(#checkout-addresses-step.step--current) .checkout-steps__step:nth-child(1):not(.active):not(.checkout-steps__step--current),
body#checkout:has(#checkout-addresses-step.step--current) .checkout-steps__step:nth-child(1):not(.active):not(.checkout-steps__step--current) {
  border-color: var(--rule) !important;
  color: var(--muted) !important;
  background: #fff !important;
}

body.page-order #personal-information-tabs::before,
body#checkout #personal-information-tabs::before {
  content: "Identifícate o compra como invitado:" !important;
}

body.page-order #checkout-addresses-step .address-selector,
body.page-order #checkout-addresses-step .js-address-selector,
body#checkout #checkout-addresses-step .address-selector,
body#checkout #checkout-addresses-step .js-address-selector {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 12px !important;
  margin: 0 0 18px !important;
}

body.page-order #checkout-addresses-step .address-item,
body#checkout #checkout-addresses-step .address-item {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 16px !important;
  border: 1.5px solid var(--rule) !important;
  border-radius: 10px !important;
  background: #fff !important;
}

body.page-order #checkout-addresses-step .address-item:has(input:checked),
body#checkout #checkout-addresses-step .address-item:has(input:checked) {
  border-color: var(--accent) !important;
  background: #f4f8ff !important;
  box-shadow: 0 0 0 2px rgba(0, 73, 150, .08) !important;
}

body.page-order #checkout-addresses-step .address-item input[type="radio"],
body#checkout #checkout-addresses-step .address-item input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
}

body.page-order #checkout-addresses-step .address,
body#checkout #checkout-addresses-step .address {
  margin: 0 !important;
  color: var(--ink) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

body.page-order #checkout-addresses-step .address-alias,
body#checkout #checkout-addresses-step .address-alias {
  display: block !important;
  margin-bottom: 5px !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

body.page-order #checkout-addresses-step .address-footer,
body#checkout #checkout-addresses-step .address-footer {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 6px 0 18px !important;
}

body.page-order #checkout-addresses-step .address-footer a,
body.page-order #checkout-addresses-step .add-address a,
body#checkout #checkout-addresses-step .address-footer a,
body#checkout #checkout-addresses-step .add-address a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  border: 1.5px solid var(--rule-2) !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* Checkout saved addresses: card layout and lighter billing action. */
body.page-order #checkout-addresses-step .address-selector,
body.page-order #checkout-addresses-step .js-address-selector,
body#checkout #checkout-addresses-step .address-selector,
body#checkout #checkout-addresses-step .js-address-selector {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  margin: 20px 0 24px !important;
}

body.page-order #checkout-addresses-step .address-selector > .address-item,
body.page-order #checkout-addresses-step .js-address-selector > .address-item,
body.page-order #checkout-addresses-step .js-address-selector > article,
body#checkout #checkout-addresses-step .address-selector > .address-item,
body#checkout #checkout-addresses-step .js-address-selector > .address-item,
body#checkout #checkout-addresses-step .js-address-selector > article {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 18px 18px 16px !important;
  border: 1.5px solid var(--rule) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 14px 30px -26px rgba(16, 32, 58, .45) !important;
}

body.page-order #checkout-addresses-step .address-selector > .address-item:has(input:checked),
body.page-order #checkout-addresses-step .js-address-selector > .address-item:has(input:checked),
body.page-order #checkout-addresses-step .js-address-selector > article:has(input:checked),
body#checkout #checkout-addresses-step .address-selector > .address-item:has(input:checked),
body#checkout #checkout-addresses-step .js-address-selector > .address-item:has(input:checked),
body#checkout #checkout-addresses-step .js-address-selector > article:has(input:checked) {
  border-color: var(--accent) !important;
  background: #f5f9ff !important;
  box-shadow: 0 0 0 2px rgba(0, 73, 150, .08), 0 14px 30px -26px rgba(16, 32, 58, .45) !important;
}

body.page-order #checkout-addresses-step .address-item label,
body.page-order #checkout-addresses-step .address-item .radio-block,
body.page-order #checkout-addresses-step .js-address-selector article label,
body#checkout #checkout-addresses-step .address-item label,
body#checkout #checkout-addresses-step .address-item .radio-block,
body#checkout #checkout-addresses-step .js-address-selector article label {
  display: contents !important;
}

body.page-order #checkout-addresses-step .address-item input[type="radio"],
body.page-order #checkout-addresses-step .js-address-selector article input[type="radio"],
body#checkout #checkout-addresses-step .address-item input[type="radio"],
body#checkout #checkout-addresses-step .js-address-selector article input[type="radio"] {
  grid-column: 1 !important;
  width: 17px !important;
  height: 17px !important;
  min-height: 17px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  accent-color: var(--accent) !important;
}

body.page-order #checkout-addresses-step .address-item address,
body.page-order #checkout-addresses-step .js-address-selector article address,
body.page-order #checkout-addresses-step .address-item .address,
body#checkout #checkout-addresses-step .address-item address,
body#checkout #checkout-addresses-step .js-address-selector article address,
body#checkout #checkout-addresses-step .address-item .address {
  grid-column: 2 !important;
  margin: 0 !important;
  color: var(--ink) !important;
  font-family: var(--body) !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

body.page-order #checkout-addresses-step .address-alias,
body.page-order #checkout-addresses-step .address-item .h4,
body.page-order #checkout-addresses-step .js-address-selector article .h4,
body#checkout #checkout-addresses-step .address-alias,
body#checkout #checkout-addresses-step .address-item .h4,
body#checkout #checkout-addresses-step .js-address-selector article .h4 {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 17px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

body.page-order #checkout-addresses-step .address-footer,
body#checkout #checkout-addresses-step .address-footer {
  grid-column: 2 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 12px 0 0 !important;
}

body.page-order #checkout-addresses-step .address-footer a,
body#checkout #checkout-addresses-step .address-footer a {
  min-height: 30px !important;
  padding: 0 11px !important;
  border: 1px solid var(--rule-2) !important;
  border-radius: 999px !important;
  color: var(--accent) !important;
  background: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.page-order #checkout-addresses-step .add-address,
body#checkout #checkout-addresses-step .add-address {
  display: flex !important;
  justify-content: center !important;
  margin: 8px 0 24px !important;
}

body.page-order #checkout-addresses-step .add-address a,
body#checkout #checkout-addresses-step .add-address a {
  min-height: 42px !important;
  padding: 0 18px !important;
  border-radius: 9px !important;
}

body.page-order #checkout-addresses-step .different-invoice-address,
body.page-order #checkout-addresses-step [data-link-action="different-invoice-address"],
body.page-order #checkout-addresses-step a[href*="use_same_address"],
body.page-order #checkout-addresses-step a[href*="invoice"],
body#checkout #checkout-addresses-step .different-invoice-address,
body#checkout #checkout-addresses-step [data-link-action="different-invoice-address"],
body#checkout #checkout-addresses-step a[href*="use_same_address"],
body#checkout #checkout-addresses-step a[href*="invoice"] {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  min-height: 32px !important;
  margin: 2px 0 22px !important;
  padding: 0 12px !important;
  border: 1px solid var(--rule-2) !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  color: var(--ink) !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

body.page-order #checkout-addresses-step .different-invoice-address::before,
body.page-order #checkout-addresses-step [data-link-action="different-invoice-address"]::before,
body.page-order #checkout-addresses-step a[href*="use_same_address"]::before,
body.page-order #checkout-addresses-step a[href*="invoice"]::before,
body#checkout #checkout-addresses-step .different-invoice-address::before,
body#checkout #checkout-addresses-step [data-link-action="different-invoice-address"]::before,
body#checkout #checkout-addresses-step a[href*="use_same_address"]::before,
body#checkout #checkout-addresses-step a[href*="invoice"]::before {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  margin-right: 8px !important;
  border: 1.5px solid currentColor !important;
  border-radius: 50% !important;
}

body.page-order #checkout-addresses-step .buttons-wrapper,
body#checkout #checkout-addresses-step .buttons-wrapper {
  margin-top: 8px !important;
  padding-top: 10px !important;
}

/* Header consistency guard: every front-office URL must keep the same Fallero header/search as the home. */
body.page-order,
body#checkout {
  padding-top: 195px !important;
}

body.page-order::before,
body#checkout::before,
body.page-order:has(.fa-literal-header--checkout)::before,
body#checkout:has(.fa-literal-header--checkout)::before,
html:has(body.page-order)::before,
html:has(body#checkout)::before {
  display: none !important;
  content: none !important;
}

body.page-order .fa-literal-header,
body#checkout .fa-literal-header,
body.page-order .fa-literal-header:not(.fa-literal-header--checkout),
body#checkout .fa-literal-header:not(.fa-literal-header--checkout) {
  height: auto !important;
  overflow: visible !important;
  background: var(--paper) !important;
}

body.page-order .fa-literal-header > div:first-child,
body#checkout .fa-literal-header > div:first-child {
  display: none !important;
}

body.page-order .fa-literal-header header,
body.page-order .fa-literal-header .fa-nav,
body#checkout .fa-literal-header header,
body#checkout .fa-literal-header .fa-nav,
body.page-order .fa-literal-header:not(.fa-literal-header--checkout) header,
body.page-order .fa-literal-header:not(.fa-literal-header--checkout) .fa-nav,
body#checkout .fa-literal-header:not(.fa-literal-header--checkout) header,
body#checkout .fa-literal-header:not(.fa-literal-header--checkout) .fa-nav {
  display: block !important;
}

body.page-order .fa-literal-header .fa-header-main,
body#checkout .fa-literal-header .fa-header-main,
body.page-order .fa-literal-header:not(.fa-literal-header--checkout) .fa-header-main,
body#checkout .fa-literal-header:not(.fa-literal-header--checkout) .fa-header-main {
  display: flex !important;
}

body.page-order .fa-literal-header > .sentence-random-container,
body#checkout .fa-literal-header > .sentence-random-container {
  display: block !important;
}

@media (max-width: 980px) and (min-width: 641px) {
  body.page-order,
  body#checkout {
    padding-top: 224px !important;
  }
}

@media (max-width: 640px) {
  body.page-order,
  body#checkout {
    padding-top: 97px !important;
  }

  body.page-order .fa-literal-header,
  body#checkout .fa-literal-header,
  body.page-order .fa-literal-header:not(.fa-literal-header--checkout),
  body#checkout .fa-literal-header:not(.fa-literal-header--checkout) {
    height: auto !important;
    overflow: visible !important;
  }

  body.page-order .fa-literal-header > div:first-child,
  body#checkout .fa-literal-header > div:first-child {
    display: block !important;
    background: var(--dark) !important;
  }

  body.page-order .fa-literal-header .fa-top-inner,
  body#checkout .fa-literal-header .fa-top-inner {
    min-height: 20px !important;
    justify-content: center !important;
    padding: 3px 18px !important;
  }

  body.page-order .fa-literal-header .fa-top-inner > div:first-child,
  body#checkout .fa-literal-header .fa-top-inner > div:first-child,
  body.page-order .fa-literal-header .fa-top-inner > div:last-child > span:not(.fa-mobile-free-shipping),
  body#checkout .fa-literal-header .fa-top-inner > div:last-child > span:not(.fa-mobile-free-shipping) {
    display: none !important;
  }

  body.page-order .fa-mobile-free-shipping,
  body#checkout .fa-mobile-free-shipping {
    display: inline-flex !important;
  }

  body.page-order .fa-literal-header .fa-nav,
  body#checkout .fa-literal-header .fa-nav,
  body.page-order .fa-literal-header:not(.fa-literal-header--checkout) .fa-nav,
  body#checkout .fa-literal-header:not(.fa-literal-header--checkout) .fa-nav {
    display: none !important;
    height: 0 !important;
  }

  body.page-order .fa-literal-header .fa-header-main,
  body#checkout .fa-literal-header .fa-header-main,
  body.page-order .fa-literal-header:not(.fa-literal-header--checkout) .fa-header-main,
  body#checkout .fa-literal-header:not(.fa-literal-header--checkout) .fa-header-main {
    display: grid !important;
  }
}

/* Checkout saved addresses overlap fix. */
body.page-order #checkout-addresses-step .address-selector > .address-item,
body.page-order #checkout-addresses-step .js-address-selector > .address-item,
body.page-order #checkout-addresses-step .js-address-selector > article,
body#checkout #checkout-addresses-step .address-selector > .address-item,
body#checkout #checkout-addresses-step .js-address-selector > .address-item,
body#checkout #checkout-addresses-step .js-address-selector > article {
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 14px !important;
  padding: 20px 18px 18px !important;
}

body.page-order #checkout-addresses-step .address-item label,
body.page-order #checkout-addresses-step .address-item .radio-block,
body.page-order #checkout-addresses-step .js-address-selector article label,
body#checkout #checkout-addresses-step .address-item label,
body#checkout #checkout-addresses-step .address-item .radio-block,
body#checkout #checkout-addresses-step .js-address-selector article label {
  display: block !important;
  grid-column: 2 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink) !important;
  font-family: var(--body) !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

body.page-order #checkout-addresses-step .address-item > input[type="radio"],
body.page-order #checkout-addresses-step .js-address-selector article > input[type="radio"],
body#checkout #checkout-addresses-step .address-item > input[type="radio"],
body#checkout #checkout-addresses-step .js-address-selector article > input[type="radio"] {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

body.page-order #checkout-addresses-step .address-item label input[type="radio"],
body.page-order #checkout-addresses-step .js-address-selector article label input[type="radio"],
body#checkout #checkout-addresses-step .address-item label input[type="radio"],
body#checkout #checkout-addresses-step .js-address-selector article label input[type="radio"] {
  float: left !important;
  margin: 2px 13px 0 0 !important;
}

body.page-order #checkout-addresses-step .address-item address,
body.page-order #checkout-addresses-step .js-address-selector article address,
body.page-order #checkout-addresses-step .address-item .address,
body#checkout #checkout-addresses-step .address-item address,
body#checkout #checkout-addresses-step .js-address-selector article address,
body#checkout #checkout-addresses-step .address-item .address {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere !important;
}

body.page-order #checkout-addresses-step .address-alias,
body.page-order #checkout-addresses-step .address-item .h4,
body.page-order #checkout-addresses-step .js-address-selector article .h4,
body#checkout #checkout-addresses-step .address-alias,
body#checkout #checkout-addresses-step .address-item .h4,
body#checkout #checkout-addresses-step .js-address-selector article .h4 {
  display: block !important;
  clear: both !important;
  margin: 0 0 11px !important;
  color: var(--dark) !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

body.page-order #checkout-addresses-step .address-footer,
body#checkout #checkout-addresses-step .address-footer {
  grid-column: 2 !important;
  margin-top: 16px !important;
}

body.page-order #checkout-addresses-step .add-address,
body#checkout #checkout-addresses-step .add-address {
  margin: 18px 0 34px !important;
}

body.page-order #checkout-addresses-step .different-invoice-address,
body.page-order #checkout-addresses-step [data-link-action="different-invoice-address"],
body.page-order #checkout-addresses-step a[href*="use_same_address"],
body.page-order #checkout-addresses-step a[href*="invoice"],
body#checkout #checkout-addresses-step .different-invoice-address,
body#checkout #checkout-addresses-step [data-link-action="different-invoice-address"],
body#checkout #checkout-addresses-step a[href*="use_same_address"],
body#checkout #checkout-addresses-step a[href*="invoice"] {
  margin-top: 0 !important;
  margin-bottom: 38px !important;
}

/* Checkout address cards: title banner and separated actions. */
body.page-order #checkout-addresses-step .address-selector > .address-item,
body.page-order #checkout-addresses-step .js-address-selector > .address-item,
body.page-order #checkout-addresses-step .js-address-selector > article,
body#checkout #checkout-addresses-step .address-selector > .address-item,
body#checkout #checkout-addresses-step .js-address-selector > .address-item,
body#checkout #checkout-addresses-step .js-address-selector > article {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  padding: 14px !important;
}

body.page-order #checkout-addresses-step .address-item label,
body.page-order #checkout-addresses-step .address-item .radio-block,
body.page-order #checkout-addresses-step .js-address-selector article label,
body#checkout #checkout-addresses-step .address-item label,
body#checkout #checkout-addresses-step .address-item .radio-block,
body#checkout #checkout-addresses-step .js-address-selector article label {
  grid-column: 1 !important;
  width: 100% !important;
  padding: 0 !important;
}

body.page-order #checkout-addresses-step .address-item label input[type="radio"],
body.page-order #checkout-addresses-step .js-address-selector article label input[type="radio"],
body.page-order #checkout-addresses-step .address-item > input[type="radio"],
body.page-order #checkout-addresses-step .js-address-selector article > input[type="radio"],
body#checkout #checkout-addresses-step .address-item label input[type="radio"],
body#checkout #checkout-addresses-step .js-address-selector article label input[type="radio"],
body#checkout #checkout-addresses-step .address-item > input[type="radio"],
body#checkout #checkout-addresses-step .js-address-selector article > input[type="radio"] {
  float: left !important;
  width: 18px !important;
  height: 18px !important;
  margin: 5px 10px 0 0 !important;
}

body.page-order #checkout-addresses-step .address-alias,
body.page-order #checkout-addresses-step .address-item .h4,
body.page-order #checkout-addresses-step .js-address-selector article .h4,
body#checkout #checkout-addresses-step .address-alias,
body#checkout #checkout-addresses-step .address-item .h4,
body#checkout #checkout-addresses-step .js-address-selector article .h4 {
  display: block !important;
  min-height: 30px !important;
  margin: -6px -6px 12px !important;
  padding: 7px 10px 7px 36px !important;
  border-radius: 8px !important;
  background: #eaf3ff !important;
  color: var(--accent) !important;
  font-family: var(--sans) !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

body.page-order #checkout-addresses-step .address-item address,
body.page-order #checkout-addresses-step .js-address-selector article address,
body.page-order #checkout-addresses-step .address-item .address,
body#checkout #checkout-addresses-step .address-item address,
body#checkout #checkout-addresses-step .js-address-selector article address,
body#checkout #checkout-addresses-step .address-item .address {
  grid-column: 1 !important;
  padding-left: 0 !important;
  color: var(--ink) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

body.page-order #checkout-addresses-step .address-footer,
body#checkout #checkout-addresses-step .address-footer {
  grid-column: 1 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
  margin: 14px 0 0 !important;
}

body.page-order #checkout-addresses-step .address-footer a,
body#checkout #checkout-addresses-step .address-footer a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 30px !important;
  padding: 0 11px !important;
  border: 1px solid #c9d7e8 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--accent) !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

body.page-order #checkout-addresses-step .address-footer a::before,
body#checkout #checkout-addresses-step .address-footer a::before {
  display: inline-block !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

body.page-order #checkout-addresses-step .address-footer a:first-child::before,
body#checkout #checkout-addresses-step .address-footer a:first-child::before {
  content: "\270E" !important;
}

body.page-order #checkout-addresses-step .address-footer a:last-child::before,
body#checkout #checkout-addresses-step .address-footer a:last-child::before {
  content: "\00D7" !important;
  font-size: 16px !important;
  font-weight: 900 !important;
}

/* Checkout address actions: keep billing toggle visually separated from add-address. */
body.page-order #checkout-addresses-step .add-address,
body#checkout #checkout-addresses-step .add-address {
  margin: 24px 0 46px !important;
}

body.page-order #checkout-addresses-step .different-invoice-address,
body.page-order #checkout-addresses-step [data-link-action="different-invoice-address"],
body.page-order #checkout-addresses-step a[href*="use_same_address"],
body.page-order #checkout-addresses-step a[href*="invoice"],
body#checkout #checkout-addresses-step .different-invoice-address,
body#checkout #checkout-addresses-step [data-link-action="different-invoice-address"],
body#checkout #checkout-addresses-step a[href*="use_same_address"],
body#checkout #checkout-addresses-step a[href*="invoice"] {
  margin-top: 8px !important;
  margin-bottom: 44px !important;
}

/* Checkout summary quantity: remove nested badge styling. */
body.page-order #js-checkout-summary .cart-summary-product__quantity,
body.page-order #js-checkout-summary .cart-summary-product__quantity *,
body#checkout #js-checkout-summary .cart-summary-product__quantity,
body#checkout #js-checkout-summary .cart-summary-product__quantity * {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ink-2) !important;
  font-family: var(--sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-transform: lowercase !important;
}

body.page-order #js-checkout-summary .cart-summary-product__quantity,
body#checkout #js-checkout-summary .cart-summary-product__quantity {
  display: block !important;
  margin-top: 6px !important;
}

/* Cart spacing cleanup: remove breadcrumb band and give title block breathing room. */
body.page-cart .breadcrumb__wrapper,
body.page-cart .breadcrumb,
body.page-cart ol.breadcrumb {
  display: none !important;
}

body.page-cart .columns-container,
body.page-cart .columns-container.container {
  padding-top: 28px !important;
}

body.page-cart .page-title-section,
body.page-cart .page-header {
  margin-bottom: 22px !important;
}

body.page-cart .fa-cart-shipping-progress {
  margin-bottom: 28px !important;
}

body.page-cart .cart-grid {
  margin-top: 0 !important;
}

/* Checkout delivery step: align stepper and make shipping method view complete. */
body.page-order:has(#checkout-delivery-step.step--current) .checkout-steps__step:nth-child(2),
body#checkout:has(#checkout-delivery-step.step--current) .checkout-steps__step:nth-child(2),
body.page-order:has(#checkout-payment-step.step--current) .checkout-steps__step:nth-child(3),
body#checkout:has(#checkout-payment-step.step--current) .checkout-steps__step:nth-child(3) {
  border-color: var(--rule) !important;
  color: var(--muted) !important;
  background: #fff !important;
}

body.page-order #checkout-delivery-step.step--current,
body#checkout #checkout-delivery-step.step--current {
  padding: 26px 24px 64px !important;
}

body.page-order #checkout-delivery-step .step__content,
body#checkout #checkout-delivery-step .step__content,
body.page-order #js-delivery,
body#checkout #js-delivery {
  display: grid !important;
  gap: 18px !important;
}

body.page-order #checkout-delivery-step .delivery-options,
body.page-order #checkout-delivery-step .delivery-options-list,
body.page-order #checkout-delivery-step .delivery-option-list,
body#checkout #checkout-delivery-step .delivery-options,
body#checkout #checkout-delivery-step .delivery-options-list,
body#checkout #checkout-delivery-step .delivery-option-list {
  display: grid !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-order #checkout-delivery-step .delivery-option,
body#checkout #checkout-delivery-step .delivery-option {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 1.5px solid var(--rule) !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
}

body.page-order #checkout-delivery-step .delivery-option:has(input:checked),
body#checkout #checkout-delivery-step .delivery-option:has(input:checked) {
  border-color: var(--accent) !important;
  background: #f5f9ff !important;
}

body.page-order #checkout-delivery-step .delivery-option input[type="radio"],
body#checkout #checkout-delivery-step .delivery-option input[type="radio"] {
  grid-column: 1 !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
}

body.page-order #checkout-delivery-step .delivery-option label,
body.page-order #checkout-delivery-step .delivery-option .carrier-name,
body.page-order #checkout-delivery-step .delivery-option .carrier-delay,
body#checkout #checkout-delivery-step .delivery-option label,
body#checkout #checkout-delivery-step .delivery-option .carrier-name,
body#checkout #checkout-delivery-step .delivery-option .carrier-delay {
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

body.page-order #checkout-delivery-step .delivery-option .carrier-delay,
body#checkout #checkout-delivery-step .delivery-option .carrier-delay {
  display: block !important;
  margin-top: 3px !important;
  color: var(--ink-2) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

body.page-order #checkout-delivery-step .delivery-option .carrier-price,
body.page-order #checkout-delivery-step .delivery-option .delivery-option-price,
body#checkout #checkout-delivery-step .delivery-option .carrier-price,
body#checkout #checkout-delivery-step .delivery-option .delivery-option-price {
  grid-column: 3 !important;
  color: var(--accent) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

body.page-order #checkout-delivery-step textarea,
body#checkout #checkout-delivery-step textarea {
  min-height: 76px !important;
  padding: 12px 14px !important;
  resize: vertical !important;
}

body.page-order #checkout-delivery-step .buttons-wrapper,
body#checkout #checkout-delivery-step .buttons-wrapper {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin-top: 8px !important;
}

body.page-order #checkout-delivery-step .buttons-wrapper .material-icons,
body.page-order #checkout-delivery-step .buttons-wrapper i,
body#checkout #checkout-delivery-step .buttons-wrapper .material-icons,
body#checkout #checkout-delivery-step .buttons-wrapper i {
  display: none !important;
}

body.page-order #checkout-delivery-step .buttons-wrapper a,
body.page-order #checkout-delivery-step .buttons-wrapper button,
body#checkout #checkout-delivery-step .buttons-wrapper a,
body#checkout #checkout-delivery-step .buttons-wrapper button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 0 22px !important;
  border-radius: 9px !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.page-order #checkout-delivery-step .buttons-wrapper a::before,
body#checkout #checkout-delivery-step .buttons-wrapper a::before {
  content: "\2039" !important;
  margin-right: 8px !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

body.page-order #checkout-delivery-step .buttons-wrapper .btn-primary::after,
body#checkout #checkout-delivery-step .buttons-wrapper .btn-primary::after {
  content: "\203A" !important;
  margin-left: 10px !important;
  font-size: 24px !important;
  line-height: 1 !important;
}

/* Product page: keep the native cart modal fully hidden until it is explicitly opened. */
body.page-product #blockcart-modal:not(.show),
body.page-product #blockcart-modal.fade:not(.show),
body.page-product #blockcart-modal[aria-hidden="true"],
body.page-product #blockcart-modal[style*="display: none"] {
  position: fixed !important;
  inset: auto !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* Product page: hide the native "cart already contains this product" info notice. */
body.page-product #notifications .alert-info.alert-dismissible {
  display: none !important;
}

@media (max-width: 640px) {
  body:not(.page-order):not(#checkout) {
    padding-top: 117px !important;
  }
}

/* Checkout payment step: aligned radios, terms and method icons. */
body.page-order #checkout-payment-step.step--current,
body#checkout #checkout-payment-step.step--current {
  padding: 26px 24px 64px !important;
}

body.page-order #checkout-payment-step .step__content,
body#checkout #checkout-payment-step .step__content,
body.page-order #checkout-payment-step .payment-options,
body#checkout #checkout-payment-step .payment-options {
  display: grid !important;
  gap: 12px !important;
}

body.page-order #checkout-payment-step .payment-option,
body#checkout #checkout-payment-step .payment-option {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  min-height: 78px !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 1.5px solid var(--rule) !important;
  border-radius: 10px !important;
  background: #fff !important;
}

body.page-order #checkout-payment-step .payment-option:has(input:checked),
body#checkout #checkout-payment-step .payment-option:has(input:checked) {
  border-color: var(--accent) !important;
  background: #f5f9ff !important;
}

body.page-order #checkout-payment-step .payment-option input[type="radio"],
body#checkout #checkout-payment-step .payment-option input[type="radio"] {
  grid-column: 1 !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
}

body.page-order #checkout-payment-step .payment-option label,
body#checkout #checkout-payment-step .payment-option label {
  grid-column: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

body.page-order #checkout-payment-step .payment-option label::before,
body#checkout #checkout-payment-step .payment-option label::before {
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  border: 1px solid #c9d7e8 !important;
  border-radius: 8px !important;
  background: #eaf3ff !important;
  color: var(--accent) !important;
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.page-order #checkout-payment-step .payment-option:nth-of-type(1) label::before,
body#checkout #checkout-payment-step .payment-option:nth-of-type(1) label::before {
  content: "\20AC" !important;
}

body.page-order #checkout-payment-step .payment-option:nth-of-type(2) label::before,
body#checkout #checkout-payment-step .payment-option:nth-of-type(2) label::before {
  content: "\2713" !important;
}

body.page-order #checkout-payment-step .payment-option:nth-of-type(3) label::before,
body#checkout #checkout-payment-step .payment-option:nth-of-type(3) label::before {
  content: "\21C4" !important;
}

body.page-order #checkout-payment-step #conditions-to-approve,
body#checkout #checkout-payment-step #conditions-to-approve {
  margin: 20px 0 28px !important;
  padding: 0 !important;
}

body.page-order #checkout-payment-step #conditions-to-approve .form-check,
body.page-order #checkout-payment-step .js-terms,
body#checkout #checkout-payment-step #conditions-to-approve .form-check,
body#checkout #checkout-payment-step .js-terms {
  display: grid !important;
  grid-template-columns: 16px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-order #checkout-payment-step #conditions-to-approve input[type="checkbox"],
body#checkout #checkout-payment-step #conditions-to-approve input[type="checkbox"] {
  grid-column: 1 !important;
  width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  margin: 3px 0 0 !important;
  padding: 0 !important;
  border-radius: 3px !important;
}

body.page-order #checkout-payment-step #conditions-to-approve label,
body#checkout #checkout-payment-step #conditions-to-approve label {
  grid-column: 2 !important;
  margin: 0 !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

body.page-order #checkout-payment-step .buttons-wrapper,
body#checkout #checkout-payment-step .buttons-wrapper {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin-top: 6px !important;
}

body.page-order #checkout-payment-step .buttons-wrapper .material-icons,
body.page-order #checkout-payment-step .buttons-wrapper i,
body#checkout #checkout-payment-step .buttons-wrapper .material-icons,
body#checkout #checkout-payment-step .buttons-wrapper i {
  display: none !important;
}

body.page-order #checkout-payment-step .buttons-wrapper a,
body.page-order #checkout-payment-step #payment-confirmation button,
body#checkout #checkout-payment-step .buttons-wrapper a,
body#checkout #checkout-payment-step #payment-confirmation button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-height: 48px !important;
  padding: 0 22px !important;
  border-radius: 9px !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.page-order #checkout-payment-step .buttons-wrapper a::before,
body#checkout #checkout-payment-step .buttons-wrapper a::before {
  content: "\2039" !important;
  margin-right: 8px !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

body.page-order #checkout-payment-step #payment-confirmation button::after,
body#checkout #checkout-payment-step #payment-confirmation button::after {
  content: "\203A" !important;
  margin-left: 10px !important;
  font-size: 24px !important;
  line-height: 1 !important;
}

/* Product header guard after hiding native cart notices. */
body.page-product .fa-literal-header {
  z-index: 1000 !important;
}

body.page-product .columns-container.container {
  padding-top: 52px !important;
}

body.page-product #notifications .alert-info.alert-dismissible {
  display: none !important;
}

/* Wishlist active icons: keep the same heart drawing and only fill it. */
#js-product-list .product-miniature__actions .wishlist-button-add.is-wishlist-active::before,
.product__accessories .product-miniature__actions .wishlist-button-add.is-wishlist-active::before,
.cb-featured-products .cb-featured-card-actions .wishlist-button-add.is-wishlist-active::before {
  content: "" !important;
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23004996' stroke='%23004996' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 1 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  font-size: 0 !important;
  line-height: 0 !important;
  -webkit-mask: none !important;
  mask: none !important;
}

.page-product .fa-product-fav.is-wishlist-active::before,
.page-product .fa-product-title-row .wishlist-button-add.is-wishlist-active::before {
  content: "" !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23004996' stroke='%23004996' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 1 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  font-size: 0 !important;
  line-height: 0 !important;
  -webkit-mask: none !important;
  mask: none !important;
}

/* Checkout saved addresses final layout. */
body.page-order #checkout-addresses-step .address-selector,
body.page-order #checkout-addresses-step .js-address-selector,
body#checkout #checkout-addresses-step .address-selector,
body#checkout #checkout-addresses-step .js-address-selector {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  margin: 18px 0 28px !important;
}

body.page-order #checkout-addresses-step .address-selector > .address-item,
body.page-order #checkout-addresses-step .js-address-selector > .address-item,
body.page-order #checkout-addresses-step .js-address-selector > article,
body#checkout #checkout-addresses-step .address-selector > .address-item,
body#checkout #checkout-addresses-step .js-address-selector > .address-item,
body#checkout #checkout-addresses-step .js-address-selector > article {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 18px 18px 16px !important;
  border: 1px solid #d7e1ee !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 16px 30px -28px rgba(16, 32, 58, .45) !important;
}

body.page-order #checkout-addresses-step .address-selector > .address-item:has(input:checked),
body.page-order #checkout-addresses-step .js-address-selector > .address-item:has(input:checked),
body.page-order #checkout-addresses-step .js-address-selector > article:has(input:checked),
body#checkout #checkout-addresses-step .address-selector > .address-item:has(input:checked),
body#checkout #checkout-addresses-step .js-address-selector > .address-item:has(input:checked),
body#checkout #checkout-addresses-step .js-address-selector > article:has(input:checked) {
  border-color: var(--accent) !important;
  background: #f4f8ff !important;
  box-shadow: 0 0 0 1px rgba(0, 73, 150, .18), 0 18px 34px -28px rgba(16, 32, 58, .55) !important;
}

body.page-order #checkout-addresses-step .address-item label,
body.page-order #checkout-addresses-step .address-item .radio-block,
body.page-order #checkout-addresses-step .js-address-selector article label,
body#checkout #checkout-addresses-step .address-item label,
body#checkout #checkout-addresses-step .address-item .radio-block,
body#checkout #checkout-addresses-step .js-address-selector article label {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink) !important;
  font-family: var(--body) !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

body.page-order #checkout-addresses-step .address-item label input[type="radio"],
body.page-order #checkout-addresses-step .js-address-selector article label input[type="radio"],
body.page-order #checkout-addresses-step .address-item > input[type="radio"],
body.page-order #checkout-addresses-step .js-address-selector article > input[type="radio"],
body#checkout #checkout-addresses-step .address-item label input[type="radio"],
body#checkout #checkout-addresses-step .js-address-selector article label input[type="radio"],
body#checkout #checkout-addresses-step .address-item > input[type="radio"],
body#checkout #checkout-addresses-step .js-address-selector article > input[type="radio"] {
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  float: none !important;
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  accent-color: var(--accent) !important;
}

body.page-order #checkout-addresses-step .address-alias,
body.page-order #checkout-addresses-step .address-item .h4,
body.page-order #checkout-addresses-step .js-address-selector article .h4,
body#checkout #checkout-addresses-step .address-alias,
body#checkout #checkout-addresses-step .address-item .h4,
body#checkout #checkout-addresses-step .js-address-selector article .h4 {
  display: block !important;
  min-height: 22px !important;
  margin: 0 0 12px !important;
  padding: 0 0 0 30px !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

body.page-order #checkout-addresses-step .address-item address,
body.page-order #checkout-addresses-step .js-address-selector article address,
body.page-order #checkout-addresses-step .address-item .address,
body#checkout #checkout-addresses-step .address-item address,
body#checkout #checkout-addresses-step .js-address-selector article address,
body#checkout #checkout-addresses-step .address-item .address {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #001f3f !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.48 !important;
  overflow-wrap: anywhere !important;
}

body.page-order #checkout-addresses-step .address-footer,
body#checkout #checkout-addresses-step .address-footer {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 14px 0 0 !important;
  padding-top: 12px !important;
  border-top: 1px solid #e5edf6 !important;
}

body.page-order #checkout-addresses-step .address-footer a,
body#checkout #checkout-addresses-step .address-footer a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  border: 1px solid #cbd9ea !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--accent) !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

body.page-order #checkout-addresses-step .add-address,
body#checkout #checkout-addresses-step .add-address {
  display: flex !important;
  justify-content: center !important;
  margin: 20px 0 24px !important;
}

body.page-order #checkout-addresses-step .add-address a,
body#checkout #checkout-addresses-step .add-address a {
  min-height: 42px !important;
  padding: 0 18px !important;
  border: 1px solid #bccbe0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.page-order #checkout-addresses-step .different-invoice-address,
body.page-order #checkout-addresses-step [data-link-action="different-invoice-address"],
body.page-order #checkout-addresses-step a[href*="use_same_address"],
body.page-order #checkout-addresses-step a[href*="invoice"],
body#checkout #checkout-addresses-step .different-invoice-address,
body#checkout #checkout-addresses-step [data-link-action="different-invoice-address"],
body#checkout #checkout-addresses-step a[href*="use_same_address"],
body#checkout #checkout-addresses-step a[href*="invoice"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 34px !important;
  margin: 0 0 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

body.page-order #checkout-addresses-step .different-invoice-address::before,
body.page-order #checkout-addresses-step [data-link-action="different-invoice-address"]::before,
body.page-order #checkout-addresses-step a[href*="use_same_address"]::before,
body.page-order #checkout-addresses-step a[href*="invoice"]::before,
body#checkout #checkout-addresses-step .different-invoice-address::before,
body#checkout #checkout-addresses-step [data-link-action="different-invoice-address"]::before,
body#checkout #checkout-addresses-step a[href*="use_same_address"]::before,
body#checkout #checkout-addresses-step a[href*="invoice"]::before {
  content: "" !important;
  display: block !important;
  width: 11px !important;
  height: 11px !important;
  flex: 0 0 11px !important;
  border: 1px solid #53657b !important;
  border-radius: 50% !important;
  background: #fff !important;
}

@media (max-width: 767px) {
  body.page-order #checkout-addresses-step .address-selector,
  body.page-order #checkout-addresses-step .js-address-selector,
  body#checkout #checkout-addresses-step .address-selector,
  body#checkout #checkout-addresses-step .js-address-selector {
    grid-template-columns: 1fr !important;
  }
}

/* Header/search final parity: checkout must reserve the same mobile height as the home/header stack. */
@media (max-width: 640px) {
  body.page-order,
  body#checkout {
    padding-top: 97px !important;
  }

  body.page-order .fa-literal-header,
  body#checkout .fa-literal-header,
  body.page-order .fa-literal-header:not(.fa-literal-header--checkout),
  body#checkout .fa-literal-header:not(.fa-literal-header--checkout) {
    height: auto !important;
    overflow: visible !important;
  }

  body.page-order .fa-literal-header .fa-header-search,
  body#checkout .fa-literal-header .fa-header-search {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
  }
}

body:not(.page-order):not(#checkout) {
  padding-top: 195px !important;
}

body:not(.page-order):not(#checkout) .fa-literal-header {
  height: auto !important;
  overflow: visible !important;
}

body:not(.page-order):not(#checkout) .fa-literal-header > .sentence-random-container {
  display: block !important;
}

body:not(.page-order):not(#checkout) .sentence-random-container .cip-sentence-bar {
  display: flex !important;
}

@media (max-width: 980px) and (min-width: 641px) {
  body:not(.page-order):not(#checkout) {
    padding-top: 224px !important;
  }
}

@media (max-width: 640px) {
  body:not(.page-order):not(#checkout) {
    padding-top: 97px !important;
  }
}

/* Mobile header: remove hardcoded top strip and keep the module sentence visible. */
@media (max-width: 640px) {
  .fa-literal-header > div:first-child,
  body.page-order .fa-literal-header > div:first-child,
  body#checkout .fa-literal-header > div:first-child {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .fa-mobile-free-shipping {
    display: none !important;
  }

  .fa-literal-header > .sentence-random-container,
  body:not(.page-order):not(#checkout) .fa-literal-header > .sentence-random-container,
  body.page-order .fa-literal-header > .sentence-random-container,
  body#checkout .fa-literal-header > .sentence-random-container {
    display: block !important;
    height: 44px !important;
    min-height: 44px !important;
    overflow: hidden !important;
    background: #004996 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .fa-literal-header > .sentence-random-container .cip-sentence-bar {
    display: flex !important;
    background: #004996 !important;
    color: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .fa-literal-header > .sentence-random-container .cip-sentence:first-child,
  .fa-literal-header > .sentence-random-container .cip-sentence.is-active {
    color: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .fa-literal-header > .sentence-random-container .cip-sentence {
    padding-right: 0 !important;
    padding-left: 0 !important;
    white-space: nowrap !important;
  }

  .fa-literal-header > .sentence-random-container .cip-sentence-track {
    opacity: 1 !important;
    visibility: visible !important;
  }
}

/* Product cards: remove empty quick-view circles from listing cards. */
.page-new-products #js-product-list .product-miniature__quickview-button,
.page-new-products #js-product-list .product-miniature__quickview-touch,
.page-prices-drop #js-product-list .product-miniature__quickview-button,
.page-prices-drop #js-product-list .product-miniature__quickview-touch,
.page-category #js-product-list .product-miniature__quickview-button,
.page-category #js-product-list .product-miniature__quickview-touch {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Product cards final layout: give prices and actions their own rows. */
.page-new-products #js-product-list .product-miniature__bottom,
.page-prices-drop #js-product-list .product-miniature__bottom,
.page-category #js-product-list .product-miniature__bottom {
  padding: 14px 16px 16px !important;
}

.page-new-products #js-product-list .product-miniature__prices,
.page-prices-drop #js-product-list .product-miniature__prices,
.page-category #js-product-list .product-miniature__prices {
  position: static !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  grid-template-columns: minmax(72px, 1.1fr) minmax(56px, .9fr) minmax(70px, 1fr) !important;
  column-gap: 10px !important;
  align-items: end !important;
  margin-top: auto !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--rule) !important;
}

.page-new-products #js-product-list .product-miniature__price-item,
.page-prices-drop #js-product-list .product-miniature__price-item,
.page-category #js-product-list .product-miniature__price-item {
  min-width: 0 !important;
  padding: 0 !important;
  border-left: 0 !important;
}

.page-new-products #js-product-list .product-miniature__price,
.page-prices-drop #js-product-list .product-miniature__price,
.page-category #js-product-list .product-miniature__price {
  white-space: nowrap !important;
}

.page-new-products #js-product-list .product-miniature__regular-price,
.page-new-products #js-product-list .product-flag.discount,
.page-prices-drop #js-product-list .product-miniature__regular-price,
.page-prices-drop #js-product-list .product-flag.discount,
.page-category #js-product-list .product-miniature__regular-price,
.page-category #js-product-list .product-flag.discount {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.page-new-products #js-product-list .product-miniature__actions,
.page-prices-drop #js-product-list .product-miniature__actions,
.page-category #js-product-list .product-miniature__actions {
  position: static !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  flex: 0 0 auto !important;
  justify-content: flex-end !important;
  margin-top: 12px !important;
}

/* Product cards: keep only the wishlist button in the action row, not over the image. */
.page-new-products #js-product-list .product-miniature__image-container > .wishlist-button-add,
.page-new-products #js-product-list .thumbnail-container > .wishlist-button-add,
.page-prices-drop #js-product-list .product-miniature__image-container > .wishlist-button-add,
.page-prices-drop #js-product-list .thumbnail-container > .wishlist-button-add,
.page-category #js-product-list .product-miniature__image-container > .wishlist-button-add,
.page-category #js-product-list .thumbnail-container > .wishlist-button-add {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Header utility bar: keep phone, WhatsApp, address and email visible on desktop. */
@media (min-width: 641px) {
  body:not(.page-order):not(#checkout) .fa-literal-header > div:first-child {
    display: block !important;
    height: auto !important;
    min-height: 32px !important;
    overflow: visible !important;
  }

  body:not(.page-order):not(#checkout) .fa-literal-header > div:first-child .fa-top-inner,
  body:not(.page-order):not(#checkout) .fa-literal-header > div:first-child .fa-top-inner > div {
    display: flex !important;
    visibility: visible !important;
  }
}

/* Product cards: narrow listings need two price rows so discounts do not overflow. */
@media (max-width: 640px) {
  .page-new-products #js-product-list .product-miniature__prices,
  .page-prices-drop #js-product-list .product-miniature__prices,
  .page-category #js-product-list .product-miniature__prices {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    row-gap: 8px !important;
    column-gap: 12px !important;
  }

  .page-new-products #js-product-list .product-miniature__price-item--current,
  .page-prices-drop #js-product-list .product-miniature__price-item--current,
  .page-category #js-product-list .product-miniature__price-item--current {
    grid-column: 1 / -1 !important;
  }

  .page-new-products #js-product-list .product-miniature__price-item--regular,
  .page-new-products #js-product-list .product-miniature__price-item--discount,
  .page-prices-drop #js-product-list .product-miniature__price-item--regular,
  .page-prices-drop #js-product-list .product-miniature__price-item--discount,
  .page-category #js-product-list .product-miniature__price-item--regular,
  .page-category #js-product-list .product-miniature__price-item--discount {
    width: auto !important;
    min-width: 0 !important;
  }
}

/* Mobile final guard: keep the real utility contact bar visible and remove only the fake hardcoded strip. */
@media (max-width: 640px) {
  body .fa-literal-header > div:first-child {
    display: block !important;
    height: auto !important;
    min-height: 28px !important;
    max-height: none !important;
    overflow: visible !important;
    background: var(--dark) !important;
    color: #fff !important;
  }

  body .fa-literal-header > div:first-child .fa-top-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 28px !important;
    padding: 6px 10px !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  body .fa-literal-header > div:first-child .fa-top-inner::-webkit-scrollbar {
    display: none;
  }

  body .fa-literal-header > div:first-child .fa-top-inner > div {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 12px !important;
  }

  body .fa-literal-header > div:first-child .fa-top-inner > div:first-child {
    display: flex !important;
    visibility: visible !important;
  }

  body .fa-literal-header > div:first-child .fa-top-inner > div:last-child {
    display: none !important;
  }

  body .fa-literal-header > div:first-child a,
  body .fa-literal-header > div:first-child span {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    color: inherit !important;
    opacity: 1 !important;
    white-space: nowrap !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 420px) {
  body .fa-literal-header > div:first-child .fa-top-inner {
    padding-right: 8px !important;
    padding-left: 8px !important;
  }

  body .fa-literal-header > div:first-child .fa-top-inner > div {
    gap: 10px !important;
  }

  body .fa-literal-header > div:first-child a,
  body .fa-literal-header > div:first-child span {
    font-size: 10px !important;
  }
}

/* Breadcrumb breathing room below the fixed header/sentence bar. */
body:not(.page-cart):not(.page-order):not(#checkout) .breadcrumb__wrapper {
  position: relative !important;
  top: 35px !important;
  margin-bottom: 35px !important;
}

@media (max-width: 640px) {
  body:not(.page-cart):not(.page-order):not(#checkout) .breadcrumb__wrapper {
    top: 42px !important;
    margin-bottom: 42px !important;
  }
}

/* Mobile header compact spacing: reduce the gap perceived between the utility bar and logo/menu row. */
@media (max-width: 640px) {
  body:not(.page-order):not(#checkout),
  body.page-order,
  body#checkout {
    padding-top: 97px !important;
  }

  body .fa-literal-header {
    height: 97px !important;
    overflow: visible !important;
  }

  body .fa-literal-header > div:first-child {
    min-height: 20px !important;
    height: 20px !important;
    overflow: hidden !important;
  }

  body .fa-literal-header > div:first-child .fa-top-inner {
    min-height: 20px !important;
    height: 20px !important;
    padding: 2px 8px !important;
  }

  body .fa-literal-header > div:first-child a,
  body .fa-literal-header > div:first-child span {
    font-size: 9.5px !important;
    line-height: 1.1 !important;
  }

  body .fa-header-main {
    min-height: 42px !important;
    height: 42px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  body .fa-header-logo {
    height: 30px !important;
  }

  body .fa-mobile-menu-trigger,
  body .fa-header-main > div:last-child > a:last-child {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
  }

  body .fa-header-search {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
  }

  body .fa-literal-header > .sentence-random-container,
  body:not(.page-order):not(#checkout) .fa-literal-header > .sentence-random-container,
  body.page-order .fa-literal-header > .sentence-random-container,
  body#checkout .fa-literal-header > .sentence-random-container {
    height: 35px !important;
    min-height: 35px !important;
  }

  body .fa-literal-header > .sentence-random-container .cip-sentence-bar .cip-sentence-bar-inner {
    min-height: 35px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  body .fa-mobile-menu-panel,
  body .fa-mobile-menu-backdrop {
    top: var(--fa-mobile-menu-top, 97px) !important;
  }
}

/* Mobile header search: the compact icon expands into a real input on tap. */
@media (max-width: 640px) {
  body .fa-header-main {
    position: relative !important;
  }

  body .fa-header-search.is-search-open {
    position: fixed !important;
    top: 24px !important;
    right: 18px !important;
    left: 18px !important;
    z-index: 220 !important;
    box-sizing: border-box !important;
    width: calc(100vw - 36px) !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 34px !important;
    flex-basis: auto !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1.5px solid var(--rule-2) !important;
    border-radius: 8px !important;
    background: var(--paper-2) !important;
    box-shadow: 0 14px 30px -22px rgba(16, 32, 58, .55);
  }

  body .fa-header-search.is-search-open input[type="search"],
  body .fa-header-search.is-search-open input {
    position: static !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    height: 100% !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
  }

  body .fa-header-search.is-search-open .fa-search-suggest {
    top: calc(100% + 8px) !important;
    right: 0 !important;
    left: 0 !important;
    width: auto !important;
    max-width: none !important;
  }
}

/* Sentence random guard: never let the first sentence overlap the active one. */
.sentence-random-container .cip-sentence-bar:not(.is-ticker) .cip-sentence {
  opacity: 0 !important;
  visibility: hidden !important;
}

.sentence-random-container .cip-sentence-bar:not(.is-ticker) .cip-sentence.is-active {
  opacity: 1 !important;
  visibility: visible !important;
}

.sentence-random-container .cip-sentence-bar.is-ticker .cip-sentence {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.sentence-random-container .cip-sentence-bar.is-ticker .cip-sentence-track,
.sentence-random-container .cip-sentence-bar.is-ticker .cip-sentence-track .tick-item,
.sentence-random-container .cip-sentence-bar.is-ticker .cip-sentence-track .tick-sep {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Home proof strip: desktop composition with icon beside both headings. */
@media (min-width: 1024px) {
  .fa-proof-grid > div {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    column-gap: 14px;
    align-items: center;
  }

  .fa-proof-grid > div > div:first-child {
    grid-column: 1;
    grid-row: 1 / 3;
    margin-bottom: 0 !important;
  }

  .fa-proof-grid > div > div:nth-child(2),
  .fa-proof-grid > div > div:nth-child(3) {
    grid-column: 2;
    margin-bottom: 0 !important;
  }

  .fa-proof-grid > div > div:nth-child(2) {
    align-self: end;
    padding-bottom: 6px;
  }

  .fa-proof-grid > div > div:nth-child(3) {
    align-self: start;
  }

  .fa-proof-grid > div > div:nth-child(4) {
    grid-column: 1 / -1;
    margin-top: 14px;
  }
}

/* Global pagination: replace broken Material Icons arrows with text-safe glyphs. */
.pagination {
  align-items: center !important;
  gap: 10px !important;
}

.pagination .page-item {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
}

.pagination .page-link,
.pagination button.page-link,
.pagination a.page-link,
.pagination span.page-link {
  min-width: 38px !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 0 12px !important;
  border: 1px solid var(--rule) !important;
  border-radius: 8px !important;
  background: #f5f7fa !important;
  color: var(--ink-2) !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.pagination .page-link .material-icons,
.pagination .page-link .rtl-flip {
  display: none !important;
}

.pagination .page-link.previous span,
.pagination .page-link.next span {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 1 !important;
}

.pagination .page-link.previous::before,
.pagination .page-link.next::after {
  display: inline-block;
  color: currentColor;
  font-family: var(--sans) !important;
  font-size: 19px;
  font-weight: 800;
  line-height: 1;
  transform: translateY(-1px);
}

.pagination .page-link.previous::before {
  content: "\2039";
}

.pagination .page-link.next::after {
  content: "\203A";
}

.pagination .page-item.active .page-link,
.pagination .page-link.current,
.pagination .current,
.pagination .active .page-link,
.pagination .page-list .current {
  border-color: var(--accent) !important;
  background: var(--accent) !important;
  color: var(--accent-ink) !important;
}

.pagination .page-item.disabled .page-link,
.pagination .page-link.disabled,
.pagination .page-link[disabled] {
  cursor: default !important;
  opacity: 0.78 !important;
}

@media (max-width: 480px) {
  .pagination {
    gap: 6px !important;
  }

  .pagination .page-link,
  .pagination button.page-link,
  .pagination a.page-link,
  .pagination span.page-link {
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 9px !important;
    font-size: 12px !important;
  }
}

/* Account pages final pass: horizontal two-row navigation and Fallero styling. */
body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .columns-container {
  max-width: 1280px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 32px 32px 78px !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) :is(.breadcrumb, ol.breadcrumb, .breadcrumb__wrapper) {
  display: none !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .columns-container > .row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 22px !important;
  align-items: start !important;
  margin: 0 !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) :is(.columns-container > .row > [class*="col-"], .center-column) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  flex: none !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .left-column {
  order: -1 !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .account-menu {
  position: static !important;
  top: auto !important;
  overflow: visible !important;
  border: 1px solid var(--rule) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 18px 42px -34px rgba(16, 32, 58, .45) !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .account-menu__title {
  margin: 0 !important;
  padding: 18px 20px 14px !important;
  border-bottom: 1px solid var(--rule) !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .account-menu__nav {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  padding: 12px !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) :is(.account-menu__link, .account-menu__nav > a) {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  min-width: 0 !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  color: var(--ink) !important;
  background: transparent !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .account-menu__nav > a .link-item {
  display: contents !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .account-menu :is(.account-menu__icon, .material-icons, i) {
  display: grid !important;
  width: 34px !important;
  height: 34px !important;
  place-items: center !important;
  border-radius: 9px !important;
  color: var(--accent) !important;
  background: var(--paper-2) !important;
  font-family: "Material Icons", "Material Symbols Outlined", sans-serif !important;
  font-size: 18px !important;
  font-style: normal !important;
  font-weight: normal !important;
  line-height: 1 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  word-wrap: normal !important;
  -webkit-font-feature-settings: "liga" !important;
  -webkit-font-smoothing: antialiased !important;
  font-feature-settings: "liga" !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) :is(
  .account-menu__link:hover,
  .account-menu__link--active,
  .account-menu__link[aria-current="page"],
  .account-menu__nav > a:hover
) {
  color: var(--accent) !important;
  background: var(--paper-2) !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .account-menu__link--signout {
  margin-top: 0 !important;
  border-top: 0 !important;
  border-radius: 10px !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .page-header {
  margin: 0 0 14px !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .page-title-section {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .page-title-section::before {
  display: none !important;
  content: none !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) :is(.page-content, .page-content--customer) {
  display: grid !important;
  gap: 18px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid var(--rule) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 18px 42px -34px rgba(16, 32, 58, .5) !important;
}

body.page-my-account :is(.page-header, .page-title-section, .account-menu__back) {
  display: none !important;
}

body.page-my-account .page-content {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 980px) {
  body:is(
    .page-customer-account,
    .page-my-account,
    .page-identity,
    .page-addresses,
    .page-address,
    .page-history,
    .page-order-slip,
    .page-discount,
    .page-order-follow,
    #module-ps_emailalerts-account,
    #module-psgdpr-gdpr,
    #module-blockwishlist-lists
  ) .account-menu__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  body:is(
    .page-customer-account,
    .page-my-account,
    .page-identity,
    .page-addresses,
    .page-address,
    .page-history,
    .page-order-slip,
    .page-discount,
    .page-order-follow,
    #module-ps_emailalerts-account,
    #module-psgdpr-gdpr,
    #module-blockwishlist-lists
  ) .columns-container {
    padding: 20px 18px 56px !important;
  }

  body:is(
    .page-customer-account,
    .page-my-account,
    .page-identity,
    .page-addresses,
    .page-address,
    .page-history,
    .page-order-slip,
    .page-discount,
    .page-order-follow,
    #module-ps_emailalerts-account,
    #module-psgdpr-gdpr,
    #module-blockwishlist-lists
  ) .account-menu__nav {
    grid-template-columns: 1fr !important;
  }

  body:is(
    .page-customer-account,
    .page-my-account,
    .page-identity,
    .page-addresses,
    .page-address,
    .page-history,
    .page-order-slip,
    .page-discount,
    .page-order-follow,
    #module-ps_emailalerts-account,
    #module-psgdpr-gdpr,
    #module-blockwishlist-lists
  ) :is(.page-content, .page-content--customer) {
    padding: 20px !important;
  }
}

/* Account pages polish: pill navigation, CSS icons and address cards. */
body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .columns-container {
  padding-top: 54px !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .account-menu {
  margin-bottom: 6px !important;
  padding: 10px !important;
  border: 1px solid var(--rule) !important;
  border-radius: 16px !important;
  background: var(--paper-2) !important;
  box-shadow: none !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .account-menu__title {
  display: none !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .account-menu__nav {
  gap: 10px !important;
  padding: 0 !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) :is(.account-menu__link, .account-menu__nav > a) {
  grid-template-columns: 28px minmax(0, 1fr) !important;
  min-height: 46px !important;
  padding: 9px 13px !important;
  border: 1px solid var(--rule) !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 10px 24px -22px rgba(16, 32, 58, .55) !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) :is(.account-menu__link:hover, .account-menu__link--active, .account-menu__link[aria-current="page"], .account-menu__nav > a:hover) {
  border-color: rgba(0, 73, 150, .26) !important;
  color: var(--accent) !important;
  background: #fff !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) :is(.account-menu__link--active, .account-menu__link[aria-current="page"]) {
  color: #fff !important;
  background: var(--accent) !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .account-menu :is(.account-menu__icon, .material-icons, i) {
  position: relative !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  color: var(--accent) !important;
  background: rgba(0, 73, 150, .08) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) :is(.account-menu__link--active, .account-menu__link[aria-current="page"]) :is(.account-menu__icon, .material-icons, i) {
  color: #fff !important;
  background: rgba(255, 255, 255, .18) !important;
}

body:is(
  .page-customer-account,
  .page-my-account,
  .page-identity,
  .page-addresses,
  .page-address,
  .page-history,
  .page-order-slip,
  .page-discount,
  .page-order-follow,
  #module-ps_emailalerts-account,
  #module-psgdpr-gdpr,
  #module-blockwishlist-lists
) .account-menu :is(.account-menu__icon, .material-icons, i)::before {
  content: "" !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  background: currentColor !important;
  -webkit-mask: var(--fa-account-icon, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E")) center / contain no-repeat !important;
  mask: var(--fa-account-icon, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E")) center / contain no-repeat !important;
}

.account-menu #identity_link .account-menu__icon,
.account-menu #psgdpr_link .account-menu__icon {
  --fa-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

.account-menu #address_link .account-menu__icon,
.account-menu #addresses_link .account-menu__icon {
  --fa-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s7-5 7-12a7 7 0 1 0-14 0c0 7 7 12 7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E");
}

.account-menu #history_link .account-menu__icon {
  --fa-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h12l1 18H5L6 3z'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4'/%3E%3C/svg%3E");
}

.account-menu #order-slips_link .account-menu__icon {
  --fa-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h8l4 4v14H7z'/%3E%3Cpath d='M15 3v5h5M10 13h7M10 17h5'/%3E%3C/svg%3E");
}

.account-menu #emailalerts_link .account-menu__icon {
  --fa-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9'/%3E%3Cpath d='M10 21h4'/%3E%3C/svg%3E");
}

.account-menu #wishlist_link .account-menu__icon {
  --fa-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M12 21l-7-7a4.5 4.5 0 0 1 6.4-6.4l.6.6.6-.6A4.5 4.5 0 0 1 19 14l-7 7z'/%3E%3C/svg%3E");
}

.account-menu #signout_link .account-menu__icon {
  --fa-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpath d='M16 17l5-5-5-5M21 12H9'/%3E%3C/svg%3E");
}

body:is(.page-addresses, .page-address, .page-customer-account) .addresses {
  min-width: 0 !important;
}

body:is(.page-addresses, .page-address, .page-customer-account) .addresses__list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:is(.page-addresses, .page-address, .page-customer-account) .address-card {
  display: block !important;
  min-width: 0 !important;
  min-height: 220px !important;
  overflow: hidden !important;
  border: 1px solid var(--rule) !important;
  border-radius: 14px !important;
  color: var(--ink) !important;
  background: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 14px 34px -30px rgba(16, 32, 58, .48) !important;
}

body:is(.page-addresses, .page-address, .page-customer-account) .address-card__container {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  gap: 14px !important;
  height: 100% !important;
  min-height: 220px !important;
  padding: 20px !important;
}

body:is(.page-addresses, .page-address, .page-customer-account) .address-card__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--rule) !important;
}

body:is(.page-addresses, .page-address, .page-customer-account) .address-card__alias {
  color: var(--dark) !important;
  font-family: var(--sans) !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

body:is(.page-addresses, .page-address, .page-customer-account) .address-card__content {
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--ink-2) !important;
  font-size: 14px !important;
  font-style: normal !important;
  line-height: 1.58 !important;
  overflow-wrap: anywhere !important;
}

body:is(.page-addresses, .page-address, .page-customer-account) .address-card__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--rule) !important;
}

body:is(.page-addresses, .page-address, .page-customer-account) :is(.address-card__edit, .address-card__delete, .address-card__actions a) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border: 1px solid var(--rule) !important;
  border-radius: 999px !important;
  color: var(--accent) !important;
  background: var(--paper-2) !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body:is(.page-addresses, .page-address, .page-customer-account) .address-card__delete {
  color: #9f1d1d !important;
  background: #fff4f4 !important;
}

body:is(.page-addresses, .page-address, .page-customer-account) .address-card--add-address {
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 12px !important;
  min-height: 220px !important;
  padding: 24px !important;
  border-style: dashed !important;
  color: var(--accent) !important;
  background: linear-gradient(180deg, #fff, var(--paper-2)) !important;
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-align: center !important;
}

body:is(.page-addresses, .page-address, .page-customer-account) .address-card__add-icon {
  position: relative !important;
  display: grid !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  place-items: center !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: var(--accent) !important;
  font-size: 0 !important;
}

body:is(.page-addresses, .page-address, .page-customer-account) .address-card__add-icon i {
  display: none !important;
}

body:is(.page-addresses, .page-address, .page-customer-account) .address-card__add-icon::before,
body:is(.page-addresses, .page-address, .page-customer-account) .address-card__add-icon::after {
  content: "" !important;
  position: absolute !important;
  width: 18px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: currentColor !important;
}

body:is(.page-addresses, .page-address, .page-customer-account) .address-card__add-icon::after {
  transform: rotate(90deg) !important;
}

@media (max-width: 760px) {
  body:is(.page-addresses, .page-address, .page-customer-account) .addresses__list {
    grid-template-columns: 1fr !important;
  }
}

/* Final mobile guard for the current simple sentence-random markup. */
@media (max-width: 640px) {
  html body .fa-literal-header > .sentence-random-container {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 35px !important;
    min-height: 35px !important;
    overflow: hidden !important;
    background: #004996 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body .fa-literal-header > .sentence-random-container .cip-sentence-bar {
    display: flex !important;
    width: 100% !important;
    height: 35px !important;
    min-height: 35px !important;
    align-items: center !important;
    justify-content: center !important;
    background: #004996 !important;
    color: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body .fa-literal-header > .sentence-random-container .cip-sentence-bar-inner {
    display: block !important;
    width: 100% !important;
    min-height: 35px !important;
    padding: 7px 18px !important;
    overflow: hidden !important;
  }

  html body .fa-literal-header > .sentence-random-container .cip-sentence-current {
    display: block !important;
    width: 100% !important;
    color: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

/* iOS/WebKit: isolate the message bar from the fixed + sticky header stack. */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 640px) {
    html body .fa-literal-header > .sentence-random-container {
      position: fixed !important;
      top: 63px !important;
      right: 0 !important;
      left: 0 !important;
      z-index: 2147483646 !important;
      width: 100vw !important;
      height: 35px !important;
      min-height: 35px !important;
      -webkit-transform: translateZ(0) !important;
      transform: translateZ(0) !important;
      -webkit-backface-visibility: hidden !important;
      backface-visibility: hidden !important;
    }

    html body .fa-literal-header > .sentence-random-container .cip-sentence-bar {
      position: absolute !important;
      inset: 0 !important;
      z-index: 1 !important;
    }
  }
}

/* Navigation layers: dropdowns and the mobile drawer must stay above the sentence bar. */
.fa-literal-header > header {
  position: relative;
  z-index: 210 !important;
}

.fa-literal-header > .fa-nav {
  z-index: 220 !important;
}

.fa-literal-header > .sentence-random-container {
  z-index: 120 !important;
}

/* Cabecera compacta: navegación mediante menú, acciones por icono y buscador completo. */
.fa-literal-header .fa-header-main {
  display: grid !important;
  grid-template-columns: 42px auto minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  max-width: none !important;
  gap: 10px 14px !important;
  padding: 10px 32px 12px !important;
}

.fa-literal-header .fa-mobile-menu {
  display: block !important;
  grid-column: 1;
  grid-row: 1;
}

.fa-literal-header .fa-header-main > a {
  grid-column: 2;
  grid-row: 1;
}

.fa-literal-header .fa-header-logo {
  width: auto !important;
  height: 38px !important;
}

.fa-literal-header .fa-header-main > div:last-child {
  display: flex !important;
  grid-column: 4;
  grid-row: 1;
  justify-self: end;
  gap: 2px !important;
}

.fa-literal-header .fa-header-main > div:last-child > a {
  width: 38px;
  height: 38px;
  justify-content: center;
  padding: 0 !important;
}

.fa-literal-header .fa-header-action-text {
  display: none !important;
}

.fa-literal-header .fa-header-search {
  grid-column: 1 / -1;
  grid-row: 2;
  order: initial !important;
  width: 100% !important;
  max-width: none !important;
  height: 44px !important;
  margin: 0 !important;
}

.fa-literal-header .fa-nav {
  display: none !important;
}

body {
  padding-top: 120px !important;
}

@media (max-width: 640px) {
  .fa-literal-header .fa-header-main {
    grid-template-columns: 38px minmax(0, 1fr) auto !important;
    gap: 8px 10px !important;
    padding: 8px 16px 10px !important;
  }

  .fa-literal-header .fa-header-main > a {
    min-width: 0;
  }

  .fa-literal-header .fa-header-logo {
    width: auto !important;
    height: 32px !important;
    max-width: 148px;
  }

  .fa-literal-header .fa-header-main > div:last-child {
    grid-column: 3;
  }

  .fa-literal-header .fa-header-main > div:last-child > a {
    display: flex !important;
    width: 32px;
    min-width: 32px;
    height: 32px;
  }

  .fa-literal-header .fa-header-search {
    position: static !important;
    display: flex !important;
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 40px !important;
    flex-basis: auto !important;
    justify-content: flex-start !important;
    padding: 0 12px !important;
    border: 1.5px solid var(--rule-2) !important;
    border-radius: 8px !important;
    background: var(--paper-2) !important;
  }

  .fa-literal-header .fa-header-search input,
  .fa-literal-header .fa-header-search input[type="search"] {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: 100% !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
  }

  body {
    padding-top: 112px !important;
  }
}

@media (max-width: 640px) {
  .fa-literal-header > header {
    z-index: 220 !important;
  }
}

/* WhatsApp: leave a little more green around the fixed 29px icon on mobile. */
@media (max-width: 767px) {
  .celebrandwab-button {
    --celebrandwab-size: calc(var(--celebrandwab-mobile-size, 50) * 1.28px);
  }

  .celebrandwab-icon-wrap {
    overflow: hidden;
  }

  .celebrandwab-icon-wrap img {
    width: 26px;
    height: 26px;
  }
}

/* Desktop final: menú horizontal; hamburguesa únicamente en móvil. */
@media (min-width: 641px) {
  /* La franja de contactos no se muestra en escritorio ni reserva una linea vacia. */
  html body .fa-literal-header > div:first-child {
    display: none !important;
  }

  html body .fa-literal-header .fa-mobile-menu {
    display: none !important;
  }

  html body .fa-literal-header .fa-header-main {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  }

  html body .fa-literal-header .fa-header-main > a {
    grid-column: 1 !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child {
    grid-column: 3 !important;
  }

  html body .fa-literal-header .fa-nav {
    display: block !important;
  }

  html body {
    padding-top: 116px !important;
  }
}

/* Final mobile override: remove the upper blue utility strip. */
@media (min-width: 641px) {
  html body .fa-literal-header .fa-header-logo {
    height: 64px !important;
    width: auto !important;
    max-width: none !important;
  }
}

@media (max-width: 640px) {
  html body .fa-literal-header > div:first-child {
    display: none !important;
  }

  html body .fa-literal-header {
    height: 110px !important;
  }

  html body,
  html body:not(.page-order):not(#checkout),
  html body.page-order,
  html body#checkout {
    padding-top: 110px !important;
  }

  html body .fa-mobile-menu-panel,
  html body .fa-mobile-menu-backdrop {
    top: var(--fa-mobile-menu-top, 110px) !important;
  }
}

/* Final mobile action order: account, wishlist and cart, aligned to the right. */
@media (max-width: 640px) {
  html body .fa-literal-header .fa-header-logo {
    height: 38px !important;
    max-width: none !important;
  }

  html body .fa-literal-header .fa-header-main {
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
  }

  html body .fa-literal-header .fa-header-search {
    position: relative !important;
    display: flex !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 40px !important;
    flex-basis: auto !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1.5px solid var(--rule-2) !important;
    border-radius: 8px !important;
    background: var(--paper-2) !important;
  }

  html body .fa-literal-header .fa-header-search input,
  html body .fa-literal-header .fa-header-search input[type="search"] {
    position: static !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    height: 100% !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
  }

  html body .fa-literal-header .fa-header-search .fa-search-suggest {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    left: 0 !important;
    width: auto !important;
    max-width: none !important;
    z-index: 200 !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child {
    display: flex !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    gap: 0 !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child > a,
  html body .fa-literal-header .fa-header-main > div:last-child > a:first-child,
  html body .fa-literal-header .fa-header-main > div:last-child > a:nth-child(2),
  html body .fa-literal-header .fa-header-main > div:last-child > a:last-child {
    display: flex !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    justify-content: center !important;
  }
}

/* El buscador desplegado debe conservar una superficie opaca al desplazarse. */
@media (max-width: 640px) {
  html body .fa-header-search.is-search-open {
    background: #fff !important;
  }
}

/* La burbuja de favoritos necesita aire antes del siguiente icono. */
@media (max-width: 640px) {
  html body .fa-literal-header .fa-header-main > div:last-child {
    gap: 8px !important;
  }
}

/* La cabecera móvil mide exactamente sus dos filas; no reserva una franja vacía. */
@media (max-width: 640px) {
  html body .fa-literal-header {
    height: 82px !important;
  }

  html body,
  html body:not(.page-order):not(#checkout),
  html body.page-order,
  html body#checkout {
    padding-top: 82px !important;
  }

  html body .fa-mobile-menu-panel,
  html body .fa-mobile-menu-backdrop {
    top: var(--fa-mobile-menu-top, 82px) !important;
  }
}

/* Breadcrumb de catálogo: compacto y secundario, sin crear una banda visual. */
body.page-category .breadcrumb__wrapper {
  top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
  background: transparent !important;
  border-bottom: 1px solid rgba(27, 42, 78, .08);
}

body.page-category .breadcrumb,
body.page-category ol.breadcrumb {
  gap: 6px !important;
  margin: 0 !important;
  color: var(--muted) !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}

body.page-category .breadcrumb a {
  color: var(--muted) !important;
  font-weight: 500 !important;
}

body.page-category .breadcrumb-item:last-child {
  color: var(--ink-2) !important;
  font-weight: 700 !important;
}

@media (max-width: 640px) {
  body.page-category .breadcrumb__wrapper {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
}

/* Iguala la especificidad de la antigua regla de separación del breadcrumb. */
body.page-category:not(.page-cart):not(.page-order):not(#checkout) .breadcrumb__wrapper {
  top: 0 !important;
  margin-bottom: 0 !important;
}

/* La cabecera móvil reserva exactamente sus dos filas visibles, sin banda sobrante. */
@media (max-width: 640px) {
  html body .fa-literal-header {
    height: 85px !important;
  }

  html body,
  html body:not(.page-order):not(#checkout),
  html body.page-order,
  html body#checkout {
    padding-top: 85px !important;
  }

  html body .fa-mobile-menu-panel,
  html body .fa-mobile-menu-backdrop {
    top: var(--fa-mobile-menu-top, 85px) !important;
  }
}

/* Las rutas profundas de catálogo no se parten en varias líneas en móvil. */
@media (max-width: 767px) {
  body.page-product .breadcrumb,
  body.page-product ol.breadcrumb,
  body.page-category .breadcrumb,
  body.page-category ol.breadcrumb,
  body.page-new-products .breadcrumb,
  body.page-prices-drop .breadcrumb {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body.page-product .breadcrumb::-webkit-scrollbar,
  body.page-category .breadcrumb::-webkit-scrollbar,
  body.page-new-products .breadcrumb::-webkit-scrollbar,
  body.page-prices-drop .breadcrumb::-webkit-scrollbar {
    display: none;
  }

  body.page-product .breadcrumb-item,
  body.page-category .breadcrumb-item,
  body.page-new-products .breadcrumb-item,
  body.page-prices-drop .breadcrumb-item {
    flex: 0 0 auto;
  }
}

/* Anula el margen de cabecera solo en fichas de producto. */
body.page-product:not(.page-cart):not(.page-order):not(#checkout) .breadcrumb__wrapper {
  top: 0 !important;
  margin-bottom: 0 !important;
}

/* ============================================================
   Tarjeta de producto en MÓVIL (categorías, novedades, ofertas).
   Foto sin pastillas · flags bajo el título · precio + corazón
   en la misma línea · selector de cantidad + botón de carrito
   debajo. El escritorio y el carrusel de accesorios no cambian.
   ============================================================ */

/* Las flags en línea solo se usan en el layout móvil. */
.product-miniature__flags-inline {
  display: none;
}

@media (max-width: 640px) {
  /* Quita las pastillas de la foto y usa las de debajo del título. */
  .page-category #js-product-list .product-miniature__top .product-flags,
  .page-new-products #js-product-list .product-miniature__top .product-flags,
  .page-prices-drop #js-product-list .product-miniature__top .product-flags {
    display: none !important;
  }

  .page-category #js-product-list .product-miniature__flags-inline,
  .page-new-products #js-product-list .product-miniature__flags-inline,
  .page-prices-drop #js-product-list .product-miniature__flags-inline {
    display: block;
    grid-area: flags;
  }

  .page-category #js-product-list .product-miniature__flags-inline .product-flags,
  .page-new-products #js-product-list .product-miniature__flags-inline .product-flags,
  .page-prices-drop #js-product-list .product-miniature__flags-inline .product-flags {
    position: static;
    top: auto;
    left: auto;
    margin: 0;
  }

  .page-category #js-product-list .product-miniature__flags-inline .product-flags:not(:empty),
  .page-new-products #js-product-list .product-miniature__flags-inline .product-flags:not(:empty),
  .page-prices-drop #js-product-list .product-miniature__flags-inline .product-flags:not(:empty) {
    margin-top: 8px;
  }

  /* Rejilla de la tarjeta: cada bloque en su fila. */
  .page-category #js-product-list .product-miniature__bottom,
  .page-new-products #js-product-list .product-miniature__bottom,
  .page-prices-drop #js-product-list .product-miniature__bottom {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "brand"
      "title"
      "flags"
      "price"
      "buy";
    row-gap: 0;
    padding: 12px !important;
  }

  /* Disuelve los envoltorios para colocar sus hijos en la rejilla. */
  .page-category #js-product-list .product-miniature__infos,
  .page-category #js-product-list .product-miniature__actions,
  .page-new-products #js-product-list .product-miniature__infos,
  .page-new-products #js-product-list .product-miniature__actions,
  .page-prices-drop #js-product-list .product-miniature__infos,
  .page-prices-drop #js-product-list .product-miniature__actions {
    display: contents;
  }

  .page-category #js-product-list .product-miniature__brand,
  .page-new-products #js-product-list .product-miniature__brand,
  .page-prices-drop #js-product-list .product-miniature__brand {
    grid-area: brand;
  }

  .page-category #js-product-list .product-miniature__title,
  .page-new-products #js-product-list .product-miniature__title,
  .page-prices-drop #js-product-list .product-miniature__title {
    grid-area: title;
    margin-top: 4px;
    min-height: 0;
  }

  /* La tarjeta compacta no muestra enlaces de variantes (romperían la rejilla). */
  .page-category #js-product-list .product-miniature__variants,
  .page-new-products #js-product-list .product-miniature__variants,
  .page-prices-drop #js-product-list .product-miniature__variants {
    display: none !important;
  }

  /* Precio: ocupa la fila y reserva hueco a la derecha para el corazón. */
  .page-category #js-product-list .product-miniature__prices,
  .page-new-products #js-product-list .product-miniature__prices,
  .page-prices-drop #js-product-list .product-miniature__prices {
    grid-area: price;
    margin-top: 12px !important;
    padding-right: 48px !important;
  }

  /* Corazón: misma fila que el precio, alineado a la derecha.
     El JS de blockwishlist elimina la clase product-miniature__wishlist,
     así que lo colocamos por wishlist-button-add (el descendiente sigue
     resolviéndose pese al display:contents del contenedor .__actions). */
  .page-category #js-product-list .product-miniature__actions .wishlist-button-add,
  .page-new-products #js-product-list .product-miniature__actions .wishlist-button-add,
  .page-prices-drop #js-product-list .product-miniature__actions .wishlist-button-add {
    grid-area: price;
    justify-self: end;
    align-self: end;
  }

  /* Fila de compra: selector de cantidad + botón de añadir. */
  .page-category #js-product-list .product-miniature__form,
  .page-new-products #js-product-list .product-miniature__form,
  .page-prices-drop #js-product-list .product-miniature__form {
    grid-area: buy;
    display: flex !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin-top: 12px;
  }

  /* Muestra el selector de cantidad (oculto por defecto en los listados). */
  .page-category #js-product-list .quantity-button,
  .page-new-products #js-product-list .quantity-button,
  .page-prices-drop #js-product-list .quantity-button {
    display: block;
    flex: 0 0 auto;
  }

  .page-category #js-product-list .product-miniature__form .quantity-button__group,
  .page-new-products #js-product-list .product-miniature__form .quantity-button__group,
  .page-prices-drop #js-product-list .product-miniature__form .quantity-button__group {
    display: flex;
    align-items: stretch;
    height: 38px;
    border: 1px solid var(--rule);
    border-radius: 9px;
    overflow: hidden;
    background: #fff;
  }

  .page-category #js-product-list .product-miniature__form .quantity-button__group .btn,
  .page-new-products #js-product-list .product-miniature__form .quantity-button__group .btn,
  .page-prices-drop #js-product-list .product-miniature__form .quantity-button__group .btn {
    display: inline-flex !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 100% !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--dark) !important;
    box-shadow: none !important;
  }

  .page-category #js-product-list .product-miniature__form .quantity-button__group .btn .material-icons,
  .page-new-products #js-product-list .product-miniature__form .quantity-button__group .btn .material-icons,
  .page-prices-drop #js-product-list .product-miniature__form .quantity-button__group .btn .material-icons {
    font-size: 18px;
  }

  .page-category #js-product-list .product-miniature__form .quantity-button__group input,
  .page-new-products #js-product-list .product-miniature__form .quantity-button__group input,
  .page-prices-drop #js-product-list .product-miniature__form .quantity-button__group input {
    width: 30px !important;
    min-width: 30px !important;
    height: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    border-right: 1px solid var(--rule) !important;
    border-left: 1px solid var(--rule) !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: var(--dark);
    font-family: var(--sans);
    font-size: 14px;
    font-weight: 700;
    text-align: center;
  }

  /* Botón de añadir: icono de carrito y ocupa el resto de la fila. */
  .page-category #js-product-list .product-miniature__add,
  .page-new-products #js-product-list .product-miniature__add,
  .page-prices-drop #js-product-list .product-miniature__add,
  .page-category #js-product-list .product-miniature__add.btn-square-icon,
  .page-new-products #js-product-list .product-miniature__add.btn-square-icon,
  .page-prices-drop #js-product-list .product-miniature__add.btn-square-icon {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 38px !important;
    flex: 1 1 auto !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 12px !important;
    border: 1.5px solid var(--accent) !important;
    border-radius: 9px !important;
    background: var(--accent) !important;
    color: var(--accent-ink) !important;
    font-size: 0 !important;
  }

  .page-category #js-product-list .product-miniature__add::before,
  .page-new-products #js-product-list .product-miniature__add::before,
  .page-prices-drop #js-product-list .product-miniature__add::before {
    content: none !important;
  }

  .page-category #js-product-list .product-miniature__add .material-icons,
  .page-new-products #js-product-list .product-miniature__add .material-icons,
  .page-prices-drop #js-product-list .product-miniature__add .material-icons {
    display: inline-flex !important;
    color: var(--accent-ink) !important;
    font-size: 20px !important;
  }
}

/* Cabecera móvil: mismas dimensiones de acciones que la tienda PrestaShop. */
@media (max-width: 640px) {
  html body .fa-literal-header .fa-header-main > div:last-child {
    gap: 6px !important;
    overflow: visible !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child > a,
  html body .fa-literal-header .fa-header-main > div:last-child > a:first-child,
  html body .fa-literal-header .fa-header-main > div:last-child > a:nth-child(2),
  html body .fa-literal-header .fa-header-main > div:last-child > a:last-child {
    width: 36px !important;
    min-width: 36px !important;
    height: 38px !important;
    overflow: visible !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child > a > svg,
  html body .fa-literal-header .fa-header-main > div:last-child > a > span:first-child,
  html body .fa-literal-header .fa-header-main > div:last-child > a > span:first-child > svg {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
  }

  html body .fa-literal-header .fa-header-main > div:last-child > a:first-child > svg {
    width: 32px !important;
    height: 32px !important;
  }

  html body .fa-literal-header .fa-header-cart-count {
    top: 4px !important;
    transform: translate(45%, -20%) !important;
  }
}
