/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5 · genre: modern-minimal · tone: utilitarian-premium · anchor: red · macrostructure: gallery → accessories → purchase facts · scope: product detail hierarchy · states: default, hover, focus, active, disabled, loading, error, success · contrast: pass (40–41) · nav/footer: retained · honest: pass (46) · chrome: pass (47) · tokens: pass (48) · icons: pass (30) · slop/mobile: pass (34, 49, 50–57) */
:root {
  --nilmoto-red: #e30613;
  --nilmoto-red-dark: #bd0610;
  --nilmoto-red-ink: var(--nilmoto-white);
  --nilmoto-review-deep: #860008;
  --nilmoto-review-gold: #ffd43b;
  --nilmoto-pink: #c00073;
  --nilmoto-black: #111;
  --nilmoto-ink: #1a1a1a;
  --nilmoto-muted: #767676;
  --nilmoto-line: #e4e4e4;
  --nilmoto-soft: #f6f6f6;
  --nilmoto-white: #fff;
  --nilmoto-service-bar: oklch(34% .085 25);
  --nilmoto-service-control: oklch(27% .07 25);
  --nilmoto-service-control-hover: oklch(24% .06 25);
  --nilmoto-header-main: oklch(17.5% .014 245);
  --nilmoto-header-nav: oklch(30% .009 85);
  --nilmoto-font-display: "Barlow Condensed", Arial, sans-serif;
  --nilmoto-font-body: "Barlow", Arial, sans-serif;
  --nilmoto-overlay-strong: rgba(0, 0, 0, .64);
  --nilmoto-banner-control-bg: var(--nilmoto-black);
  --nilmoto-banner-dot-bg: var(--nilmoto-white);
  --nilmoto-banner-overlay: linear-gradient(90deg, rgba(0, 0, 0, .64), rgba(0, 0, 0, .24));
  --nilmoto-banner-overlay-soft: linear-gradient(90deg, rgba(0, 0, 0, .58), rgba(0, 0, 0, .16));
  --nilmoto-banner-overlay-strong: linear-gradient(90deg, rgba(0, 0, 0, .78), rgba(0, 0, 0, .36));
  --nilmoto-banner-overlay-light: linear-gradient(90deg, rgba(255, 255, 255, .84), rgba(255, 255, 255, .22));
  --nilmoto-banner-overlay-mobile: linear-gradient(90deg, rgba(0, 0, 0, .72), rgba(0, 0, 0, .24));
  --nilmoto-banner-overlay-light-mobile: linear-gradient(90deg, rgba(255, 255, 255, .88), rgba(255, 255, 255, .28));
  --nilmoto-success: #16823d;
  --nilmoto-success-bg: #e8f7ee;
  --nilmoto-success-bg-soft: #effaf3;
  --nilmoto-payment-cta: #07853f;
  --nilmoto-payment-cta-hover: #056a31;
  --nilmoto-payment-default-bg: #f7f6f6;
  --nilmoto-payment-default-border: #d9d5d5;
  --nilmoto-payment-card-bg: #f1f5fb;
  --nilmoto-payment-card-border: #c7d4e6;
  --nilmoto-payment-paypal-bg: #eef6ff;
  --nilmoto-payment-paypal-border: #b8d4f2;
  --nilmoto-payment-bizum-bg: #fff1f8;
  --nilmoto-payment-bizum-border: #edc2d9;
  --nilmoto-payment-wallet-bg: #f3f2f4;
  --nilmoto-payment-wallet-border: #cdced4;
  --nilmoto-payment-transfer-bg: #eef8f5;
  --nilmoto-payment-transfer-border: #b9ded2;
  --nilmoto-payment-finance-bg: #fff7e8;
  --nilmoto-payment-finance-border: #ecd5a4;
  --nilmoto-payment-cash-bg: #fff3e9;
  --nilmoto-payment-cash-border: #e6c5aa;
  --nilmoto-payment-copy: #434343;
  --nilmoto-choice-border: #d8d8d8;
  --nilmoto-choice-border-hover: #9b9b9b;
  --nilmoto-choice-control: #767676;
  --nilmoto-choice-icon: #5b5b5b;
  --nilmoto-choice-meta: #666;
  --nilmoto-choice-mark-bg: #f3f3f3;
  --nilmoto-choice-mark-border: #dadada;
  --nilmoto-choice-description: #555;
  --nilmoto-choice-selected-bg: #fffafa;
  --nilmoto-choice-selected-soft: #fff0f1;
  --nilmoto-choice-selected-line: #f1b9bd;
  --nilmoto-choice-error-bg: #fff4f4;
  --nilmoto-choice-disabled-bg: #f5f5f5;
  --nilmoto-choice-loading: #cfcfcf;
  --nilmoto-choice-hairline-shadow: 0 1px 0 rgba(17, 17, 17, .03);
  --nilmoto-radius-sm: 4px;
  --nilmoto-radius-md: 8px;
  --nilmoto-radius-pill: 999px;
  --nilmoto-radius: var(--nilmoto-radius-md);
  --nilmoto-shadow-sm: 0 10px 24px rgba(17, 17, 17, .06);
  --nilmoto-shadow-md: 0 18px 42px rgba(0, 0, 0, .14);
  --nilmoto-shadow-lg: 0 22px 50px rgba(0, 0, 0, .28);
  --nilmoto-shadow-brand: 0 14px 28px rgba(189, 6, 16, .28);
  --nilmoto-focus-ring: 0 0 0 3px rgba(227, 6, 19, .12);
  --nilmoto-duration-press: 120ms;
  --nilmoto-duration-ui: 180ms;
  --nilmoto-ease-out: cubic-bezier(.16, 1, .3, 1);
  --nilmoto-shadow: var(--nilmoto-shadow-md);
  --nilmoto-wrap: min(1440px, calc(100vw - 6vw));
  --nilmoto-space-2xs: 4px;
  --nilmoto-space-xs: 8px;
  --nilmoto-space-sm: 12px;
  --nilmoto-space-md: 16px;
  --nilmoto-space-lg: 24px;
  --nilmoto-space-xl: 32px;
  --nilmoto-space-2xl: 48px;
  --nilmoto-space-3xl: 64px;
}

/* Responsive scale: compact 640px, tablet 820px, desktop 1040px, wide 1180px.
   The Bootstrap-compatible 992px min-width query is the sole framework exception. */

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  overflow-x: clip;
}

body.nilmoto-page {
  margin: 0;
  font-family: "Barlow", Arial, sans-serif;
  color: var(--nilmoto-ink);
  background: var(--nilmoto-white);
  letter-spacing: 0;
  overflow-x: clip;
}

/* Series y colecciones de catalogo */
.nilmoto-collections-strip {
  display: grid;
  gap: 14px;
  margin: 0 0 28px;
  padding: 20px 22px;
  background: var(--nilmoto-soft);
  border-left: 4px solid var(--nilmoto-red);
}

.nilmoto-collections-strip h2 {
  margin: 0;
  color: var(--nilmoto-ink);
  font-family: var(--nilmoto-font-display);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  font-weight: 700;
  letter-spacing: .01em;
  text-transform: uppercase;
}

.nilmoto-collections-strip__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.nilmoto-collection-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 9px 13px;
  color: var(--nilmoto-ink);
  background: var(--nilmoto-white);
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-sm);
  font-weight: 700;
  text-decoration: none;
  transition: border-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out), color var(--nilmoto-duration-ui) var(--nilmoto-ease-out), transform var(--nilmoto-duration-ui) var(--nilmoto-ease-out);
}

.nilmoto-collection-chip small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 26px;
  padding: 0 7px;
  color: var(--nilmoto-white);
  background: var(--nilmoto-red);
  border-radius: var(--nilmoto-radius-pill);
  font-size: .78rem;
  font-weight: 700;
}

.nilmoto-collection-chip:hover,
.nilmoto-collection-chip:focus-visible {
  color: var(--nilmoto-red-dark);
  border-color: var(--nilmoto-red);
  transform: translateY(-1px);
}

.nilmoto-collection-products__link {
  color: var(--nilmoto-red-dark);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 640px) {
  .nilmoto-collections-strip {
    padding: 17px;
  }

  .nilmoto-collection-chip {
    flex: 1 1 calc(50% - 10px);
    justify-content: space-between;
  }
}

.nilmoto-page img { max-width: 100%; }

.nilmoto-page a {
  color: inherit;
  text-decoration: none;
}

.nilmoto-page a:hover { color: var(--nilmoto-red); }

.nilmoto-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.nilmoto-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Hallmark · component: service bar · genre: modern-minimal · theme: Nilmotov3 established
 * states: default · hover · focus · active · disabled · loading · error · success
 * pre-emit critique: P5 H5 E5 S5 R5 V4 · contrast: pass
 */
.nilmoto-promo {
  background: var(--nilmoto-service-bar);
  color: var(--nilmoto-white);
  font-size: 13px;
  font-weight: 700;
}

.nilmoto-promo__inner {
  width: var(--nilmoto-wrap);
  min-height: 36px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 6px 0;
}

.nilmoto-promo p {
  margin: 0;
  letter-spacing: .02em;
  line-height: 1.25;
  text-transform: uppercase;
}

.nilmoto-promo__controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex: 0 0 auto;
}

.nilmoto-promo__select {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--nilmoto-white);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-promo__select select {
  height: 30px;
  min-height: 30px;
  max-width: 200px;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-service-control);
  color: var(--nilmoto-white);
  padding: 4px 26px 5px 9px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  cursor: pointer;
  transition: background-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out), border-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out), opacity var(--nilmoto-duration-ui) var(--nilmoto-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .nilmoto-promo__select select:hover {
    background: var(--nilmoto-service-control-hover);
    border-color: var(--nilmoto-white);
  }
}

.nilmoto-promo__select select:focus-visible {
  outline: 2px solid var(--nilmoto-white);
  outline-offset: 2px;
}

.nilmoto-promo__select select:active {
  background: var(--nilmoto-black);
}

.nilmoto-promo__select select:disabled,
.nilmoto-promo__select select[aria-busy="true"] {
  cursor: not-allowed;
  opacity: .62;
}

.nilmoto-promo__select select[aria-invalid="true"] {
  border-color: var(--nilmoto-red);
}

.nilmoto-promo__select select[data-state="success"] {
  border-color: var(--nilmoto-success-bg);
}

/* Hallmark · component: split commerce navbar · genre: modern-minimal · theme: Nilmotov3 established
 * states: navigation states remain owned by the existing links and menu triggers
 * pre-emit critique: P5 H5 E5 S5 R5 V5 · contrast: pass
 */
.nilmoto-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--nilmoto-header-main);
  color: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-md);
}

.nilmoto-header__main {
  width: var(--nilmoto-wrap);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 210px minmax(260px, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: 14px 0;
}

.nilmoto-header__search {
  width: 100%;
  max-width: 520px;
  justify-self: center;
}

.nilmoto-logo img {
  display: block;
  width: 180px;
  height: auto;
}

.nilmoto-header__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
}

.nilmoto-contact {
  position: relative;
  display: grid;
  gap: 6px;
  justify-items: center;
  width: 174px;
  min-width: 174px;
  line-height: 1;
}

.nilmoto-contact::after {
  display: none;
}

.nilmoto-contact__label {
  width: 100%;
  color: rgba(255, 255, 255, .9);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
  transition: opacity .16s ease;
}

.nilmoto-contact__channels {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 174px;
  height: 38px;
}

.nilmoto-contact-channel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 38px;
  min-width: 38px;
  height: 38px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: var(--nilmoto-radius-pill);
  background: rgba(227, 6, 19, .12);
  color: var(--nilmoto-white);
  overflow: hidden;
  white-space: nowrap;
  transition: opacity .18s ease, width .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}

.nilmoto-contact-channel .nilmoto-icon {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 0;
  color: var(--nilmoto-white);
}

.nilmoto-contact-channel--phone {
  border-color: rgba(227, 6, 19, .32);
  background: rgba(227, 6, 19, .14);
}

.nilmoto-contact-channel--whatsapp {
  border-color: rgba(37, 211, 102, .34);
  background: rgba(37, 211, 102, .16);
}

.nilmoto-contact-channel strong {
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  color: var(--nilmoto-white);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  transition: max-width .18s ease, opacity .14s ease, margin-left .18s ease;
}

.nilmoto-contact-channel:hover,
.nilmoto-contact-channel:focus-visible {
  width: 128px;
  min-width: 128px;
  gap: 8px;
  padding: 0 8px;
  z-index: 2;
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-red);
  outline: none;
  transform: translateY(-1px);
}

.nilmoto-contact-channel:hover strong,
.nilmoto-contact-channel:focus-visible strong {
  max-width: 92px;
  margin-left: 0;
  opacity: 1;
}

.nilmoto-contact-channel--whatsapp:hover,
.nilmoto-contact-channel--whatsapp:focus-visible {
  border-color: #25d366;
  background: #25d366;
}

.nilmoto-contact__channels:has(.nilmoto-contact-channel--phone:hover) .nilmoto-contact-channel--whatsapp,
.nilmoto-contact__channels:has(.nilmoto-contact-channel--phone:focus-visible) .nilmoto-contact-channel--whatsapp,
.nilmoto-contact__channels:has(.nilmoto-contact-channel--whatsapp:hover) .nilmoto-contact-channel--phone,
.nilmoto-contact__channels:has(.nilmoto-contact-channel--whatsapp:focus-visible) .nilmoto-contact-channel--phone {
  opacity: 0;
  pointer-events: none;
}

.nilmoto-icon-link,
.nilmoto-cart-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  font-weight: 700;
  font-size: 13px;
}

.nilmoto-icon-link .nilmoto-icon { color: #f3f3f3; }

.nilmoto-account-button {
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  min-width: 54px;
  min-height: 48px;
  color: var(--nilmoto-white);
  text-align: center;
  text-transform: uppercase;
}

.nilmoto-account-button .nilmoto-icon {
  width: 24px;
  height: 24px;
  color: var(--nilmoto-white);
  transition: color .18s ease, transform .18s ease;
}

.nilmoto-account-button span:not(.nilmoto-icon) {
  display: block;
  color: var(--nilmoto-white);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
}

.nilmoto-account-button:hover,
.nilmoto-account-button:focus-visible {
  color: var(--nilmoto-white);
  outline: none;
}

.nilmoto-account-button:hover .nilmoto-icon,
.nilmoto-account-button:focus-visible .nilmoto-icon {
  color: var(--nilmoto-red);
  transform: translateY(-1px);
}

.nilmoto-account-button:hover span:not(.nilmoto-icon),
.nilmoto-account-button:focus-visible span:not(.nilmoto-icon) {
  color: var(--nilmoto-red);
}

.nilmoto-cart-button {
  padding: 10px 16px;
  border-radius: var(--nilmoto-radius);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  text-transform: uppercase;
}

.nilmoto-page .nilmoto-cart-button:hover,
.nilmoto-page .nilmoto-cart-button:focus-visible {
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
}

.nilmoto-cart-button .nilmoto-icon,
.nilmoto-cart-button:hover .nilmoto-icon,
.nilmoto-cart-button:focus-visible .nilmoto-icon {
  color: var(--nilmoto-white);
}

.nilmoto-cart-button strong {
  display: inline-flex;
  min-width: 22px;
  height: 20px;
  align-items: center;
  justify-content: center;
  border-radius: var(--nilmoto-radius-pill);
  background: var(--nilmoto-white);
  color: var(--nilmoto-red);
  font-size: 12px;
}

.nilmoto-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: currentColor;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

.nilmoto-icon--search {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m21.53 20.47-4.8-4.8a8.5 8.5 0 1 0-1.06 1.06l4.8 4.8 1.06-1.06ZM4 10.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m21.53 20.47-4.8-4.8a8.5 8.5 0 1 0-1.06 1.06l4.8 4.8 1.06-1.06ZM4 10.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'/%3E%3C/svg%3E");
}

.nilmoto-icon--cart {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2 3h3l2.6 12.6A2 2 0 0 0 9.6 17h9.7a2 2 0 0 0 2-1.6L23 7H6M9 21h.1M19 21h.1'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2 3h3l2.6 12.6A2 2 0 0 0 9.6 17h9.7a2 2 0 0 0 2-1.6L23 7H6M9 21h.1M19 21h.1'/%3E%3C/svg%3E");
}

.nilmoto-icon--user {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-icon--user-plus {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='8.5' cy='7' r='4'/%3E%3Cpath d='M19 8v6M16 11h6'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='8.5' cy='7' r='4'/%3E%3Cpath d='M19 8v6M16 11h6'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-icon--phone {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3-8.7A2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 2 .7 2.9a2 2 0 0 1-.4 2.1L8 10a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c1 .3 1.9.6 2.9.7a2 2 0 0 1 1.7 1.9z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3-8.7A2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 2 .7 2.9a2 2 0 0 1-.4 2.1L8 10a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c1 .3 1.9.6 2.9.7a2 2 0 0 1 1.7 1.9z'/%3E%3C/svg%3E");
}

.nilmoto-icon--mail {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-icon--map-pin {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5.25-8 12-8 12s-8-6.75-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5.25-8 12-8 12s-8-6.75-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-icon--wrench {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.8-3.8a6 6 0 0 1-8 8l-6.9 6.9a2.1 2.1 0 0 1-3-3l6.9-6.9a6 6 0 0 1 8-8l-3.8 3.8Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.8-3.8a6 6 0 0 1-8 8l-6.9 6.9a2.1 2.1 0 0 1-3-3l6.9-6.9a6 6 0 0 1 8-8l-3.8 3.8Z'/%3E%3C/svg%3E");
}

.nilmoto-icon--store {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h16l-1.4-6H5.4L4 10Z'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3Cpath d='M4 10c0 1.2 1 2.2 2.2 2.2S8.4 11.2 8.4 10c0 1.2 1 2.2 2.2 2.2s2.2-1 2.2-2.2c0 1.2 1 2.2 2.2 2.2s2.2-1 2.2-2.2c0 1.2 1 2.2 2.2 2.2S22 11.2 22 10'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h16l-1.4-6H5.4L4 10Z'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3Cpath d='M4 10c0 1.2 1 2.2 2.2 2.2S8.4 11.2 8.4 10c0 1.2 1 2.2 2.2 2.2s2.2-1 2.2-2.2c0 1.2 1 2.2 2.2 2.2s2.2-1 2.2-2.2c0 1.2 1 2.2 2.2 2.2S22 11.2 22 10'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-icon--truck {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17h4V5H2v12h3M14 9h4l4 4v4h-3'/%3E%3Ccircle cx='7.5' cy='17.5' r='2.5'/%3E%3Ccircle cx='16.5' cy='17.5' r='2.5'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17h4V5H2v12h3M14 9h4l4 4v4h-3'/%3E%3Ccircle cx='7.5' cy='17.5' r='2.5'/%3E%3Ccircle cx='16.5' cy='17.5' r='2.5'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-icon--refresh-ccw {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 0 0-15-6.7L3 8M3 3v5h5M3 12a9 9 0 0 0 15 6.7l3-2.7M16 16h5v5'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 0 0-15-6.7L3 8M3 3v5h5M3 12a9 9 0 0 0 15 6.7l3-2.7M16 16h5v5'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-icon--calendar-clock {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5M16 2v4M8 2v4M3 10h5'/%3E%3Ccircle cx='16' cy='16' r='6'/%3E%3Cpath d='M16 14v2l1.5 1'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5M16 2v4M8 2v4M3 10h5'/%3E%3Ccircle cx='16' cy='16' r='6'/%3E%3Cpath d='M16 14v2l1.5 1'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-icon--whatsapp {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12.04 2a9.86 9.86 0 0 0-8.42 15.02L2.4 22l5.1-1.18A9.95 9.95 0 1 0 12.04 2Zm0 1.8a8.15 8.15 0 0 1 6.94 12.43 8.1 8.1 0 0 1-9.64 2.86l-.32-.13-3.84.89.91-3.68-.18-.33A8.06 8.06 0 0 1 12.04 3.8Zm-3.1 3.63c-.2 0-.53.08-.8.38-.27.3-1.04 1.02-1.04 2.48 0 1.46 1.07 2.88 1.22 3.08.15.2 2.07 3.31 5.1 4.5 2.52.99 3.03.79 3.58.74.55-.05 1.78-.73 2.03-1.44.25-.71.25-1.31.18-1.44-.08-.13-.27-.2-.57-.35-.3-.15-1.78-.88-2.06-.98-.28-.1-.48-.15-.68.15-.2.3-.78.98-.95 1.18-.18.2-.35.23-.65.08-.3-.15-1.27-.47-2.42-1.49-.89-.8-1.5-1.79-1.67-2.09-.18-.3-.02-.46.13-.61.14-.14.3-.35.45-.52.15-.18.2-.3.3-.5.1-.2.05-.38-.03-.53-.08-.15-.68-1.64-.93-2.24-.24-.58-.49-.5-.68-.51h-.58Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12.04 2a9.86 9.86 0 0 0-8.42 15.02L2.4 22l5.1-1.18A9.95 9.95 0 1 0 12.04 2Zm0 1.8a8.15 8.15 0 0 1 6.94 12.43 8.1 8.1 0 0 1-9.64 2.86l-.32-.13-3.84.89.91-3.68-.18-.33A8.06 8.06 0 0 1 12.04 3.8Zm-3.1 3.63c-.2 0-.53.08-.8.38-.27.3-1.04 1.02-1.04 2.48 0 1.46 1.07 2.88 1.22 3.08.15.2 2.07 3.31 5.1 4.5 2.52.99 3.03.79 3.58.74.55-.05 1.78-.73 2.03-1.44.25-.71.25-1.31.18-1.44-.08-.13-.27-.2-.57-.35-.3-.15-1.78-.88-2.06-.98-.28-.1-.48-.15-.68.15-.2.3-.78.98-.95 1.18-.18.2-.35.23-.65.08-.3-.15-1.27-.47-2.42-1.49-.89-.8-1.5-1.79-1.67-2.09-.18-.3-.02-.46.13-.61.14-.14.3-.35.45-.52.15-.18.2-.3.3-.5.1-.2.05-.38-.03-.53-.08-.15-.68-1.64-.93-2.24-.24-.58-.49-.5-.68-.51h-.58Z'/%3E%3C/svg%3E");
}

.nilmoto-icon--arrow-up {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' d='M12 19V5M5 12l7-7 7 7'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' d='M12 19V5M5 12l7-7 7 7'/%3E%3C/svg%3E");
}

.nilmoto-icon--chevron-left {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round' d='M15 5 8 12l7 7'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round' d='M15 5 8 12l7 7'/%3E%3C/svg%3E");
}

.nilmoto-icon--chevron-right {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round' d='m9 5 7 7-7 7'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round' d='m9 5 7 7-7 7'/%3E%3C/svg%3E");
}

.nilmoto-mobile-toggle { display: none; }

.nilmoto-nav {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 2px;
  min-height: 44px;
  border-block-start: 2px solid var(--nilmoto-red);
  background: var(--nilmoto-header-nav);
  padding: 0 3vw;
  overflow-x: visible;
  scrollbar-width: none;
}

.nilmoto-nav::-webkit-scrollbar { display: none; }

.nilmoto-nav > a,
.nilmoto-mega__trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 15px;
  color: #eee;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
}

button.nilmoto-mega__trigger {
  border: 0;
  background: transparent;
  cursor: pointer;
}

.nilmoto-nav__deal {
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-page .nilmoto-nav__deal:hover,
.nilmoto-page .nilmoto-nav__deal:focus-visible {
  color: var(--nilmoto-white);
}

.nilmoto-nav__utility {
  position: relative;
  margin: 5px 0;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--nilmoto-radius-md);
  padding: 7px 13px;
  background: #2a2a2a;
  color: var(--nilmoto-white);
  overflow: hidden;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.nilmoto-nav__utility::after {
  content: "";
  position: absolute;
  inset: auto 10px 5px;
  height: 2px;
  border-radius: var(--nilmoto-radius-pill);
  background: var(--nilmoto-red);
  opacity: .95;
  transform: scaleX(.55);
  transform-origin: center;
  transition: transform .18s ease, background .18s ease;
}

.nilmoto-nav__utility .nilmoto-icon {
  color: var(--nilmoto-red);
  transition: color .18s ease, transform .18s ease;
}

.nilmoto-nav__utility--stores {
  background: #333;
}

.nilmoto-page .nilmoto-nav__utility:hover,
.nilmoto-page .nilmoto-nav__utility:focus-visible {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-brand);
  outline: none;
  transform: translateY(-1px);
}

.nilmoto-nav__utility:hover::after,
.nilmoto-nav__utility:focus-visible::after {
  background: var(--nilmoto-white);
  transform: scaleX(1);
}

.nilmoto-nav__utility:hover .nilmoto-icon,
.nilmoto-nav__utility:focus-visible .nilmoto-icon {
  color: var(--nilmoto-white);
  transform: scale(1.08);
}

.nilmoto-mega {
  display: flex;
  align-items: stretch;
}

.nilmoto-mega__item { position: static; }

.nilmoto-mega__trigger img,
.nilmoto-mega__title img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  filter: grayscale(1) brightness(0) invert(1);
  opacity: 1;
  transition: filter var(--nilmoto-duration-ui) var(--nilmoto-ease-out), transform var(--nilmoto-duration-ui) var(--nilmoto-ease-out);
}

.nilmoto-mega__title img { filter: none; opacity: 1; }

.nilmoto-mega__trigger:hover img,
.nilmoto-mega__trigger:focus-visible img,
.nilmoto-mega__item.is-open > .nilmoto-mega__trigger img {
  filter: grayscale(1) brightness(0) invert(1);
  transform: translateY(-1px);
}

.nilmoto-mega__panel {
  position: absolute;
  left: 3vw;
  right: 3vw;
  top: 100%;
  display: none;
  min-width: 0;
  width: auto;
  padding: 28px;
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
  box-shadow: var(--nilmoto-shadow);
  border-top: 3px solid var(--nilmoto-red);
}

.nilmoto-mega__item:hover .nilmoto-mega__panel,
.nilmoto-mega__item:focus-within .nilmoto-mega__panel,
.nilmoto-mega__item.is-hover .nilmoto-mega__panel,
.nilmoto-mega__item.is-open .nilmoto-mega__panel { display: flex; }

.nilmoto-mega__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(170px, 1fr));
  gap: 24px;
  flex: 1;
}

.nilmoto-mega__family-head { display: contents; }

.nilmoto-mega__family-toggle { display: none; }

.nilmoto-mega__title {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 9px;
  margin-bottom: 10px;
  border-bottom: 2px solid var(--nilmoto-red);
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-weight: 700;
  font-size: 18px;
  text-transform: uppercase;
}

.nilmoto-mega__link {
  display: block;
  padding: 4px 0;
  color: #444;
  font-size: 14px;
}

.nilmoto-page .nilmoto-mega__more {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  margin-top: 8px;
  padding: 9px 0 2px;
  border-top: 1px solid var(--nilmoto-line);
  color: var(--nilmoto-red);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.nilmoto-mega__more::after {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform .18s ease;
}

.nilmoto-page .nilmoto-mega__more:hover,
.nilmoto-page .nilmoto-mega__more:focus-visible {
  color: var(--nilmoto-red-dark);
}

.nilmoto-page .nilmoto-mega__more:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.nilmoto-page .nilmoto-mega__more:hover::after,
.nilmoto-page .nilmoto-mega__more:focus-visible::after {
  transform: translateX(3px) rotate(45deg);
}

.nilmoto-mega__promo {
  align-self: stretch;
  display: grid;
  align-content: center;
  gap: 8px;
  min-width: 220px;
  width: min(320px, 24vw);
  min-height: 188px;
  margin-left: 28px;
  padding: 24px;
  border-radius: var(--nilmoto-radius);
  background: var(--nilmoto-black);
  color: var(--nilmoto-white);
  overflow: hidden;
}

.nilmoto-mega__promo--tone-2 { background: var(--nilmoto-service-bar); }
.nilmoto-mega__promo--tone-3 { background: var(--nilmoto-header-nav); }

.nilmoto-mega__promo--image {
  position: relative;
  isolation: isolate;
  align-content: end;
}

.nilmoto-mega__promo--image::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(17, 17, 17, .02) 18%, rgba(17, 17, 17, .72) 62%, rgba(17, 17, 17, .97) 100%);
  content: "";
  pointer-events: none;
}

.nilmoto-mega__promo-fallback {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: end;
  justify-items: start;
  gap: 5px;
  width: 100%;
  pointer-events: none;
}

.nilmoto-mega__promo--image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 188px;
  object-fit: cover;
  z-index: 0;
  transition: filter var(--nilmoto-duration-ui) var(--nilmoto-ease-out), transform var(--nilmoto-duration-ui) var(--nilmoto-ease-out);
}

.nilmoto-mega__promo--image img[hidden] { display: none; }

.nilmoto-mega__promo--image:hover img,
.nilmoto-mega__promo--image:focus-visible img {
  filter: brightness(.9) saturate(.92);
  transform: scale(1.025);
}

.nilmoto-page .nilmoto-mega__promo:hover,
.nilmoto-page .nilmoto-mega__promo:focus-visible {
  color: var(--nilmoto-white);
}

.nilmoto-mega__promo strong {
  color: var(--nilmoto-white);
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 28px;
  font-style: italic;
  line-height: .94;
  text-transform: uppercase;
}

.nilmoto-mega__promo span { color: #e5e5e5; font-size: 12px; line-height: 1.25; }
.nilmoto-mega__promo em {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin-top: 2px;
  padding: 5px 10px;
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  transition: background-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out), color var(--nilmoto-duration-ui) var(--nilmoto-ease-out);
}

.nilmoto-mega__promo--image:hover em,
.nilmoto-mega__promo--image:focus-visible em {
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
}

.nilmoto-search { position: relative; z-index: 10; }

.nilmoto-search__form {
  display: flex;
  width: 100%;
  height: 34px;
  min-height: 34px;
  overflow: hidden;
  border-radius: var(--nilmoto-radius);
  background: var(--nilmoto-white);
}

.nilmoto-search__input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: 0;
  padding: 0 12px;
  font: 500 13px "Barlow", Arial, sans-serif;
}

.nilmoto-search__button {
  width: 44px;
  border: 0;
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  cursor: pointer;
}

#search-form .nilmoto-search__input {
  display: block;
  flex: 1 1 auto;
  width: auto;
  height: 34px;
  min-width: 0;
  font-size: 13px;
  line-height: 34px;
}

#search-form .nilmoto-search__button {
  display: inline-flex;
  flex: 0 0 44px;
  width: 44px;
  height: 34px;
  min-width: 44px;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.search-autocomplete-panel {
  position: fixed;
  top: 0;
  left: 0;
  width: min(780px, calc(100vw - 36px));
  max-height: min(62vh, 560px);
  z-index: 2000;
  background: #fff;
  border: 1px solid rgba(17, 24, 39, .12);
  border-radius: var(--nilmoto-radius-md);
  box-shadow: var(--nilmoto-shadow-lg);
  overflow: hidden;
}

/* Visibility utility: it must win over the autocomplete plug-in's inline display state. */
.search-autocomplete-panel[hidden] { display: none !important; }

html.nilmoto-search-autocomplete-lock {
  overflow: hidden;
  scrollbar-gutter: stable;
}

.search-autocomplete-shell {
  display: grid;
  max-height: inherit;
  min-height: 0;
}

.search-autocomplete-summary {
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid var(--nilmoto-line);
  padding: 13px 18px;
  color: var(--nilmoto-ink);
  font-size: 13px;
  font-weight: 800;
}

.search-autocomplete-summary::before {
  content: "";
  width: 4px;
  height: 22px;
  background: var(--nilmoto-red);
}

.search-autocomplete-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  max-height: min(48vh, 420px);
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 12px;
  scrollbar-color: rgba(227, 6, 19, .7) #f0f0f0;
  scrollbar-width: thin;
}

.search-autocomplete-grid::-webkit-scrollbar {
  width: 8px;
}

.search-autocomplete-grid::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: var(--nilmoto-radius-pill);
}

.search-autocomplete-grid::-webkit-scrollbar-thumb {
  border: 2px solid #f0f0f0;
  border-radius: var(--nilmoto-radius-pill);
  background: var(--nilmoto-red);
}

.search-autocomplete-card {
  display: grid;
  grid-template-rows: auto minmax(94px, 1fr);
  gap: 9px;
  min-width: 0;
  border: 1px solid transparent;
  border-radius: var(--nilmoto-radius-md);
  color: var(--nilmoto-ink);
  padding: 9px;
  text-align: left;
  text-decoration: none;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.search-autocomplete-card:hover,
.search-autocomplete-card.is-active {
  border-color: rgba(227, 6, 19, .28);
  background: #fff;
  box-shadow: var(--nilmoto-shadow-sm);
  transform: translateY(-1px);
}

.search-autocomplete-media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  border: 1px solid #eee;
  border-radius: var(--nilmoto-radius-sm);
  background: #fafafa;
  padding: 8px;
}

.search-autocomplete-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.search-autocomplete-media.is-empty::before {
  content: "NILMOTO";
  color: var(--nilmoto-red);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 22px;
  font-weight: 900;
}

.search-autocomplete-content {
  display: grid;
  align-content: start;
  gap: 4px;
  min-width: 0;
}

.search-autocomplete-brand,
.search-autocomplete-reference {
  color: #8b8f98;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.search-autocomplete-title {
  display: -webkit-box;
  min-height: 34px;
  overflow: hidden;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.05;
  text-transform: uppercase;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.search-autocomplete-title mark {
  background: rgba(227, 6, 19, .1);
  color: var(--nilmoto-red);
  padding: 0 2px;
}

.search-autocomplete-prices {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 4px;
}

.search-autocomplete-price-old {
  color: var(--nilmoto-muted);
  font-size: 12px;
  text-decoration: line-through;
}

.search-autocomplete-price-current {
  color: var(--nilmoto-red);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 21px;
  font-weight: 900;
  line-height: 1;
}

.search-autocomplete-price-current.is-consultar {
  color: var(--nilmoto-ink);
  font-size: 16px;
}

.search-autocomplete-footer {
  border-top: 1px solid var(--nilmoto-line);
  background: #fafafa;
  padding: 12px 16px;
  font-weight: 800;
}

.search-autocomplete-footer a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--nilmoto-ink);
  text-decoration: none;
}

.search-autocomplete-footer a::after {
  content: "";
  width: 16px;
  height: 16px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M13.2 5.2a1 1 0 0 1 1.4 0l5.1 5.1a1 1 0 0 1 0 1.4l-5.1 5.1a1 1 0 1 1-1.4-1.4l3.4-3.4H5a1 1 0 1 1 0-2h11.6l-3.4-3.4a1 1 0 0 1 0-1.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M13.2 5.2a1 1 0 0 1 1.4 0l5.1 5.1a1 1 0 0 1 0 1.4l-5.1 5.1a1 1 0 1 1-1.4-1.4l3.4-3.4H5a1 1 0 1 1 0-2h11.6l-3.4-3.4a1 1 0 0 1 0-1.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.search-autocomplete-footer a:hover {
  color: var(--nilmoto-red);
}

.search-autocomplete-state {
  padding: 20px;
  color: #4b5563;
}

.search-autocomplete-state strong {
  display: block;
  margin-bottom: 4px;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 22px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-main { flex: 1; }

.nilmoto-global-promo-banner {
  width: 100%;
  overflow: hidden;
  background: #191919;
  line-height: 0;
}

.nilmoto-global-promo-banner > div {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nilmoto-global-promo-banner a,
.nilmoto-global-promo-banner img {
  display: block;
  width: 100% !important;
}

.nilmoto-global-promo-banner img {
  height: auto !important;
  max-height: none !important;
  margin: 0 auto;
  object-fit: contain !important;
}

.nilmoto-global-promo-banner > .d-none.d-md-block { display: block !important; }
.nilmoto-global-promo-banner > .d-block.d-md-none { display: none !important; }

@media (max-width: 767px) {
  .nilmoto-global-promo-banner > .d-none.d-md-block { display: none !important; }
  .nilmoto-global-promo-banner > .d-block.d-md-none { display: block !important; }
}

.nilmoto-dynamic-banner {
  position: relative;
  overflow: hidden;
  background: var(--nilmoto-black);
}

.nilmoto-home-banner-v3 {
  position: relative;
  min-height: 380px;
  background: var(--nilmoto-black);
}

.nilmoto-home-banner-v3--mobile { display: none; }

.nilmoto-home-banner-v3 .flexslider,
.nilmoto-home-banner-v3 .slides,
.nilmoto-home-banner-v3 .slides > li {
  width: 100%;
  min-height: 380px;
  margin: 0;
  padding: 0;
}

.nilmoto-home-banner-v3 .flexslider {
  position: relative;
  min-height: 380px;
  overflow: hidden;
  border: 0;
  background: var(--nilmoto-black);
}

.nilmoto-home-banner-v3 .slides {
  position: relative;
  list-style: none;
}

.nilmoto-home-banner-v3 .slides > li {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity .32s cubic-bezier(.16, 1, .3, 1), visibility 0s linear .32s;
}

.nilmoto-home-banner-v3 .slides > li.is-active {
  position: absolute;
  z-index: 2;
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  .nilmoto-home-banner-v3 .slides > li {
    transition: none;
  }
}

.nilmoto-home-banner-v3 .slides img {
  display: block;
  width: 100%;
  min-height: 380px;
  object-fit: cover;
}

.nilmoto-home-banner-v3 .flex-direction-nav,
.nilmoto-home-banner-v3 .flex-control-nav {
  display: none;
}

.nilmoto-home-banner-v3 .cta-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 22px;
  border-radius: var(--nilmoto-radius);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-home-banner-v3 .cta-button:hover {
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
}

.nilmoto-native-slide {
  display: grid;
  min-height: 430px;
  grid-template-columns: minmax(300px, 1fr) minmax(280px, .9fr);
  align-items: center;
  gap: 32px;
  width: var(--nilmoto-wrap);
  margin: 0 auto;
  color: var(--nilmoto-white);
}

.nilmoto-native-slide__copy {
  display: grid;
  gap: 15px;
  padding: 42px 0;
}

.nilmoto-native-slide__copy > span {
  width: fit-content;
  color: var(--nilmoto-red);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.nilmoto-native-slide__copy h2 {
  max-width: 680px;
  margin: 0;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: clamp(44px, 6vw, 76px);
  font-weight: 800;
  line-height: .92;
  text-transform: uppercase;
}

.nilmoto-native-slide__copy p {
  max-width: 520px;
  margin: 0;
  color: #d6d6d6;
  font-size: 18px;
  line-height: 1.42;
}

.nilmoto-native-slide__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.nilmoto-native-slide__media {
  display: flex;
  align-items: center;
  justify-content: center;
}

.nilmoto-native-slide__media img {
  width: min(440px, 100%);
  min-height: 0;
  max-height: 300px;
  padding: 24px;
  object-fit: contain;
  background: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-lg);
}

/* Hallmark · component: home-banner-carousel · genre: editorial commerce · theme: Nilmotov3 established storefront · states: default, hover, focus, active, disabled, loading, error · contrast: pass (40–41) · honest: pass (46) · chrome: pass (47) · tokens: pass (48) · mobile: pass (34, 49, 50–57) */
/* Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V4 */
.nilmoto-dynamic-banner--cms {
  --nilmoto-cms-banner-height: clamp(380px, 30.184vw, 575px);
}

.nilmoto-dynamic-banner--cms .nilmoto-home-banner-v3,
.nilmoto-dynamic-banner--cms .nilmoto-home-banner-v3 .flexslider,
.nilmoto-dynamic-banner--cms .nilmoto-home-banner-v3 .slides,
.nilmoto-dynamic-banner--cms .nilmoto-home-banner-v3 .slides > li {
  height: var(--nilmoto-cms-banner-height);
  min-height: var(--nilmoto-cms-banner-height);
}

.nilmoto-cms-slide {
  position: relative;
  display: grid;
  height: var(--nilmoto-cms-banner-height);
  min-height: var(--nilmoto-cms-banner-height);
  align-items: center;
  overflow: hidden;
  background: var(--nilmoto-black);
}

.nilmoto-cms-slide__artwork-link,
.nilmoto-cms-slide__picture {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.nilmoto-cms-slide__artwork-link {
  display: block;
  color: inherit;
}

.nilmoto-cms-slide__artwork-link:focus-visible {
  z-index: 3;
  outline: 3px solid var(--nilmoto-red);
  outline-offset: -5px;
}

.nilmoto-cms-slide__picture img {
  width: 100%;
  height: 100%;
  min-height: var(--nilmoto-cms-banner-height);
  object-fit: cover;
}

.nilmoto-cms-slide__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--nilmoto-banner-overlay);
  pointer-events: none;
}

.nilmoto-cms-slide--overlay-none .nilmoto-cms-slide__overlay { display: none; }

.nilmoto-cms-slide--overlay-soft .nilmoto-cms-slide__overlay {
  background: var(--nilmoto-banner-overlay-soft);
}

.nilmoto-cms-slide--overlay-strong .nilmoto-cms-slide__overlay {
  background: var(--nilmoto-banner-overlay-strong);
}

.nilmoto-cms-slide__content {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 14px;
  width: var(--nilmoto-wrap);
  margin: 0 auto;
  padding: 54px 0 64px;
  color: var(--nilmoto-white);
}

.nilmoto-cms-slide--text-dark .nilmoto-cms-slide__content {
  color: var(--nilmoto-ink);
}

.nilmoto-cms-slide--text-dark .nilmoto-cms-slide__overlay {
  background: var(--nilmoto-banner-overlay-light);
}

.nilmoto-cms-slide__lead {
  width: fit-content;
  margin: 0;
  color: var(--nilmoto-red);
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-cms-slide h1,
.nilmoto-cms-slide h2 {
  min-width: 0;
  max-width: 700px;
  margin: 0;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 72px;
  font-weight: 900;
  line-height: 1;
  overflow-wrap: anywhere;
  text-transform: uppercase;
  white-space: normal;
}

.nilmoto-cms-slide p {
  min-width: 0;
  max-width: 520px;
  margin: 0;
  color: currentColor;
  font-size: 18px;
  line-height: 1.42;
  overflow-wrap: anywhere;
  white-space: normal;
}

.nilmoto-cms-slide__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.nilmoto-cms-slide__actions a {
  white-space: nowrap;
}

.nilmoto-cms-slide--align-center .nilmoto-cms-slide__content {
  justify-items: center;
  text-align: center;
}

.nilmoto-cms-slide--align-right .nilmoto-cms-slide__content {
  justify-items: end;
  text-align: right;
}

.nilmoto-cms-slide--align-center .nilmoto-cms-slide__actions,
.nilmoto-cms-slide--align-right .nilmoto-cms-slide__actions {
  justify-content: inherit;
}

.nilmoto-cms-slide--type-promo h1,
.nilmoto-cms-slide--type-promo h2 {
  max-width: 620px;
}

.nilmoto-cms-countdown { font-variant-numeric: tabular-nums; font-weight: 600; }

@media (min-width: 768px) {
  .nilmoto-cms-slide--type-promo .nilmoto-cms-slide__content {
    gap: 12px;
    padding-top: clamp(28px, 2.8vw, 54px);
    padding-bottom: clamp(28px, 3.4vw, 64px);
  }

  .nilmoto-cms-slide--type-promo h1,
  .nilmoto-cms-slide--type-promo h2 {
    font-size: clamp(36px, 3.4vw, 58px);
  }
}

.nilmoto-cms-slide--type-full .nilmoto-cms-slide__content {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.nilmoto-cms-slide--type-full .nilmoto-cms-slide__overlay {
  display: none;
}

.nilmoto-cms-slide--type-product .nilmoto-cms-slide__picture {
  inset: 0 0 0 auto;
  display: grid;
  width: 50%;
  padding: clamp(24px, 3vw, 52px) clamp(42px, 6vw, 116px) clamp(24px, 3vw, 52px) 24px;
  place-items: center;
}

.nilmoto-cms-slide--type-product .nilmoto-cms-slide__picture img {
  height: 100%;
  min-height: 0;
  filter: brightness(1.14) contrast(1.04);
  object-fit: contain;
}

.nilmoto-cms-slide--type-product .nilmoto-cms-slide__content {
  box-sizing: border-box;
  padding-right: min(52%, 760px);
}

.nilmoto-cms-slide--linked-artwork:active .nilmoto-cms-slide__picture {
  opacity: .94;
}

.nilmoto-dynamic-banner--cms[data-state="loading"] .nilmoto-cms-slide {
  opacity: .55;
}

.nilmoto-dynamic-banner--cms[data-state="error"]::after {
  content: "No se pudo cargar el banner";
  position: absolute;
  inset: auto 16px 16px;
  z-index: 9;
  padding: 10px 14px;
  background: var(--nilmoto-black);
  color: var(--nilmoto-white);
  text-align: center;
}

.nilmoto-banner-nav {
  position: absolute;
  top: 50%;
  z-index: 8;
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: var(--nilmoto-radius-pill);
  background: var(--nilmoto-banner-control-bg);
  color: var(--nilmoto-white);
  font-size: 28px;
  line-height: 1;
  transform: translateY(-50%);
  cursor: pointer;
}

.nilmoto-banner-nav:focus-visible,
.nilmoto-banner-toggle:focus-visible {
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  outline: 2px solid var(--nilmoto-white);
  outline-offset: 2px;
}

.nilmoto-banner-dots button:focus-visible {
  outline: 2px solid var(--nilmoto-white);
  outline-offset: -7px;
}

@media (hover: hover) and (pointer: fine) {
  .nilmoto-banner-nav:hover,
  .nilmoto-banner-toggle:hover {
    background: var(--nilmoto-red);
    color: var(--nilmoto-white);
  }
}

.nilmoto-banner-nav:active,
.nilmoto-banner-toggle:active { transform: translateY(calc(-50% + 1px)); }

.nilmoto-banner-nav:disabled,
.nilmoto-banner-nav[aria-disabled="true"],
.nilmoto-banner-toggle:disabled,
.nilmoto-banner-toggle[aria-disabled="true"] {
  opacity: .5;
  cursor: not-allowed;
}

.nilmoto-banner-nav--prev { left: 14px; }
.nilmoto-banner-nav--next { right: 14px; }

.nilmoto-banner-dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 16px;
  z-index: 8;
  display: flex;
  justify-content: center;
  gap: 8px;
}

.nilmoto-banner-dots button {
  position: relative;
  width: 44px;
  height: 44px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: var(--nilmoto-radius-pill);
  background: transparent;
  cursor: pointer;
}

.nilmoto-banner-dots button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-radius: var(--nilmoto-radius-pill);
  background: var(--nilmoto-banner-dot-bg);
  box-shadow: 0 0 0 2px var(--nilmoto-black);
  transform: translate(-50%, -50%);
}

.nilmoto-banner-dots button.is-active::before {
  width: 28px;
  background: var(--nilmoto-red);
}

.nilmoto-banner-dots button:active::before {
  background: var(--nilmoto-red);
}

.nilmoto-banner-dots button:disabled,
.nilmoto-banner-dots button[aria-disabled="true"] {
  opacity: .5;
  cursor: not-allowed;
}

.nilmoto-banner-toggle {
  position: absolute;
  right: 14px;
  bottom: 66px;
  z-index: 8;
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: var(--nilmoto-radius-pill);
  background: var(--nilmoto-banner-control-bg);
  color: var(--nilmoto-white);
  font-size: 13px;
  line-height: 1;
  transform: translateY(-50%);
  cursor: pointer;
}

.nilmoto-banner-toggle[aria-pressed="true"] {
  background: var(--nilmoto-red);
}

.nilmoto-hero {
  display: grid;
  grid-template-columns: minmax(300px, 1.05fr) minmax(280px, .95fr);
  align-items: stretch;
  min-height: 430px;
  background: var(--nilmoto-black);
  color: var(--nilmoto-white);
  overflow: hidden;
}

.nilmoto-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  padding: clamp(42px, 6vw, 78px) 5vw;
}

.nilmoto-hero__copy p,
.nilmoto-band p {
  margin: 0;
  color: var(--nilmoto-red);
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.nilmoto-hero h1,
.nilmoto-band h2,
.nilmoto-section h2,
.nilmoto-brands h2 {
  font-family: "Barlow Condensed", Arial, sans-serif;
  letter-spacing: 0;
  text-transform: uppercase;
}

.nilmoto-hero h1 {
  max-width: 660px;
  margin: 0;
  font-size: clamp(44px, 6vw, 78px);
  font-style: italic;
  font-weight: 700;
  line-height: .9;
}

.nilmoto-hero__copy > span {
  max-width: 500px;
  color: #bbb;
  font-size: 18px;
  line-height: 1.45;
}

.nilmoto-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }

.nilmoto-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: var(--nilmoto-radius);
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-button--red { background: var(--nilmoto-red); color: var(--nilmoto-white); }
.nilmoto-button--dark { background: var(--nilmoto-black); color: var(--nilmoto-white); }
.nilmoto-button--light { background: var(--nilmoto-white); color: var(--nilmoto-black); }
.nilmoto-page .nilmoto-button--red,
.nilmoto-page .nilmoto-button--dark,
.nilmoto-page .nilmoto-button--whatsapp { color: var(--nilmoto-white); }
.nilmoto-button.nilmoto-button--light { color: var(--nilmoto-black); }
.nilmoto-button:hover { transform: translateY(-1px); color: var(--nilmoto-white); }
.nilmoto-page .nilmoto-button--red:hover,
.nilmoto-page .nilmoto-button--dark:hover,
.nilmoto-page .nilmoto-button--whatsapp:hover { color: var(--nilmoto-white); }
.nilmoto-button--light:hover { color: var(--nilmoto-red); }
.nilmoto-button.nilmoto-button--light:hover { color: var(--nilmoto-red); }

.nilmoto-action-button {
  gap: 10px;
}

.nilmoto-action-button::before {
  content: "";
  display: inline-block;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  background: currentColor;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

.nilmoto-action-button--arrow::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}

.nilmoto-action-button--deal::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-7M2 7h20v5H2zM12 7v14M12 7H8.5A2.5 2.5 0 1 1 12 3.5M12 7h3.5A2.5 2.5 0 1 0 12 3.5'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-7M2 7h20v5H2zM12 7v14M12 7H8.5A2.5 2.5 0 1 1 12 3.5M12 7h3.5A2.5 2.5 0 1 0 12 3.5'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-action-button--store::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 10v11h12V10M4 10h16L18 3H6zM9 21v-6h6v6M8 10V3M16 10V3'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 10v11h12V10M4 10h16L18 3H6zM9 21v-6h6v6M8 10V3M16 10V3'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-action-button--cart::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1.5'/%3E%3Ccircle cx='19' cy='21' r='1.5'/%3E%3Cpath d='M2 3h3l2.6 12.6A2 2 0 0 0 9.6 17h9.7a2 2 0 0 0 2-1.6L23 7H6'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1.5'/%3E%3Ccircle cx='19' cy='21' r='1.5'/%3E%3Cpath d='M2 3h3l2.6 12.6A2 2 0 0 0 9.6 17h9.7a2 2 0 0 0 2-1.6L23 7H6'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-action-button--search::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-action-button--send::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 2 11 13M22 2l-7 20-4-9-9-4z'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 2 11 13M22 2l-7 20-4-9-9-4z'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-action-button--back::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M19 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M19 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E");
}

.nilmoto-action-button--print::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V3h12v6M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2M6 14h12v7H6z'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V3h12v6M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2M6 14h12v7H6z'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-action-button--close::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E");
}

.nilmoto-hero__visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 34px;
  background: radial-gradient(circle at 50% 50%, #2a2a2a, #121212 60%);
}

.nilmoto-hero__visual img {
  width: min(430px, 88%);
  max-height: 340px;
  object-fit: contain;
  padding: 24px;
  border-radius: var(--nilmoto-radius);
  background: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-lg);
}

.nilmoto-hero__visual div {
  position: absolute;
  right: 5vw;
  bottom: 36px;
  display: grid;
  gap: 4px;
  padding: 14px 18px;
  background: var(--nilmoto-red);
  box-shadow: var(--nilmoto-shadow);
}

.nilmoto-hero__visual strong {
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 24px;
  text-transform: uppercase;
}

.nilmoto-trust {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-soft);
}

.nilmoto-trust article {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  min-width: 0;
  padding: 20px clamp(18px, 2.4vw, 34px);
  border-right: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-white);
}

.nilmoto-trust article > div {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.nilmoto-trust strong {
  color: var(--nilmoto-ink);
  font-size: 15px;
  line-height: 1.15;
  text-transform: uppercase;
}

.nilmoto-trust article > div > span {
  max-width: 230px;
  color: var(--nilmoto-muted);
  font-size: 13px;
  line-height: 1.35;
}

.nilmoto-trust__icon {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  margin-top: 1px;
  color: var(--nilmoto-red);
  background: currentColor;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

.nilmoto-trust .nilmoto-trust__icon { color: var(--nilmoto-red); }

.nilmoto-trust__icon--shipping {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 7h15v12H2zM17 11h4l4 4v4h-8z'/%3E%3Ccircle cx='8' cy='21' r='2'/%3E%3Ccircle cx='20' cy='21' r='2'/%3E%3Cpath d='M5 11h7'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 7h15v12H2zM17 11h4l4 4v4h-8z'/%3E%3Ccircle cx='8' cy='21' r='2'/%3E%3Ccircle cx='20' cy='21' r='2'/%3E%3Cpath d='M5 11h7'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-trust__icon--returns {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 8H4v-4M4 8a10 10 0 1 1 2 14'/%3E%3Cpath d='M14 8v7l5 3'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 8H4v-4M4 8a10 10 0 1 1 2 14'/%3E%3Cpath d='M14 8v7l5 3'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-trust__icon--years {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3l3 6 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3l3 6 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-trust__icon--secure {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3l9 4v6c0 6-4 10-9 12-5-2-9-6-9-12V7z'/%3E%3Cpath d='M9 14l3 3 7-7'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3l9 4v6c0 6-4 10-9 12-5-2-9-6-9-12V7z'/%3E%3Cpath d='M9 14l3 3 7-7'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-section {
  width: var(--nilmoto-wrap);
  margin: 0 auto;
  padding: 46px 0;
}

.nilmoto-section__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}

.nilmoto-section h2,
.nilmoto-brands h2 {
  margin: 0;
  padding-left: 14px;
  border-left: 5px solid var(--nilmoto-red);
  font-size: 34px;
  font-weight: 700;
}

.nilmoto-page .nilmoto-section__see-all {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--nilmoto-red);
  font-weight: 800;
}

.nilmoto-page .nilmoto-section__see-all::after {
  content: "";
  display: inline-block;
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  background: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  transition: transform .15s ease;
}

.nilmoto-page .nilmoto-section__see-all:hover::after {
  transform: translateX(3px);
}

.nilmoto-category-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

.nilmoto-category-grid a {
  position: relative;
  display: grid;
  grid-template-rows: 1fr auto;
  min-width: 0;
  overflow: hidden;
  background: var(--nilmoto-white);
  border: 1px solid rgba(17, 17, 17, .16);
  border-radius: var(--nilmoto-radius-sm);
  box-shadow: 0 12px 26px rgba(17, 17, 17, .08);
  text-decoration: none;
  transform: translateZ(0);
  transition: border-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out), box-shadow var(--nilmoto-duration-ui) var(--nilmoto-ease-out), transform var(--nilmoto-duration-ui) var(--nilmoto-ease-out);
}

.nilmoto-category-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 11;
  height: auto;
  object-fit: cover;
  padding: 0;
  background: var(--nilmoto-red);
  transition: transform var(--nilmoto-duration-ui) var(--nilmoto-ease-out), filter var(--nilmoto-duration-ui) var(--nilmoto-ease-out);
}

.nilmoto-category-grid span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 58px;
  padding: 11px 14px 12px;
  background: var(--nilmoto-white);
  color: var(--nilmoto-black);
  font-family: var(--nilmoto-font-display);
  font-size: 23px;
  font-weight: 800;
  line-height: .94;
  letter-spacing: 0;
  text-transform: uppercase;
}

.nilmoto-category-grid span::after {
  content: "";
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  background: var(--nilmoto-red);
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 20px 20px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 20px 20px;
  transition: background var(--nilmoto-duration-ui) var(--nilmoto-ease-out), transform var(--nilmoto-duration-ui) var(--nilmoto-ease-out);
}

.nilmoto-category-grid a:hover,
.nilmoto-category-grid a:focus-visible {
  border-color: rgba(227, 6, 19, .44);
  box-shadow: 0 18px 38px rgba(17, 17, 17, .16);
  transform: translateY(-2px);
}

.nilmoto-category-grid a:focus-visible {
  outline: 3px solid rgba(227, 6, 19, .22);
  outline-offset: 3px;
}

.nilmoto-category-grid a:active {
  transform: translateY(0);
}

.nilmoto-category-grid a:hover img,
.nilmoto-category-grid a:focus-visible img {
  filter: saturate(1.04) contrast(1.03);
  transform: scale(1.035);
}

.nilmoto-category-grid a:hover span,
.nilmoto-category-grid a:focus-visible span {
  background: var(--nilmoto-black);
  color: var(--nilmoto-white);
}

.nilmoto-category-grid a:hover span::after,
.nilmoto-category-grid a:focus-visible span::after {
  background: var(--nilmoto-white);
  transform: translateX(3px);
}

.nilmoto-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(245px, 1fr));
  gap: 18px;
}

.nilmoto-product-card {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  border: 1px solid var(--nilmoto-line);
  border-radius: 0;
  background: var(--nilmoto-white);
  transition: border-color .15s ease, box-shadow .15s ease;
}

.nilmoto-product-card:hover {
  z-index: 8;
  border-color: rgba(17, 17, 17, .2);
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-product-card--featured {
  border-color: #caa24d;
  box-shadow: inset 0 0 0 1px rgba(202, 162, 77, .42), 0 10px 24px rgba(17, 17, 17, .06);
}

.nilmoto-product-card--featured:hover {
  border-color: #b88a25;
  box-shadow: inset 0 0 0 1px rgba(202, 162, 77, .55), 0 18px 40px rgba(116, 82, 18, .18);
}

.nilmoto-product-card__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 285px;
  padding: 18px;
  background: #fff;
  overflow: hidden;
}

.nilmoto-product-card__media > img {
  width: 100%;
  height: 245px;
  object-fit: contain;
}

.nilmoto-product-card__badges {
  position: absolute;
  left: 12px;
  top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  z-index: 2;
}

.nilmoto-badge {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 3px 8px;
  color: var(--nilmoto-white);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-badge--dark { background: var(--nilmoto-black); }
.nilmoto-badge--red { background: var(--nilmoto-red); }
.nilmoto-badge--pink { background: var(--nilmoto-pink); }
.nilmoto-badge--selection {
  border: 1px solid rgba(85, 58, 11, .28);
  background: linear-gradient(135deg, #f7df92 0%, #d6aa43 48%, #fff0af 100%);
  color: #15110a;
  box-shadow: 0 6px 14px rgba(116, 82, 18, .2);
  text-shadow: 0 1px 0 rgba(255, 255, 255, .35);
}
.nilmoto-badge--promo {
  background: #b00058;
}

.nilmoto-product-card__body {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 5px;
  padding: 14px 16px 16px;
  border-top: 1px solid #f0f0f0;
}

.nilmoto-product-card__versions {
  position: absolute;
  left: 12px;
  right: 12px;
  top: auto;
  bottom: calc(100% + 10px);
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 148px;
  margin: 0;
  padding: 10px;
  border: 1px solid rgba(17, 17, 17, .12);
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--nilmoto-shadow-md);
  opacity: 0;
  pointer-events: none;
  overflow: auto;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.nilmoto-product-card:hover .nilmoto-product-card__versions,
.nilmoto-product-card:focus-within .nilmoto-product-card__versions,
.nilmoto-product-card.is-hover .nilmoto-product-card__versions {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transform: translateY(0);
}

.nilmoto-product-card__versions-head {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--nilmoto-black);
  font-family: inherit;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-align: left;
  text-transform: uppercase;
  appearance: none;
}

.nilmoto-product-card__versions-head strong {
  display: inline-flex;
  min-width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  font-size: 12px;
}

.nilmoto-product-card__versions-content {
  display: grid;
  gap: 8px;
}

.nilmoto-product-card__version-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.nilmoto-product-card__version {
  display: flex;
  min-width: 0;
  min-height: 32px;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-white);
  color: var(--nilmoto-black);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.1;
  padding: 6px 8px;
  text-decoration: none;
}

.nilmoto-product-card__version:hover,
.nilmoto-product-card__version:focus-visible {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  outline: none;
}

.nilmoto-product-card__version:hover span,
.nilmoto-product-card__version:hover strong,
.nilmoto-product-card__version:focus-visible span,
.nilmoto-product-card__version:focus-visible strong {
  color: var(--nilmoto-white);
}

.nilmoto-product-card__version span {
  overflow: hidden;
  min-width: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nilmoto-product-card__version strong {
  flex: 0 0 auto;
  color: inherit;
  font-size: 11px;
}

.nilmoto-product-card__version-more {
  align-self: flex-start;
  color: var(--nilmoto-red);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-product-card__rating {
  display: inline-flex;
  gap: 1px;
  align-self: flex-start;
  font-size: 14px;
  line-height: 1;
}

.nilmoto-star {
  position: relative;
  display: inline-block;
  width: .86em;
  color: #d7d7d7;
}

.nilmoto-star::before {
  content: "\2605";
  position: absolute;
  inset: 0;
  width: 0;
  overflow: hidden;
  color: var(--nilmoto-red);
}

.nilmoto-star--full::before { width: 100%; }
.nilmoto-star--half::before { width: 50%; }

.nilmoto-product-card__brand {
  margin: 0;
  color: var(--nilmoto-muted);
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nilmoto-product-card h3 {
  min-height: 42px;
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
  text-transform: uppercase;
}

/* Hallmark · component: product characteristic labels · genre: modern-minimal · theme: Nilmotov3 established
 * states: informational, non-interactive · contrast: pass
 * pre-emit critique: P5 H5 E5 S5 R5 V4
 */
.nilmoto-product-card__features {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  min-height: 53px;
  gap: 5px;
  margin-top: 6px;
}

.nilmoto-product-card__features .nilmoto-product-feature {
  display: inline-flex;
  width: auto;
  max-width: 100%;
  height: 24px;
  gap: 5px;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  border: 1px solid var(--nilmoto-line);
  border-radius: 999px;
  background: var(--nilmoto-soft);
  color: var(--nilmoto-ink);
  font-family: var(--nilmoto-font-body);
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.nilmoto-product-card__features .nilmoto-season-badge {
  background: var(--nilmoto-white);
}

.nilmoto-product-card__features .nilmoto-product-feature__icon {
  display: inline-flex;
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 11px;
  line-height: 1;
}

.nilmoto-product-card__features .nilmoto-product-feature__label {
  display: block;
  overflow: hidden;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nilmoto-product-card__features .nilmoto-product-feature--more {
  min-width: 24px;
  padding: 0 6px;
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
}

.nilmoto-product-card__features .nilmoto-season-badge__icon {
  display: inline-block;
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  border-radius: 0;
  background: currentColor;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.nilmoto-product-card__features .nilmoto-season-badge--verano .nilmoto-season-badge__icon {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.42 1.42M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.42-1.42M17.66 6.34l1.41-1.41'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.42 1.42M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.42-1.42M17.66 6.34l1.41-1.41'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-product-card__features .nilmoto-season-badge--invierno .nilmoto-season-badge__icon {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 2v20M4.5 6.5l15 11M19.5 6.5l-15 11M9 4l3 3 3-3M9 20l3-3 3 3M5 10l4 .5L7.5 14M19 10l-4 .5 1.5 3.5'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 2v20M4.5 6.5l15 11M19.5 6.5l-15 11M9 4l3 3 3-3M9 20l3-3 3 3M5 10l4 .5L7.5 14M19 10l-4 .5 1.5 3.5'/%3E%3C/g%3E%3C/svg%3E");
}

@media (max-width: 575.98px) {
  .nilmoto-product-card__features {
    min-height: 49px;
    gap: 4px;
  }

  .nilmoto-product-card__features .nilmoto-product-feature {
    height: 22px;
    gap: 4px;
    padding: 0 6px;
    font-size: 9px;
  }

  .nilmoto-product-card__features .nilmoto-product-feature__icon,
  .nilmoto-product-card__features .nilmoto-season-badge__icon {
    width: 12px;
    height: 12px;
    font-size: 10px;
  }
}

.nilmoto-product-card__price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid var(--nilmoto-line);
}

.nilmoto-product-card__price small { color: var(--nilmoto-muted); }
.nilmoto-product-card__price strong { color: var(--nilmoto-red); font-size: 22px; }
.nilmoto-product-card__price del { color: var(--nilmoto-muted); font-size: 14px; }
.nilmoto-product-card__consultar { color: var(--nilmoto-red); font-weight: 800; }

.inner_page_breadcrumb {
  width: var(--nilmoto-wrap);
  margin: 0 auto;
  padding: 22px 0 0;
  background: transparent;
}

.inner_page_breadcrumb .container,
.inner_page_breadcrumb .row,
.inner_page_breadcrumb [class*="col-"] {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

.inner_page_breadcrumb .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  min-height: 44px;
  margin: 0;
  padding: 0 0 12px;
  border-bottom: 1px solid var(--nilmoto-line);
  background: transparent;
  color: var(--nilmoto-muted);
  font-size: 13px;
  list-style: none;
}

.inner_page_breadcrumb .breadcrumb-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.inner_page_breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  width: 14px;
  height: 14px;
  margin: 0 8px;
  background: var(--nilmoto-muted);
  content: "";
  opacity: .55;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m9%2018%206-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m9%2018%206-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.inner_page_breadcrumb a { color: var(--nilmoto-muted); }
.inner_page_breadcrumb strong,
.inner_page_breadcrumb .active { color: var(--nilmoto-ink); font-weight: 800; }

.inner_page_breadcrumb .nilmoto-breadcrumb-home,
.nilmoto-listing__breadcrumb .nilmoto-breadcrumb-home {
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid var(--nilmoto-line);
  border-radius: 50%;
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
  transition: background-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out), border-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out), color var(--nilmoto-duration-ui) var(--nilmoto-ease-out);
}

.nilmoto-breadcrumb-home__icon {
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m3%2011%209-8%209%208'/%3E%3Cpath%20d='M5%2010v10h14V10M9%2020v-6h6v6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m3%2011%209-8%209%208'/%3E%3Cpath%20d='M5%2010v10h14V10M9%2020v-6h6v6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.inner_page_breadcrumb .nilmoto-breadcrumb-home:hover,
.inner_page_breadcrumb .nilmoto-breadcrumb-home:focus-visible,
.nilmoto-listing__breadcrumb .nilmoto-breadcrumb-home:hover,
.nilmoto-listing__breadcrumb .nilmoto-breadcrumb-home:focus-visible {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-choice-selected-soft);
  color: var(--nilmoto-red);
}

.inner_page_breadcrumb .nilmoto-breadcrumb-home:focus-visible,
.nilmoto-listing__breadcrumb .nilmoto-breadcrumb-home:focus-visible {
  outline: 2px solid var(--nilmoto-red);
  outline-offset: 2px;
}

.inner_page_breadcrumb .nilmoto-breadcrumb-home:active,
.nilmoto-listing__breadcrumb .nilmoto-breadcrumb-home:active {
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-listing {
  width: var(--nilmoto-wrap);
  margin: 0 auto;
  padding: 20px 0 56px;
}

.nilmoto-group-models {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 12px;
  padding: 0;
  list-style: none;
}

.nilmoto-group-models a {
  display: block;
  height: 100%;
  padding: 16px 20px;
  border: 1px solid var(--nilmoto-line);
  border-radius: 8px;
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
}

.nilmoto-group-models a:hover,
.nilmoto-group-models a:focus-visible {
  border-color: var(--nilmoto-red);
  color: var(--nilmoto-red);
}

.nilmoto-listing > .container,
.container.nilmoto-listing {
  width: 100%;
  max-width: none;
  padding: 0;
}

.nilmoto-listing > .container > .row,
.container.nilmoto-listing > .row {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  margin: 0;
}

.nilmoto-listing > .container > .row > [class*="col-"],
.container.nilmoto-listing > .row > [class*="col-"] {
  width: auto;
  max-width: none;
  padding: 0;
}

.nilmoto-listing .main-title,
.nilmoto-listing .cat-service-banner {
  margin: 0 0 18px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--nilmoto-line);
  background: transparent;
}

.nilmoto-listing .main-title h1,
.nilmoto-listing .cat-service-banner h1,
.nilmoto-listing .category-outer__text__title {
  margin: 0 0 8px;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: clamp(34px, 4vw, 54px);
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0;
  line-height: .96;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.nilmoto-listing .main-title p,
.nilmoto-listing .cat-service-banner p,
.nilmoto-listing .cat-service-banner div {
  max-width: 860px;
  margin: 0;
  color: #555;
  font-size: 15px;
  line-height: 1.45;
}

.nilmoto-listing .sidebar_accordion_widget {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.nilmoto-listing .sidebar_accordion_widget .accordion {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.nilmoto-listing .sidebar_accordion_widget .card {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.nilmoto-listing .sidebar_accordion_widget .card-header,
.nilmoto-listing .section-separator {
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 2px solid var(--nilmoto-ink);
  background: transparent;
  color: var(--nilmoto-ink);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nilmoto-listing .sidebar_accordion_widget .card-header h4,
.nilmoto-listing .sidebar_accordion_widget .card-header button {
  display: flex;
  width: 100%;
  min-height: 36px;
  align-items: center;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  text-transform: inherit;
}

.nilmoto-listing .sidebar_accordion_widget .card-body {
  padding: 0;
}

.nilmoto-listing .sidebar_accordion_widget .card > .collapse.show {
  padding: 8px 0 4px;
}

.nilmoto-listing .sidebar_accordion_widget ul,
.nilmoto-listing .sidebar_accordion_widget .sidebar_widget_checkbox,
.nilmoto-listing #brandCheckboxList {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
}

.nilmoto-listing .sidebar_accordion_widget li {
  list-style: none;
}

.nilmoto-listing .sidebar_accordion_widget a,
.nilmoto-listing .custom_checkbox {
  display: flex;
  align-items: center;
  min-height: 24px;
  gap: 8px;
  color: #444;
  font-size: 14px;
  line-height: 1.25;
}

.nilmoto-listing .sidebar_accordion_widget a:hover,
.nilmoto-listing .custom_checkbox:hover {
  color: var(--nilmoto-red);
}

.nilmoto-listing .custom_checkbox input {
  accent-color: var(--nilmoto-red);
}

.nilmoto-listing .separator-line,
.nilmoto-listing hr {
  border: 0;
  border-top: 1px solid var(--nilmoto-line);
}

.nilmoto-listing .row:has(> [class*="col-"] > .moto-selector) {
  display: grid;
  grid-template-columns: 1.1fr repeat(2, minmax(135px, .8fr)) repeat(2, minmax(132px, .85fr)) minmax(130px, .75fr);
  gap: 10px;
  margin: 0 0 18px;
  padding: 18px;
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-black);
  color: var(--nilmoto-white);
}

.nilmoto-listing .row:has(> [class*="col-"] > .moto-selector) > [class*="col-"] {
  width: auto;
  max-width: none;
  padding: 0;
}

.nilmoto-listing .moto-selector {
  display: grid;
  gap: 2px;
  margin: 0;
  color: var(--nilmoto-white);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 22px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-listing .moto-selector::before {
  content: "Filtra por tu moto";
  color: #bbb;
  font-family: "Barlow", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.2;
  order: 2;
  text-transform: none;
}

.nilmoto-listing .selectorMoto,
.nilmoto-listing .selectpicker,
.nilmoto-listing .form-select,
.nilmoto-listing .form-control {
  width: 100%;
  min-height: 40px;
  border: 1px solid #ddd;
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-white);
  padding: 0 10px;
  color: var(--nilmoto-ink);
  font: inherit;
  font-size: 13px;
}

.nilmoto-listing .form-check {
  display: flex;
  align-items: center;
  min-height: 40px;
  gap: 8px;
  color: var(--nilmoto-white);
  font-size: 13px;
  font-weight: 800;
}

.nilmoto-listing .form-check-input {
  accent-color: var(--nilmoto-red);
}

.nilmoto-listing .form-check-label {
  color: inherit;
  animation: none;
}

.nilmoto-listing .row:has(> [class*="col-"] > .moto-selector) .btn {
  width: 100%;
  min-height: 40px;
  border: 0;
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-listing .row:has(> [class*="col-"] > .moto-selector) .btn::before {
  content: "";
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M16 16l5 5'/%3E%3C/g%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M16 16l5 5'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.nilmoto-listing .page_control_shorting,
.nilmoto-listing .shop-item-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 18px;
}

.nilmoto-listing .filter_components ul,
.nilmoto-listing .filter_components li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.nilmoto-listing .pagination_page_count {
  margin: 0;
  color: var(--nilmoto-muted);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-listing .row:has(> .nilmoto-product-card),
.nilmoto-listing .tab-pane .row:has(> .nilmoto-product-card) {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 18px;
  margin: 0;
}

.nilmoto-listing .row:has(> .nilmoto-product-card) > .nilmoto-product-card {
  min-width: 0;
}

.nilmoto-listing .mbp_pagination,
.nilmoto-listing .pagination-container {
  margin: 0;
}

.nilmoto-listing .pagination,
.nilmoto-listing .pagination ul {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nilmoto-listing .pagination li,
.nilmoto-listing .pagination a,
.nilmoto-listing .pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 34px;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
  font-size: 13px;
  font-weight: 800;
}

.nilmoto-listing .pagination .active a,
.nilmoto-listing .pagination .active span,
.nilmoto-listing .pagination li.active {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-listing .badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-soft);
  padding: 3px 8px;
  color: var(--nilmoto-ink);
  font-size: 12px;
  font-weight: 800;
}

.nilmoto-listing .title h3 {
  margin: 0 0 10px;
  font-size: 15px;
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-listing__breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  min-height: 44px;
  margin: 0 0 20px;
  padding: 0 0 12px;
  border-bottom: 1px solid var(--nilmoto-line);
  color: var(--nilmoto-muted);
  font-size: 13px;
}

.nilmoto-listing__breadcrumb > span {
  display: inline-flex;
  align-items: center;
  gap: 0;
}

.nilmoto-listing__breadcrumb > span + span::before {
  width: 14px;
  height: 14px;
  margin: 0 8px;
  background: var(--nilmoto-muted);
  content: "";
  opacity: .55;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m9%2018%206-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m9%2018%206-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.nilmoto-listing__breadcrumb a {
  color: var(--nilmoto-muted);
}

.nilmoto-listing__breadcrumb > span:last-child > a {
  color: var(--nilmoto-ink);
  font-weight: 800;
}

.nilmoto-listing__hero {
  position: relative;
  z-index: 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 24px;
  padding: 24px 0;
  isolation: isolate;
}

.nilmoto-listing__hero::before {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  border-top: 1px solid var(--nilmoto-line);
  border-bottom: 1px solid var(--nilmoto-line);
  background: linear-gradient(90deg, var(--nilmoto-soft) 0%, var(--nilmoto-white) 78%);
  content: "";
  transform: translateX(-50%);
}

.nilmoto-listing__hero > :first-child {
  min-width: 0;
  flex: 1 1 auto;
}

.nilmoto-listing__hero h1 {
  margin: 0;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: clamp(38px, 4.2vw, 58px);
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0;
  line-height: .92;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.nilmoto-listing__brand-heading {
  display: flex;
  align-items: flex-end;
  gap: 18px;
  min-width: 0;
}

.nilmoto-listing__brand-logo {
  display: block;
  max-width: 132px;
  max-height: 62px;
  object-fit: contain;
  flex: 0 0 auto;
}

.nilmoto-listing__intro {
  max-width: 900px;
  margin-top: 10px;
  color: #555;
  font-size: 15px;
  line-height: 1.45;
}

.nilmoto-listing--family .nilmoto-listing__intro,
.nilmoto-listing--subcategory .nilmoto-listing__intro {
  width: 100%;
  max-width: none;
}

.nilmoto-listing__intro p {
  margin: 0 0 8px;
}

.nilmoto-listing__summary {
  display: grid;
  min-width: 118px;
  justify-items: end;
  gap: 2px;
  color: var(--nilmoto-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nilmoto-listing__summary strong {
  color: var(--nilmoto-red);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 44px;
  line-height: .85;
}

.nilmoto-listing__compatible-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  color: var(--nilmoto-red);
  font-size: 14px;
  font-weight: 800;
}

.nilmoto-listing__layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.nilmoto-listing__sidebar,
.nilmoto-listing__content {
  min-width: 0;
}

.nilmoto-listing__filter-toggle {
  display: none;
}

.nilmoto-listing__sidebar {
  position: sticky;
  top: 142px;
  align-self: start;
  max-height: calc(100vh - 162px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 4px;
  scrollbar-color: var(--nilmoto-red) var(--nilmoto-soft);
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}

.nilmoto-listing__sidebar::-webkit-scrollbar {
  width: 6px;
}

.nilmoto-listing__sidebar::-webkit-scrollbar-track {
  background: var(--nilmoto-soft);
}

.nilmoto-listing__sidebar::-webkit-scrollbar-thumb {
  border-radius: var(--nilmoto-radius-pill);
  background: var(--nilmoto-red);
}

.nilmoto-listing__sidebar .sidebar_accordion_widget {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.nilmoto-listing__sidebar .accordion {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.nilmoto-listing__sidebar .card {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.nilmoto-listing__sidebar .card-header,
.nilmoto-listing__sidebar .section-separator {
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 2px solid var(--nilmoto-ink);
  background: transparent;
  color: var(--nilmoto-ink);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nilmoto-listing__sidebar .card-header h4,
.nilmoto-listing__sidebar .card-header button {
  display: flex;
  width: 100%;
  min-height: 36px;
  align-items: center;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  text-transform: inherit;
}

.nilmoto-listing__sidebar .card-body {
  padding: 0;
}

.nilmoto-listing__sidebar .card > .collapse.show {
  padding: 8px 0 4px;
}

.nilmoto-listing__sidebar ul,
.nilmoto-listing__sidebar .sidebar_widget_checkbox,
.nilmoto-listing__sidebar #brandCheckboxList {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
}

.nilmoto-listing__sidebar li {
  list-style: none;
}

.nilmoto-listing__sidebar a,
.nilmoto-listing__sidebar .custom_checkbox {
  display: flex;
  align-items: center;
  min-height: 24px;
  gap: 8px;
  color: #444;
  font-size: 14px;
  line-height: 1.25;
}

.nilmoto-listing__sidebar a:hover,
.nilmoto-listing__sidebar .custom_checkbox:hover {
  color: var(--nilmoto-red);
}

.nilmoto-listing__sidebar input {
  accent-color: var(--nilmoto-red);
}

.nilmoto-listing__sidebar .btn-danger,
.nilmoto-listing__sidebar .btn-dark {
  min-height: 38px;
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  border-radius: var(--nilmoto-radius);
}

.nilmoto-listing__sidebar .btn-outline-secondary,
.nilmoto-listing__sidebar .price-range-btn {
  min-height: 34px;
  border-color: var(--nilmoto-line);
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
  border-radius: var(--nilmoto-radius);
}

.nilmoto-listing__sidebar .price-range-btn.active,
.nilmoto-listing__sidebar .price-range-btn:hover,
.nilmoto-listing__sidebar .price-range-btn:focus-visible {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-choice-selected-soft);
  color: var(--nilmoto-red);
  outline: none;
}

.nilmoto-filter-sidebar {
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius);
  background: var(--nilmoto-white);
  padding: 16px;
}

.nilmoto-filter-sidebar .accordion {
  gap: 10px;
}

.nilmoto-filter-sidebar .card {
  border-bottom: 1px solid var(--nilmoto-line);
  padding-bottom: 9px;
}

.nilmoto-filter-sidebar .collapse {
  display: none;
}

.nilmoto-filter-sidebar .collapse.show {
  display: block;
}

.nilmoto-filter-sidebar .card:last-of-type {
  border-bottom: 0;
}

.nilmoto-filter-sidebar .card-header,
.nilmoto-filter-sidebar .section-separator {
  margin-bottom: 7px;
  border-bottom: 0;
  padding-bottom: 0;
  font-size: 13px;
}

.nilmoto-filter-sidebar .section-separator {
  display: flex;
  align-items: center;
  min-height: 30px;
  margin: 6px 0 2px;
  border-left: 3px solid var(--nilmoto-red);
  padding: 0 0 0 10px;
  background: var(--nilmoto-soft);
  color: var(--nilmoto-ink);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
}

.nilmoto-filter-sidebar .separator-line {
  display: none;
}

.nilmoto-filter-sidebar .section-separator ~ .card {
  padding-bottom: 7px;
}

.nilmoto-filter-sidebar .section-separator ~ .card .card-header {
  margin-bottom: 4px;
}

.nilmoto-filter-sidebar .card-header button,
.nilmoto-filter-sidebar .nav-link,
.nilmoto-filter-sidebar .btn-light {
  display: flex;
  width: 100%;
  min-height: 31px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  color: var(--nilmoto-ink);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1.1;
  text-align: left;
  text-transform: uppercase;
}

.nilmoto-filter-sidebar .card-header button::after {
  content: "";
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  background: var(--nilmoto-red);
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  transition: transform .16s ease;
}

.nilmoto-filter-sidebar .card-header button[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

.nilmoto-filter-sidebar .left_sidebar_department_widgets ul {
  gap: 4px;
}

.nilmoto-filter-sidebar .parent_list,
.nilmoto-filter-sidebar .left_sidebar_department_widgets a {
  position: relative;
  min-height: 32px;
  border-radius: var(--nilmoto-radius-sm);
  padding: 6px 8px 6px 18px;
  color: #404040;
  font-size: 13px;
  font-weight: 700;
}

.nilmoto-filter-sidebar .parent_list::before,
.nilmoto-filter-sidebar .left_sidebar_department_widgets a::before {
  content: "";
  position: absolute;
  left: 5px;
  width: 5px;
  height: 5px;
  border-radius: var(--nilmoto-radius-pill);
  background: var(--nilmoto-red);
  opacity: .75;
}

.nilmoto-filter-sidebar .parent_list:hover,
.nilmoto-filter-sidebar .left_sidebar_department_widgets a:hover {
  background: var(--nilmoto-soft);
  color: var(--nilmoto-red);
}

.nilmoto-filter-sidebar .blog_search_widget .form-control {
  min-height: 36px;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-sm);
  box-shadow: none;
  color: var(--nilmoto-ink);
  font-size: 13px;
}

.nilmoto-filter-sidebar .sidebar_widget_checkbox,
.nilmoto-filter-sidebar #brandCheckboxList,
.nilmoto-filter-sidebar .ui_kit_checkbox {
  gap: 5px;
}

.nilmoto-filter-sidebar .custom_checkbox {
  position: relative;
  min-height: 31px;
  border: 1px solid transparent;
  border-radius: var(--nilmoto-radius-sm);
  padding: 6px 8px 6px 34px;
  color: #3f3f3f;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
}

.nilmoto-filter-sidebar .custom_checkbox:hover {
  border-color: var(--nilmoto-line);
  background: var(--nilmoto-soft);
}

.nilmoto-filter-sidebar .custom_checkbox input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.nilmoto-filter-sidebar .custom_checkbox .checkmark {
  position: absolute;
  left: 10px;
  top: 50%;
  width: 15px;
  height: 15px;
  transform: translateY(-50%);
  border: 1px solid #b8b8b8;
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-white);
}

.nilmoto-filter-sidebar .custom_checkbox input:checked ~ .checkmark {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-red);
}

.nilmoto-filter-sidebar .custom_checkbox input:checked ~ .checkmark::after {
  content: "";
  position: absolute;
  inset: 3px;
  background: var(--nilmoto-white);
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 8l3 3 7-7' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 8l3 3 7-7' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.nilmoto-filter-sidebar .price-filter-buttons {
  max-width: 100%;
}

.nilmoto-filter-sidebar .price-range-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.nilmoto-filter-sidebar .nilmoto-price-chip {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 7px;
  border: 1px solid #d5d5d5;
  border-radius: var(--nilmoto-radius-pill);
  background: var(--nilmoto-white);
  padding: 7px 12px;
  color: #333;
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}

.nilmoto-filter-sidebar .nilmoto-price-chip::before {
  content: "";
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
  border: 2px solid #b8b8b8;
  border-radius: var(--nilmoto-radius-pill);
  background: var(--nilmoto-white);
}

.nilmoto-filter-sidebar .nilmoto-price-chip:hover,
.nilmoto-filter-sidebar .nilmoto-price-chip:focus-visible {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-choice-selected-soft);
  color: var(--nilmoto-red);
}

.nilmoto-filter-sidebar .nilmoto-price-chip.active,
.nilmoto-filter-sidebar .nilmoto-price-chip.is-selected {
  border-color: var(--nilmoto-red);
  background: #fff5f6;
  color: var(--nilmoto-ink);
}

.nilmoto-filter-sidebar .nilmoto-price-chip.active::before,
.nilmoto-filter-sidebar .nilmoto-price-chip.is-selected::before {
  border-color: var(--nilmoto-red);
  box-shadow: inset 0 0 0 3px var(--nilmoto-white);
  background: var(--nilmoto-red);
}

.nilmoto-filter-actions {
  position: sticky;
  bottom: 10px;
  z-index: 2;
  display: grid;
  gap: 9px;
  margin-top: 2px;
  border-top: 1px solid var(--nilmoto-line);
  background: linear-gradient(180deg, rgba(255,255,255,.84), var(--nilmoto-white) 30%);
  padding-top: 14px;
}

.nilmoto-filter-apply,
.nilmoto-filter-clear {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: var(--nilmoto-radius);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-filter-apply {
  border: 1px solid var(--nilmoto-red);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-filter-apply:hover,
.nilmoto-filter-apply:focus-visible {
  border-color: var(--nilmoto-red-dark);
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
}

.nilmoto-filter-clear {
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
}

.nilmoto-filter-clear:hover,
.nilmoto-filter-clear:focus-visible {
  border-color: var(--nilmoto-red);
  color: var(--nilmoto-red);
}

.allfilter-hidden-sbar-left.nilmoto-filter-sidebar {
  overflow-y: auto;
}

.nilmoto-active-filters {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius);
  padding: 14px;
}

.nilmoto-active-filters h2 {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nilmoto-active-filters__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.nilmoto-active-filters__chips span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-black);
  padding: 0 9px;
  color: var(--nilmoto-white);
  font-size: 12px;
  font-weight: 800;
}

.nilmoto-moto-fit {
  display: grid;
  grid-template-columns: minmax(185px, .9fr) minmax(340px, 1.45fr) minmax(230px, .95fr) minmax(124px, auto);
  gap: 14px;
  align-items: center;
  margin-bottom: 18px;
  border-radius: var(--nilmoto-radius);
  background: var(--nilmoto-black);
  padding: 18px;
  color: var(--nilmoto-white);
}

.nilmoto-moto-fit__copy h2 {
  margin: 0;
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 22px;
  font-style: normal;
  font-weight: 800;
  line-height: .95;
  text-transform: uppercase;
}

.nilmoto-moto-fit__copy p {
  margin: 5px 0 0;
  color: #bbb;
  font-size: 12px;
  line-height: 1.25;
}

.nilmoto-moto-fit__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.nilmoto-moto-fit__field {
  display: grid;
  gap: 6px;
  min-width: 0;
  margin: 0;
}

.nilmoto-moto-fit__field > span {
  color: rgba(255, 255, 255, .72);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-moto-fit select {
  width: 100%;
  min-height: 42px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-white);
  padding: 0 34px 0 12px;
  color: var(--nilmoto-ink);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.nilmoto-moto-fit__checks {
  display: grid;
  gap: 7px;
  align-self: end;
}

.nilmoto-moto-fit__check {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 30px;
  margin: 0;
  border-radius: var(--nilmoto-radius-pill);
  background: rgba(255, 255, 255, .08);
  padding: 5px 10px;
  color: var(--nilmoto-white);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

.nilmoto-moto-fit__checks input {
  accent-color: var(--nilmoto-red);
}

.nilmoto-moto-fit__check--universal::before {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  background: var(--nilmoto-red);
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/%3E%3C/g%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.nilmoto-moto-fit__check--hide-universal::before {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  background: var(--nilmoto-red);
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.6 10.7A2 2 0 0 0 13.3 13.4'/%3E%3Cpath d='M16.5 16.8A10.7 10.7 0 0 1 12 18c-5.5 0-9-6-9-6a16.4 16.4 0 0 1 3.3-3.8'/%3E%3Cpath d='M9.7 6.2A9.6 9.6 0 0 1 12 6c5.5 0 9 6 9 6a16.2 16.2 0 0 1-1.9 2.7'/%3E%3Cpath d='M3 3l18 18'/%3E%3C/g%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.6 10.7A2 2 0 0 0 13.3 13.4'/%3E%3Cpath d='M16.5 16.8A10.7 10.7 0 0 1 12 18c-5.5 0-9-6-9-6a16.4 16.4 0 0 1 3.3-3.8'/%3E%3Cpath d='M9.7 6.2A9.6 9.6 0 0 1 12 6c5.5 0 9 6 9 6a16.2 16.2 0 0 1-1.9 2.7'/%3E%3Cpath d='M3 3l18 18'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.nilmoto-moto-fit__button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: var(--nilmoto-radius);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  font-weight: 800;
  text-transform: uppercase;
  cursor: pointer;
}

.nilmoto-moto-fit__button:hover,
.nilmoto-moto-fit__button:focus-visible {
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
}

.nilmoto-listing__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

/* Hallmark · component: quick catalogue filters · genre: modern-minimal · theme: Nilmotov3 established
 * states: default · hover · focus · active · disabled · loading · error · success
 * pre-emit critique: P5 H5 E5 S5 R5 V4 · contrast: pass
 */
.nilmoto-quick-filters {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 18px;
  padding: 12px 14px;
  border-top: 3px solid var(--nilmoto-red);
  border-bottom: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-soft);
}

.nilmoto-quick-filters__title {
  flex: 0 0 auto;
  color: var(--nilmoto-ink);
  font-family: var(--nilmoto-font-display);
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.nilmoto-quick-filters__rail {
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.nilmoto-quick-filter,
.nilmoto-quick-filters__more {
  display: inline-flex;
  flex: 0 0 auto;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-pill);
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
  font-family: var(--nilmoto-font-body);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}

.nilmoto-quick-filter::before {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  margin-right: 7px;
  background: currentColor;
  content: "";
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16M7 12h10M10 19h4'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16M7 12h10M10 19h4'/%3E%3C/g%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.nilmoto-quick-filter[data-quick-value="impermeable"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2S5 10 5 15a7 7 0 0 0 14 0c0-5-7-13-7-13Z'/%3E%3Cpath d='m9 15 2 2 4-4'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2S5 10 5 15a7 7 0 0 0 14 0c0-5-7-13-7-13Z'/%3E%3Cpath d='m9 15 2 2 4-4'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-quick-filter[data-quick-value="gore-tex"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m3 20 6-10 3 4 3-7 6 13H3Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m3 20 6-10 3 4 3-7 6 13H3Z'/%3E%3C/svg%3E");
}

.nilmoto-quick-filter[data-quick-value="invierno"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 2v20M4.5 6.5l15 11M19.5 6.5l-15 11M9 4l3 3 3-3M9 20l3-3 3 3M5 10l4 .5L7.5 14M19 10l-4 .5 1.5 3.5'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 2v20M4.5 6.5l15 11M19.5 6.5l-15 11M9 4l3 3 3-3M9 20l3-3 3 3M5 10l4 .5L7.5 14M19 10l-4 .5 1.5 3.5'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-quick-filter[data-quick-value="verano"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.42 1.42M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.42-1.42M17.66 6.34l1.41-1.41'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.42 1.42M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.42-1.42M17.66 6.34l1.41-1.41'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-quick-filter[data-quick-group="sexo"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-quick-filter:hover,
.nilmoto-quick-filters__more:hover {
  border-color: var(--nilmoto-ink);
}

.nilmoto-quick-filter:focus-visible,
.nilmoto-quick-filters__more:focus-visible {
  outline: 2px solid var(--nilmoto-red);
  outline-offset: 2px;
}

.nilmoto-quick-filter:active,
.nilmoto-quick-filters__more:active {
  transform: translateY(1px);
}

.nilmoto-quick-filter.is-selected,
.nilmoto-quick-filter[aria-pressed="true"],
.nilmoto-quick-filter.is-success {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-quick-filter[aria-busy="true"] {
  cursor: wait;
}

.nilmoto-quick-filter.is-error {
  border-color: var(--nilmoto-red);
  color: var(--nilmoto-red-dark);
}

.nilmoto-quick-filter:disabled,
.nilmoto-quick-filters__more:disabled,
.nilmoto-quick-filter.is-disabled {
  border-color: var(--nilmoto-line);
  background: var(--nilmoto-soft);
  color: var(--nilmoto-muted);
  cursor: not-allowed;
  opacity: .58;
}

.nilmoto-quick-filters__more {
  border-color: var(--nilmoto-ink);
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
}

.nilmoto-quick-filters__more::after {
  margin-left: 8px;
  content: "\2192";
  font-size: 14px;
}

@media (max-width: 820px) {
  .nilmoto-quick-filters {
    display: block;
    padding: 12px;
  }

  .nilmoto-quick-filters__title {
    display: block;
    margin-bottom: 10px;
  }

  .nilmoto-quick-filters__rail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 2px;
  }

  .nilmoto-quick-filter,
  .nilmoto-quick-filters__more {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 0 10px;
  }
}

@media (max-width: 575.98px) {
  .nilmoto-quick-filters__rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nilmoto-quick-filter,
  .nilmoto-quick-filters__more {
    font-size: 10px;
  }
}

.nilmoto-listing__toolbar p {
  margin: 0;
  color: var(--nilmoto-muted);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-listing__toolbar label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #777;
  font-size: 13px;
  font-weight: 800;
}

.nilmoto-listing__toolbar select {
  min-height: 38px;
  border: 1px solid #ccc;
  border-radius: var(--nilmoto-radius);
  background: var(--nilmoto-white);
  padding: 0 12px;
  color: var(--nilmoto-ink);
  font-size: 13px;
  cursor: pointer;
}

.nilmoto-listing__pagination {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

.nilmoto-listing__pagination--top {
  margin: 0 0 18px;
}

.nilmoto-products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 18px;
}

.nilmoto-empty-listing {
  display: grid;
  justify-items: center;
  gap: 16px;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius);
  padding: 28px;
  text-align: center;
}

.nilmoto-empty-listing p {
  margin: 0;
  color: var(--nilmoto-red);
  font-weight: 800;
}

.nilmoto-listing__seo {
  margin-top: 34px;
  border-top: 1px solid var(--nilmoto-line);
  padding-top: 22px;
}

.nilmoto-listing__seo h2 {
  margin: 0 0 10px;
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 28px;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-listing__seo div {
  color: #555;
  font-size: 15px;
  line-height: 1.5;
}

.nilmoto-product-detail {
  width: var(--nilmoto-wrap);
  margin: 0 auto;
  padding: 24px 0 56px;
}

.nilmoto-product-detail__breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
  color: #999;
  font-size: 13px;
}

.nilmoto-product-detail__breadcrumb strong {
  min-width: 0;
  color: var(--nilmoto-ink);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.nilmoto-product-detail__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: 40px;
  align-items: start;
}

.nilmoto-product-detail__media,
.nilmoto-product-detail__summary {
  min-width: 0;
}

.nilmoto-product-detail__media {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.nilmoto-product-detail__image {
  position: relative;
  display: flex;
  min-height: clamp(360px, 42vw, 560px);
  align-items: center;
  justify-content: center;
  border: 1px solid var(--nilmoto-line);
  border-radius: 0;
  background: #f7f7f7;
  padding: 28px;
  overflow: hidden;
  cursor: zoom-in;
}

.nilmoto-product-detail__image img {
  width: 100%;
  max-height: 500px;
  object-fit: contain;
  transform-origin: var(--nilmoto-product-zoom-x, 50%) var(--nilmoto-product-zoom-y, 50%);
  transition: transform .22s ease;
  will-change: transform;
}

.nilmoto-product-detail__image.is-zooming img {
  transform: scale(1.75);
}

.nilmoto-product-detail__image.is-zooming {
  cursor: zoom-out;
}

.nilmoto-product-detail__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-black);
  color: var(--nilmoto-white);
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.nilmoto-product-detail__badge + .nilmoto-product-detail__badge { top: 43px; }
.nilmoto-product-detail__badge--red { background: var(--nilmoto-red); }

.nilmoto-product-detail__thumbs {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(auto-fit, minmax(76px, 92px));
  gap: 8px;
}

.nilmoto-product-detail__thumbs button {
  display: flex;
  aspect-ratio: 1;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-white);
  padding: 8px;
  cursor: pointer;
}

.nilmoto-product-detail__thumbs button.is-active {
  border-color: var(--nilmoto-red);
}

@media (hover: hover) and (pointer: fine) {
  .nilmoto-product-detail__thumbs button:hover {
    border-color: var(--nilmoto-red);
  }
}

.nilmoto-product-detail__thumbs button:focus-visible {
  border-color: var(--nilmoto-red);
  outline: 2px solid var(--nilmoto-red);
  outline-offset: 2px;
}

.nilmoto-product-detail__thumbs button:active {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-choice-selected-soft);
}

.nilmoto-product-detail__thumbs button:disabled,
.nilmoto-product-detail__thumbs button[aria-disabled="true"] {
  border-color: var(--nilmoto-line);
  background: var(--nilmoto-choice-disabled-bg);
  opacity: .55;
  cursor: not-allowed;
}

.nilmoto-product-detail__thumbs img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nilmoto-product-detail__featured-video {
  display: grid;
  gap: 12px;
  scroll-margin-top: 170px;
  border: 1px solid #dedede;
  border-left: 5px solid var(--nilmoto-red);
  border-radius: var(--nilmoto-radius-md);
  background: #111;
  padding: 16px;
  color: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-product-detail__featured-video-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.nilmoto-product-detail__featured-video-head > div {
  display: grid;
  gap: 2px;
}

.nilmoto-product-detail__featured-video-head span {
  color: #ff9aa1;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nilmoto-product-detail__featured-video-head strong {
  font-family: var(--nilmoto-font-display);
  font-size: 22px;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-product-detail__featured-video-icon {
  position: relative;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 50%;
  background: var(--nilmoto-red);
}

.nilmoto-product-detail__featured-video-icon::after {
  content: "";
  position: absolute;
  top: 11px;
  left: 15px;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #fff;
}

.nilmoto-product-detail__featured-video iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: var(--nilmoto-radius-sm);
  background: #000;
}

.nilmoto-product-detail__featured-video > a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-red);
  color: #fff;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-product-detail__accordions {
  display: grid;
  gap: 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.nilmoto-product-detail__accordions details {
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-white);
  box-shadow: var(--nilmoto-choice-hairline-shadow);
  overflow: clip;
}

.nilmoto-product-detail__accordions summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 64px;
  padding: 0 16px;
  background: var(--nilmoto-soft);
  color: var(--nilmoto-ink);
  font-family: var(--nilmoto-font-display);
  font-size: 21px;
  font-weight: 800;
  letter-spacing: .03em;
  outline: 2px solid transparent;
  outline-offset: -3px;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  list-style: none;
}

.nilmoto-product-detail__accordions summary::-webkit-details-marker { display: none; }

.nilmoto-product-detail__accordions summary::after {
  content: "+";
  display: inline-flex;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-white);
  color: var(--nilmoto-red);
  font-family: var(--nilmoto-font-body);
  font-size: 22px;
  line-height: 1;
}

@media (hover: hover) and (pointer: fine) {
  .nilmoto-product-detail__accordions details:not([open]) summary:hover {
    background: var(--nilmoto-choice-selected-soft);
  }
}

.nilmoto-product-detail__accordions summary:focus-visible {
  outline-color: var(--nilmoto-red);
}

.nilmoto-product-detail__accordions details:not([open]) summary:active {
  background: var(--nilmoto-choice-selected-soft);
}

.nilmoto-product-detail__accordions details[open] {
  border-color: var(--nilmoto-black);
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-product-detail__accordions details[open] summary {
  background: var(--nilmoto-black);
  color: var(--nilmoto-white);
}

.nilmoto-product-detail__accordions details[open] summary::after {
  content: "-";
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-product-detail__accordions details[aria-disabled="true"] {
  background: var(--nilmoto-choice-disabled-bg);
  opacity: .55;
}

.nilmoto-product-detail__accordions details[aria-disabled="true"] summary {
  cursor: not-allowed;
  pointer-events: none;
}

.nilmoto-product-detail__accordions details[aria-busy="true"],
.nilmoto-product-detail__accordions details[data-state="loading"] {
  border-color: var(--nilmoto-choice-loading);
}

.nilmoto-product-detail__accordions details[aria-busy="true"] summary::after,
.nilmoto-product-detail__accordions details[data-state="loading"] summary::after {
  content: "\2026";
}

.nilmoto-product-detail__accordions details[data-state="error"] {
  border-color: var(--nilmoto-red);
}

.nilmoto-product-detail__accordions details[data-state="error"] summary {
  background: var(--nilmoto-choice-error-bg);
  color: var(--nilmoto-ink);
}

.nilmoto-product-detail__accordions details[data-state="error"] summary::after {
  content: "!";
  border-color: var(--nilmoto-red);
  color: var(--nilmoto-red);
}

.nilmoto-product-detail__accordions details[data-state="success"] {
  border-color: var(--nilmoto-success);
}

.nilmoto-product-detail__accordions details[data-state="success"] summary {
  background: var(--nilmoto-success-bg-soft);
  color: var(--nilmoto-ink);
}

.nilmoto-product-detail__accordions details[data-state="success"] summary::after {
  content: "\2713";
  border-color: var(--nilmoto-success);
  color: var(--nilmoto-success);
}

.nilmoto-product-detail__summary-label {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.nilmoto-product-detail__summary-label .nilmoto-icon {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  color: var(--nilmoto-red);
}

.nilmoto-product-detail__accordions details > div {
  padding: 20px 16px 24px;
  border-top: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-white);
  color: var(--nilmoto-choice-description);
  font-size: 15px;
  line-height: 1.65;
}

.nilmoto-product-detail__accordions p {
  margin: 0 0 14px;
}

.nilmoto-product-detail__size-guide-panel {
  scroll-margin-top: 112px;
}

.nilmoto-product-detail__accordions .nilmoto-product-detail__size-guide-content {
  display: grid;
  gap: 18px;
  padding: 24px;
}

.nilmoto-product-detail__size-guide-content h3 {
  margin: 0;
  color: var(--nilmoto-ink);
  font-family: var(--nilmoto-font-display);
  font-size: clamp(20px, 2.4vw, 28px);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.1;
}

.nilmoto-product-detail__size-guide-image,
.nilmoto-product-detail__size-guide-frame {
  display: block;
  width: 100%;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-white);
}

.nilmoto-product-detail__size-guide-image {
  height: auto;
  max-height: 860px;
  object-fit: contain;
}

.nilmoto-product-detail__size-guide-frame {
  min-height: min(760px, 76vh);
}

.nilmoto-product-detail__description {
  display: grid;
  gap: 18px;
  max-width: 780px;
}

.nilmoto-product-detail__lead {
  max-width: 680px;
  color: #333;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.55;
}

.nilmoto-product-detail__description h2,
.nilmoto-product-detail__description h3,
.nilmoto-product-detail__description h4 {
  margin: 8px 0 6px;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-style: normal;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: 0;
  text-transform: uppercase;
}

.nilmoto-product-detail__description h2 { font-size: clamp(24px, 2.4vw, 34px); }
.nilmoto-product-detail__description h3 { font-size: 24px; }
.nilmoto-product-detail__description h4 { font-size: 20px; }

.nilmoto-product-detail__description ul,
.nilmoto-product-detail__description ol {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nilmoto-product-detail__description li {
  position: relative;
  padding-left: 20px;
}

.nilmoto-product-detail__description li::before {
  content: "";
  position: absolute;
  top: .72em;
  left: 0;
  width: 7px;
  height: 7px;
  background: var(--nilmoto-red);
}

.nilmoto-product-detail__shipping-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.nilmoto-product-detail__shipping-grid article {
  display: grid;
  gap: 6px;
  border: 1px solid var(--nilmoto-line);
  background: #fafafa;
  padding: 16px;
}

.nilmoto-product-detail__shipping-grid header {
  display: flex;
  align-items: center;
  gap: 9px;
}

.nilmoto-product-detail__shipping-grid header .nilmoto-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  color: var(--nilmoto-red);
}

.nilmoto-product-detail__shipping-grid strong {
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 20px;
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-product-detail__shipping-grid article > span {
  color: #555;
  font-size: 14px;
  line-height: 1.45;
}

.nilmoto-product-detail__reviews {
  max-width: 860px;
  gap: 20px;
}

.nilmoto-product-detail__reviews-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  border: 1px solid var(--nilmoto-line);
  border-top: 3px solid var(--nilmoto-red);
  background: #fafafa;
  padding: 18px;
}

.nilmoto-product-detail__reviews-score {
  display: grid;
  gap: 6px;
}

.nilmoto-product-detail__reviews-score > span,
.nilmoto-product-detail__review-form-head span,
.nilmoto-product-detail__review-rating-field > span,
.nilmoto-product-detail__review-form label,
.nilmoto-product-detail__review-textarea {
  color: var(--nilmoto-ink);
  font-weight: 800;
}

.nilmoto-product-detail__reviews-score strong {
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-product-detail__reviews-score p,
.nilmoto-product-detail__reviews-score small,
.nilmoto-product-detail__review-form-actions p {
  margin: 0;
  color: #666;
  font-size: 13px;
  line-height: 1.4;
}

.nilmoto-product-detail__reviews-stars,
.nilmoto-product-detail__review-stars {
  display: inline-flex;
  gap: 2px;
  color: var(--nilmoto-red);
  font-size: 18px;
  line-height: 1;
}

.nilmoto-product-detail__review-link {
  min-height: 44px;
  white-space: nowrap;
}

.nilmoto-product-detail__review-list {
  display: grid;
  gap: 10px;
}

.nilmoto-product-detail__review-card {
  display: grid;
  gap: 8px;
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-white);
  padding: 16px;
}

.nilmoto-product-detail__review-card[hidden] {
  display: none;
}

.nilmoto-product-detail__review-card strong {
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.1;
  text-transform: uppercase;
}

.nilmoto-product-detail__review-card p {
  margin: 0;
  color: #4b4b4b;
}

.nilmoto-product-detail__review-card > span {
  color: #777;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.nilmoto-product-detail__review-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-top: 1px solid var(--nilmoto-line);
  padding-top: 16px;
}

.nilmoto-product-detail__review-pagination[hidden] {
  display: none;
}

.nilmoto-product-detail__review-pagination-status {
  color: #666;
  font-size: 13px;
  font-weight: 700;
}

.nilmoto-product-detail__review-pagination-controls,
.nilmoto-product-detail__review-pagination-pages {
  display: flex;
  align-items: center;
  gap: 6px;
}

.nilmoto-product-detail__review-pagination button {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
  font: 800 13px/1 "Barlow", Arial, sans-serif;
  cursor: pointer;
}

.nilmoto-product-detail__review-pagination button:hover,
.nilmoto-product-detail__review-pagination button:focus-visible,
.nilmoto-product-detail__review-pagination button[aria-current="page"] {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  outline: none;
}

.nilmoto-product-detail__review-pagination button:disabled {
  border-color: #e4e4e4;
  background: #f4f4f4;
  color: #aaa;
  cursor: default;
}

.nilmoto-product-detail__review-pagination-ellipsis {
  min-width: 20px;
  color: #777;
  text-align: center;
}

.nilmoto-product-detail__questions {
  max-width: 860px;
  gap: 18px;
}

.nilmoto-product-detail__question-list {
  display: grid;
  gap: 10px;
}

.nilmoto-product-detail__question-card {
  display: grid;
  gap: 10px;
  border: 1px solid var(--nilmoto-line);
  border-left: 3px solid var(--nilmoto-red);
  background: var(--nilmoto-white);
  padding: 16px;
}

.nilmoto-product-detail__question-card strong {
  color: var(--nilmoto-ink);
  font-weight: 800;
  line-height: 1.35;
}

.nilmoto-product-detail__question-card div {
  display: grid;
  gap: 6px;
}

.nilmoto-product-detail__question-card span {
  color: var(--nilmoto-red);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-product-detail__question-card p {
  margin: 0;
  color: #4b4b4b;
}

.nilmoto-product-detail__questions-action {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
}

.nilmoto-product-detail__questions-action small {
  color: #666;
  font-size: 13px;
  line-height: 1.4;
}

.nilmoto-product-detail__review-form {
  display: grid;
  gap: 16px;
  scroll-margin-top: 170px;
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-white);
  padding: 18px;
}

.nilmoto-product-detail__review-form-head {
  display: grid;
  gap: 4px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--nilmoto-line);
}

.nilmoto-product-detail__review-form-head span {
  color: var(--nilmoto-red);
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nilmoto-product-detail__review-form-head h3 {
  margin: 0;
}

.nilmoto-product-detail__review-rating-field {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.nilmoto-product-detail__rating-select {
  display: inline-flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 4px;
}

.nilmoto-product-detail__rating-select input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.nilmoto-product-detail__rating-select label {
  color: #d5d5d5;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  transition: color .16s ease, transform .16s ease;
}

.nilmoto-product-detail__rating-select label:hover,
.nilmoto-product-detail__rating-select label:hover ~ label,
.nilmoto-product-detail__rating-select input:checked + label,
.nilmoto-product-detail__rating-select input:checked + label ~ label {
  color: var(--nilmoto-red);
}

.nilmoto-product-detail__rating-select label:hover {
  transform: translateY(-1px);
}

.nilmoto-product-detail__review-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.nilmoto-product-detail__review-form label,
.nilmoto-product-detail__review-textarea {
  display: grid;
  gap: 7px;
  font-size: 13px;
  text-transform: uppercase;
}

.nilmoto-product-detail__review-label-text {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  width: fit-content;
}

.nilmoto-product-detail__review-form em {
  color: var(--nilmoto-red);
  font-style: normal;
}

.nilmoto-product-detail__review-form input[type="text"],
.nilmoto-product-detail__review-form textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-sm);
  background: #fbfbfb;
  color: var(--nilmoto-ink);
  font: 500 14px/1.4 "Barlow", Arial, sans-serif;
  padding: 10px 12px;
  text-transform: none;
}

.nilmoto-product-detail__review-form textarea {
  min-height: 120px;
  resize: vertical;
}

.nilmoto-product-detail__review-form input[type="text"]:focus,
.nilmoto-product-detail__review-form textarea:focus {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-white);
  outline: none;
  box-shadow: var(--nilmoto-focus-ring);
}

.nilmoto-product-detail__review-form .nilmoto-product-detail__review-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  line-height: 1.55;
  text-transform: uppercase;
}

.nilmoto-product-detail__review-consent input[type="checkbox"] {
  flex: 0 0 auto;
  margin-top: 3px;
}

.nilmoto-product-detail__review-consent span {
  min-width: 0;
}

.nilmoto-product-detail__review-form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.nilmoto-product-detail__review-form-actions .nilmoto-button {
  min-height: 46px;
}

.nilmoto-product-detail__specs {
  display: grid;
  margin: 0;
  border: 1px solid var(--nilmoto-line);
  border-bottom: 0;
}

.nilmoto-product-detail__specs div {
  display: grid;
  grid-template-columns: minmax(110px, 42%) minmax(0, 1fr);
  border-bottom: 1px solid #eee;
}

.nilmoto-product-detail__specs dt,
.nilmoto-product-detail__specs dd {
  margin: 0;
  padding: 12px 14px;
}

.nilmoto-product-detail__specs dt {
  background: #fafafa;
  color: var(--nilmoto-ink);
  font-weight: 800;
}

.nilmoto-product-detail__docs {
  display: grid;
  gap: 12px;
}

.nilmoto-product-detail__docs iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
}

.nilmoto-product-detail__docs a {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--nilmoto-line);
  background: #fafafa;
  padding: 0 14px;
  color: var(--nilmoto-ink);
  font-weight: 800;
}

.nilmoto-product-detail__docs a::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

.nilmoto-product-detail__docs a:hover,
.nilmoto-product-detail__docs a:focus-visible {
  border-color: var(--nilmoto-red);
  color: var(--nilmoto-red);
  outline: none;
}

.nilmoto-product-detail__documentation {
  box-shadow: inset 0 4px 0 var(--nilmoto-red);
}

.nilmoto-product-detail__documentation:not([open]) summary {
  background: var(--nilmoto-choice-selected-soft);
}

.nilmoto-product-detail__description .nilmoto-product-spec {
  display: grid;
  gap: 22px;
  margin-top: 8px;
  color: #333;
}

.nilmoto-product-detail__description .nilmoto-spec-brand-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.nilmoto-product-detail__description .nilmoto-spec-brand-name,
.nilmoto-product-detail__description .nilmoto-spec-reference,
.nilmoto-product-detail__description .nilmoto-spec-hero-badge,
.nilmoto-product-detail__description .nilmoto-spec-badge {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  background: var(--nilmoto-black);
  color: var(--nilmoto-white);
  padding: 3px 9px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-product-detail__description .nilmoto-spec-reference,
.nilmoto-product-detail__description .nilmoto-spec-hero-badge,
.nilmoto-product-detail__description .nilmoto-spec-badge {
  background: #f2f2f2;
  color: #333;
}

.nilmoto-product-detail__description .nilmoto-spec-hero {
  position: relative;
  border-left: 5px solid var(--nilmoto-red);
  background: #fafafa;
  padding: 22px;
  overflow: hidden;
}

.nilmoto-product-detail__description .nilmoto-spec-watermark {
  position: absolute;
  right: 14px;
  bottom: -20px;
  color: rgba(17, 17, 17, .04);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: clamp(72px, 10vw, 140px);
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
  text-transform: uppercase;
}

.nilmoto-product-detail__description .nilmoto-spec-hero-copy {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
}

.nilmoto-product-detail__description .nilmoto-spec-eyebrow,
.nilmoto-product-detail__description .nilmoto-spec-subtitle,
.nilmoto-product-detail__description .nilmoto-spec-compatibility-label,
.nilmoto-product-detail__description .nilmoto-spec-label {
  color: var(--nilmoto-muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nilmoto-product-detail__description .nilmoto-spec-description,
.nilmoto-product-detail__description .nilmoto-spec-feature-description {
  margin: 0;
  color: #555;
}

.nilmoto-product-detail__description .nilmoto-spec-hero-badges,
.nilmoto-product-detail__description .nilmoto-spec-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.nilmoto-product-detail__description .nilmoto-spec-compatibility {
  display: grid;
  grid-template-columns: minmax(140px, .32fr) minmax(0, 1fr);
  gap: 14px;
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-white);
  padding: 16px;
}

.nilmoto-product-detail__description .nilmoto-spec-compatibility-models {
  color: var(--nilmoto-ink);
  font-weight: 800;
  line-height: 1.45;
}

.nilmoto-product-detail__description .nilmoto-spec-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 24px;
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-product-detail__description .nilmoto-spec-heading::after {
  content: "";
  flex: 1;
  height: 2px;
  background: var(--nilmoto-red);
}

.nilmoto-product-detail__description .nilmoto-spec-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--nilmoto-line);
  border-left: 1px solid var(--nilmoto-line);
}

.nilmoto-product-detail__description .nilmoto-spec-cell {
  display: grid;
  gap: 6px;
  min-width: 0;
  border-right: 1px solid var(--nilmoto-line);
  border-bottom: 1px solid var(--nilmoto-line);
  background: #fff;
  padding: 14px;
}

.nilmoto-product-detail__description .nilmoto-spec-value {
  min-width: 0;
  color: var(--nilmoto-ink);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.nilmoto-product-detail__description .nilmoto-spec-features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.nilmoto-product-detail__description .nilmoto-spec-feature {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  border: 1px solid var(--nilmoto-line);
  background: #fff;
  padding: 14px;
}

.nilmoto-product-detail__description .nilmoto-spec-feature-index {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  font-weight: 900;
}

.nilmoto-product-detail__description .nilmoto-spec-feature-title {
  margin-bottom: 4px;
  color: var(--nilmoto-ink);
  font-weight: 900;
}

.nilmoto-product-detail__description .nilmoto-spec-notes {
  border-left: 5px solid var(--nilmoto-black);
  background: #fafafa;
  padding: 16px;
  color: #555;
}

.nilmoto-product-detail__summary {
  display: flex;
  flex-direction: column;
  gap: 18px;
  position: static;
  top: auto;
  max-height: none;
  overflow: visible;
  padding-right: 4px;
  scrollbar-width: thin;
  scrollbar-color: #cfcfcf transparent;
}

.nilmoto-product-detail__summary::-webkit-scrollbar {
  width: 6px;
}

.nilmoto-product-detail__summary::-webkit-scrollbar-thumb {
  border-radius: var(--nilmoto-radius-pill);
  background: #cfcfcf;
}

.nilmoto-product-detail__brand {
  width: fit-content;
  color: var(--nilmoto-red);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nilmoto-page .nilmoto-product-detail__summary > .nilmoto-product-detail__brand {
  color: var(--nilmoto-red);
}

.nilmoto-product-detail__summary h1 {
  margin: 0;
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: clamp(30px, 3vw, 42px);
  font-style: normal;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.nilmoto-product-detail__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  color: #999;
  font-size: 13px;
}

.nilmoto-product-detail__meta strong { color: var(--nilmoto-ink); }

.nilmoto-product-detail__reference {
  color: #999;
}

.nilmoto-product-detail__features {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: -6px;
}

.nilmoto-product-detail__features .nilmoto-product-feature {
  display: inline-flex;
  min-height: 28px;
  max-width: 100%;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-pill);
  background: var(--nilmoto-soft);
  padding: 5px 10px;
  color: var(--nilmoto-ink);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.nilmoto-product-detail__features .nilmoto-product-feature__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1;
}

.nilmoto-product-detail__features .nilmoto-product-feature__label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nilmoto-product-detail__availability {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 4px 12px;
  border: 2px solid var(--nilmoto-black);
  border-top: 5px solid var(--nilmoto-red);
  border-radius: var(--nilmoto-radius-md);
  background: var(--nilmoto-white);
  padding: 16px;
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-product-detail__availability-icon {
  grid-row: 1 / span 2;
  width: 34px;
  height: 34px;
  color: var(--nilmoto-red);
}

.nilmoto-product-detail__availability-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.nilmoto-product-detail__availability-label {
  color: var(--nilmoto-ink);
  font-family: var(--nilmoto-font-display);
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.nilmoto-product-detail__availability-copy small {
  color: var(--nilmoto-muted);
  font-size: 12px;
  line-height: 1.25;
}

.nilmoto-product-detail__stock {
  display: inline-flex;
  grid-column: 2;
  justify-self: start;
  max-width: 100%;
  min-height: 34px;
  align-items: center;
  gap: 7px;
  border: 1px solid transparent;
  border-radius: var(--nilmoto-radius-pill);
  padding: 7px 12px;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.nilmoto-product-detail__stock::before {
  display: inline-flex;
  width: 13px;
  height: 13px;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
}

.nilmoto-product-detail__availability .is-pending {
  border-color: var(--nilmoto-line);
  background: var(--nilmoto-soft);
  color: var(--nilmoto-muted);
}
.nilmoto-product-detail__availability .is-pending::before { content: "\2192"; }
.nilmoto-product-detail__availability .is-available {
  border-color: #b9dec6;
  background: var(--nilmoto-success-bg);
  color: #0f6b32;
}
.nilmoto-product-detail__availability .is-available::before { content: "\2713"; }
.nilmoto-product-detail__availability .is-limited {
  border-color: #e8c675;
  background: #fff4df;
  color: #704600;
}
.nilmoto-product-detail__availability .is-limited::before { content: "\25F7"; }
.nilmoto-product-detail__availability .is-unavailable {
  border-color: var(--nilmoto-choice-selected-line);
  background: var(--nilmoto-choice-selected-soft);
  color: #a50711;
}
.nilmoto-product-detail__availability .is-unavailable::before { content: "!"; }

.nilmoto-product-detail__submit:disabled,
.nilmoto-product-detail__submit[aria-disabled="true"] {
  border-color: var(--nilmoto-line);
  background: var(--nilmoto-choice-disabled-bg);
  box-shadow: none;
  color: var(--nilmoto-muted);
  cursor: not-allowed;
  opacity: 1;
  transform: none;
}

.nilmoto-product-detail__compat-quick {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--nilmoto-line);
  border-left: 4px solid var(--nilmoto-red);
  border-radius: var(--nilmoto-radius-md);
  background: #fff;
  padding: 12px 14px;
  color: var(--nilmoto-ink);
}

.nilmoto-product-detail__compat-quick span {
  color: var(--nilmoto-muted);
  font-size: 13px;
  font-weight: 700;
}

.nilmoto-product-detail__compat-quick strong {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--nilmoto-red);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-product-detail__compat-quick strong::after {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(135deg);
}

.nilmoto-product-detail__compat-quick:hover,
.nilmoto-product-detail__compat-quick:focus-visible {
  border-color: #f2b5b9;
  border-left-color: var(--nilmoto-red);
  box-shadow: var(--nilmoto-shadow-sm);
  color: var(--nilmoto-ink);
  outline: none;
}

.nilmoto-product-detail__video-quick strong::after {
  width: 0;
  height: 0;
  border: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid currentColor;
  transform: none;
}

.nilmoto-product-detail__highlights {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nilmoto-product-detail__highlights li {
  position: relative;
  padding-left: 20px;
  color: #444;
  font-size: 14px;
  line-height: 1.35;
}

.nilmoto-product-detail__highlights li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--nilmoto-red);
}

.nilmoto-product-detail__field {
  display: grid;
  gap: 8px;
}

.nilmoto-product-detail__field > span {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nilmoto-product-detail__field select {
  min-height: 42px;
  border: 1px solid #ccc;
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-white);
  padding: 0 12px;
  font: inherit;
}

.nilmoto-product-detail__addons {
  display: grid;
  gap: 0;
  border: 2px solid var(--nilmoto-black);
  border-radius: var(--nilmoto-radius-md);
  background: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-sm);
  overflow: clip;
}

.nilmoto-product-detail__addons-head {
  display: grid;
  gap: 4px;
  background: var(--nilmoto-black);
  padding: 16px 18px;
  color: var(--nilmoto-white);
}

.nilmoto-product-detail__addons-head > span {
  color: var(--nilmoto-red);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nilmoto-product-detail__addons-head h2 {
  margin: 0;
  color: var(--nilmoto-white);
  font-family: var(--nilmoto-font-display);
  font-size: 27px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-product-detail__addons-grid {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.nilmoto-product-detail__addon {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-white);
  padding: 10px;
}

.nilmoto-product-detail__addon-image {
  display: grid;
  width: 70px;
  height: 70px;
  place-items: center;
  border: 1px solid #ececec;
  background: #fafafa;
}

.nilmoto-product-detail__addon-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nilmoto-product-detail__addon-body,
.nilmoto-product-detail__addon-action {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.nilmoto-product-detail__addon-body > strong {
  font-size: 13px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.nilmoto-product-detail__addon-body label {
  color: #666;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-product-detail__addon-body select {
  min-height: 34px;
  border: 1px solid #ccc;
  border-radius: var(--nilmoto-radius-sm);
  background: #fff;
  padding: 0 8px;
  font: inherit;
  font-size: 12px;
}

.nilmoto-product-detail__addon-stock,
.nilmoto-product-detail__variant-stock {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 5px;
  color: #555;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
}

.nilmoto-product-detail__addon-stock i,
.nilmoto-product-detail__variant-stock i {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: #c78a13;
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px #e9cf98;
}

.nilmoto-product-detail__addon-stock.is-available i,
.nilmoto-product-detail__variant-stock.is-available i {
  background: #188348;
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px #b9dec6;
}

.nilmoto-product-detail__addon-stock.is-unavailable i,
.nilmoto-product-detail__variant-stock.is-unavailable i {
  background: var(--nilmoto-red);
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px #f0b3b7;
}

.nilmoto-product-detail__addon-action {
  justify-items: end;
}

.nilmoto-product-detail__addon-action > strong {
  color: var(--nilmoto-red);
  font-size: 17px;
  white-space: nowrap;
}

.nilmoto-product-detail__addon-action del {
  color: #888;
  font-size: 11px;
}

.nilmoto-product-detail__addon-action button,
.nilmoto-product-detail__addon-action a {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--nilmoto-red);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-red);
  padding: 0 12px;
  color: #fff;
  font: 800 11px/1 "Barlow", Arial, sans-serif;
  text-transform: uppercase;
  cursor: pointer;
}

.nilmoto-product-detail__addon-action button:hover,
.nilmoto-product-detail__addon-action a:hover {
  border-color: var(--nilmoto-red-dark);
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
}

.nilmoto-product-detail__addon-action button:focus-visible,
.nilmoto-product-detail__addon-action a:focus-visible {
  outline: 2px solid var(--nilmoto-red);
  outline-offset: 2px;
}

.nilmoto-product-detail__addon-action button:active,
.nilmoto-product-detail__addon-action a:active {
  transform: translateY(1px);
}

.nilmoto-product-detail__addon-action button:disabled,
.nilmoto-product-detail__addon-action [aria-disabled="true"] {
  border-color: var(--nilmoto-line);
  background: var(--nilmoto-choice-disabled-bg);
  color: var(--nilmoto-muted);
  cursor: not-allowed;
}

.nilmoto-product-detail__field--variant {
  min-width: 0;
  gap: 12px;
}

.nilmoto-product-detail__variant-heading {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.nilmoto-product-detail__variant-heading-row {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.nilmoto-product-detail__variant-heading-row > label {
  flex: 1 1 auto;
}

.nilmoto-product-detail__variant-heading-row .nilmoto-product-detail__size-guide {
  margin-top: 2px;
}

.nilmoto-product-detail__variant-kicker {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  min-height: 24px;
  align-items: center;
  border-radius: var(--nilmoto-radius-pill);
  background: var(--nilmoto-black);
  padding: 0 12px;
  color: var(--nilmoto-white);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-product-detail__variant-heading label {
  display: grid;
  gap: 4px;
  min-width: 0;
  cursor: pointer;
}

.nilmoto-product-detail__variant-heading strong {
  color: var(--nilmoto-ink);
  font-family: var(--nilmoto-font-display);
  font-size: clamp(24px, 2.3vw, 29px);
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .01em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.nilmoto-product-detail__variant-heading label > span {
  max-width: 58ch;
  color: var(--nilmoto-muted);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}

.nilmoto-product-detail__variant-select {
  position: relative;
  display: grid;
  gap: 12px;
  min-width: 0;
  border: 2px solid var(--nilmoto-black);
  border-top: 4px solid var(--nilmoto-red);
  border-radius: var(--nilmoto-radius-md);
  background: var(--nilmoto-white);
  padding: 16px;
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-product-detail__variant-control {
  position: relative;
  display: block;
  min-width: 0;
}

.nilmoto-product-detail__variant-select select {
  width: 100%;
  min-height: 56px;
  border: 1px solid var(--nilmoto-black);
  border-radius: var(--nilmoto-radius-sm);
  outline: 2px solid transparent;
  outline-offset: 1px;
  appearance: none;
  background: var(--nilmoto-white);
  padding: 0 56px 0 16px;
  color: var(--nilmoto-ink);
  font-family: var(--nilmoto-font-body);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
  transition: background-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out),
              transform var(--nilmoto-duration-press) var(--nilmoto-ease-out);
}

.nilmoto-product-detail__variant-control-icon {
  position: absolute;
  top: 50%;
  right: 8px;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-black);
  color: var(--nilmoto-white);
  pointer-events: none;
  transform: translateY(-50%);
}

.nilmoto-product-detail__variant-control-icon::before {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}

@media (hover: hover) and (pointer: fine) {
  .nilmoto-product-detail__variant-select select:hover {
    background: var(--nilmoto-soft);
  }
}

.nilmoto-product-detail__variant-select select:focus-visible {
  border-color: var(--nilmoto-black);
  outline-color: var(--nilmoto-red);
}

.nilmoto-product-detail__variant-select select:active {
  transform: translateY(1px);
}

.nilmoto-product-detail__variant-select select:disabled {
  background: var(--nilmoto-choice-disabled-bg);
  color: var(--nilmoto-muted);
  cursor: not-allowed;
  opacity: .55;
}

.nilmoto-product-detail__variant-select select:disabled + .nilmoto-product-detail__variant-control-icon {
  background: var(--nilmoto-choice-loading);
}

.nilmoto-product-detail__variant-select select[aria-invalid="true"] {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-choice-error-bg);
}

.nilmoto-product-detail__variant-select select[aria-invalid="true"] + .nilmoto-product-detail__variant-control-icon {
  background: var(--nilmoto-red);
}

.nilmoto-product-detail__variant-select select[aria-invalid="true"] + .nilmoto-product-detail__variant-control-icon::before {
  content: "!";
  width: auto;
  height: auto;
  border: 0;
  font-weight: 900;
  transform: none;
}

.nilmoto-product-detail__variant-select select[aria-busy="true"] + .nilmoto-product-detail__variant-control-icon {
  width: 24px;
  height: 24px;
  right: 16px;
  border: 3px solid var(--nilmoto-line);
  border-top-color: var(--nilmoto-red);
  border-radius: 50%;
  background: var(--nilmoto-white);
  animation: nilmoto-choice-spin 800ms linear infinite;
}

.nilmoto-product-detail__variant-select select[aria-busy="true"] + .nilmoto-product-detail__variant-control-icon::before {
  content: none;
}

.nilmoto-product-detail__variant-select.is-selected {
  border-color: var(--nilmoto-black);
}

.nilmoto-product-detail__variant-select.is-selected .nilmoto-product-detail__variant-control-icon {
  background: var(--nilmoto-red);
}

.nilmoto-product-detail__variant-select small {
  display: flex;
  min-height: 20px;
  align-items: flex-start;
  gap: 8px;
  color: var(--nilmoto-muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}

.nilmoto-product-detail__variant-select.is-selected small {
  color: var(--nilmoto-success);
}

.nilmoto-product-detail__variant-select.is-selected small::before {
  content: "\2713";
  display: inline-grid;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  place-items: center;
  border-radius: 50%;
  background: var(--nilmoto-success);
  color: var(--nilmoto-white);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.nilmoto-product-detail__variant-select.is-error small {
  color: var(--nilmoto-red-dark);
}

.nilmoto-product-detail__variant-select.is-error small::before {
  content: "!";
  background: var(--nilmoto-red);
}

@keyframes nilmoto-choice-spin {
  to { transform: translateY(-50%) rotate(360deg); }
}

@media (min-width: 40rem) {
  .nilmoto-product-detail__variant-select {
    padding: 16px;
  }

  .nilmoto-product-detail__variant-select select {
    min-height: 60px;
    padding-inline: 16px 64px;
  }

  .nilmoto-product-detail__variant-select small {
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nilmoto-product-detail__variant-select select {
    transition-duration: 0ms;
  }

  .nilmoto-product-detail__variant-select select[aria-busy="true"] + .nilmoto-product-detail__variant-control-icon {
    animation-duration: 1600ms;
  }
}

.nilmoto-product-detail__variants {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
  gap: 10px;
}

.nilmoto-product-detail__variants button {
  min-height: 148px;
  border: 1px solid #d5d5d5;
  border-radius: var(--nilmoto-radius-sm);
  background: #f7f7f7;
  padding: 9px 8px 8px;
  color: var(--nilmoto-ink);
  font: inherit;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  overflow: hidden;
  text-align: center;
}

.nilmoto-product-detail__variants button:hover,
.nilmoto-product-detail__variants button.is-active,
.nilmoto-product-detail__variants button:focus-visible {
  border-color: var(--nilmoto-ink);
  background: var(--nilmoto-white);
  box-shadow: inset 0 0 0 1px var(--nilmoto-ink);
  color: var(--nilmoto-ink);
  outline: none;
}

.nilmoto-product-detail__variant-image {
  width: 100%;
  height: 76px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nilmoto-product-detail__variant-image img {
  max-width: 100%;
  max-height: 76px;
  object-fit: contain;
}

.nilmoto-product-detail__variant-image.is-empty::before {
  content: "";
  width: 42px;
  height: 34px;
  border: 1px solid #ddd;
  background: #fff;
}

.nilmoto-product-detail__variant-ref {
  max-width: 100%;
  overflow: hidden;
  color: #555;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nilmoto-product-detail__variant-choice {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.nilmoto-product-detail__color-dot,
.nilmoto-product-detail__color-option i {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  border: 1px solid rgba(0, 0, 0, .18);
  border-radius: 50%;
  background: var(--nilmoto-swatch, #eceff2);
  box-shadow: 0 0 0 2px #fff;
}

.nilmoto-product-detail__variant-stock {
  width: 100%;
  justify-content: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nilmoto-product-detail__variant-price {
  color: var(--nilmoto-ink);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.1;
}

.nilmoto-product-detail__color-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.nilmoto-product-detail__color-options[hidden] {
  display: none;
}

.nilmoto-product-detail__field select.is-swatch-enhanced {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.nilmoto-product-detail__color-option {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  border: 1px solid #d4d4d4;
  border-radius: var(--nilmoto-radius-pill);
  background: #fff;
  padding: 5px 12px 5px 8px;
  color: var(--nilmoto-ink);
  font: 700 12px/1 "Barlow", Arial, sans-serif;
  cursor: pointer;
}

.nilmoto-product-detail__color-option:hover,
.nilmoto-product-detail__color-option:focus-visible,
.nilmoto-product-detail__color-option.is-active {
  border-color: var(--nilmoto-ink);
  box-shadow: inset 0 0 0 1px var(--nilmoto-ink);
  outline: none;
}

.nilmoto-product-detail__buy {
  display: grid;
  gap: 16px;
  position: static;
  bottom: auto;
  z-index: auto;
  margin-top: 2px;
  background: var(--nilmoto-white);
  padding-top: 12px;
  box-shadow: none;
}

.nilmoto-product-detail__dynamic-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.nilmoto-product-detail__dynamic-fields .is-hidden {
  display: none;
}

.nilmoto-product-detail__size-card {
  position: relative;
  grid-column: 1 / -1;
  gap: 10px;
  border: 2px solid var(--nilmoto-black);
  border-left: 5px solid var(--nilmoto-red);
  border-radius: var(--nilmoto-radius-md);
  background: linear-gradient(135deg, #fff 0%, #fff 68%, #fff5f6 100%);
  padding: 14px;
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-product-detail__size-card::after {
  content: "";
  position: absolute;
  top: 14px;
  right: 14px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--nilmoto-red);
  box-shadow: 0 0 0 4px rgba(227, 6, 19, .12);
}

.nilmoto-product-detail__size-kicker {
  display: inline-flex;
  width: max-content;
  max-width: calc(100% - 36px);
  min-height: 24px;
  align-items: center;
  border-radius: var(--nilmoto-radius-pill);
  background: var(--nilmoto-red);
  padding: 0 10px;
  color: var(--nilmoto-white);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-product-detail__size-head {
  display: grid;
  gap: 3px;
  letter-spacing: 0;
  padding-right: 30px;
  text-transform: none;
}

.nilmoto-product-detail__size-head strong,
.nilmoto-product-detail__size-head label {
  color: var(--nilmoto-ink);
  font-family: var(--nilmoto-font-display);
  font-size: 22px;
  font-weight: 900;
  line-height: .95;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.nilmoto-product-detail__size-head em {
  color: var(--nilmoto-muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.25;
}

.nilmoto-product-detail__size-card select {
  width: 100%;
  min-height: 54px;
  border: 2px solid var(--nilmoto-black);
  border-radius: var(--nilmoto-radius-sm);
  background-color: var(--nilmoto-white);
  color: var(--nilmoto-ink);
  font-size: 15px;
  font-weight: 900;
}

.nilmoto-product-detail__size-card select:hover,
.nilmoto-product-detail__size-card select:focus-visible {
  border-color: var(--nilmoto-red);
  box-shadow: 0 0 0 3px rgba(227, 6, 19, .16);
  outline: none;
}

.nilmoto-product-detail__size-card small {
  color: #555;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}

.nilmoto-product-detail__size-card.is-selected {
  border-color: var(--nilmoto-red);
}

.nilmoto-product-detail__size-card.is-selected .nilmoto-product-detail__size-head em,
.nilmoto-product-detail__size-card.is-selected small {
  color: #0f6b32;
}

.nilmoto-product-detail__price {
  display: grid;
  gap: 8px;
  border-top: 1px solid var(--nilmoto-line);
  border-bottom: 1px solid var(--nilmoto-line);
  padding: 18px 0;
}

.nilmoto-product-detail__price small {
  color: var(--nilmoto-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nilmoto-product-detail__price strong {
  color: var(--nilmoto-red);
  font-size: 34px;
  font-weight: 800;
  line-height: 1;
}

.nilmoto-product-detail__price-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
}

.nilmoto-product-detail__price strong.nilmoto-product-detail__availability-pill {
  display: inline-flex;
  width: fit-content;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--nilmoto-red);
  border-radius: var(--nilmoto-radius-md);
  background: #fff5f5;
  color: var(--nilmoto-red);
  padding: 0 16px;
  font-family: "Barlow", Arial, sans-serif;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-product-detail__price strong.nilmoto-product-detail__availability-pill::before {
  content: "";
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M11 2a9 9 0 0 1 6.32 15.41l3.64 3.63-1.42 1.42-3.63-3.64A9 9 0 1 1 11 2Zm0 2a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M11 2a9 9 0 0 1 6.32 15.41l3.64 3.63-1.42 1.42-3.63-3.64A9 9 0 1 1 11 2Zm0 2a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.nilmoto-product-detail__price del {
  width: fit-content;
  color: var(--nilmoto-muted);
  font-size: 16px;
}

.nilmoto-product-detail__voucher {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  position: relative;
  border: 2px solid #b00058;
  border-radius: var(--nilmoto-radius-md);
  background: linear-gradient(135deg, #fff 0%, #fff 58%, #fff1f7 100%);
  padding: 13px 14px;
  box-shadow: 0 8px 20px rgba(176, 0, 88, .12);
  overflow: hidden;
}

.nilmoto-product-detail__voucher::after {
  content: "";
  position: absolute;
  right: -28px;
  top: -34px;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: rgba(176, 0, 88, .08);
  pointer-events: none;
}

.nilmoto-product-detail__voucher-icon {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  background: #b00058;
  color: #fff;
}

.nilmoto-product-detail__voucher-icon::before {
  content: "";
  width: 23px;
  height: 23px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M21 10.5a2.5 2.5 0 0 0 0 5V20H3v-4.5a2.5 2.5 0 0 0 0-5V6h18v4.5ZM19 8H5v1.09a4.5 4.5 0 0 1 0 7.82V18h14v-1.09a4.5 4.5 0 0 1 0-7.82V8Zm-8-1h2v2h-2V7Zm0 4h2v2h-2v-2Zm0 4h2v2h-2v-2Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M21 10.5a2.5 2.5 0 0 0 0 5V20H3v-4.5a2.5 2.5 0 0 0 0-5V6h18v4.5ZM19 8H5v1.09a4.5 4.5 0 0 1 0 7.82V18h14v-1.09a4.5 4.5 0 0 1 0-7.82V8Zm-8-1h2v2h-2V7Zm0 4h2v2h-2v-2Zm0 4h2v2h-2v-2Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.nilmoto-product-detail__voucher-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.nilmoto-product-detail__voucher-copy small {
  color: #b00058;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-product-detail__voucher-copy strong {
  position: relative;
  z-index: 1;
  color: var(--nilmoto-ink);
  font-family: var(--nilmoto-font-display);
  font-size: 21px;
  font-weight: 900;
  line-height: 1.05;
  text-transform: uppercase;
}

.nilmoto-product-detail__voucher-copy > span {
  position: relative;
  z-index: 1;
  color: #555;
  font-size: 12px;
  line-height: 1.3;
}

.nilmoto-product-detail__discount {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  padding: 0 10px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.nilmoto-product-detail__discount[hidden] {
  display: none;
}

.nilmoto-cart-summary__finance-widget {
  min-width: 0;
  overflow: visible;
}

.nilmoto-product-detail__quantity {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.nilmoto-product-detail__quantity > span {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nilmoto-product-detail__quantity > div {
  display: grid;
  grid-template-columns: 38px 58px 38px;
  height: 38px;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-sm);
  overflow: hidden;
}

.nilmoto-product-detail__quantity button,
.nilmoto-product-detail__quantity input {
  min-width: 0;
  border: 0;
  background: var(--nilmoto-white);
  text-align: center;
  font: inherit;
  font-weight: 800;
}

.nilmoto-product-detail__quantity input {
  width: 100%;
}

.nilmoto-product-detail__quantity button {
  cursor: pointer;
}

.nilmoto-product-detail__quantity button:hover,
.nilmoto-product-detail__quantity button:focus-visible {
  background: var(--nilmoto-soft);
  color: var(--nilmoto-red);
  outline: none;
}

.nilmoto-product-detail__submit {
  width: 100%;
  min-height: 54px;
  justify-content: center;
  border-radius: var(--nilmoto-radius-md);
  font-size: 16px;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
}

.nilmoto-product-detail__trust {
  display: grid;
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-white);
  font-size: 14px;
}

.nilmoto-product-detail__trust-item {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 70px;
  padding: 14px 16px;
}

.nilmoto-product-detail__trust-item + .nilmoto-product-detail__trust-item {
  border-top: 1px solid var(--nilmoto-line);
}

.nilmoto-product-detail__trust .nilmoto-trust__icon {
  width: 30px;
  height: 30px;
  color: var(--nilmoto-red);
}

.nilmoto-product-detail__trust p {
  display: grid;
  gap: 3px;
  margin: 0;
  color: #555;
  font-size: 14px;
  line-height: 1.28;
}

.nilmoto-product-detail__trust strong {
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-product-detail__trust span:not(.nilmoto-trust__icon) {
  color: #606060;
}

.nilmoto-product-detail__help {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.nilmoto-product-detail__help-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-sm);
  padding: 0 12px;
  color: var(--nilmoto-ink);
  font-size: 13px;
  font-weight: 800;
}

.nilmoto-product-detail__help-link::after {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

.nilmoto-product-detail__help-link:hover,
.nilmoto-product-detail__help-link:focus-visible {
  border-color: var(--nilmoto-red);
  color: var(--nilmoto-red);
  outline: none;
}

.nilmoto-product-notice {
  --notice-accent: #dc0a19;
  --notice-action-hover: #b40714;
  --notice-border: #f0b5ba;
  --notice-surface: #fff4f5;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  border: 1px solid var(--notice-border);
  border-left: 4px solid var(--notice-accent);
  border-radius: var(--nilmoto-radius-md);
  padding: 15px 16px 15px 14px;
  background: var(--notice-surface);
  box-shadow: 0 5px 16px rgba(18, 18, 18, .06);
}

.nilmoto-product-notice__icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--notice-accent);
  color: #fff;
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
}

.nilmoto-product-notice__content {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.nilmoto-product-notice__content small {
  color: var(--notice-accent);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1.1;
  text-transform: uppercase;
}

.nilmoto-product-notice__content strong {
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 19px;
  font-weight: 900;
  line-height: 1.08;
  text-transform: uppercase;
}

.nilmoto-product-notice__content > span {
  color: #4f4f4f;
  font-size: 13px;
  line-height: 1.35;
}

.nilmoto-page .nilmoto-product-notice__action,
.nilmoto-page .nilmoto-product-notice__action:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border: 1px solid var(--notice-accent);
  border-radius: var(--nilmoto-radius-sm);
  padding: 0 13px;
  background: var(--notice-accent);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
  transition: background-color .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.nilmoto-page .nilmoto-product-notice__action:hover,
.nilmoto-page .nilmoto-product-notice__action:focus-visible {
  border-color: var(--notice-action-hover);
  background: var(--notice-action-hover);
  color: #fff;
  box-shadow: 0 5px 12px rgba(18, 18, 18, .15);
  outline: none;
  transform: translateY(-1px);
}

.nilmoto-page .nilmoto-product-notice__action:active {
  border-color: var(--notice-action-hover);
  background: var(--notice-action-hover);
  color: #fff;
  box-shadow: 0 2px 5px rgba(18, 18, 18, .16);
  transform: translateY(0);
}

.nilmoto-product-notice--accessories {
  --notice-accent: #8a5a00;
  --notice-action-hover: #684300;
  --notice-border: #ebc76f;
  --notice-surface: #fff8df;
}

.nilmoto-product-notice--whatsapp {
  --notice-accent: #08783e;
  --notice-action-hover: #055c2f;
  --notice-border: #83c7a4;
  --notice-surface: #effaf4;
}

.nilmoto-product-notice--size {
  --notice-accent: #9b1735;
  --notice-border: #e5a9b7;
  --notice-surface: #fff2f5;
}

.nilmoto-product-notice--compatibility {
  --notice-accent: #174f78;
  --notice-action-hover: #103a59;
  --notice-border: #9bc3dc;
  --notice-surface: linear-gradient(135deg, #f2f9fd 0%, #eaf5fb 100%);
}

.nilmoto-product-notice--compatibility .nilmoto-product-notice__icon {
  box-shadow: 0 0 0 6px rgba(23, 79, 120, .09);
}

.nilmoto-page .nilmoto-product-notice__action[type="button"] {
  cursor: pointer;
  font-family: inherit;
}

body.nilmoto-compatibility-modal-open {
  overflow: hidden;
}

.nilmoto-compatibility-modal[hidden] {
  display: none;
}

.nilmoto-compatibility-modal {
  position: fixed;
  z-index: 10050;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(14px, 3vw, 36px);
}

.nilmoto-compatibility-modal__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  background: rgba(8, 19, 29, .76);
  cursor: pointer;
  backdrop-filter: blur(5px);
}

.nilmoto-compatibility-modal__dialog {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(920px, 100%);
  max-height: calc(100vh - clamp(28px, 6vw, 72px));
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .6);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .32);
  transform: translateY(12px) scale(.985);
  transition: transform .2s ease;
}

.nilmoto-compatibility-modal.is-open .nilmoto-compatibility-modal__dialog {
  transform: translateY(0) scale(1);
}

.nilmoto-compatibility-modal__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 24px;
  align-items: start;
  padding: 24px 26px 20px;
  background: linear-gradient(135deg, #0d3552 0%, #17608f 100%);
  color: #fff;
}

.nilmoto-compatibility-modal__header small {
  display: block;
  margin-bottom: 5px;
  color: #bce6ff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.nilmoto-compatibility-modal__header h2 {
  margin: 0;
  color: #fff;
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: clamp(27px, 3vw, 38px);
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-compatibility-modal__header p {
  max-width: 650px;
  margin: 9px 0 0;
  color: rgba(255, 255, 255, .84);
  font-size: 14px;
  line-height: 1.4;
}

.nilmoto-compatibility-modal__close {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255, 255, 255, .38);
  border-radius: 50%;
  padding: 0 0 3px;
  background: rgba(255, 255, 255, .1);
  color: #fff;
  cursor: pointer;
  font-size: 31px;
  line-height: 1;
  transition: background-color .15s ease, transform .15s ease;
}

.nilmoto-compatibility-modal__close:hover,
.nilmoto-compatibility-modal__close:focus-visible {
  background: rgba(255, 255, 255, .22);
  outline: 2px solid #fff;
  outline-offset: 2px;
  transform: rotate(4deg);
}

.nilmoto-compatibility-modal__frame {
  min-height: 410px;
  height: min(62vh, 620px);
  background: #f5f7f9;
}

.nilmoto-compatibility-modal__frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #fff;
}

.nilmoto-compatibility-modal__footer {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-top: 1px solid #dce5eb;
  background: #f7fafc;
  color: #53616b;
  font-size: 12px;
}

.nilmoto-compatibility-modal__footer a {
  color: #174f78;
  font-weight: 900;
  white-space: nowrap;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 680px) {
  .nilmoto-compatibility-modal {
    align-items: end;
    padding: 0;
  }

  .nilmoto-compatibility-modal__dialog {
    width: 100%;
    max-height: 94vh;
    border-radius: 20px 20px 0 0;
  }

  .nilmoto-compatibility-modal__header {
    gap: 14px;
    padding: 19px 17px 16px;
  }

  .nilmoto-compatibility-modal__header p {
    font-size: 13px;
  }

  .nilmoto-compatibility-modal__frame {
    min-height: 440px;
    height: 64vh;
  }

  .nilmoto-compatibility-modal__footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
    padding: 12px 16px;
  }
}

.nilmoto-product-detail__section {
  margin-top: 48px;
  scroll-margin-top: 170px;
}

/* Hallmark · component: compatible-model navigation · genre: modern-minimal · theme: Nilmoto storefront
 * states: default · hover · focus · active · disabled · visited · contrast: pass
 * pre-emit critique: P5 H5 E5 S5 R5 V4
 */
.nilmoto-product-detail__section--compat {
  padding: 28px clamp(18px, 3vw, 32px) 32px;
  border-top: 4px solid var(--nilmoto-red);
  background: var(--nilmoto-soft);
}

.nilmoto-product-accessories {
  scroll-margin-top: 160px;
  margin-top: 42px;
  padding: 30px clamp(18px, 3vw, 32px) 34px;
  border-top: 4px solid var(--nilmoto-red);
  background: linear-gradient(135deg, #fff7f7 0%, var(--nilmoto-white) 55%);
}

.nilmoto-product-accessories__heading {
  display: grid;
  gap: 7px;
}

.nilmoto-product-accessories__heading > span {
  color: var(--nilmoto-red-dark);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.nilmoto-product-accessories .nilmoto-section__head {
  margin-bottom: 20px;
}

.nilmoto-product-detail__section--compat .nilmoto-section__head {
  margin-bottom: 20px;
}

.nilmoto-product-detail__section--compat .nilmoto-section__head h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
}

.nilmoto-product-detail__section--compat .nilmoto-section__head h2::before {
  content: "";
  flex: 0 0 10px;
  width: 10px;
  height: 10px;
  background: var(--nilmoto-red);
}

.nilmoto-product-detail__compat {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.nilmoto-product-detail__compat article {
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-md);
  padding: 18px 20px 12px;
  background: var(--nilmoto-white);
  box-shadow: var(--nilmoto-choice-hairline-shadow);
}

.nilmoto-product-detail__compat h3 {
  margin: 0 0 10px;
  font-family: var(--nilmoto-font-display);
  font-size: 20px;
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-product-detail__compat ul {
  display: grid;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--nilmoto-line);
  list-style: none;
}

.nilmoto-product-detail__compat li {
  min-width: 0;
}

.nilmoto-product-detail__compat li + li {
  border-top: 1px solid var(--nilmoto-line);
}

.nilmoto-product-detail__compat a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  margin: 0 -8px;
  padding: 9px 8px;
  border-radius: var(--nilmoto-radius-sm);
  color: var(--nilmoto-ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
  transition: color var(--nilmoto-duration-ui) var(--nilmoto-ease-out), background-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out), transform var(--nilmoto-duration-press) var(--nilmoto-ease-out);
}

.nilmoto-product-detail__compat a:visited {
  color: var(--nilmoto-ink);
}

.nilmoto-product-detail__compat a span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nilmoto-product-detail__compat a::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--nilmoto-red);
  border-right: 2px solid var(--nilmoto-red);
  transform: rotate(45deg);
}

@media (hover: hover) and (pointer: fine) {
  .nilmoto-product-detail__compat a:hover {
    background: var(--nilmoto-soft);
  }
}

.nilmoto-product-detail__compat a:focus-visible {
  color: var(--nilmoto-red-dark);
  background: var(--nilmoto-soft);
  outline: 2px solid var(--nilmoto-red);
  outline-offset: 2px;
}

.nilmoto-product-detail__compat a:active {
  color: var(--nilmoto-red-dark);
  background: var(--nilmoto-soft);
  transform: translateY(1px);
}

.nilmoto-product-detail__compat a[aria-disabled="true"] {
  opacity: .55;
  cursor: not-allowed;
  pointer-events: none;
}

.nilmoto-product-detail__compat-note {
  position: relative;
  margin: 14px 0 0;
  padding: 10px 12px 10px 38px;
  border-left: 3px solid var(--nilmoto-red);
  border-radius: var(--nilmoto-radius-sm);
  background: rgba(255, 255, 255, .78);
  color: #555;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
}

.nilmoto-product-detail__compat-note::before {
  position: absolute;
  top: 50%;
  left: 12px;
  display: inline-flex;
  width: 18px;
  height: 18px;
  align-items: center;
  justify-content: center;
  border-radius: var(--nilmoto-radius-pill);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  content: "i";
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  transform: translateY(-50%);
}

@media (prefers-reduced-motion: reduce) {
  .nilmoto-product-detail__compat a {
    transition-duration: .01ms;
  }

  .nilmoto-product-detail__compat a:active {
    transform: none;
  }
}

.nilmoto-cart {
  width: var(--nilmoto-wrap);
  margin: 0 auto;
  padding: 24px 0 56px;
}

.nilmoto-cart__breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  color: #999;
  font-size: 13px;
}

.nilmoto-cart__breadcrumb a { color: #999; }
.nilmoto-cart__breadcrumb strong { color: var(--nilmoto-ink); }

.nilmoto-cart__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}

.nilmoto-cart__header h1 {
  margin: 0;
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: clamp(36px, 4vw, 54px);
  font-style: normal;
  font-weight: 800;
  line-height: .95;
  text-transform: uppercase;
}

.nilmoto-cart__header p {
  margin: 0;
  color: var(--nilmoto-muted);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-cart__store-message,
.nilmoto-checkout__store-message {
  margin-bottom: 24px;
}

.nilmoto-cart__store-message .alert,
.nilmoto-checkout__store-message .alert {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  min-height: 56px;
  margin: 0;
  padding: 12px 16px;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-md);
  background: var(--nilmoto-soft);
  color: var(--nilmoto-ink);
  box-shadow: var(--nilmoto-shadow-sm);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}

.nilmoto-cart__store-message .alert::before,
.nilmoto-checkout__store-message .alert::before {
  content: "";
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: var(--nilmoto-radius-md);
  background-color: var(--nilmoto-red);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 19px;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 19px;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-7M2 7h20v5H2zM12 7v14M12 7H8.5A2.5 2.5 0 1 1 12 3.5M12 7h3.5A2.5 2.5 0 1 0 12 3.5'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-7M2 7h20v5H2zM12 7v14M12 7H8.5A2.5 2.5 0 1 1 12 3.5M12 7h3.5A2.5 2.5 0 1 0 12 3.5'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-cart__store-message .alert svg,
.nilmoto-checkout__store-message .alert svg {
  display: none;
}

.nilmoto-cart__store-message .alert a,
.nilmoto-checkout__store-message .alert a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-left: 4px;
  padding: 0 16px;
  border: 1px solid var(--nilmoto-red);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out),
              border-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out),
              color var(--nilmoto-duration-ui) var(--nilmoto-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .nilmoto-cart__store-message .alert a:hover,
  .nilmoto-checkout__store-message .alert a:hover {
    border-color: var(--nilmoto-red-dark);
    background: var(--nilmoto-red-dark);
    color: var(--nilmoto-white);
  }
}

.nilmoto-cart__store-message .alert a:focus-visible,
.nilmoto-checkout__store-message .alert a:focus-visible {
  outline: 2px solid var(--nilmoto-ink);
  outline-offset: 3px;
}

.nilmoto-cart__store-message .alert a:active,
.nilmoto-checkout__store-message .alert a:active,
.nilmoto-cart__store-message .alert a[data-state="error"],
.nilmoto-checkout__store-message .alert a[data-state="error"] {
  border-color: var(--nilmoto-red-dark);
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
}

.nilmoto-cart__store-message .alert a[data-state="success"],
.nilmoto-checkout__store-message .alert a[data-state="success"] {
  border-color: var(--nilmoto-success);
  background: var(--nilmoto-success);
  color: var(--nilmoto-white);
}

.nilmoto-cart__store-message .alert a[aria-disabled="true"],
.nilmoto-checkout__store-message .alert a[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .55;
  pointer-events: none;
}

.nilmoto-cart__store-message .alert a[aria-busy="true"],
.nilmoto-checkout__store-message .alert a[aria-busy="true"] {
  cursor: progress;
}

@media (max-width: 640px) {
  .nilmoto-cart__store-message .alert,
  .nilmoto-checkout__store-message .alert {
    align-items: flex-start;
  }

  .nilmoto-cart__store-message .alert::before,
  .nilmoto-checkout__store-message .alert::before {
    display: none;
  }

  .nilmoto-cart__store-message .alert a,
  .nilmoto-checkout__store-message .alert a {
    flex-basis: 100%;
    width: 100%;
    margin-left: 0;
  }
}

.nilmoto-cart__layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(310px, .9fr);
  gap: 32px;
  align-items: start;
}

.nilmoto-cart__items { display: grid; gap: 12px; }

.nilmoto-paypal-message {
  min-width: 0;
  padding: 12px 16px;
  border: 1px solid var(--nilmoto-payment-paypal-border);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-payment-paypal-bg);
}

.nilmoto-paypal-message > [data-pp-message] {
  min-height: 20px;
}

.nilmoto-paypal-message--checkout {
  margin: -4px 0 8px;
  padding: 12px 16px;
}

.nilmoto-cart-line {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) auto minmax(100px, auto) auto;
  gap: 16px;
  align-items: center;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-white);
  padding: 14px;
}

.nilmoto-cart-line__image {
  display: flex;
  width: 96px;
  height: 76px;
  align-items: center;
  justify-content: center;
  background: #fff;
}

.nilmoto-cart-line__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nilmoto-cart-line__body { min-width: 0; }

.nilmoto-cart-line__brand {
  margin: 0 0 4px;
  color: #999;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nilmoto-cart-line h2 {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
}

.nilmoto-cart-line h2 a { color: var(--nilmoto-ink); }

.nilmoto-cart-line__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 7px;
  color: var(--nilmoto-muted);
  font-size: 12px;
}

.nilmoto-cart-line__stock {
  display: inline-flex;
  width: fit-content;
  margin-top: 8px;
  border-radius: var(--nilmoto-radius-sm);
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 800;
}

.nilmoto-cart-line__stock.is-available { background: var(--nilmoto-success-bg); color: var(--nilmoto-success); }
.nilmoto-cart-line__stock.is-limited { background: #fff4df; color: #8a5b00; }

.nilmoto-cart-line__qty {
  display: grid;
  grid-template-columns: 32px 46px 32px;
  height: 32px;
  border: 1px solid #d5d5d5;
  border-radius: var(--nilmoto-radius-sm);
  overflow: hidden;
}

.nilmoto-cart-line__qty .qty-btn,
.nilmoto-cart-line__qty .qty-input,
.nilmoto-cart-line__fixed {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  border: 0;
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
  font: inherit;
  font-weight: 800;
  text-align: center;
}

.nilmoto-cart-line__qty .qty-btn { cursor: pointer; }

.nilmoto-cart-line__qty .qty-btn:hover,
.nilmoto-cart-line__qty .qty-btn:focus-visible {
  background: var(--nilmoto-soft);
  color: var(--nilmoto-red);
  outline: none;
}

.nilmoto-cart-line__fixed { grid-column: 1 / -1; }

.nilmoto-cart-line__price {
  display: grid;
  gap: 3px;
  justify-items: end;
  white-space: nowrap;
}

.nilmoto-cart-line__price small,
.nilmoto-cart-line__price del {
  color: var(--nilmoto-muted);
  font-size: 12px;
}

.nilmoto-cart-line__price small[hidden] {
  display: none;
}

.nilmoto-cart-line__price strong {
  color: var(--nilmoto-red);
  font-size: 18px;
  font-weight: 800;
}

.nilmoto-cart-line__price strong.nilmoto-cart-line__free-price {
  color: var(--nilmoto-success);
}

.nilmoto-cart-line__price .nilmoto-cart-line__gift-breakdown {
  white-space: normal;
  text-align: right;
}

.nilmoto-cart-line__remove {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-md);
  background: var(--nilmoto-white);
  color: var(--nilmoto-muted);
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.nilmoto-cart-line__remove::before {
  content: "";
  width: 17px;
  height: 17px;
  background: currentColor;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M8 6V4h8v2M6 6l1 15h10l1-15M10 11v6M14 11v6'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M8 6V4h8v2M6 6l1 15h10l1-15M10 11v6M14 11v6'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-cart__text-button {
  border: 0;
  background: transparent;
  color: var(--nilmoto-muted);
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  text-decoration: underline;
  cursor: pointer;
}

.nilmoto-cart-line__remove:hover,
.nilmoto-cart-line__remove:focus-visible {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  outline: none;
  transform: translateY(-1px);
}

.nilmoto-cart__text-button:hover,
.nilmoto-cart__text-button:focus-visible {
  color: var(--nilmoto-red);
  outline: none;
}

.nilmoto-cart-summary {
  position: sticky;
  top: 18px;
  display: grid;
  gap: 14px;
  border-radius: var(--nilmoto-radius-md);
  background: var(--nilmoto-soft);
  padding: 24px;
}

.nilmoto-cart-summary h2 {
  margin: 0;
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 26px;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-cart-summary__shipping { display: grid; gap: 8px; }

.nilmoto-cart-summary__shipping p,
.nilmoto-cart-summary__free,
.nilmoto-cart-summary__saving {
  margin: 0;
  color: #555;
  font-size: 13px;
  line-height: 1.35;
}

.nilmoto-cart-summary__shipping strong,
.nilmoto-cart-summary__saving strong { color: var(--nilmoto-red); }

.nilmoto-cart-summary__shipping > div {
  height: 6px;
  border-radius: var(--nilmoto-radius-pill);
  background: #dedede;
  overflow: hidden;
}

.nilmoto-cart-summary__shipping span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--nilmoto-red);
}

.nilmoto-cart-summary__free {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: fit-content;
  color: var(--nilmoto-success);
  font-weight: 800;
}

.nilmoto-cart-summary__free::before {
  content: "\2713";
  color: var(--nilmoto-success);
  font-size: 14px;
  line-height: 1;
}

.nilmoto-cart-summary__free[hidden] {
  display: none;
}

.nilmoto-cart-coupon {
  display: grid;
  gap: 10px;
  border-top: 1px solid #ddd;
  padding-top: 14px;
}

.nilmoto-cart-coupon label {
  color: var(--nilmoto-ink);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-cart-coupon__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
}

.nilmoto-cart-coupon input {
  width: 100%;
  min-height: 42px;
  border: 1px solid #d7d7d7;
  border-radius: var(--nilmoto-radius-md);
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  padding: 0 12px;
  outline: none;
}

.nilmoto-cart-coupon input:focus {
  border-color: var(--nilmoto-red);
  box-shadow: var(--nilmoto-focus-ring);
}

.nilmoto-cart-coupon button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  border: 1px solid var(--nilmoto-red);
  border-radius: var(--nilmoto-radius-md);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  padding: 0 13px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.nilmoto-cart-coupon button::before {
  content: "";
  flex: 0 0 15px;
  width: 15px;
  height: 15px;
  background: currentColor;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-7M2 7h20v5H2zM12 7v14M12 7H8.5A2.5 2.5 0 1 1 12 3.5M12 7h3.5A2.5 2.5 0 1 0 12 3.5'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-7M2 7h20v5H2zM12 7v14M12 7H8.5A2.5 2.5 0 1 1 12 3.5M12 7h3.5A2.5 2.5 0 1 0 12 3.5'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-cart-coupon button:hover,
.nilmoto-cart-coupon button:focus-visible {
  border-color: var(--nilmoto-red-dark);
  background: var(--nilmoto-red-dark);
  outline: none;
  transform: translateY(-1px);
}

.nilmoto-cart-coupon button:disabled {
  opacity: .65;
  cursor: wait;
  transform: none;
}

.nilmoto-cart-coupon button.nilmoto-cart-coupon__remove {
  border-color: #cfcfcf;
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
}

.nilmoto-cart-coupon button.nilmoto-cart-coupon__remove::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-cart-coupon button.nilmoto-cart-coupon__remove:hover,
.nilmoto-cart-coupon button.nilmoto-cart-coupon__remove:focus-visible {
  border-color: var(--nilmoto-red);
  background: #fff4f4;
  color: var(--nilmoto-red-dark);
}

.nilmoto-cart-coupon__message {
  margin: 0;
  border-radius: var(--nilmoto-radius-md);
  padding: 9px 10px;
  background: #f0f0f0;
  color: #555;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.nilmoto-cart-coupon__message[hidden] {
  display: none;
}

.nilmoto-cart-coupon__message.is-success {
  background: var(--nilmoto-success-bg);
  color: var(--nilmoto-success);
}

.nilmoto-cart-coupon__message.is-error {
  background: #fff0f0;
  color: var(--nilmoto-red-dark);
}

.nilmoto-cart-summary dl {
  display: grid;
  gap: 10px;
  margin: 0;
  border-top: 1px solid #ddd;
  padding-top: 12px;
}

.nilmoto-cart-summary dl div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  color: #444;
  font-size: 14px;
}

.nilmoto-cart-summary dt,
.nilmoto-cart-summary dd { margin: 0; }

.nilmoto-cart-summary dd {
  font-weight: 800;
  text-align: right;
}

.nilmoto-cart-summary__total {
  align-items: baseline;
  border-top: 2px solid var(--nilmoto-ink);
  padding-top: 12px;
  color: var(--nilmoto-ink);
  font-size: 20px;
  font-weight: 800;
}

.nilmoto-cart-summary__total dd { color: var(--nilmoto-red); }

.nilmoto-cart-summary__checkout {
  position: relative;
  width: 100%;
  min-height: 54px;
  justify-content: center;
  border: 1px solid var(--nilmoto-red);
  border-radius: var(--nilmoto-radius-md);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-brand);
  text-transform: uppercase;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.nilmoto-cart-summary__checkout::before {
  content: "";
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  background: currentColor;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}

.nilmoto-cart-summary__checkout:hover,
.nilmoto-cart-summary__checkout:focus-visible {
  border-color: var(--nilmoto-red-dark);
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-brand);
  outline: none;
  transform: translateY(-1px);
}

.nilmoto-cart-summary__checkout:disabled {
  opacity: .55;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}

.nilmoto-cart-summary__continue {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border: 1px solid rgba(227, 6, 19, .32);
  border-radius: var(--nilmoto-radius-md);
  background: var(--nilmoto-white);
  color: var(--nilmoto-red);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  text-transform: uppercase;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.nilmoto-cart-summary__continue:hover,
.nilmoto-cart-summary__continue:focus-visible {
  border-color: var(--nilmoto-red);
  background: rgba(227, 6, 19, .07);
  color: var(--nilmoto-red-dark);
  outline: none;
  transform: translateY(-1px);
}

.nilmoto-cart-summary__finance {
  display: grid;
  gap: 8px;
  border-top: 1px solid #ddd;
  padding-top: 12px;
  font-size: 13px;
}

.nilmoto-cart-summary__finance[hidden] {
  display: none;
}

.nilmoto-cart-summary__finance-widget iframe[src*="sequracdn"] {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: none !important;
  border: 0;
}

[data-nilmoto-cart-finance] .nilmoto-cart-summary__finance-widget iframe[src*="sequracdn"] {
  height: 92px !important;
  min-height: 92px !important;
}

[data-nilmoto-product-finance] .nilmoto-cart-summary__finance-widget iframe[src*="sequracdn"] {
  touch-action: pan-y;
}

@media (max-width: 768px), (hover: none), (pointer: coarse) {
  [data-nilmoto-product-finance] .nilmoto-cart-summary__finance-widget iframe[src*="sequracdn"] {
    pointer-events: none;
  }
}

@media (max-width: 480px) {
  [data-nilmoto-cart-finance] .nilmoto-cart-summary__finance-widget iframe[src*="sequracdn"] {
    height: 112px !important;
    min-height: 112px !important;
  }
}

.nilmoto-cart-summary__payments {
  display: grid;
  gap: 8px;
  margin: 0;
  border-top: 1px solid #ddd;
  padding-top: 14px;
}

.nilmoto-cart-summary__payments span {
  color: #555;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-cart-summary__payments img {
  display: block;
  width: min(310px, 100%);
  max-height: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.nilmoto-cart__notice,
.nilmoto-cart__note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 18px;
  border-radius: var(--nilmoto-radius-sm);
  padding: 16px 18px;
}

.nilmoto-cart__notice-main {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
}

.nilmoto-cart__notice-icon {
  position: relative;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: var(--nilmoto-radius-md);
  background: rgba(227, 6, 19, .08);
  color: var(--nilmoto-red);
}

.nilmoto-cart__notice-icon::before {
  content: "";
  position: absolute;
  inset: 11px;
  background: currentColor;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-7M2 7h20v5H2zM12 7v14M12 7H8.5A2.5 2.5 0 1 1 12 3.5M12 7h3.5A2.5 2.5 0 1 0 12 3.5'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-7M2 7h20v5H2zM12 7v14M12 7H8.5A2.5 2.5 0 1 1 12 3.5M12 7h3.5A2.5 2.5 0 1 0 12 3.5'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-cart__notice strong {
  display: block;
  margin-bottom: 6px;
  color: var(--nilmoto-ink);
  font-size: 16px;
  line-height: 1.2;
  text-transform: uppercase;
}

.nilmoto-cart__notice p {
  margin: 0;
  color: #555;
  font-size: 14px;
  line-height: 1.35;
}

.nilmoto-cart__notice--warning { border-left: 5px solid #d39e00; background: #fff8e6; }
.nilmoto-cart__notice--recommendation {
  align-items: stretch;
  border: 1px solid var(--nilmoto-line);
  border-left: 5px solid var(--nilmoto-red);
  background: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-sm);
}
.nilmoto-cart__notice--whatsapp { margin-top: 18px; border-left: 5px solid #25d366; background: var(--nilmoto-success-bg); }

.nilmoto-cart__notice-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex: 0 0 auto;
}

.nilmoto-button--dark { background: var(--nilmoto-ink); color: var(--nilmoto-white); }
.nilmoto-button--whatsapp { background: #25d366; color: var(--nilmoto-white); }

.nilmoto-cart__note {
  margin-top: 18px;
  background: #eef5ff;
  color: #30506d;
  font-size: 13px;
  line-height: 1.4;
}

.nilmoto-cart__empty {
  display: grid;
  justify-items: center;
  gap: 20px;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-md);
  padding: 64px 16px;
  text-align: center;
}

.nilmoto-cart__empty h2 {
  margin: 0;
  color: var(--nilmoto-muted);
  font-size: 20px;
}

.nilmoto-cart__recommended { margin-top: 48px; }

.nilmoto-cart__recommended .nilmoto-section__head h2 {
  margin: 0;
  padding-left: 14px;
  border-left: 5px solid var(--nilmoto-red);
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 34px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.05;
  text-transform: uppercase;
}

.nilmoto-auth-page {
  width: min(1240px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 30px 0 58px;
}

.nilmoto-auth-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 460px);
  gap: 34px;
  align-items: stretch;
  min-height: 430px;
  background: linear-gradient(135deg, #111 0%, #202020 58%, #e30613 58%, #e30613 100%);
  color: var(--nilmoto-white);
  padding: 42px;
}

.nilmoto-auth-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.nilmoto-auth-eyebrow {
  display: inline-flex;
  align-self: flex-start;
  margin-bottom: 14px;
  padding: 6px 10px;
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nilmoto-auth-hero h1 {
  max-width: 650px;
  margin: 0;
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: clamp(52px, 7vw, 92px);
  font-weight: 900;
  line-height: 1.02;
  text-transform: uppercase;
  overflow-wrap: anywhere;
  min-width: 0;
}

.nilmoto-auth-hero__copy p {
  max-width: 560px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .84);
  font-size: 18px;
  line-height: 1.45;
}

.nilmoto-auth-panel {
  align-self: center;
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
  padding: 24px;
  box-shadow: var(--nilmoto-shadow-lg);
}

.nilmoto-auth-panel--wide {
  max-width: 620px;
}

.nilmoto-auth-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 20px;
}

.nilmoto-auth-tabs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border: 1px solid var(--nilmoto-line);
  color: var(--nilmoto-ink);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
}

.nilmoto-auth-tabs a:hover,
.nilmoto-auth-tabs a:focus-visible,
.nilmoto-auth-tabs a.is-active {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-auth-form {
  display: grid;
  gap: 16px;
}

.nilmoto-auth-form--split {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nilmoto-auth-form label {
  display: grid;
  align-content: start;
  gap: 7px;
  margin: 0;
}

.nilmoto-auth-form label > span {
  color: var(--nilmoto-ink);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-auth-form label strong {
  color: var(--nilmoto-red);
  font-weight: 900;
}

.nilmoto-auth-form input {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--nilmoto-line);
  background: #fafafa;
  color: var(--nilmoto-ink);
  font-size: 15px;
  font-weight: 700;
  padding: 0 14px;
}

.nilmoto-auth-field-error {
  min-height: 16px;
  color: var(--nilmoto-red);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.nilmoto-auth-field-help {
  color: var(--nilmoto-muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4;
}

.nilmoto-auth-validation-summary {
  grid-column: 1 / -1;
}

.nilmoto-auth-validation-summary ul {
  margin: 6px 0 0;
  padding-left: 20px;
}

.nilmoto-auth-form input:focus {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-white);
  outline: none;
  box-shadow: var(--nilmoto-focus-ring);
}

.nilmoto-auth-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  border: 0;
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  cursor: pointer;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-auth-form--split .nilmoto-auth-submit,
.nilmoto-auth-terms {
  grid-column: 1 / -1;
}

.nilmoto-auth-terms {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid var(--nilmoto-line);
  background: #fafafa;
  padding: 13px;
}

.nilmoto-auth-terms label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--nilmoto-ink);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

.nilmoto-auth-terms input {
  flex: 0 0 auto;
  width: 18px;
  min-height: 18px;
  height: 18px;
  margin-top: 1px;
  accent-color: var(--nilmoto-red);
}

.nilmoto-auth-terms a {
  flex: 0 0 auto;
  color: var(--nilmoto-red);
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
}

.nilmoto-auth-terms a:hover,
.nilmoto-auth-terms a:focus-visible {
  color: var(--nilmoto-ink);
}

.nilmoto-auth-submit:hover,
.nilmoto-auth-submit:focus-visible {
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
}

.nilmoto-auth-submit:focus-visible {
  outline: 2px solid var(--nilmoto-red);
  outline-offset: 2px;
}

.nilmoto-auth-submit:active {
  background: var(--nilmoto-red-dark);
  transform: translateY(1px);
}

.nilmoto-auth-submit:disabled {
  background: var(--nilmoto-muted);
  opacity: .55;
  cursor: not-allowed;
  transform: none;
}

.nilmoto-auth-forgot {
  justify-self: center;
  color: var(--nilmoto-muted);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.nilmoto-auth-forgot:hover,
.nilmoto-auth-forgot:focus-visible {
  color: var(--nilmoto-red);
}

/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V4 · checkout choice · modern-minimal · Nilmoto system */
.nilmoto-checkout-auth-page {
  width: min(980px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 30px 0 58px;
}

.nilmoto-checkout-auth-header {
  min-width: 0;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--nilmoto-line);
  padding-bottom: 16px;
}

.nilmoto-checkout-auth-header h1 {
  min-width: 0;
  margin: 0;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 38px;
  font-weight: 900;
  line-height: 1;
  text-align: left;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.nilmoto-checkout-auth-workspace {
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-checkout-auth-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid var(--nilmoto-line);
}

.nilmoto-checkout-auth-tab {
  display: inline-flex;
  min-width: 0;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 0;
  border-right: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-soft);
  color: var(--nilmoto-muted);
  cursor: pointer;
  font-size: 14px;
  font-weight: 900;
  padding: 0 14px;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out), color var(--nilmoto-duration-ui) var(--nilmoto-ease-out);
}

.nilmoto-checkout-auth-tab:last-child { border-right: 0; }

.nilmoto-checkout-auth-tab .nilmoto-icon {
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
}

.nilmoto-checkout-auth-tab:hover {
  background: var(--nilmoto-choice-selected-soft);
  color: var(--nilmoto-red);
}

.nilmoto-checkout-auth-tab:focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid var(--nilmoto-red);
  outline-offset: -3px;
}

.nilmoto-checkout-auth-tab:active {
  background: var(--nilmoto-choice-selected-soft);
  color: var(--nilmoto-red-dark);
}

.nilmoto-checkout-auth-tab:disabled {
  background: var(--nilmoto-soft);
  color: var(--nilmoto-muted);
  opacity: .55;
  cursor: not-allowed;
}

.nilmoto-checkout-auth-tab.is-active,
.nilmoto-checkout-auth-tab[aria-selected="true"] {
  background: var(--nilmoto-white);
  box-shadow: inset 0 -4px 0 var(--nilmoto-red);
  color: var(--nilmoto-ink);
}

.nilmoto-checkout-auth-panel[hidden] { display: none; }

.nilmoto-checkout-auth-panel { padding: 30px; }
.nilmoto-checkout-auth-panel:focus { outline: none; }

.nilmoto-checkout-auth-panel-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 34px;
  align-items: start;
}

.nilmoto-checkout-auth-panel-layout--register {
  grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
}

.nilmoto-checkout-auth-panel-layout--guest {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.nilmoto-checkout-auth-panel-intro { min-width: 0; }

.nilmoto-checkout-auth-panel-intro h2 {
  margin: 0;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 32px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.nilmoto-checkout-auth-panel-intro p {
  margin: 10px 0 0;
  color: var(--nilmoto-muted);
  font-size: 15px;
  line-height: 1.45;
}

.nilmoto-checkout-auth-benefits {
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.nilmoto-checkout-auth-benefits li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: var(--nilmoto-ink);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

.nilmoto-checkout-auth-benefits li::before {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  margin-top: 5px;
  background: var(--nilmoto-red);
  content: "";
}

.nilmoto-checkout-auth-hero,
.nilmoto-checkout-auth-login,
.nilmoto-checkout-choice-card {
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-checkout-auth-hero {
  border-left: 5px solid var(--nilmoto-red);
  padding: 28px;
}

.nilmoto-checkout-auth-hero h1,
.nilmoto-checkout-auth-login h2,
.nilmoto-checkout-choice-card h2 {
  margin: 6px 0 0;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 44px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-checkout-auth-hero p,
.nilmoto-checkout-auth-login p,
.nilmoto-checkout-choice-card p {
  margin: 10px 0 0;
  color: #5e5e5e;
  font-size: 15px;
  line-height: 1.45;
}

.nilmoto-checkout-auth-login {
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  gap: 24px;
  align-items: end;
  margin-top: 22px;
  border-top: 5px solid var(--nilmoto-red);
  padding: 24px;
}

.nilmoto-checkout-auth-login h2,
.nilmoto-checkout-choice-card h2 {
  font-size: 34px;
}

.nilmoto-checkout-login-form,
.nilmoto-checkout-register-form {
  display: grid;
  gap: 14px;
}

.nilmoto-checkout-login-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.nilmoto-checkout-login-form label,
.nilmoto-checkout-register-form label {
  display: grid;
  align-content: start;
  gap: 7px;
  margin: 0;
}

.nilmoto-checkout-login-form label > span,
.nilmoto-checkout-register-form label > span {
  color: var(--nilmoto-ink);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-checkout-login-form strong,
.nilmoto-checkout-register-form strong {
  color: var(--nilmoto-red);
}

.nilmoto-checkout-login-form input,
.nilmoto-checkout-register-form input {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--nilmoto-line);
  background: #fafafa;
  color: var(--nilmoto-ink);
  font-size: 15px;
  font-weight: 700;
  padding: 0 14px;
}

.nilmoto-checkout-login-form input:focus,
.nilmoto-checkout-register-form input:focus {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-white);
  outline: none;
  box-shadow: var(--nilmoto-focus-ring);
}

.nilmoto-checkout-login-actions {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.nilmoto-checkout-login-actions a,
.nilmoto-checkout-privacy-link {
  color: var(--nilmoto-red);
  font-size: 12px;
  font-weight: 900;
  text-align: left;
  text-decoration: none;
  text-transform: uppercase;
}

.nilmoto-checkout-login-actions a:hover,
.nilmoto-checkout-login-actions a:focus-visible,
.nilmoto-checkout-privacy-link:hover,
.nilmoto-checkout-privacy-link:focus-visible {
  color: var(--nilmoto-ink);
}

.nilmoto-checkout-choice-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 22px;
  margin-top: 22px;
}

.nilmoto-checkout-choice-card {
  display: grid;
  align-content: space-between;
  gap: 22px;
  border-top: 5px solid var(--nilmoto-red);
  padding: 24px;
}

.nilmoto-checkout-choice-card--guest {
  border-top-color: var(--nilmoto-ink);
}

.nilmoto-checkout-choice-card ul {
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.nilmoto-checkout-choice-card li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: var(--nilmoto-ink);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
}

.nilmoto-checkout-choice-card li::before {
  content: "";
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  margin-top: 7px;
  background: var(--nilmoto-red);
}

.nilmoto-checkout-register-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nilmoto-checkout-privacy-row,
.nilmoto-checkout-register-form .nilmoto-auth-submit {
  grid-column: 1 / -1;
}

.nilmoto-checkout-privacy-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-soft);
  padding: 12px;
}

label.nilmoto-checkout-privacy {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
}

label.nilmoto-checkout-privacy input {
  flex: 0 0 auto;
  width: 18px;
  min-height: 18px;
  height: 18px;
  margin-top: 1px;
  accent-color: var(--nilmoto-red);
}

.nilmoto-checkout-guest-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 50px;
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out),
              color var(--nilmoto-duration-ui) var(--nilmoto-ease-out),
              transform var(--nilmoto-duration-press) var(--nilmoto-ease-out);
}

.nilmoto-page .nilmoto-checkout-guest-button {
  color: var(--nilmoto-white);
}

.nilmoto-page .nilmoto-checkout-guest-button span {
  color: inherit;
}

.nilmoto-checkout-guest-button:hover,
.nilmoto-checkout-guest-button:focus-visible {
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-page .nilmoto-checkout-guest-button:hover,
.nilmoto-page .nilmoto-checkout-guest-button:focus-visible {
  color: var(--nilmoto-white);
}

.nilmoto-checkout-guest-button:focus-visible {
  outline: 2px solid var(--nilmoto-red);
  outline-offset: 3px;
}

.nilmoto-checkout-guest-button:active {
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
  transform: translateY(1px);
}

.nilmoto-checkout-guest-button[aria-disabled="true"] {
  opacity: .55;
  cursor: not-allowed;
  transform: none;
}

.nilmoto-payment-page {
  width: min(1240px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 24px 0 58px;
}

.nilmoto-payment-hero {
  border: 1px solid var(--nilmoto-line);
  border-left: 5px solid var(--nilmoto-red);
  background: var(--nilmoto-white);
  padding: 28px;
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-payment-hero h1 {
  margin: 6px 0 0;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 44px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-payment-hero p {
  margin: 10px 0 0;
  color: #5e5e5e;
  font-size: 15px;
  line-height: 1.45;
}

.nilmoto-payment-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 20px;
  align-items: start;
  margin-top: 0;
}

.nilmoto-payment-main {
  display: grid;
  gap: 22px;
  min-width: 0;
}

.nilmoto-payment-card,
.nilmoto-payment-summary__box {
  border: 1px solid var(--nilmoto-line);
  border-top: 5px solid var(--nilmoto-red);
  background: var(--nilmoto-white);
  padding: 24px;
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-payment-card--action {
  border-top-color: var(--nilmoto-red);
  padding: 30px;
}

.nilmoto-payment-main > .nilmoto-payment-card:not(.nilmoto-payment-card--action) {
  border-top-width: 1px;
  box-shadow: none;
}

.nilmoto-payment-card--action .nilmoto-account-section-head h1 {
  min-width: 0;
  margin: 0;
  color: var(--nilmoto-ink);
  font-family: var(--nilmoto-font-display);
  font-size: clamp(2rem, 3vw, 2.625rem);
  font-style: normal;
  font-weight: 900;
  line-height: 1.04;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.nilmoto-payment-method {
  display: grid;
  gap: 10px;
  color: #5e5e5e;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}

.nilmoto-payment-method > strong {
  color: var(--nilmoto-red);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-payment-legal {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--nilmoto-line);
}

.nilmoto-payment-page .nilmoto-payment-legal .legal-guarantee-notice {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-white);
}

.nilmoto-payment-page .nilmoto-payment-legal .legal-guarantee-notice__preview {
  display: block;
  flex: 0 0 74px;
  width: 74px;
  height: 98px;
  padding: 0;
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-soft);
  overflow: hidden;
}

.nilmoto-payment-page .nilmoto-payment-legal .legal-guarantee-notice__preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nilmoto-payment-page .nilmoto-payment-legal .legal-guarantee-notice__content {
  flex: 1 1 auto;
  min-width: 0;
}

.nilmoto-payment-page .nilmoto-payment-legal .legal-guarantee-notice__content h3 {
  margin: 0 0 4px;
  color: var(--nilmoto-ink);
  font-size: 16px;
  line-height: 1.25;
}

.nilmoto-payment-page .nilmoto-payment-legal .legal-guarantee-notice__content p {
  margin: 0 0 10px;
  color: var(--nilmoto-muted);
  font-size: 13px;
  line-height: 1.45;
}

.nilmoto-payment-page .nilmoto-payment-legal .legal-guarantee-notice__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.nilmoto-payment-page .nilmoto-payment-legal .legal-guarantee-notice__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid var(--nilmoto-ink);
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}

.nilmoto-payment-page .nilmoto-payment-legal .legal-guarantee-notice__button--primary {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-payment-action-shell {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--nilmoto-line);
}

.nilmoto-payment-page .nilmoto-payment-action {
  width: 100%;
  margin: 0;
}

.nilmoto-payment-page .nilmoto-payment-action .nilmoto-payment-action__button,
.nilmoto-payment-page .nilmoto-payment-action .btn,
.nilmoto-payment-page .nilmoto-payment-action button,
.nilmoto-payment-page .nilmoto-payment-action a[class*="btn"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 64px;
  width: 100%;
  padding: 14px 22px;
  border: 2px solid var(--nilmoto-payment-cta-hover);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-payment-cta);
  color: var(--nilmoto-white);
  box-shadow: 0 14px 28px rgba(7, 133, 63, .28);
  font-family: var(--nilmoto-font-display);
  font-size: 21px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out),
              border-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out),
              color var(--nilmoto-duration-ui) var(--nilmoto-ease-out),
              transform var(--nilmoto-duration-press) var(--nilmoto-ease-out),
              box-shadow var(--nilmoto-duration-ui) var(--nilmoto-ease-out);
}

.nilmoto-payment-page .nilmoto-payment-action .nilmoto-payment-action__button::before,
.nilmoto-payment-page .nilmoto-payment-action .btn::before,
.nilmoto-payment-page .nilmoto-payment-action button::before,
.nilmoto-payment-page .nilmoto-payment-action a[class*="btn"]::before {
  content: "\f023";
  flex: 0 0 auto;
  font-family: "Font Awesome 6 Pro";
  font-size: .82em;
  font-weight: 900;
}

@media (hover: hover) and (pointer: fine) {
  .nilmoto-payment-page .nilmoto-payment-action .nilmoto-payment-action__button:hover,
  .nilmoto-payment-page .nilmoto-payment-action .btn:hover,
  .nilmoto-payment-page .nilmoto-payment-action button:hover,
  .nilmoto-payment-page .nilmoto-payment-action a[class*="btn"]:hover {
    border-color: var(--nilmoto-payment-cta-hover);
    background: var(--nilmoto-payment-cta-hover);
    color: var(--nilmoto-white);
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(5, 106, 49, .3);
  }
}

.nilmoto-payment-page .nilmoto-payment-action .nilmoto-payment-action__button:focus-visible,
.nilmoto-payment-page .nilmoto-payment-action .btn:focus-visible,
.nilmoto-payment-page .nilmoto-payment-action button:focus-visible,
.nilmoto-payment-page .nilmoto-payment-action a[class*="btn"]:focus-visible {
  outline: 3px solid var(--nilmoto-payment-cta-hover);
  outline-offset: 3px;
}

.nilmoto-payment-page .nilmoto-payment-action .nilmoto-payment-action__button:active,
.nilmoto-payment-page .nilmoto-payment-action .btn:active,
.nilmoto-payment-page .nilmoto-payment-action button:active,
.nilmoto-payment-page .nilmoto-payment-action a[class*="btn"]:active {
  border-color: var(--nilmoto-payment-cta-hover);
  background: var(--nilmoto-payment-cta-hover);
  color: var(--nilmoto-white);
  transform: translateY(1px);
  box-shadow: none;
}

.nilmoto-payment-page .nilmoto-payment-action button:disabled,
.nilmoto-payment-page .nilmoto-payment-action [aria-disabled="true"] {
  border-color: var(--nilmoto-line);
  background: var(--nilmoto-soft);
  color: var(--nilmoto-muted);
  box-shadow: none;
  cursor: not-allowed;
  opacity: .65;
  transform: none;
}

.nilmoto-payment-page .nilmoto-payment-action [aria-busy="true"] {
  border-color: var(--nilmoto-ink);
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
  cursor: wait;
  opacity: .8;
}

.nilmoto-payment-page .nilmoto-payment-action [data-state="error"] {
  border-color: var(--nilmoto-red-dark);
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
}

.nilmoto-payment-page .nilmoto-payment-action [data-state="success"] {
  border-color: var(--nilmoto-success);
  background: var(--nilmoto-success);
  color: var(--nilmoto-white);
}

.nilmoto-payment-action-note {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
  margin: 12px 0 0;
  color: var(--nilmoto-muted);
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
}

.nilmoto-payment-action-note .fa-lock,
.nilmoto-payment-action-note strong {
  color: var(--nilmoto-ink);
}

.nilmoto-payment-action-note .fa-lock {
  margin-right: 2px;
}

.nilmoto-payment-confirm-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.nilmoto-payment-confirm-grid article {
  border: 1px solid var(--nilmoto-line);
  background: #fafafa;
  padding: 18px;
}

.nilmoto-payment-confirm-grid span {
  display: block;
  color: var(--nilmoto-red);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nilmoto-payment-confirm-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-payment-confirm-grid div {
  margin-top: 10px;
  color: #5e5e5e;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.nilmoto-payment-summary {
  position: sticky;
  top: 18px;
}

.nilmoto-payment-summary h2 {
  margin: 0;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-payment-summary__products {
  display: grid;
  gap: 0;
  margin-top: 18px;
  border-top: 1px solid var(--nilmoto-line);
}

.nilmoto-payment-summary__product {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid var(--nilmoto-line);
}

.nilmoto-payment-summary__product img {
  display: block;
  width: 58px;
  height: 58px;
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-soft);
  object-fit: contain;
}

.nilmoto-payment-summary__product-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.nilmoto-payment-summary__product-copy > strong {
  color: var(--nilmoto-ink);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.nilmoto-payment-summary__product-copy > span,
.nilmoto-payment-summary__product-copy > small {
  color: var(--nilmoto-muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}

.nilmoto-payment-summary__product > b {
  color: var(--nilmoto-red);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  text-align: right;
  white-space: nowrap;
}

.nilmoto-payment-summary ul {
  display: grid;
  gap: 12px;
  margin: 18px 0;
  padding: 0;
  list-style: none;
}

.nilmoto-payment-summary li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--nilmoto-line);
  padding-bottom: 12px;
}

.nilmoto-payment-summary li span {
  color: #606060;
  font-size: 14px;
  font-weight: 800;
}

.nilmoto-payment-summary li strong {
  color: var(--nilmoto-red);
  font-size: 15px;
  font-weight: 900;
  text-align: right;
}

.nilmoto-repay-box {
  margin-top: 18px;
  border-top: 1px solid var(--nilmoto-line);
  padding-top: 18px;
}

.nilmoto-repay-box p {
  margin: 0 0 14px;
  color: var(--nilmoto-red);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.4;
  text-transform: uppercase;
}

.nilmoto-repay-box .btn,
.nilmoto-repay-box button,
.nilmoto-repay-box a[class*="btn"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  border: 0;
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
}

.nilmoto-repay-box .btn:hover,
.nilmoto-repay-box button:hover,
.nilmoto-repay-box a[class*="btn"]:hover {
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
}

.nilmoto-auth-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.nilmoto-auth-benefits article {
  border: 1px solid var(--nilmoto-line);
  border-top: 5px solid var(--nilmoto-red);
  background: var(--nilmoto-white);
  padding: 20px;
}

.nilmoto-auth-benefits span {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #fff2f3;
  color: var(--nilmoto-red);
  font-weight: 900;
}

.nilmoto-auth-benefits h2 {
  margin: 14px 0 0;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 25px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-auth-benefits p {
  margin: 8px 0 0;
  color: #626262;
  font-size: 14px;
  line-height: 1.45;
}

.nilmoto-account-page {
  width: min(1240px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 30px 0 58px;
}

.nilmoto-account-layout {
  display: grid;
  grid-template-columns: 268px minmax(0, 1fr);
  gap: 28px;
  align-items: flex-start;
}

.nilmoto-user-menu {
  position: sticky;
  top: 18px;
}

.nilmoto-user-menu__toggle {
  display: none;
}

.nilmoto-user-menu__panel {
  border: 1px solid var(--nilmoto-line);
  border-top: 5px solid var(--nilmoto-red);
  background: var(--nilmoto-white);
  padding: 18px;
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-user-menu__eyebrow {
  display: block;
  color: var(--nilmoto-red);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nilmoto-user-menu__panel > strong {
  display: block;
  margin-top: 5px;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-user-menu__nav {
  display: grid;
  gap: 6px;
  margin-top: 18px;
}

.nilmoto-user-menu__link,
.nilmoto-user-menu__logout {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 42px;
  border: 1px solid transparent;
  color: var(--nilmoto-ink);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.nilmoto-user-menu__link {
  padding: 5px 8px;
}

.nilmoto-user-menu__link:hover,
.nilmoto-user-menu__link:focus-visible,
.nilmoto-user-menu__link.is-active {
  border-color: rgba(227, 6, 19, .2);
  background: #fff2f3;
  color: var(--nilmoto-red);
}

.nilmoto-user-menu__icon {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #f2f2f2;
  color: var(--nilmoto-ink);
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
}

.nilmoto-user-menu__icon::before {
  width: 18px;
  height: 18px;
  background: currentColor;
  content: "";
  -webkit-mask: var(--nilmoto-user-menu-icon) center / contain no-repeat;
  mask: var(--nilmoto-user-menu-icon) center / contain no-repeat;
}

.nilmoto-user-menu__icon--dashboard {
  --nilmoto-user-menu-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cg%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='3'%20width='7'%20height='7'%20rx='1'/%3E%3Crect%20x='14'%20y='3'%20width='7'%20height='7'%20rx='1'/%3E%3Crect%20x='3'%20y='14'%20width='7'%20height='7'%20rx='1'/%3E%3Crect%20x='14'%20y='14'%20width='7'%20height='7'%20rx='1'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-user-menu__icon--orders {
  --nilmoto-user-menu-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M21%2016V8a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73l7%204a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016z'/%3E%3Cpath%20d='M3.3%207%2012%2012l8.7-5M12%2022V12'/%3E%3C/svg%3E");
}

.nilmoto-user-menu__icon--returns {
  --nilmoto-user-menu-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M9%2014%204%209l5-5'/%3E%3Cpath%20d='M4%209h10a6%206%200%200%201%206%206v1'/%3E%3C/svg%3E");
}

.nilmoto-user-menu__icon--profile {
  --nilmoto-user-menu-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='8'%20r='4'/%3E%3Cpath%20d='M4%2021a8%208%200%200%201%2016%200'/%3E%3C/svg%3E");
}

.nilmoto-user-menu__icon--password {
  --nilmoto-user-menu-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='4'%20y='10'%20width='16'%20height='11'%20rx='2'/%3E%3Cpath%20d='M8%2010V7a4%204%200%200%201%208%200v3M12%2014v3'/%3E%3C/svg%3E");
}

.nilmoto-user-menu__icon--products {
  --nilmoto-user-menu-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M6%208h12l1%2013H5L6%208z'/%3E%3Cpath%20d='M9%208V6a3%203%200%200%201%206%200v2'/%3E%3C/svg%3E");
}

.nilmoto-user-menu__icon--reviews {
  --nilmoto-user-menu-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m12%203%202.8%205.7%206.2.9-4.5%204.4%201.1%206.2-5.6-3-5.6%203%201.1-6.2L3%209.6l6.2-.9L12%203z'/%3E%3C/svg%3E");
}

.nilmoto-user-menu__icon--questions {
  --nilmoto-user-menu-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M9.8%209a2.4%202.4%200%201%201%203.6%202.1c-.9.5-1.4%201.1-1.4%202.4M12%2017h.01'/%3E%3C/svg%3E");
}

.nilmoto-user-menu__icon--bonuses {
  --nilmoto-user-menu-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3%206h18v4a2%202%200%200%200%200%204v4H3v-4a2%202%200%200%200%200-4V6z'/%3E%3Cpath%20d='M9%209h.01M15%2015h.01M15%209l-6%206'/%3E%3C/svg%3E");
}

.nilmoto-user-menu__link:hover .nilmoto-user-menu__icon,
.nilmoto-user-menu__link:focus-visible .nilmoto-user-menu__icon,
.nilmoto-user-menu__link.is-active .nilmoto-user-menu__icon {
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-user-menu__logout > span {
  color: var(--nilmoto-white);
}

.nilmoto-user-menu__logout {
  grid-template-columns: 24px minmax(0, 1fr);
  justify-content: center;
  width: 100%;
  margin-top: 16px;
  padding: 11px 14px;
  border: 0;
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
  font-family: inherit;
  cursor: pointer;
  text-transform: uppercase;
}

.nilmoto-user-menu__logout-form {
  margin: 0;
}

.nilmoto-user-menu__logout:hover,
.nilmoto-user-menu__logout:focus-visible {
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-account-content {
  min-width: 0;
}

.nilmoto-account-alert {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  border-left: 5px solid #159947;
  background: var(--nilmoto-success-bg-soft);
  color: #126b35;
  padding: 14px 16px;
  font-size: 14px;
  font-weight: 900;
}

.nilmoto-account-alert--danger {
  border-left-color: var(--nilmoto-red);
  background: #fff2f3;
  color: #9b111a;
}

.nilmoto-account-alert--warning {
  border-left-color: #d39e00;
  background: #fff8e6;
  color: #7a5200;
}

.nilmoto-account-alert a {
  color: inherit;
  font-weight: 900;
  text-decoration: underline;
}

.nilmoto-account-whatsapp {
  display: block;
  margin-bottom: 18px;
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-white);
  overflow: hidden;
}

.nilmoto-account-whatsapp img {
  display: block;
  width: 100%;
  height: 170px;
  object-fit: cover;
}

.nilmoto-account-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border: 1px solid var(--nilmoto-line);
  border-left: 5px solid var(--nilmoto-red);
  background: var(--nilmoto-white);
  padding: 26px;
}

.nilmoto-account-eyebrow {
  color: var(--nilmoto-red);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nilmoto-account-hero h1,
.nilmoto-account-empty h2,
.nilmoto-account-section-head h2 {
  min-width: 0;
  overflow-wrap: anywhere;
}

.nilmoto-account-hero h1,
.nilmoto-account-empty h2 {
  margin: 5px 0 0;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 42px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-account-hero p,
.nilmoto-account-empty p,
.nilmoto-bonus-card p {
  margin: 10px 0 0;
  color: #626262;
  font-size: 15px;
  line-height: 1.45;
}

.nilmoto-account-hero__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 18px;
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.nilmoto-account-hero__action:hover,
.nilmoto-account-hero__action:focus-visible {
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
}

.nilmoto-account-empty {
  display: grid;
  justify-items: center;
  gap: 12px;
  margin-top: 22px;
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-white);
  padding: 54px 18px;
  text-align: center;
}

.nilmoto-account-empty__icon {
  display: inline-grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #fff2f3;
  color: var(--nilmoto-red);
  font-size: 24px;
  font-weight: 900;
}

.nilmoto-account-empty--compact {
  margin-top: 0;
  padding: 34px 16px;
}

.nilmoto-account-empty--compact h2 {
  font-size: 28px;
}

.nilmoto-account-empty--inline {
  margin-top: 0;
  border: 0;
  background: var(--nilmoto-soft);
}

.nilmoto-account-empty__icon--returns::before,
.nilmoto-account-empty__icon--orders::before {
  width: 28px;
  height: 28px;
  background: currentColor;
  content: "";
  -webkit-mask: var(--nilmoto-account-empty-icon) center / contain no-repeat;
  mask: var(--nilmoto-account-empty-icon) center / contain no-repeat;
}

.nilmoto-account-empty__icon--returns {
  --nilmoto-account-empty-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M9%2014%204%209l5-5'/%3E%3Cpath%20d='M4%209h10a6%206%200%200%201%206%206v1'/%3E%3C/svg%3E");
}

.nilmoto-account-empty__icon--orders {
  --nilmoto-account-empty-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M21%2016V8a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73l7%204a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016z'/%3E%3Cpath%20d='M3.3%207%2012%2012l8.7-5M12%2022V12'/%3E%3C/svg%3E");
}

.nilmoto-account-card {
  margin-top: 22px;
  border: 1px solid var(--nilmoto-line);
  border-top: 5px solid var(--nilmoto-red);
  background: var(--nilmoto-white);
  padding: 24px;
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-account-section-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.nilmoto-account-section-head span {
  width: 5px;
  height: 34px;
  background: var(--nilmoto-red);
}

.nilmoto-account-section-head h2 {
  margin: 0;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-account-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.nilmoto-account-table {
  width: 100%;
  border-collapse: collapse;
}

.nilmoto-account-table th,
.nilmoto-account-table td {
  border-bottom: 1px solid var(--nilmoto-line);
  padding: 13px 10px;
  color: var(--nilmoto-ink);
  font-size: 14px;
  text-align: left;
  vertical-align: middle;
}

.nilmoto-account-table th {
  background: #fafafa;
  color: var(--nilmoto-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nilmoto-account-table td strong {
  color: var(--nilmoto-red);
  font-weight: 900;
}

.nilmoto-account-table code {
  color: var(--nilmoto-ink);
  font-family: "Barlow", Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
}

.nilmoto-account-table del {
  display: block;
  color: var(--nilmoto-muted);
  font-size: 12px;
}

.nilmoto-account-table--products img {
  display: block;
  width: 64px;
  height: 64px;
  border: 1px solid var(--nilmoto-line);
  object-fit: contain;
}

.nilmoto-account-product-link {
  color: var(--nilmoto-ink);
  font-weight: 900;
  text-decoration: none;
}

.nilmoto-account-product-link:hover,
.nilmoto-account-product-link:focus-visible {
  color: var(--nilmoto-red);
}

.nilmoto-account-status {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  background: #eef5ff;
  color: #30506d;
  font-size: 12px;
  font-weight: 900;
}

.nilmoto-order-tracking {
  border-top-color: var(--nilmoto-ink);
}

.nilmoto-order-tracking__current {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 20px;
  border: 1px solid #bdd9c8;
  background: var(--nilmoto-success-bg-soft);
}

.nilmoto-order-tracking__current-icon {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border-radius: 50%;
  background: var(--nilmoto-success);
  color: var(--nilmoto-white);
}

.nilmoto-order-tracking__current-icon::before {
  width: 24px;
  height: 12px;
  border-bottom: 3px solid currentColor;
  border-left: 3px solid currentColor;
  content: "";
  transform: translateY(-3px) rotate(-45deg);
}

.nilmoto-order-tracking__label {
  color: var(--nilmoto-success);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nilmoto-order-tracking__current h3 {
  margin: 3px 0 7px;
  color: var(--nilmoto-ink);
  font-family: var(--nilmoto-font-display);
  font-size: 29px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-order-tracking__current p,
.nilmoto-order-tracking__current strong {
  display: block;
  margin: 0;
  color: #3f4b43;
  font-size: 14px;
  line-height: 1.5;
}

.nilmoto-order-tracking__current strong {
  margin-top: 7px;
  color: #164b2b;
}

.nilmoto-order-tracking__current.is-warning {
  border-color: #e5c66d;
  background: #fff8e3;
}

.nilmoto-order-tracking__current.is-warning .nilmoto-order-tracking__current-icon {
  background: #9a6700;
}

.nilmoto-order-tracking__current.is-warning .nilmoto-order-tracking__label,
.nilmoto-order-tracking__current.is-warning strong {
  color: #785000;
}

.nilmoto-order-tracking__current.is-danger {
  border-color: #edb5b9;
  background: #fff2f3;
}

.nilmoto-order-tracking__current.is-danger .nilmoto-order-tracking__current-icon {
  background: var(--nilmoto-red-dark);
}

.nilmoto-order-tracking__current.is-danger .nilmoto-order-tracking__label,
.nilmoto-order-tracking__current.is-danger strong {
  color: var(--nilmoto-red-dark);
}

.nilmoto-order-tracking__current.is-refund {
  border-color: #c8c0e4;
  background: #f6f3ff;
}

.nilmoto-order-tracking__current.is-refund .nilmoto-order-tracking__current-icon {
  background: #6246a3;
}

.nilmoto-order-tracking__current.is-refund .nilmoto-order-tracking__label,
.nilmoto-order-tracking__current.is-refund strong {
  color: #51368f;
}

.nilmoto-order-progress {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.nilmoto-order-progress li {
  position: relative;
  min-width: 0;
  padding: 16px 12px 13px;
  border-top: 4px solid #d8d8d8;
  background: #f7f7f7;
}

.nilmoto-order-progress li > span {
  display: grid;
  width: 28px;
  height: 28px;
  margin-bottom: 9px;
  place-items: center;
  border-radius: 50%;
  background: #dedede;
  color: #555;
  font-size: 12px;
  font-weight: 900;
}

.nilmoto-order-progress li strong,
.nilmoto-order-progress li small {
  display: block;
}

.nilmoto-order-progress li strong {
  color: #5b5b5b;
  font-size: 13px;
  text-transform: uppercase;
}

.nilmoto-order-progress li small {
  margin-top: 4px;
  color: var(--nilmoto-muted);
  font-size: 12px;
  line-height: 1.35;
}

.nilmoto-order-progress li.is-done,
.nilmoto-order-progress li.is-current {
  border-top-color: var(--nilmoto-success);
  background: var(--nilmoto-success-bg-soft);
}

.nilmoto-order-progress li.is-done > span,
.nilmoto-order-progress li.is-current > span {
  background: var(--nilmoto-success);
  color: var(--nilmoto-white);
}

.nilmoto-order-progress li.is-done strong,
.nilmoto-order-progress li.is-current strong {
  color: var(--nilmoto-ink);
}

.nilmoto-order-progress li.is-current {
  box-shadow: inset 0 0 0 1px #bdd9c8;
}

.nilmoto-order-tracking__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--nilmoto-line);
}

.nilmoto-order-tracking__facts p {
  margin: 0;
  color: var(--nilmoto-muted);
  font-size: 12px;
  line-height: 1.45;
}

.nilmoto-order-activity {
  margin-top: 18px;
  padding: 18px;
  background: #f7f7f7;
}

.nilmoto-order-activity h3 {
  margin: 0 0 14px;
  color: var(--nilmoto-ink);
  font-family: var(--nilmoto-font-display);
  font-size: 21px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-order-activity ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nilmoto-order-activity li {
  position: relative;
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 14px;
  min-height: 42px;
  margin-left: 6px;
  padding: 0 0 15px 24px;
  border-left: 2px solid #b8d8c4;
}

.nilmoto-order-activity li:last-child {
  min-height: 0;
  padding-bottom: 0;
  border-left-color: transparent;
}

.nilmoto-order-activity li::before {
  position: absolute;
  top: 1px;
  left: -7px;
  width: 12px;
  height: 12px;
  border: 3px solid var(--nilmoto-white);
  border-radius: 50%;
  background: var(--nilmoto-success);
  box-shadow: 0 0 0 1px #b8d8c4;
  content: "";
}

.nilmoto-order-activity time {
  color: var(--nilmoto-muted);
  font-size: 12px;
  font-weight: 800;
}

.nilmoto-order-activity li strong {
  color: var(--nilmoto-ink);
  font-size: 13px;
  text-transform: uppercase;
}

.nilmoto-account-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.nilmoto-account-actions a,
.nilmoto-account-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 11px;
  border: 0;
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
  font-size: 12px;
  font-weight: 900;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.nilmoto-account-actions form {
  margin: 0;
}

.nilmoto-account-actions a:hover,
.nilmoto-account-actions a:focus-visible,
.nilmoto-account-actions button:hover,
.nilmoto-account-actions button:focus-visible {
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-account-actions a.nilmoto-account-action--danger {
  background: #fff2f3;
  color: var(--nilmoto-red);
}

.nilmoto-account-actions a.nilmoto-account-action--danger:hover,
.nilmoto-account-actions a.nilmoto-account-action--danger:focus-visible {
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-account-form {
  display: grid;
  gap: 16px;
  max-width: 560px;
}

.nilmoto-account-form--wide {
  max-width: none;
}

.nilmoto-account-form label,
.nilmoto-account-phone-field {
  display: grid;
  gap: 7px;
  margin: 0;
}

.nilmoto-account-form label > span,
.nilmoto-account-phone-field > span {
  color: var(--nilmoto-ink);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-account-form label strong,
.nilmoto-account-phone-field strong {
  color: var(--nilmoto-red);
}

.nilmoto-account-form input,
.nilmoto-account-form select,
.nilmoto-account-form textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--nilmoto-line);
  background: #fafafa;
  color: var(--nilmoto-ink);
  font-size: 15px;
  font-weight: 700;
  padding: 0 14px;
}

.nilmoto-account-form textarea {
  min-height: 120px;
  padding-top: 12px;
  resize: vertical;
}

.nilmoto-account-form input:focus,
.nilmoto-account-form select:focus,
.nilmoto-account-form textarea:focus {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-white);
  outline: none;
  box-shadow: var(--nilmoto-focus-ring);
}

.nilmoto-account-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.nilmoto-account-field--full {
  grid-column: 1 / -1;
}

.nilmoto-account-phone-field > div {
  display: grid;
  grid-template-columns: minmax(88px, 112px) minmax(0, 1fr);
  gap: 10px;
}

.nilmoto-account-subsection {
  display: grid;
  gap: 4px;
  margin-top: 10px;
  padding-top: 22px;
  border-top: 1px solid var(--nilmoto-line);
}

.nilmoto-account-subsection .nilmoto-account-section-head h2 {
  font-size: 28px;
}

.nilmoto-account-submit {
  width: fit-content;
  min-width: 230px;
}

.nilmoto-account-submit--danger {
  background: #9b111a;
}

.nilmoto-account-submit--danger:hover,
.nilmoto-account-submit--danger:focus-visible {
  background: var(--nilmoto-ink);
}

.nilmoto-account-section-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.nilmoto-account-section-toolbar .nilmoto-account-section-head {
  margin-bottom: 0;
}

.nilmoto-address-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.nilmoto-address-card {
  display: grid;
  align-content: space-between;
  gap: 16px;
  min-height: 210px;
  border: 1px solid var(--nilmoto-line);
  border-top: 4px solid var(--nilmoto-red);
  background: #fff;
  padding: 18px;
}

.nilmoto-address-card h3 {
  margin: 0;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 25px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-address-card p {
  margin: 0;
  color: #606060;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.55;
}

.nilmoto-account-destination {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin-bottom: 4px;
  border: 1px solid rgba(227, 6, 19, .16);
  background: #fff7f8;
  padding: 15px;
}

.nilmoto-account-destination > span {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  font-size: 16px;
}

.nilmoto-account-check {
  display: flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  cursor: pointer;
}

.nilmoto-account-check input {
  width: 18px;
  min-height: 18px;
  height: 18px;
  accent-color: var(--nilmoto-red);
}

.nilmoto-account-check span {
  color: var(--nilmoto-ink);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-account-answer {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  border: 1px solid var(--nilmoto-line);
  padding: 16px;
}

.nilmoto-account-answer > span {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  font-weight: 900;
}

.nilmoto-account-answer p {
  margin: 0;
  color: #555;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}

.nilmoto-account-answer--done {
  background: var(--nilmoto-success-bg-soft);
}

.nilmoto-account-answer--done > span {
  background: #159947;
  color: var(--nilmoto-white);
}

.nilmoto-account-answer--pending {
  background: #fff8e6;
}

.nilmoto-account-answer--pending > span {
  background: #d39e00;
  color: var(--nilmoto-white);
}

.nilmoto-account-withdraw summary {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--nilmoto-red);
  cursor: pointer;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-account-withdraw summary > span {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff2f3;
}

.nilmoto-account-withdraw p {
  margin: 16px 0;
  color: #555;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
}

.nilmoto-account-modification {
  border-top: 4px solid #14834f;
}

.nilmoto-account-modification summary {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #126b43;
  cursor: pointer;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-account-modification summary > span {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #e7f7ef;
}

.nilmoto-account-modification > p {
  margin: 16px 0;
  color: #555;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
}

.nilmoto-account-modification form {
  display: grid;
  gap: 10px;
  max-width: 720px;
}

.nilmoto-account-modification-status {
  border-left: 4px solid #d39e00;
  background: #fffdf5;
}

.nilmoto-order-delivery {
  display: grid;
  gap: 3px;
  min-width: 190px;
}

.nilmoto-order-delivery strong {
  color: #126b43;
  font-size: 12px;
}

.nilmoto-order-delivery small,
.nilmoto-order-delivery em {
  display: block;
  font-size: 11px;
  line-height: 1.35;
}

.nilmoto-order-delivery em {
  color: #9b111a;
  font-style: normal;
  font-weight: 900;
}

.nilmoto-order-delivery.is-limiting {
  border-left: 3px solid #d39e00;
  padding-left: 9px;
}

.nilmoto-order-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.nilmoto-order-info-grid article {
  border: 1px solid var(--nilmoto-line);
  background: #fafafa;
  padding: 18px;
}

.nilmoto-order-info-grid__wide {
  grid-column: 1 / -1;
}

.nilmoto-order-info-grid article > span {
  display: block;
  color: var(--nilmoto-red);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nilmoto-order-info-grid article > strong {
  display: block;
  margin-top: 5px;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 25px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-order-info-grid p {
  margin: 10px 0 0;
  color: #5e5e5e;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.55;
}

.nilmoto-order-table small {
  display: block;
  margin-top: 4px;
  color: var(--nilmoto-muted);
  font-size: 12px;
  font-weight: 800;
}

.nilmoto-order-totals {
  display: grid;
  justify-content: end;
  gap: 0;
  margin: 20px 0 0 auto;
  max-width: 420px;
  border: 1px solid var(--nilmoto-line);
}

.nilmoto-order-totals div {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) auto;
  gap: 18px;
  align-items: center;
  min-width: min(420px, 100%);
  border-bottom: 1px solid var(--nilmoto-line);
  padding: 12px 14px;
}

.nilmoto-order-totals div:last-child {
  border-bottom: 0;
}

.nilmoto-order-totals dt,
.nilmoto-order-totals dd {
  margin: 0;
  color: var(--nilmoto-ink);
  font-size: 14px;
  font-weight: 900;
}

.nilmoto-order-totals dd {
  color: var(--nilmoto-red);
  text-align: right;
}

.nilmoto-order-totals__total {
  background: #111;
}

.nilmoto-order-totals__total dt,
.nilmoto-order-totals__total dd {
  color: var(--nilmoto-white);
  font-size: 18px;
}

.nilmoto-account-alert-list {
  margin: 8px 0 0;
  padding-left: 18px;
}

.nilmoto-rating-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 0 10px;
  background: #fff3cc;
  color: #1f1f1f;
  font-size: 12px;
  font-weight: 900;
}

.nilmoto-rating-pill span {
  color: #d4a017;
}

.nilmoto-account-help {
  margin: -4px 0 0;
  color: var(--nilmoto-muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}

.nilmoto-bonus-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.nilmoto-bonus-card {
  display: grid;
  gap: 16px;
  border: 1px solid var(--nilmoto-line);
  border-top: 5px solid var(--nilmoto-red);
  background: var(--nilmoto-white);
  padding: 20px;
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-bonus-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.nilmoto-bonus-card__top span,
.nilmoto-bonus-card__details dt {
  color: var(--nilmoto-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nilmoto-bonus-card__top strong {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  font-size: 13px;
  font-weight: 900;
}

.nilmoto-bonus-card__code {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 62px;
  border: 1px dashed rgba(227, 6, 19, .55);
  background: #fff8f8;
  color: var(--nilmoto-red);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 28px;
  font-weight: 900;
  letter-spacing: .04em;
}

.nilmoto-bonus-card__details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.nilmoto-bonus-card__details div {
  border: 1px solid var(--nilmoto-line);
  background: #fafafa;
  padding: 11px;
}

.nilmoto-bonus-card__details dd {
  margin: 4px 0 0;
  color: var(--nilmoto-ink);
  font-size: 15px;
  font-weight: 900;
}

.nilmoto-coupon-page {
  width: min(1240px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 28px 0 56px;
}

.nilmoto-coupon-alert {
  margin-bottom: 18px;
  border-left: 4px solid #159947;
  background: var(--nilmoto-success-bg-soft);
  color: #126b35;
  font-size: 14px;
  font-weight: 800;
  padding: 14px 16px;
}

.nilmoto-coupon-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 34px;
  align-items: center;
  min-height: 390px;
  padding: 42px;
  background: linear-gradient(135deg, #111 0%, #1f1f1f 54%, #e30613 54%, #e30613 100%);
  color: var(--nilmoto-white);
  overflow: hidden;
}

.nilmoto-coupon-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  margin-bottom: 14px;
  padding: 0 9px;
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nilmoto-coupon-hero h1 {
  max-width: 760px;
  margin: 0;
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: clamp(48px, 6vw, 86px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: .86;
  text-transform: uppercase;
}

.nilmoto-coupon-hero__copy p {
  max-width: 620px;
  margin: 18px 0 12px;
  color: rgba(255, 255, 255, .84);
  font-size: 18px;
  line-height: 1.45;
}

.nilmoto-coupon-hero__copy strong {
  display: inline-flex;
  color: var(--nilmoto-white);
  font-size: 15px;
  font-weight: 900;
}

.nilmoto-coupon-ticket {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 14px;
  padding: 30px 26px;
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
  box-shadow: var(--nilmoto-shadow-lg);
}

.nilmoto-coupon-ticket::before,
.nilmoto-coupon-ticket::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #e30613;
  transform: translateY(-50%);
}

.nilmoto-coupon-ticket::before { left: -17px; }
.nilmoto-coupon-ticket::after { right: -17px; }

.nilmoto-coupon-ticket__label {
  color: var(--nilmoto-muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nilmoto-coupon-ticket > strong {
  color: var(--nilmoto-red);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 92px;
  font-weight: 900;
  line-height: .82;
}

.nilmoto-coupon-ticket p {
  margin: 0;
  color: #555;
  font-size: 14px;
  font-weight: 700;
}

.nilmoto-coupon-ticket__code {
  width: 100%;
  border: 1px dashed rgba(17, 17, 17, .22);
  background: #f6f6f6;
  color: var(--nilmoto-ink);
  font-size: 22px;
  font-weight: 900;
  letter-spacing: .18em;
  padding: 12px;
  text-align: center;
}

.nilmoto-coupon-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
  padding: 0 22px;
  text-decoration: none;
  text-transform: uppercase;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}

.nilmoto-coupon-button:hover,
.nilmoto-coupon-button:focus-visible {
  background: var(--nilmoto-black);
  color: var(--nilmoto-white);
  transform: translateY(-1px);
}

.nilmoto-coupon-button--secondary {
  border: 1px solid var(--nilmoto-black);
  background: var(--nilmoto-white);
  color: var(--nilmoto-black);
}

.nilmoto-coupon-button--secondary:hover,
.nilmoto-coupon-button--secondary:focus-visible {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-coupon-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #159947;
  font-size: 13px;
  font-weight: 900;
}

.nilmoto-coupon-steps,
.nilmoto-coupon-actions,
.nilmoto-coupon-terms {
  margin-top: 42px;
}

.nilmoto-coupon-steps > p,
.nilmoto-coupon-actions p {
  margin: 8px 0 0;
  color: #555;
  font-size: 15px;
  line-height: 1.5;
}

.nilmoto-coupon-steps__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 22px;
}

.nilmoto-coupon-steps__grid article {
  border-top: 4px solid var(--nilmoto-red);
  background: #f7f7f7;
  padding: 24px;
}

.nilmoto-coupon-steps__grid article > span {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  background: var(--nilmoto-black);
  color: var(--nilmoto-white);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 28px;
  font-weight: 900;
}

.nilmoto-coupon-steps__grid h3,
.nilmoto-coupon-actions h2,
.nilmoto-coupon-terms h2 {
  margin: 0;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 28px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-coupon-steps__grid p {
  margin: 12px 0 0;
  color: #666;
  font-size: 14px;
  line-height: 1.45;
}

.nilmoto-coupon-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border: 1px solid var(--nilmoto-line);
  padding: 24px;
}

.nilmoto-coupon-actions__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.nilmoto-coupon-whatsapp {
  display: block;
  margin-top: 34px;
  overflow: hidden;
}

.nilmoto-coupon-whatsapp img {
  display: block;
  width: 100%;
  height: auto;
}

.nilmoto-page .nilmoto-whatsapp-cta {
  display: flex;
  min-height: 82px;
  align-items: center;
  gap: 14px;
  padding: 20px 24px;
  border: 0;
  background: #128c7e;
  color: var(--nilmoto-white);
  font-size: 18px;
  text-decoration: none;
}

.nilmoto-whatsapp-cta .nilmoto-icon {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
}

.nilmoto-whatsapp-cta strong {
  flex: 1 1 auto;
  min-width: 0;
  font-weight: 900;
}

.nilmoto-whatsapp-cta__arrow {
  flex: 0 0 auto;
  font-size: 28px;
  line-height: 1;
}

.nilmoto-page .nilmoto-whatsapp-cta:hover,
.nilmoto-page .nilmoto-whatsapp-cta:focus-visible {
  background: #0d6f64;
  color: var(--nilmoto-white);
}

.nilmoto-coupon-terms {
  background: #f7f7f7;
  padding: 24px;
}

.nilmoto-coupon-terms ul {
  display: grid;
  gap: 9px;
  margin: 16px 0 0;
  padding: 0;
  color: #555;
  font-size: 14px;
  line-height: 1.4;
  list-style: none;
}

.nilmoto-coupon-terms li {
  position: relative;
  padding-left: 18px;
}

.nilmoto-coupon-terms li::before {
  content: "";
  position: absolute;
  top: .6em;
  left: 0;
  width: 6px;
  height: 6px;
  background: var(--nilmoto-red);
}

.nilmoto-article-page,
.nilmoto-contact-page {
  width: var(--nilmoto-wrap);
  margin: 0 auto;
  padding: 42px 0 62px;
}

.nilmoto-article-page__content {
  max-width: 1040px;
  color: #555;
  font-size: 16px;
  line-height: 1.7;
}

.nilmoto-article-page__content p { margin: 0 0 16px; }

.nilmoto-legal-content,
.nilmoto-legal-content * {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.nilmoto-legal-content > * {
  width: auto !important;
}

.nilmoto-legal-content img {
  height: auto !important;
}

.nilmoto-legal-content table {
  display: block;
  width: 100% !important;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.nilmoto-legal-content pre,
.nilmoto-legal-content code {
  white-space: pre-wrap;
  word-break: break-word;
}

.nilmoto-contact-breadcrumb {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  color: #999;
  font-size: 14px;
}

.nilmoto-contact-breadcrumb a:hover { color: var(--nilmoto-red); }

.nilmoto-contact-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 370px);
  gap: 28px;
  align-items: stretch;
  margin-bottom: 28px;
  padding: clamp(28px, 4vw, 46px);
  background: var(--nilmoto-black);
  color: var(--nilmoto-white);
}

.nilmoto-contact-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 760px;
}

.nilmoto-contact-hero__copy > span,
.nilmoto-contact-form__head > span {
  color: var(--nilmoto-red);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.nilmoto-contact-hero h1 {
  margin: 6px 0 12px;
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: clamp(44px, 6vw, 76px);
  font-weight: 800;
  line-height: .95;
  text-transform: uppercase;
}

.nilmoto-contact-hero p {
  margin: 0;
  color: #ddd;
  font-size: 18px;
  line-height: 1.45;
}

.nilmoto-contact-hero__hours {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  border-left: 5px solid var(--nilmoto-red);
  background: rgba(255, 255, 255, .08);
  padding: 24px;
}

.nilmoto-contact-hero__hours strong {
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 28px;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-contact-alert {
  margin-bottom: 18px;
  border-left: 5px solid var(--nilmoto-red);
  background: #fff1f2;
  color: var(--nilmoto-red-dark);
  padding: 14px 16px;
  font-weight: 700;
}

.nilmoto-contact-layout {
  display: grid;
  grid-template-columns: minmax(300px, 430px) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.nilmoto-contact-panel {
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-contact-panel--info { padding: 28px; }
.nilmoto-contact-panel--form { padding: 32px; }

.nilmoto-contact-panel h2,
.nilmoto-contact-support h2 {
  margin: 0;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 34px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-contact-methods {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}

.nilmoto-contact-method {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
  border: 1px solid var(--nilmoto-line);
  padding: 14px;
  color: var(--nilmoto-ink);
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.nilmoto-contact-method:hover,
.nilmoto-contact-method:focus-visible {
  border-color: var(--nilmoto-red);
  box-shadow: var(--nilmoto-shadow-brand);
  color: var(--nilmoto-ink);
  transform: translateY(-1px);
}

.nilmoto-contact-method__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  background: #fff1f2;
  color: var(--nilmoto-red);
}

.nilmoto-contact-method--whatsapp .nilmoto-contact-method__icon {
  background: var(--nilmoto-success-bg);
  color: #168a43;
}

.nilmoto-contact-method strong {
  display: block;
  margin-bottom: 3px;
  font-size: 15px;
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-contact-method small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
  color: #626262;
  font-size: 14px;
  line-height: 1.35;
}

.nilmoto-contact-shortcuts {
  margin-top: 26px;
  border-top: 1px solid var(--nilmoto-line);
  padding-top: 22px;
}

.nilmoto-contact-shortcuts h3 {
  margin: 0 0 12px;
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 24px;
  text-transform: uppercase;
}

.nilmoto-contact-shortcuts a {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--nilmoto-line);
  padding: 10px 0;
  color: #444;
  font-weight: 700;
}

.nilmoto-contact-shortcuts a::after {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.nilmoto-contact-shortcuts a:hover { color: var(--nilmoto-red); }

.nilmoto-contact-form__head {
  margin-bottom: 22px;
  border-left: 5px solid var(--nilmoto-red);
  padding-left: 16px;
}

.nilmoto-contact-form__head h2 { margin-top: 4px; }

.nilmoto-contact-form {
  display: grid;
  gap: 16px;
}

.nilmoto-contact-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.nilmoto-contact-form label {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: #333;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-contact-form label em {
  color: var(--nilmoto-red);
  font-style: normal;
}

.nilmoto-contact-form__label-text {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  width: fit-content;
}

.nilmoto-contact-form input,
.nilmoto-contact-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--nilmoto-choice-border);
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  outline: none;
  padding: 13px 14px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.nilmoto-contact-form textarea {
  min-height: 150px;
  resize: vertical;
}

.nilmoto-contact-form input:focus,
.nilmoto-contact-form textarea:focus {
  border-color: var(--nilmoto-red);
  box-shadow: var(--nilmoto-focus-ring);
}

.nilmoto-contact-captcha {
  display: grid;
  gap: 7px;
}

.nilmoto-contact-captcha__challenge {
  display: flex;
  align-items: center;
  gap: 12px;
}

.nilmoto-contact-captcha__challenge img {
  display: block;
  width: 190px;
  height: 58px;
  border: 1px solid var(--nilmoto-choice-border);
  background: #f7f7f7;
}

.nilmoto-contact-captcha__refresh {
  border: 0;
  border-bottom: 1px solid currentColor;
  padding: 3px 0;
  background: transparent;
  color: var(--nilmoto-red);
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
}

.nilmoto-contact-captcha__refresh:hover,
.nilmoto-contact-captcha__refresh:focus-visible {
  color: var(--nilmoto-red-dark);
}

.nilmoto-contact-captcha > input {
  max-width: 190px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.nilmoto-contact-captcha small {
  color: var(--nilmoto-muted);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
}

.nilmoto-contact-form__privacy {
  display: flex;
  grid-template-columns: none;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  color: #555;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
  text-transform: none;
}

.nilmoto-contact-form__privacy input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  accent-color: var(--nilmoto-red);
}

.nilmoto-contact-form__privacy a {
  color: var(--nilmoto-red);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.nilmoto-contact-form__trap {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.nilmoto-contact-form .nilmoto-button {
  justify-self: start;
  min-width: 210px;
}

.nilmoto-contact-support {
  margin-top: 42px;
}

.nilmoto-contact-support .nilmoto-section__head {
  display: block;
}

.nilmoto-contact-support .nilmoto-section__head h2 {
  display: inline-block;
  border-left: 5px solid var(--nilmoto-red);
  padding-left: 14px;
}

.nilmoto-contact-support__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.nilmoto-contact-support__grid a {
  display: flex;
  min-height: 138px;
  flex-direction: column;
  justify-content: flex-start;
  gap: 14px;
  border: 1px solid var(--nilmoto-line);
  border-top: 5px solid var(--nilmoto-red);
  background: var(--nilmoto-white);
  padding: 20px;
  color: var(--nilmoto-ink);
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.nilmoto-contact-support__grid a:hover,
.nilmoto-contact-support__grid a:focus-visible {
  border-color: var(--nilmoto-red);
  box-shadow: var(--nilmoto-shadow-sm);
  color: var(--nilmoto-ink);
  transform: translateY(-1px);
}

.nilmoto-contact-support__icon {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(227, 6, 19, .08);
  color: var(--nilmoto-red);
}

.nilmoto-contact-support__icon::before {
  content: "";
  width: 21px;
  height: 21px;
  background: currentColor;
  mask: var(--nilmoto-contact-support-icon) center / contain no-repeat;
  -webkit-mask: var(--nilmoto-contact-support-icon) center / contain no-repeat;
}

.nilmoto-contact-support__icon--shipping {
  --nilmoto-contact-support-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v10H3z'/%3E%3Cpath d='M14 10h4l3 3v4h-7z'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3Cpath d='M5 4h6'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-contact-support__icon--returns {
  --nilmoto-contact-support-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7v5h5'/%3E%3Cpath d='M20 17v-5h-5'/%3E%3Cpath d='M5.5 12a7 7 0 0 1 11.9-4.6L20 10'/%3E%3Cpath d='M18.5 12a7 7 0 0 1-11.9 4.6L4 14'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-contact-support__icon--store {
  --nilmoto-contact-support-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h16l-1.2-5H5.2z'/%3E%3Cpath d='M5 10v9h14v-9'/%3E%3Cpath d='M9 19v-5h6v5'/%3E%3Cpath d='M4 10c0 1.1.9 2 2 2s2-.9 2-2c0 1.1.9 2 2 2s2-.9 2-2c0 1.1.9 2 2 2s2-.9 2-2c0 1.1.9 2 2 2s2-.9 2-2'/%3E%3C/g%3E%3C/svg%3E");
}

.nilmoto-contact-support__grid strong {
  font-size: 18px;
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-contact-support__grid span:not(.nilmoto-contact-support__icon) {
  color: #666;
  font-size: 14px;
  line-height: 1.4;
}

@media (max-width: 1040px) {
  .nilmoto-auth-hero,
  .nilmoto-auth-benefits {
    grid-template-columns: 1fr;
  }

  .nilmoto-checkout-auth-login,
  .nilmoto-checkout-choice-grid,
  .nilmoto-checkout-login-form,
  .nilmoto-checkout-auth-panel-layout,
  .nilmoto-payment-layout {
    grid-template-columns: 1fr;
  }

  .nilmoto-payment-summary {
    position: static;
  }

  .nilmoto-auth-hero {
    background: linear-gradient(160deg, #111 0%, #202020 58%, #e30613 58%, #e30613 100%);
  }

  .nilmoto-account-layout {
    grid-template-columns: 1fr;
  }

  .nilmoto-user-menu {
    position: static;
  }

  .nilmoto-user-menu__toggle {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    border: 0;
    border-top: 5px solid var(--nilmoto-red);
    background: var(--nilmoto-ink);
    color: var(--nilmoto-white);
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
  }

  .nilmoto-user-menu__panel {
    display: none;
  }

  .nilmoto-user-menu__panel.is-open {
    display: block;
  }

  .nilmoto-user-menu__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nilmoto-bonus-grid {
    grid-template-columns: 1fr;
  }

  .nilmoto-address-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nilmoto-coupon-hero,
  .nilmoto-coupon-steps__grid {
    grid-template-columns: 1fr;
  }

  .nilmoto-coupon-hero {
    background: linear-gradient(160deg, #111 0%, #1f1f1f 58%, #e30613 58%, #e30613 100%);
  }

  .nilmoto-coupon-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .nilmoto-coupon-actions__buttons {
    justify-content: flex-start;
  }

  .nilmoto-contact-hero,
  .nilmoto-contact-layout,
  .nilmoto-contact-support__grid {
    grid-template-columns: 1fr;
  }

  .nilmoto-contact-hero__hours {
    border-left: 0;
    border-top: 5px solid var(--nilmoto-red);
  }
}

@media (max-width: 640px) {
  .nilmoto-auth-page {
    width: calc(100vw - 24px);
    padding: 22px 0 44px;
  }

  .nilmoto-checkout-auth-page {
    width: calc(100vw - 24px);
    padding: 22px 0 44px;
  }

  .nilmoto-checkout-auth-header {
    display: block;
  }

  .nilmoto-checkout-auth-header h1 {
    font-size: 32px;
    text-align: left;
  }

  .nilmoto-checkout-auth-tab {
    min-height: 52px;
    gap: 6px;
    font-size: 12px;
    padding: 0 6px;
  }

  .nilmoto-checkout-auth-tab .nilmoto-icon {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
  }

  .nilmoto-checkout-auth-panel {
    padding: 18px;
  }

  .nilmoto-checkout-auth-panel-layout {
    gap: 22px;
  }

  .nilmoto-checkout-auth-panel-intro h2 {
    font-size: 28px;
  }

  .nilmoto-checkout-auth-panel-layout--guest {
    min-width: 0;
  }

  .nilmoto-checkout-login-actions,
  .nilmoto-checkout-privacy-row {
    display: grid;
    justify-content: stretch;
    gap: 12px;
  }

  .nilmoto-checkout-login-actions .nilmoto-auth-submit,
  .nilmoto-checkout-auth-panel-layout--guest .nilmoto-checkout-guest-button {
    width: 100%;
  }

  .nilmoto-payment-page {
    width: calc(100vw - 24px);
    padding: 22px 0 44px;
  }

  .nilmoto-auth-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    min-height: 0;
    padding: 28px 18px;
  }

  .nilmoto-auth-hero__copy,
  .nilmoto-auth-panel,
  .nilmoto-auth-form,
  .nilmoto-auth-form label,
  .nilmoto-auth-form input {
    min-width: 0;
    max-width: 100%;
  }

  .nilmoto-checkout-auth-hero,
  .nilmoto-checkout-auth-login,
  .nilmoto-checkout-choice-card,
  .nilmoto-payment-hero,
  .nilmoto-payment-card,
  .nilmoto-payment-summary__box {
    padding: 18px;
  }

  .nilmoto-auth-hero h1 {
    font-size: 48px;
  }

  .nilmoto-checkout-auth-hero h1 {
    font-size: 40px;
  }

  .nilmoto-payment-hero h1 {
    font-size: 40px;
  }

  .nilmoto-checkout-auth-login h2,
  .nilmoto-checkout-choice-card h2,
  .nilmoto-payment-summary h2 {
    font-size: 30px;
  }

  .nilmoto-payment-confirm-grid {
    grid-template-columns: 1fr;
  }

  .nilmoto-auth-panel,
  .nilmoto-auth-benefits article {
    padding: 16px;
  }

  .nilmoto-auth-tabs {
    grid-template-columns: 1fr;
  }

  .nilmoto-auth-form--split,
  .nilmoto-checkout-register-form,
  .nilmoto-auth-terms {
    grid-template-columns: 1fr;
  }

  .nilmoto-auth-terms {
    align-items: flex-start;
    flex-direction: column;
  }

  .nilmoto-account-page {
    width: calc(100vw - 24px);
    padding: 22px 0 44px;
  }

  .nilmoto-user-menu__panel,
  .nilmoto-account-hero,
  .nilmoto-bonus-card {
    padding: 16px;
  }

  .nilmoto-user-menu__nav,
  .nilmoto-bonus-card__details {
    grid-template-columns: 1fr;
  }

  .nilmoto-account-hero {
    align-items: flex-start;
    flex-direction: column;
  }

  .nilmoto-account-hero h1,
  .nilmoto-account-empty h2 {
    font-size: 34px;
  }

  .nilmoto-account-hero__action {
    width: 100%;
  }

  .nilmoto-account-whatsapp img {
    height: 200px;
  }

  .nilmoto-account-section-head h2 {
    font-size: 29px;
  }

  .nilmoto-account-table thead {
    display: none;
  }

  .nilmoto-account-table,
  .nilmoto-account-table tbody,
  .nilmoto-account-table tr,
  .nilmoto-account-table td {
    display: block;
    width: 100%;
  }

  .nilmoto-account-table tr {
    border: 1px solid var(--nilmoto-line);
    margin-bottom: 12px;
    padding: 10px;
  }

  .nilmoto-account-table td {
    display: grid;
    grid-template-columns: minmax(110px, 38%) minmax(0, 1fr);
    gap: 10px;
    border-bottom: 0;
    padding: 8px 0;
  }

  .nilmoto-account-table td::before {
    content: attr(data-label);
    color: var(--nilmoto-muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .nilmoto-account-table--products img {
    width: 76px;
    height: 76px;
  }

  .nilmoto-account-actions {
    justify-content: flex-start;
  }

  .nilmoto-account-card {
    padding: 18px;
  }

  .nilmoto-account-form-grid,
  .nilmoto-address-grid,
  .nilmoto-account-section-toolbar {
    grid-template-columns: 1fr;
  }

  .nilmoto-account-section-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .nilmoto-account-phone-field > div {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .nilmoto-account-submit {
    width: 100%;
  }

  .nilmoto-account-destination {
    grid-template-columns: 1fr;
  }

  .nilmoto-account-answer,
  .nilmoto-order-info-grid {
    grid-template-columns: 1fr;
  }

  .nilmoto-order-tracking__current {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    padding: 16px;
  }

  .nilmoto-order-tracking__current-icon {
    width: 42px;
    height: 42px;
  }

  .nilmoto-order-tracking__current-icon::before {
    width: 19px;
    height: 10px;
  }

  .nilmoto-order-tracking__current h3 {
    font-size: 25px;
  }

  .nilmoto-order-progress {
    grid-template-columns: 1fr;
  }

  .nilmoto-order-progress li {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    column-gap: 10px;
    border-top: 0;
    border-left: 4px solid #d8d8d8;
    padding: 12px;
  }

  .nilmoto-order-progress li.is-done,
  .nilmoto-order-progress li.is-current {
    border-left-color: var(--nilmoto-success);
  }

  .nilmoto-order-progress li > span {
    grid-row: 1 / span 2;
    margin: 0;
  }

  .nilmoto-order-progress li strong,
  .nilmoto-order-progress li small {
    grid-column: 2;
  }

  .nilmoto-order-activity li {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .nilmoto-order-totals,
  .nilmoto-order-totals div {
    min-width: 0;
    max-width: none;
    width: 100%;
  }

  .nilmoto-coupon-page {
    width: calc(100vw - 24px);
    padding: 20px 0 42px;
  }

  .nilmoto-coupon-hero {
    gap: 24px;
    min-height: 0;
    padding: 28px 18px;
  }

  .nilmoto-coupon-hero h1 {
    font-size: 44px;
    line-height: .92;
  }

  .nilmoto-coupon-hero__copy p {
    font-size: 16px;
  }

  .nilmoto-coupon-ticket {
    padding: 26px 20px;
  }

  .nilmoto-coupon-ticket::before,
  .nilmoto-coupon-ticket::after {
    display: none;
  }

  .nilmoto-coupon-ticket > strong {
    font-size: 76px;
  }

  .nilmoto-coupon-button,
  .nilmoto-coupon-actions__buttons,
  .nilmoto-coupon-actions__buttons a {
    width: 100%;
  }

  .nilmoto-coupon-steps,
  .nilmoto-coupon-actions,
  .nilmoto-coupon-terms {
    margin-top: 28px;
  }

  .nilmoto-article-page,
  .nilmoto-contact-page {
    padding: 28px 0 46px;
  }

  .nilmoto-contact-hero {
    gap: 22px;
    margin-bottom: 22px;
    padding: 26px 20px;
  }

  .nilmoto-contact-hero h1 {
    font-size: 42px;
  }

  .nilmoto-contact-hero p {
    font-size: 16px;
  }

  .nilmoto-contact-panel--info,
  .nilmoto-contact-panel--form {
    padding: 22px;
  }

  .nilmoto-contact-form__grid {
    grid-template-columns: 1fr;
  }

  .nilmoto-contact-form .nilmoto-button {
    width: 100%;
    min-width: 0;
  }
}

.nilmoto-band {
  width: var(--nilmoto-wrap);
  margin: 10px auto 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 34px 38px;
  background: var(--nilmoto-black);
  color: var(--nilmoto-white);
}

.nilmoto-band h2 {
  max-width: 760px;
  margin: 6px 0 0;
  font-size: clamp(30px, 4vw, 48px);
  line-height: .95;
}

.nilmoto-brands {
  padding: 42px 0;
  overflow: hidden;
  background: var(--nilmoto-soft);
}

.nilmoto-brands h2 {
  width: var(--nilmoto-wrap);
  margin: 0 auto 24px;
  color: var(--nilmoto-black);
}

.nilmoto-brands__track {
  display: flex;
  width: max-content;
  gap: 14px;
  animation: nilmoto-marquee 30s linear infinite;
}

.nilmoto-brand-card {
  display: flex;
  width: 190px;
  height: 72px;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  border: 0;
  background: transparent;
}

.nilmoto-brand-card img {
  max-width: 150px;
  max-height: 42px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .86;
  transition: filter .15s ease, opacity .15s ease;
}

.nilmoto-brand-card:hover img {
  filter: grayscale(0);
  opacity: 1;
}

.nilmoto-brand-card__fallback {
  display: none;
  color: var(--nilmoto-black);
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: center;
}

.nilmoto-brand-card__fallback.is-visible { display: inline; }

@keyframes nilmoto-marquee {
  from { transform: translateX(3vw); }
  to { transform: translateX(-50%); }
}

.nilmoto-review-carousel {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 14px;
}

.nilmoto-review-carousel__viewport {
  overflow: hidden;
}

.nilmoto-review-carousel__track {
  display: flex;
  gap: 18px;
  will-change: transform;
  transition: transform .35s ease;
}

.nilmoto-review-card {
  display: grid;
  flex: 0 0 calc((100% - 36px) / 3);
  grid-template-rows: auto minmax(84px, 1fr) auto;
  align-content: stretch;
  gap: 12px;
  min-height: 228px;
  padding: 20px;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-md);
  background: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-review-card__stars {
  display: flex;
  gap: 2px;
}

.nilmoto-review-card__stars span { color: #d5d5d5; }
.nilmoto-review-card__stars span.is-on { color: var(--nilmoto-red); }

.nilmoto-review-card p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--nilmoto-payment-copy);
  font-size: 15px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.nilmoto-review-card__author {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding-top: 12px;
  border-top: 1px solid var(--nilmoto-line);
}

.nilmoto-review-card__avatar {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 2px solid var(--nilmoto-line);
  border-radius: 50%;
  background: var(--nilmoto-black);
  color: var(--nilmoto-white);
  font-family: var(--nilmoto-font-display);
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
}

.nilmoto-review-card__identity {
  display: grid;
  justify-items: start;
  gap: 4px;
  min-width: 0;
}

.nilmoto-review-card__identity strong {
  min-width: 0;
  color: var(--nilmoto-black);
  font-weight: 800;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.nilmoto-review-card__verified {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 4px;
  color: var(--nilmoto-muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

.nilmoto-review-card__verified-icon {
  display: grid;
  width: 16px;
  height: 16px;
  place-items: center;
  border-radius: 50%;
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  font-size: 9px;
  line-height: 1;
}

.nilmoto-review-card__verified-icon::before {
  content: "\2713";
}

.nilmoto-review-carousel__button {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-pill);
  background: #fff;
  color: #161616;
  cursor: pointer;
  transition: border-color .15s ease, color .15s ease, transform .15s ease;
}

.nilmoto-review-carousel__button:hover,
.nilmoto-review-carousel__button:focus-visible {
  border-color: var(--nilmoto-red);
  color: var(--nilmoto-red);
  transform: translateY(-1px);
}

.nilmoto-review-carousel__button:disabled {
  opacity: .32;
  cursor: default;
  transform: none;
}

.nilmoto-review-carousel__dots {
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  gap: 8px;
}

.nilmoto-review-carousel__dots button {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: var(--nilmoto-radius-pill);
  background: #d7d7d7;
  cursor: pointer;
}

.nilmoto-review-carousel__dots button.is-active {
  width: 24px;
  background: var(--nilmoto-red);
}

.nilmoto-footer {
  margin-top: auto;
  padding: 48px 3vw 24px;
  background: #0f0f0f;
  color: var(--nilmoto-white);
}

.nilmoto-footer__top {
  width: min(1440px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 32px;
  padding: 0 0 32px;
  border-bottom: 1px solid #2a2a2a;
}

.nilmoto-footer img { height: auto; }
.nilmoto-footer__about,
.nilmoto-footer__links,
.nilmoto-footer__contact,
.nilmoto-footer__social {
  display: grid;
  align-content: start;
  gap: 9px;
}

.nilmoto-footer__about img {
  width: auto;
  height: 38px;
  max-width: 180px;
  margin-bottom: 5px;
}

.nilmoto-footer h3 {
  margin: 0 0 7px;
  color: var(--nilmoto-white);
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 19px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.nilmoto-footer p,
.nilmoto-footer a,
.nilmoto-footer span {
  margin: 0;
  color: #cfcfcf;
  font-size: 14px;
  line-height: 1.55;
}

.nilmoto-footer a:hover { color: var(--nilmoto-red); }

.nilmoto-footer__link-button {
  display: inline-block;
  width: fit-content;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #cfcfcf;
  font: inherit;
  font-size: 14px;
  line-height: 1.55;
  text-align: left;
  cursor: pointer;
}

.nilmoto-footer__link-button > a {
  color: inherit;
  text-decoration: none;
}

.nilmoto-footer__link-button:hover,
.nilmoto-footer__link-button:focus-visible {
  color: var(--nilmoto-red);
}

.nilmoto-footer__contact-line {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
}

.nilmoto-footer__contact-line .nilmoto-icon {
  width: 15px;
  height: 15px;
  margin-top: 3px;
  color: var(--nilmoto-red);
}

.nilmoto-footer__contact-line span:last-child {
  min-width: 0;
}

.nilmoto-footer__social-icons {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 4px;
}

.nilmoto-footer__social-icons a {
  display: inline-flex;
  width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  color: var(--nilmoto-white);
  text-decoration: none;
  transition: color .15s ease, transform .15s ease;
}

.nilmoto-footer__social-icons a:hover {
  color: var(--nilmoto-red);
  transform: translateY(-1px);
}

.nilmoto-footer .nilmoto-social-icon {
  display: block;
  width: 18px;
  height: 18px;
  color: inherit;
  background: currentColor;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.nilmoto-social-icon--facebook {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M24 12.07C24 5.4 18.63 0 12 0S0 5.4 0 12.07C0 18.1 4.39 23.1 10.13 24v-8.44H7.08v-3.49h3.05V9.4c0-3.03 1.8-4.7 4.53-4.7 1.31 0 2.68.24 2.68.24v2.96h-1.51c-1.49 0-1.96.93-1.96 1.89v2.27h3.33l-.53 3.49h-2.8V24C19.61 23.1 24 18.1 24 12.07Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M24 12.07C24 5.4 18.63 0 12 0S0 5.4 0 12.07C0 18.1 4.39 23.1 10.13 24v-8.44H7.08v-3.49h3.05V9.4c0-3.03 1.8-4.7 4.53-4.7 1.31 0 2.68.24 2.68.24v2.96h-1.51c-1.49 0-1.96.93-1.96 1.89v2.27h3.33l-.53 3.49h-2.8V24C19.61 23.1 24 18.1 24 12.07Z'/%3E%3C/svg%3E");
}

.nilmoto-social-icon--twitter {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M24 2.37c-.89.39-1.84.66-2.84.78A4.96 4.96 0 0 0 23.34.41a9.9 9.9 0 0 1-3.14 1.2A4.93 4.93 0 0 0 11.66 5c0 .39.04.77.13 1.13A13.98 13.98 0 0 1 1.64.98a4.96 4.96 0 0 0 1.53 6.6A4.86 4.86 0 0 1 .93 6.96v.06a4.95 4.95 0 0 0 3.96 4.85c-.42.12-.86.18-1.3.18-.32 0-.63-.03-.94-.09a4.94 4.94 0 0 0 4.61 3.44A9.9 9.9 0 0 1 0 17.43a13.93 13.93 0 0 0 7.55 2.22c9.05 0 14-7.53 14-14.07l-.02-.64A10.06 10.06 0 0 0 24 2.37Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M24 2.37c-.89.39-1.84.66-2.84.78A4.96 4.96 0 0 0 23.34.41a9.9 9.9 0 0 1-3.14 1.2A4.93 4.93 0 0 0 11.66 5c0 .39.04.77.13 1.13A13.98 13.98 0 0 1 1.64.98a4.96 4.96 0 0 0 1.53 6.6A4.86 4.86 0 0 1 .93 6.96v.06a4.95 4.95 0 0 0 3.96 4.85c-.42.12-.86.18-1.3.18-.32 0-.63-.03-.94-.09a4.94 4.94 0 0 0 4.61 3.44A9.9 9.9 0 0 1 0 17.43a13.93 13.93 0 0 0 7.55 2.22c9.05 0 14-7.53 14-14.07l-.02-.64A10.06 10.06 0 0 0 24 2.37Z'/%3E%3C/svg%3E");
}

.nilmoto-social-icon--youtube {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 17' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M23.5 2.68A3 3 0 0 0 21.38.56C19.51.06 12 .06 12 .06S4.49.06 2.62.56A3 3 0 0 0 .5 2.68C0 4.56 0 8.47 0 8.47s0 3.92.5 5.79a3 3 0 0 0 2.12 2.12c1.87.5 9.38.5 9.38.5s7.51 0 9.38-.5a3 3 0 0 0 2.12-2.12c.5-1.87.5-5.79.5-5.79s0-3.91-.5-5.79ZM9.55 12.01V4.94l6.27 3.53-6.27 3.54Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 17' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M23.5 2.68A3 3 0 0 0 21.38.56C19.51.06 12 .06 12 .06S4.49.06 2.62.56A3 3 0 0 0 .5 2.68C0 4.56 0 8.47 0 8.47s0 3.92.5 5.79a3 3 0 0 0 2.12 2.12c1.87.5 9.38.5 9.38.5s7.51 0 9.38-.5a3 3 0 0 0 2.12-2.12c.5-1.87.5-5.79.5-5.79s0-3.91-.5-5.79ZM9.55 12.01V4.94l6.27 3.53-6.27 3.54Z'/%3E%3C/svg%3E");
}

.nilmoto-social-icon--instagram {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M7.1 0h9.8A7.1 7.1 0 0 1 24 7.1v9.8a7.1 7.1 0 0 1-7.1 7.1H7.1A7.1 7.1 0 0 1 0 16.9V7.1A7.1 7.1 0 0 1 7.1 0Zm-.25 2.16a4.7 4.7 0 0 0-4.69 4.69v10.3a4.7 4.7 0 0 0 4.69 4.69h10.3a4.7 4.7 0 0 0 4.69-4.69V6.85a4.7 4.7 0 0 0-4.69-4.69H6.85ZM12 5.84A6.16 6.16 0 1 1 12 18.16 6.16 6.16 0 0 1 12 5.84Zm0 2.16a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm6.42-2.52a1.44 1.44 0 1 1 0 2.88 1.44 1.44 0 0 1 0-2.88Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M7.1 0h9.8A7.1 7.1 0 0 1 24 7.1v9.8a7.1 7.1 0 0 1-7.1 7.1H7.1A7.1 7.1 0 0 1 0 16.9V7.1A7.1 7.1 0 0 1 7.1 0Zm-.25 2.16a4.7 4.7 0 0 0-4.69 4.69v10.3a4.7 4.7 0 0 0 4.69 4.69h10.3a4.7 4.7 0 0 0 4.69-4.69V6.85a4.7 4.7 0 0 0-4.69-4.69H6.85ZM12 5.84A6.16 6.16 0 1 1 12 18.16 6.16 6.16 0 0 1 12 5.84Zm0 2.16a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm6.42-2.52a1.44 1.44 0 1 1 0 2.88 1.44 1.44 0 0 1 0-2.88Z'/%3E%3C/svg%3E");
}

.nilmoto-footer .nilmoto-social-icon--wordpress {
  display: grid;
  place-items: center;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: transparent;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  mask-image: none;
  -webkit-mask-image: none;
}

.nilmoto-footer__payments {
  width: min(1440px, 100%);
  margin: 0 auto;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  padding: 20px 0 16px;
  border-bottom: 1px solid #2a2a2a;
}

.nilmoto-footer__payments > span {
  color: #999;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nilmoto-footer__payments img {
  display: block;
  width: min(430px, 100%);
  max-height: none;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.nilmoto-footer__bottom {
  width: min(1440px, 100%);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding: 16px 0 0;
}

.nilmoto-footer__bottom p,
.nilmoto-footer__bottom span {
  color: #777;
  font-size: 12px;
}

.scrollToHome {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 1500;
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  background: var(--nilmoto-red);
  border-radius: var(--nilmoto-radius-md);
  color: var(--nilmoto-white);
  font-weight: 800;
  box-shadow: var(--nilmoto-shadow-lg);
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity .15s ease, transform .15s ease, background .15s ease;
}

.scrollToHome .nilmoto-icon {
  width: 18px;
  height: 18px;
  background: currentColor;
  color: var(--nilmoto-white);
}

.scrollToHome .nilmoto-icon::after {
  content: none;
}

.scrollToHome.show {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.scrollToHome:hover {
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
}

/* Zendesk injects inline geometry, so these integration overrides intentionally
   remain the only non-utility declarations that must outrank inline styles. */
body.nilmoto-page iframe#launcher {
  right: 22px !important;
  bottom: 76px !important;
  left: auto !important;
  width: 56px !important;
  height: 56px !important;
  margin: 0 !important;
  border-radius: var(--nilmoto-radius-pill) !important;
  opacity: .01 !important;
}

body.nilmoto-page iframe#webWidget {
  right: 22px !important;
  bottom: 22px !important;
  left: auto !important;
  max-width: calc(100vw - 44px) !important;
  max-height: calc(100vh - 44px) !important;
  border-radius: var(--nilmoto-radius-md) !important;
  box-shadow: var(--nilmoto-shadow-lg) !important;
}

.nilmoto-zendesk-proxy {
  position: fixed;
  right: 22px;
  bottom: 76px;
  z-index: 999999;
  display: inline-flex;
  width: 56px;
  height: 56px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--nilmoto-radius-pill);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-lg);
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity .18s ease, transform .18s ease, background .18s ease;
}

.nilmoto-zendesk-proxy.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.nilmoto-zendesk-proxy::before {
  content: "";
  width: 24px;
  height: 24px;
  background: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a4 4 0 0 1-4 4H8l-5 3V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4z'/%3E%3Cpath d='M8 9h8M8 13h5'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a4 4 0 0 1-4 4H8l-5 3V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4z'/%3E%3Cpath d='M8 9h8M8 13h5'/%3E%3C/g%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.nilmoto-zendesk-proxy::after {
  content: "Escríbenos";
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  padding: 7px 10px;
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-black);
  color: var(--nilmoto-white);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0;
  transform: translate(4px, -50%);
  transition: opacity .18s ease, transform .18s ease;
}

body.nilmoto-page iframe#launcher:hover + .nilmoto-zendesk-proxy::after,
.nilmoto-zendesk-proxy.is-visible:hover::after {
  opacity: 1;
  transform: translate(0, -50%);
}

body.nilmoto-page.nilmoto-chat-exclusion-page iframe#launcher,
body.nilmoto-page.nilmoto-chat-exclusion-page .nilmoto-zendesk-proxy {
  display: none !important;
}

@media (max-width: 640px) {
  body.nilmoto-page.nilmoto-transactional-page iframe#launcher,
  body.nilmoto-page.nilmoto-transactional-page .nilmoto-zendesk-proxy {
    display: none !important;
  }
}

.nilmoto-sidecart {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 2100;
  display: none;
  flex-direction: column;
  width: min(420px, 92vw);
  height: 100vh;
  background: var(--nilmoto-white);
  box-shadow: -20px 0 50px rgba(0, 0, 0, .22);
  transform: translateX(105%);
  transition: transform .2s ease;
  visibility: hidden;
  pointer-events: none;
}

.nilmoto-sidecart.is-open {
  display: flex;
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;
}
.nilmoto-sidecart-backdrop { position: fixed; inset: 0; z-index: 2090; display: none; background: rgba(0,0,0,.38); }
.nilmoto-sidecart-backdrop.is-open { display: block; }
.nilmoto-sidecart__header,
.nilmoto-sidecart__footer { padding: 20px; border-bottom: 1px solid var(--nilmoto-line); }
.nilmoto-sidecart__footer { border-top: 1px solid var(--nilmoto-line); border-bottom: 0; }
.nilmoto-sidecart__header { display: flex; align-items: center; justify-content: space-between; }
.nilmoto-sidecart__header h3 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 28px;
  line-height: 1;
  text-transform: uppercase;
}
.nilmoto-sidecart__header h3 .nilmoto-icon {
  width: 25px;
  height: 25px;
  color: var(--nilmoto-red);
}
.nilmoto-sidecart__close { border: 0; background: transparent; font-size: 34px; line-height: 1; cursor: pointer; }
.nilmoto-sidecart__body { flex: 1; overflow-y: auto; padding: 8px 20px; }
.nilmoto-sidecart__item { display: grid; grid-template-columns: 76px 1fr; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--nilmoto-line); }
.nilmoto-sidecart__item img { width: 76px; height: 76px; object-fit: contain; border: 1px solid var(--nilmoto-line); }
.nilmoto-sidecart__item h4 { margin: 0 0 6px; font-size: 14px; line-height: 1.25; }
.nilmoto-sidecart__item p { margin: 0; color: var(--nilmoto-red); font-weight: 800; }
.nilmoto-sidecart__total { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; font-weight: 800; }
.nilmoto-sidecart__shipping {
  display: grid;
  gap: 9px;
  margin: 0 0 16px;
  border: 1px solid #ffd9dc;
  border-left: 4px solid var(--nilmoto-red);
  background: #fff4f5;
  padding: 12px 13px;
}
.nilmoto-sidecart__shipping p {
  margin: 0;
  color: var(--nilmoto-ink);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
}
.nilmoto-sidecart__shipping strong {
  color: var(--nilmoto-red);
}
.nilmoto-sidecart__shipping.is-complete {
  border-color: #cdebd7;
  border-left-color: var(--nilmoto-success);
  background: #eef8f1;
}
.nilmoto-sidecart__shipping.is-complete p {
  color: var(--nilmoto-success);
}
.nilmoto-sidecart__shipping-bar {
  height: 6px;
  overflow: hidden;
  border-radius: var(--nilmoto-radius-pill);
  background: rgba(17, 17, 17, .09);
}
.nilmoto-sidecart__shipping-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--nilmoto-red);
}
.nilmoto-sidecart__shipping.is-complete .nilmoto-sidecart__shipping-bar span {
  background: var(--nilmoto-success);
}
.nilmoto-sidecart__checkout {
  display: flex;
  width: min(230px, 100%);
  margin: 2px auto 0;
  border-radius: var(--nilmoto-radius-md);
  box-shadow: var(--nilmoto-shadow-brand);
}
.nilmoto-sidecart__checkout:hover,
.nilmoto-sidecart__checkout:focus-visible {
  background: var(--nilmoto-red-dark);
  box-shadow: var(--nilmoto-shadow-brand);
}

/* Minimal legacy layout support for remaining Razor surfaces during migration. */
.container { width: var(--nilmoto-wrap); margin-left: auto; margin-right: auto; }
.row { display: flex; flex-wrap: wrap; min-width: 0; }
[class*="col-"] { min-width: 0; }
.col-12 { flex: 0 0 100%; max-width: 100%; }
.col-6 { flex: 0 0 50%; max-width: 50%; }
.col-lg-12, .col-md-12, .col-sm-12 { flex: 0 0 100%; max-width: 100%; }
.text-center { text-align: center; }
.text-end { text-align: right; }
.d-flex { display: flex; }
.d-grid { display: grid; }
.align-items-center { align-items: center; }
.justify-content-between { justify-content: space-between; }
.justify-content-center { justify-content: center; }
.gap-2 { gap: 8px; }
.mb-0, .mb0 { margin-bottom: 0; }
.mt-0 { margin-top: 0; }
.img-fluid { max-width: 100%; height: auto; }
.badge { display: inline-flex; padding: 4px 8px; background: var(--nilmoto-black); color: var(--nilmoto-white); font-weight: 800; }
.btn, button, input, select, textarea { font-family: "Barlow", Arial, sans-serif; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 16px; border: 1px solid var(--nilmoto-line); background: var(--nilmoto-white); color: var(--nilmoto-ink); font-weight: 800; cursor: pointer; }
.btn-danger, .btn-primary, .btn-thm { background: var(--nilmoto-red); border-color: var(--nilmoto-red); color: var(--nilmoto-white); }
.btn-success { background: #177a3d; border-color: #177a3d; color: var(--nilmoto-white); }
.btn-dark { background: var(--nilmoto-ink); border-color: var(--nilmoto-ink); color: var(--nilmoto-white); }
.btn-light { background: var(--nilmoto-white); border-color: var(--nilmoto-line); color: var(--nilmoto-ink); }
.btn-outline-primary,
.btn-outline-danger { background: var(--nilmoto-white); border-color: var(--nilmoto-red); color: var(--nilmoto-red); }
.btn-outline-secondary,
.btn-outline-dark { background: var(--nilmoto-white); border-color: var(--nilmoto-line); color: var(--nilmoto-ink); }
.nilmoto-page a.btn-danger,
.nilmoto-page a.btn-primary,
.nilmoto-page a.btn-thm,
.nilmoto-page a.btn-success,
.nilmoto-page a.btn-dark,
.nilmoto-page .btn-danger:hover,
.nilmoto-page .btn-danger:focus-visible,
.nilmoto-page .btn-primary:hover,
.nilmoto-page .btn-primary:focus-visible,
.nilmoto-page .btn-thm:hover,
.nilmoto-page .btn-thm:focus-visible {
  color: var(--nilmoto-white);
}
.nilmoto-page .btn-danger:hover,
.nilmoto-page .btn-danger:focus-visible,
.nilmoto-page .btn-primary:hover,
.nilmoto-page .btn-primary:focus-visible,
.nilmoto-page .btn-thm:hover,
.nilmoto-page .btn-thm:focus-visible {
  border-color: var(--nilmoto-red-dark);
  background: var(--nilmoto-red-dark);
}
.nilmoto-page .btn-success:hover,
.nilmoto-page .btn-success:focus-visible {
  border-color: #126533;
  background: #126533;
  color: var(--nilmoto-white);
}
.nilmoto-page .btn-dark:hover,
.nilmoto-page .btn-dark:focus-visible {
  border-color: #000;
  background: #000;
  color: var(--nilmoto-white);
}
.nilmoto-page .btn-light:hover,
.nilmoto-page .btn-light:focus-visible,
.nilmoto-page .btn-outline-secondary:hover,
.nilmoto-page .btn-outline-secondary:focus-visible,
.nilmoto-page .btn-outline-dark:hover,
.nilmoto-page .btn-outline-dark:focus-visible {
  border-color: var(--nilmoto-ink);
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
}
.nilmoto-page .btn-outline-primary:hover,
.nilmoto-page .btn-outline-primary:focus-visible,
.nilmoto-page .btn-outline-danger:hover,
.nilmoto-page .btn-outline-danger:focus-visible {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-page .shop_single_product_details.sidebar h1.title.mb15 {
  font-size: 26px;
  line-height: 1.18;
  letter-spacing: 0;
}

.nilmoto-page .nilmoto-product-spec .nilmoto-spec-hero h2 {
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: 0;
}

@media (min-width: 992px) {
  .col-lg-2 { flex: 0 0 16.666%; max-width: 16.666%; }
  .col-lg-3 { flex: 0 0 25%; max-width: 25%; }
  .col-lg-4 { flex: 0 0 33.333%; max-width: 33.333%; }
  .col-lg-5 { flex: 0 0 41.666%; max-width: 41.666%; }
  .col-lg-6 { flex: 0 0 50%; max-width: 50%; }
  .col-lg-7 { flex: 0 0 58.333%; max-width: 58.333%; }
  .col-lg-8 { flex: 0 0 66.666%; max-width: 66.666%; }
  .col-lg-9 { flex: 0 0 75%; max-width: 75%; }
  .col-lg-10 { flex: 0 0 83.333%; max-width: 83.333%; }
}

@media (max-width: 1180px) {
  .nilmoto-header__main { grid-template-columns: 180px 1fr; }
  .nilmoto-header__actions { grid-column: 1 / -1; justify-content: space-between; }
  .nilmoto-nav {
    flex-wrap: wrap;
    row-gap: 2px;
  }
  .nilmoto-mega {
    flex: 0 1 auto;
    min-width: 0;
    flex-wrap: wrap;
  }
  .nilmoto-mega__item,
  .nilmoto-nav > a,
  .nilmoto-mega__trigger {
    flex: 0 0 auto;
  }
  .nilmoto-nav > a,
  .nilmoto-mega__trigger {
    gap: 6px;
    padding: 12px 9px;
    font-size: 15px;
  }
  .nilmoto-nav .nilmoto-icon {
    width: 18px;
    height: 18px;
  }
  .nilmoto-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nilmoto-category-grid { grid-template-columns: repeat(3, 1fr); }
  .search-autocomplete-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .nilmoto-product-detail__hero { grid-template-columns: minmax(0, 1fr) minmax(330px, .86fr); gap: 30px; }
  .nilmoto-product-detail__summary h1 { font-size: 34px; }
  .nilmoto-product-detail__description .nilmoto-spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .nilmoto-listing > .container > .row,
  .container.nilmoto-listing > .row {
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 22px;
  }
  .nilmoto-listing .row:has(> [class*="col-"] > .moto-selector) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .nilmoto-listing .moto-selector {
    grid-column: 1 / -1;
  }
  .nilmoto-listing__layout {
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 22px;
  }
  .nilmoto-moto-fit {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .nilmoto-moto-fit__copy,
  .nilmoto-moto-fit__fields {
    grid-column: 1 / -1;
  }
  .nilmoto-moto-fit__checks {
    align-self: center;
  }
  .nilmoto-moto-fit__button {
    min-height: 42px;
  }
  .nilmoto-cart__layout {
    grid-template-columns: minmax(0, 1.4fr) minmax(300px, .8fr);
    gap: 24px;
  }
  .nilmoto-cart-line {
    grid-template-columns: 86px minmax(0, 1fr) auto;
  }
  .nilmoto-cart-line__image {
    width: 86px;
    height: 72px;
  }
  .nilmoto-cart-line__price {
    grid-column: 2 / 3;
    justify-items: start;
  }
  .nilmoto-cart-line__remove {
    grid-column: 3;
  }
}

@media (max-width: 1040px) {
  .nilmoto-header { position: relative; }
  .nilmoto-mobile-toggle {
    position: absolute;
    top: 12px;
    right: 18px;
    display: grid;
    gap: 5px;
    width: 42px;
    height: 42px;
    place-content: center;
    border: 1px solid #333;
    background: #181818;
  }
  .nilmoto-mobile-toggle span { display: block; width: 20px; height: 2px; background: #fff; }
  .nilmoto-nav {
    display: none;
    width: 100%;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    padding: 8px 14px 14px;
    background: #222;
    overflow-x: clip;
  }
  .nilmoto-nav.is-open { display: flex; }
  .nilmoto-nav > a,
  .nilmoto-mega__trigger {
    width: 100%;
    min-height: 48px;
    justify-content: flex-start;
    padding: 13px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    font-size: 17px;
  }
  .nilmoto-nav__deal {
    margin-bottom: 7px;
    border-radius: 4px;
    justify-content: center;
  }
  .nilmoto-nav__utility {
    margin: 6px 0 0;
    border-bottom-color: rgba(255, 255, 255, .14);
  }
  .nilmoto-mega { display: block; width: 100%; }
  .nilmoto-mega__item { position: relative; width: 100%; }
  button.nilmoto-mega__trigger::after {
    width: 9px;
    height: 9px;
    margin-left: auto;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    content: "";
    transform: rotate(45deg);
    transition: transform .2s ease;
  }
  .nilmoto-mega__item.is-open > button.nilmoto-mega__trigger::after { transform: rotate(225deg); }
  .nilmoto-mega__panel {
    position: static;
    display: none !important;
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: 10px 10px 14px;
    border-top: 0;
    border-left: 3px solid var(--nilmoto-red);
    background: #f4f4f4;
    box-shadow: none;
  }
  .nilmoto-mega__item.is-open .nilmoto-mega__panel { display: block !important; }
  .nilmoto-mega__grid { grid-template-columns: 1fr; gap: 8px; }
  .nilmoto-mega__col {
    padding: 0 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
  }
  .nilmoto-mega__family-head {
    display: flex;
    align-items: stretch;
  }
  .nilmoto-mega__title {
    flex: 1;
    min-width: 0;
    min-height: 46px;
    margin: 0;
    padding: 11px 0;
    border-bottom: 0;
    font-size: 17px;
  }
  .nilmoto-mega__family-toggle {
    position: relative;
    display: grid;
    flex: 0 0 44px;
    width: 44px;
    min-height: 44px;
    margin-right: -12px;
    place-items: center;
    border: 0;
    border-left: 1px solid #e4e4e4;
    background: transparent;
    color: var(--nilmoto-red);
    cursor: pointer;
  }
  .nilmoto-mega__family-toggle::after {
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    content: "";
    transform: rotate(45deg);
    transition: transform .2s ease;
  }
  .nilmoto-mega__family-toggle[aria-expanded="true"]::after { transform: rotate(225deg); }
  .nilmoto-mega__family-links {
    display: none;
    padding: 0 0 10px;
    border-top: 1px solid #e5e5e5;
  }
  .nilmoto-mega__col.is-open .nilmoto-mega__family-links { display: block; }
  .nilmoto-mega__link {
    padding: 8px 2px;
    border-bottom: 1px solid #eee;
    font-size: 14px;
  }
  .nilmoto-mega__promo {
    width: 100%;
    height: 180px;
    min-height: 180px;
    margin: 10px 0 0;
    padding: 18px;
  }
  .nilmoto-mega__promo-fallback strong { font-size: 23px; }
}

@media (max-width: 820px) {
  :root { --nilmoto-wrap: min(100vw - 28px, 760px); }
  .nilmoto-promo__inner {
    display: grid;
    justify-items: center;
    gap: 8px;
    padding: 8px 0;
    text-align: center;
  }
  .nilmoto-promo__controls {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
  }
  .nilmoto-header { position: relative; }
  .nilmoto-header__main {
    grid-template-columns: 1fr auto;
    gap: 10px;
    padding: 10px 0;
  }
  .nilmoto-logo {
    align-self: center;
    justify-self: start;
    width: fit-content;
  }
  .nilmoto-logo img { width: 150px; }
  .nilmoto-header__search {
    grid-column: 1 / -1;
    grid-row: 2;
    max-width: none;
  }
  .nilmoto-header__actions {
    grid-column: 1 / -1;
    grid-row: 3;
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 10px;
  }
  .nilmoto-contact { flex-basis: auto; }
  .nilmoto-mobile-toggle {
    position: absolute;
    top: 10px;
    right: 14px;
    display: grid;
    gap: 5px;
    width: 42px;
    height: 42px;
    place-content: center;
    border: 1px solid #333;
    background: #181818;
  }
  .nilmoto-mobile-toggle span { display: block; width: 20px; height: 2px; background: #fff; }
  .nilmoto-dynamic-banner.has-mobile .nilmoto-home-banner-v3--desktop { display: none; }
  .nilmoto-home-banner-v3--mobile { display: block; }
  .nilmoto-home-banner-v3,
  .nilmoto-home-banner-v3 .flexslider,
  .nilmoto-home-banner-v3 .slides,
  .nilmoto-home-banner-v3 .slides > li,
  .nilmoto-home-banner-v3 .slides img {
    min-height: 320px;
  }
  .nilmoto-dynamic-banner--native .nilmoto-home-banner-v3,
  .nilmoto-dynamic-banner--native .nilmoto-home-banner-v3 .flexslider,
  .nilmoto-dynamic-banner--native .nilmoto-home-banner-v3 .slides,
  .nilmoto-dynamic-banner--native .nilmoto-home-banner-v3 .slides > li {
    min-height: 420px;
  }
  .nilmoto-native-slide {
    min-height: 420px;
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 28px 0 44px;
  }
  .nilmoto-native-slide__copy { padding: 0; }
  .nilmoto-native-slide__copy h2 { font-size: clamp(38px, 12vw, 56px); }
  .nilmoto-native-slide__copy p { font-size: 16px; }
  .nilmoto-native-slide__media { display: none; }
  .nilmoto-dynamic-banner--cms {
    --nilmoto-cms-banner-height: min(800px, 213.333vw);
  }
  .nilmoto-cms-slide,
  .nilmoto-cms-slide__picture img {
    height: var(--nilmoto-cms-banner-height);
    min-height: var(--nilmoto-cms-banner-height);
  }
  .nilmoto-cms-slide__content {
    width: calc(100% - 32px);
    max-width: 520px;
    justify-items: start;
    padding: 36px 0 52px;
    text-align: left;
  }
  .nilmoto-cms-slide--type-promo .nilmoto-cms-slide__content {
    align-self: start;
    padding-top: clamp(34px, 8vw, 52px);
  }
  .nilmoto-cms-slide--type-promo.nilmoto-cms-slide--has-mobile-image .nilmoto-cms-slide__picture img {
    object-position: 68% center;
  }
  .nilmoto-cms-slide h1,
  .nilmoto-cms-slide h2 {
    width: 100%;
    max-width: 100%;
    font-size: clamp(34px, 10vw, 40px);
    line-height: 1.02;
    overflow-wrap: anywhere;
    white-space: normal !important;
  }
  .nilmoto-cms-slide p {
    width: 100%;
    max-width: 100%;
    font-size: 16px;
    overflow-wrap: anywhere;
    white-space: normal !important;
  }
  .nilmoto-cms-slide--type-promo .nilmoto-cms-slide__content > p {
    display: block;
    inline-size: 100%;
    max-inline-size: calc(100vw - 32px);
    word-break: normal;
  }
  .nilmoto-cms-slide__actions {
    justify-content: flex-start;
  }
  .nilmoto-cms-slide--overlay-soft .nilmoto-cms-slide__overlay,
  .nilmoto-cms-slide--overlay-strong .nilmoto-cms-slide__overlay {
    background: var(--nilmoto-banner-overlay-mobile);
  }
  .nilmoto-cms-slide--text-dark .nilmoto-cms-slide__overlay {
    background: var(--nilmoto-banner-overlay-light-mobile);
  }
  .nilmoto-cms-slide--type-full.nilmoto-cms-slide--has-mobile-image .nilmoto-cms-slide__picture img {
    object-fit: contain;
  }
  .nilmoto-cms-slide--type-full.nilmoto-cms-slide--has-mobile-image .nilmoto-cms-slide__overlay {
    display: none;
  }
  .nilmoto-cms-slide--type-full.nilmoto-cms-slide--desktop-art-on-mobile .nilmoto-cms-slide__content {
    position: relative;
    width: min(100% - 40px, 520px);
    height: auto;
    margin: 0 auto;
    padding: 40px 0 76px;
    overflow: visible;
    clip: auto;
    clip-path: none;
    white-space: normal;
    pointer-events: none;
  }
  .nilmoto-cms-slide--type-full.nilmoto-cms-slide--desktop-art-on-mobile .nilmoto-cms-slide__overlay {
    display: block;
    background: linear-gradient(0deg, var(--nilmoto-black), var(--nilmoto-overlay-strong), transparent);
  }
  .nilmoto-cms-slide--type-full.nilmoto-cms-slide--desktop-art-on-mobile .nilmoto-cms-slide__picture img {
    filter: brightness(.45);
  }
  .nilmoto-cms-slide--type-product .nilmoto-cms-slide__picture {
    inset: 0 0 auto;
    width: 100%;
    height: 52%;
    padding: 24px 34px 0;
  }
  .nilmoto-cms-slide--type-product .nilmoto-cms-slide__picture img {
    height: 100%;
    min-height: 0;
  }
  .nilmoto-cms-slide--type-product .nilmoto-cms-slide__overlay {
    display: block;
    background: linear-gradient(0deg, var(--nilmoto-black) 0%, var(--nilmoto-overlay-strong) 50%, transparent 75%);
  }
  .nilmoto-cms-slide--type-product .nilmoto-cms-slide__content {
    height: 100%;
    align-content: end;
    padding: 48% 0 76px;
    padding-right: 0;
  }
  .nilmoto-cms-slide--type-product h1,
  .nilmoto-cms-slide--type-product h2 {
    font-size: clamp(36px, 11vw, 52px);
    overflow-wrap: anywhere;
  }
  .nilmoto-banner-toggle {
    top: 16px;
    right: 14px;
    bottom: auto;
    transform: none;
  }
  .nilmoto-banner-toggle:active { transform: translateY(1px); }
  .nilmoto-hero { grid-template-columns: 1fr; }
  .nilmoto-hero__visual { min-height: 320px; }
  .nilmoto-trust { grid-template-columns: 1fr 1fr; }
  .nilmoto-trust article > div > span { max-width: none; }
  .nilmoto-category-grid { grid-template-columns: repeat(2, 1fr); }
  .nilmoto-band { flex-direction: column; align-items: flex-start; }
  .nilmoto-review-carousel {
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    gap: 10px;
  }
  .nilmoto-review-carousel__button {
    width: 38px;
    height: 38px;
  }
  .nilmoto-review-card {
    flex-basis: calc((100% - 18px) / 2);
  }
  .nilmoto-footer__top { grid-template-columns: 1fr 1fr; }
  .nilmoto-footer__payments,
  .nilmoto-footer__bottom { flex-wrap: wrap; justify-content: flex-start; }
  .search-autocomplete-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nilmoto-product-detail { padding: 18px 0 44px; }
  .nilmoto-product-detail__breadcrumb { font-size: 12px; }
  .nilmoto-product-detail__hero {
    display: flex;
    flex-direction: column;
    gap: 26px;
  }
  .nilmoto-product-detail__media { display: contents; }
  .nilmoto-product-detail__image { order: 1; }
  .nilmoto-product-detail__thumbs { order: 2; }
  .nilmoto-product-detail__addons { order: 3; }
  .nilmoto-product-detail__summary { order: 4; }
  .nilmoto-product-detail__featured-video { order: 5; }
  .nilmoto-product-detail__accordions { order: 6; }
  .nilmoto-product-detail__summary {
    position: static;
    top: auto;
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }
  .nilmoto-product-detail__buy {
    position: static;
    margin-top: 0;
    padding-top: 0;
    box-shadow: none;
  }
  .nilmoto-product-detail__image { min-height: 360px; }
  .nilmoto-product-detail__summary h1 { font-size: 32px; }
  .nilmoto-product-detail__section { margin-top: 36px; }
  .nilmoto-product-detail__shipping-grid,
  .nilmoto-product-detail__reviews-summary,
  .nilmoto-product-detail__review-form-grid,
  .nilmoto-product-detail__description .nilmoto-spec-features {
    grid-template-columns: 1fr;
  }
  .nilmoto-product-detail__review-link {
    justify-self: flex-start;
  }
  .nilmoto-product-detail__review-form-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .nilmoto-product-detail__review-form-actions .nilmoto-button {
    width: 100%;
  }
  .nilmoto-product-detail__review-pagination {
    align-items: stretch;
    flex-direction: column;
  }
  .nilmoto-product-detail__review-pagination-controls {
    justify-content: space-between;
  }
  .nilmoto-product-detail__review-pagination-pages {
    justify-content: center;
  }
  .nilmoto-product-detail__description .nilmoto-spec-compatibility {
    grid-template-columns: 1fr;
  }
  .nilmoto-listing {
    padding: 16px 0 44px;
  }
  .nilmoto-listing__hero {
    align-items: flex-start;
  }
  .nilmoto-listing__layout {
    grid-template-columns: 1fr;
  }
  .nilmoto-listing__sidebar {
    position: static;
    max-height: none;
    overflow: visible;
    border: 1px solid var(--nilmoto-line);
    border-radius: var(--nilmoto-radius);
    padding: 16px;
  }
  .nilmoto-listing__filter-toggle {
    position: relative;
    display: flex;
    width: 100%;
    min-height: 56px;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    padding: 0 18px;
    border: 1px solid var(--nilmoto-red-dark);
    border-radius: var(--nilmoto-radius-sm);
    background: var(--nilmoto-red);
    color: var(--nilmoto-white);
    box-shadow: 0 8px 20px rgba(227, 6, 19, .24);
    font-family: inherit;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .02em;
    line-height: 1;
    cursor: pointer;
    text-transform: uppercase;
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
  }

  .nilmoto-listing__filter-toggle::before {
    content: "";
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    background: currentColor;
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 5h18M6 12h12M10 19h4' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='5' r='2' fill='black'/%3E%3Ccircle cx='15' cy='12' r='2' fill='black'/%3E%3Ccircle cx='12' cy='19' r='2' fill='black'/%3E%3C/svg%3E");
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 5h18M6 12h12M10 19h4' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='5' r='2' fill='black'/%3E%3Ccircle cx='15' cy='12' r='2' fill='black'/%3E%3Ccircle cx='12' cy='19' r='2' fill='black'/%3E%3C/svg%3E");
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
  }

  .nilmoto-listing__filter-toggle::after {
    content: "";
    flex: 0 0 10px;
    width: 10px;
    height: 10px;
    margin: -5px 3px 0 auto;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: margin .16s ease, transform .16s ease;
  }

  .nilmoto-listing__filter-toggle:hover,
  .nilmoto-listing__filter-toggle:focus-visible {
    border-color: #a9000a;
    background: var(--nilmoto-red-dark);
    box-shadow: 0 10px 24px rgba(227, 6, 19, .3);
    color: var(--nilmoto-white);
    outline: none;
  }

  .nilmoto-listing__filter-toggle:focus-visible {
    outline: 3px solid rgba(227, 6, 19, .24);
    outline-offset: 3px;
  }

  .nilmoto-listing__filter-toggle:active {
    transform: translateY(1px);
  }

  .nilmoto-listing__filter-toggle[aria-expanded="true"] {
    background: var(--nilmoto-red-dark);
    box-shadow: 0 5px 14px rgba(227, 6, 19, .2);
  }

  .nilmoto-listing__filter-toggle[aria-expanded="true"]::after {
    margin-top: 5px;
    transform: rotate(225deg);
  }
  .nilmoto-moto-fit {
    grid-template-columns: 1fr 1fr;
  }
  .nilmoto-moto-fit__copy,
  .nilmoto-moto-fit__fields,
  .nilmoto-moto-fit__checks {
    grid-column: 1 / -1;
  }
  .nilmoto-listing > .container > .row,
  .container.nilmoto-listing > .row {
    grid-template-columns: 1fr;
  }
  .nilmoto-listing > .container > .row > .d-none,
  .container.nilmoto-listing > .row > .d-none {
    /* Bootstrap compatibility utility; preserve its guaranteed hidden state. */
    display: none !important;
  }
  .nilmoto-listing .row:has(> [class*="col-"] > .moto-selector) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .nilmoto-listing .row:has(> .nilmoto-product-card),
  .nilmoto-listing .tab-pane .row:has(> .nilmoto-product-card) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .nilmoto-cart__layout {
    grid-template-columns: 1fr;
  }
  .nilmoto-cart-summary {
    position: static;
  }
  .nilmoto-cart__header {
    display: grid;
  }
  .nilmoto-cart-line {
    grid-template-columns: 84px minmax(0, 1fr) auto;
    align-items: start;
  }
  .nilmoto-cart-line__qty {
    grid-column: 1 / 3;
    margin-top: 8px;
  }
  .nilmoto-cart-line__price {
    grid-column: 3;
    grid-row: 2;
  }
  .nilmoto-cart-line__remove {
    grid-column: 3;
    grid-row: 1;
    align-self: start;
  }
}

@media (min-width: 768px) and (max-width: 820px) {
  .nilmoto-dynamic-banner--cms {
    --nilmoto-cms-banner-height: clamp(380px, 30.184vw, 575px);
  }
  .nilmoto-cms-slide--type-full.nilmoto-cms-slide--has-mobile-image .nilmoto-cms-slide__picture img {
    object-fit: contain;
  }
  .nilmoto-cms-slide--type-full.nilmoto-cms-slide--desktop-art-on-mobile .nilmoto-cms-slide__content {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .nilmoto-cms-slide--type-full.nilmoto-cms-slide--desktop-art-on-mobile .nilmoto-cms-slide__overlay {
    display: none;
  }
  .nilmoto-cms-slide--type-full.nilmoto-cms-slide--desktop-art-on-mobile .nilmoto-cms-slide__picture img {
    filter: none;
  }
  .nilmoto-cms-slide--type-product .nilmoto-cms-slide__picture {
    inset: 0 0 0 auto;
    width: 50%;
    height: 100%;
    padding: 24px 42px 24px 24px;
  }
  .nilmoto-cms-slide--type-product .nilmoto-cms-slide__content {
    width: var(--nilmoto-wrap);
    height: auto;
    align-content: normal;
    padding: 42px min(52%, 400px) 52px 0;
  }
  .nilmoto-cms-slide--type-product h1,
  .nilmoto-cms-slide--type-product h2 {
    font-size: clamp(44px, 7vw, 64px);
  }
  .nilmoto-banner-toggle {
    top: auto;
    right: 14px;
    bottom: 66px;
    transform: translateY(-50%);
  }
  .nilmoto-banner-toggle:active { transform: translateY(calc(-50% + 1px)); }
}

@media (max-width: 640px) {
  .nilmoto-dynamic-banner--native .nilmoto-home-banner-v3,
  .nilmoto-dynamic-banner--native .nilmoto-home-banner-v3 .flexslider,
  .nilmoto-dynamic-banner--native .nilmoto-home-banner-v3 .slides,
  .nilmoto-dynamic-banner--native .nilmoto-home-banner-v3 .slides > li,
  .nilmoto-dynamic-banner--native .nilmoto-native-slide {
    min-height: 460px;
  }

  .nilmoto-promo { font-size: 11px; }
  .nilmoto-promo__inner {
    width: calc(100vw - 24px);
  }
  .nilmoto-promo__select {
    flex: 1 1 calc(50% - 6px);
    justify-content: center;
  }
  .nilmoto-promo__select span {
    display: none;
  }
  .nilmoto-promo__select select {
    width: 100%;
    max-width: none;
  }
  .nilmoto-icon-link span:not(.nilmoto-icon),
  .nilmoto-cart-button span:not(.nilmoto-icon) { display: none; }
  .nilmoto-account-button span:not(.nilmoto-icon) { display: block; }
  .nilmoto-header__actions { gap: 8px; }
  .nilmoto-contact {
    width: 174px;
    min-width: 174px;
  }
  .nilmoto-contact__label { display: none; }
  .nilmoto-contact__channels {
    justify-content: center;
    width: 174px;
  }
  .nilmoto-contact-channel {
    width: 36px;
    min-width: 36px;
    height: 36px;
  }
  .nilmoto-contact-channel:hover,
  .nilmoto-contact-channel:focus-visible {
    width: 128px;
    min-width: 128px;
  }
  .nilmoto-contact-channel strong { font-size: 13px; }
  .nilmoto-hero h1 { font-size: 42px; }
  .nilmoto-page .shop_single_product_details.sidebar h1.title.mb15 { font-size: 22px; line-height: 1.22; }
  .nilmoto-page .nilmoto-product-spec .nilmoto-spec-hero h2 { font-size: 18px; line-height: 1.28; }
  .nilmoto-trust { grid-template-columns: 1fr; }
  .nilmoto-trust article { padding: 18px 20px; }
  .nilmoto-category-grid { grid-template-columns: 1fr; }
  .nilmoto-section__head { display: grid; }
  .nilmoto-product-grid { grid-template-columns: 1fr; }
  .nilmoto-review-carousel {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .nilmoto-review-carousel__viewport {
    width: 100%;
  }
  .nilmoto-review-card {
    flex-basis: 100%;
    min-height: 210px;
  }
  .nilmoto-review-carousel__button {
    position: absolute;
    top: calc(50% - 34px);
    z-index: 2;
    background: rgba(255, 255, 255, .94);
  }
  .nilmoto-review-carousel__button--prev {
    left: -6px;
  }
  .nilmoto-review-carousel__button--next {
    right: -6px;
  }
  .nilmoto-banner-nav {
    display: none;
  }
  .nilmoto-banner-nav--prev { left: 14px; }
  .nilmoto-banner-nav--next { right: 14px; }
  .search-autocomplete-panel {
    border-radius: var(--nilmoto-radius-md);
  }
  .search-autocomplete-summary {
    padding: 11px 14px;
  }
  .search-autocomplete-grid {
    grid-template-columns: 1fr;
    gap: 8px;
    max-height: min(42vh, 360px);
    padding: 10px;
  }
  .search-autocomplete-card {
    grid-template-columns: 76px minmax(0, 1fr);
    grid-template-rows: auto;
    align-items: center;
    gap: 10px;
    padding: 8px;
  }
  .search-autocomplete-media {
    width: 76px;
    min-width: 76px;
  }
  .search-autocomplete-title {
    min-height: 0;
    font-size: 15px;
  }
  .search-autocomplete-prices {
    margin-top: 2px;
  }
  .nilmoto-brands { padding: 34px 0; }
  .nilmoto-brands__track {
    width: max-content;
    margin: 0;
    flex-wrap: nowrap;
    animation: nilmoto-marquee 36s linear infinite;
  }
  .nilmoto-brand-card {
    flex: 0 0 154px;
    width: 154px;
    height: 62px;
    padding: 10px 14px;
  }
  .nilmoto-footer__top {
    grid-template-columns: 1fr;
  }
  .nilmoto-footer__payments img { max-width: 100%; }
  .nilmoto-product-detail { width: calc(100vw - 24px); padding: 14px 0 38px; }
  .nilmoto-product-detail__breadcrumb { gap: 6px; }
  .nilmoto-product-detail__image { min-height: 300px; padding: 18px; }
  .nilmoto-product-detail__image img { max-height: 300px; }
  .nilmoto-product-detail__thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  .nilmoto-product-detail__accordions summary { min-height: 54px; padding: 0 12px; font-size: 17px; }
  .nilmoto-product-detail__accordions details > div { padding: 16px 12px 20px; }
  .nilmoto-product-detail__description { gap: 14px; }
  .nilmoto-product-detail__lead { font-size: 15px; }
  .nilmoto-product-detail__description .nilmoto-spec-hero { padding: 16px; }
  .nilmoto-product-detail__description .nilmoto-spec-grid { grid-template-columns: 1fr; }
  .nilmoto-product-detail__description .nilmoto-spec-feature { grid-template-columns: 34px minmax(0, 1fr); }
  .nilmoto-product-detail__description .nilmoto-spec-feature-index { width: 34px; height: 34px; }
  .nilmoto-product-detail__summary { gap: 14px; }
  .nilmoto-product-detail__summary h1 { font-size: 29px; line-height: 1.06; }
  .nilmoto-product-detail__meta { gap: 8px 14px; }
  .nilmoto-product-detail__compat-quick {
    grid-template-columns: 1fr;
    gap: 5px;
  }
  .nilmoto-product-detail__compat-quick strong {
    justify-content: space-between;
  }
  .nilmoto-product-detail__availability {
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: center;
    padding: 14px;
  }
  .nilmoto-product-detail__availability-icon { width: 28px; height: 28px; }
  .nilmoto-product-detail__variants { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nilmoto-product-detail__addon {
    grid-template-columns: 62px minmax(0, 1fr);
  }
  .nilmoto-product-detail__addon-image {
    width: 62px;
    height: 62px;
  }
  .nilmoto-product-detail__addon-action {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    justify-items: start;
  }
  .nilmoto-product-detail__addon-action del { display: none; }
  .nilmoto-product-detail__addon-action button,
  .nilmoto-product-detail__addon-action a { justify-self: end; }
  .nilmoto-product-detail__dynamic-fields { grid-template-columns: 1fr; }
  .nilmoto-product-detail__size-card {
    gap: 9px;
    padding: 12px;
  }
  .nilmoto-product-detail__size-kicker {
    min-height: 22px;
    font-size: 9px;
  }
  .nilmoto-product-detail__size-head strong,
  .nilmoto-product-detail__size-head label {
    font-size: 20px;
  }
  .nilmoto-product-detail__size-title-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
  .nilmoto-product-detail__variant-heading-row {
    flex-direction: column;
    gap: 8px;
  }
  .nilmoto-product-detail__size-card select {
    min-height: 52px;
    font-size: 14px;
  }
  .nilmoto-product-detail__price strong { font-size: 30px; }
  .nilmoto-product-detail__price strong.nilmoto-product-detail__availability-pill {
    min-height: 42px;
    font-size: 14px;
    border-radius: var(--nilmoto-radius-md);
    padding: 0 14px;
  }
  .nilmoto-product-detail__quantity { justify-content: space-between; }
  .nilmoto-product-detail__quantity > div { grid-template-columns: 42px 1fr 42px; width: 156px; }
  .nilmoto-product-detail__submit { min-height: 50px; }
  .nilmoto-product-detail__trust-item {
    grid-template-columns: 30px minmax(0, 1fr);
    min-height: 64px;
    padding: 12px 14px;
  }
  .nilmoto-product-detail__trust strong { font-size: 18px; }
  .nilmoto-product-detail__help { display: grid; grid-template-columns: 1fr; }
  .nilmoto-product-detail__help-link { justify-content: space-between; width: 100%; }
  .nilmoto-product-notice {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 10px 12px;
    padding: 13px 12px;
  }
  .nilmoto-product-notice__icon {
    width: 40px;
    height: 40px;
    font-size: 21px;
  }
  .nilmoto-product-notice__content strong { font-size: 18px; }
  .nilmoto-product-notice__action {
    grid-column: 1 / -1;
    width: 100%;
  }
  .nilmoto-product-detail__compat { grid-template-columns: 1fr; }
  .inner_page_breadcrumb,
  .nilmoto-listing {
    width: calc(100vw - 24px);
  }
  .inner_page_breadcrumb .breadcrumb {
    font-size: 12px;
  }
  .nilmoto-listing__breadcrumb {
    font-size: 12px;
  }
  .nilmoto-listing__hero {
    display: grid;
    gap: 12px;
  }
  .nilmoto-listing__hero h1 {
    font-size: 32px;
    line-height: 1.02;
  }
  .nilmoto-listing__summary {
    justify-items: start;
  }
  .nilmoto-listing__summary strong {
    font-size: 34px;
  }
  .nilmoto-listing__sidebar {
    max-height: none;
  }
  .nilmoto-moto-fit,
  .nilmoto-moto-fit__fields {
    grid-template-columns: 1fr;
  }
  .nilmoto-listing__toolbar {
    display: grid;
  }
  .nilmoto-listing__toolbar label,
  .nilmoto-listing__toolbar select,
  .nilmoto-listing__toolbar form {
    width: 100%;
  }
  .nilmoto-products {
    grid-template-columns: 1fr;
  }
  .nilmoto-listing .main-title h1,
  .nilmoto-listing .cat-service-banner h1,
  .nilmoto-listing .category-outer__text__title {
    font-size: 32px;
    line-height: 1.02;
  }
  .nilmoto-listing .row:has(> [class*="col-"] > .moto-selector) {
    grid-template-columns: 1fr;
    padding: 16px;
  }
  .nilmoto-listing .page_control_shorting,
  .nilmoto-listing .shop-item-filter {
    align-items: stretch;
  }
  .nilmoto-listing .selectpicker,
  .nilmoto-listing .page_control_shorting,
  .nilmoto-listing .filter_components {
    width: 100%;
  }
  .nilmoto-listing .row:has(> .nilmoto-product-card),
  .nilmoto-listing .tab-pane .row:has(> .nilmoto-product-card) {
    grid-template-columns: 1fr;
  }
  .nilmoto-cart {
    width: calc(100vw - 24px);
    padding: 16px 0 40px;
  }
  .nilmoto-cart__header h1 {
    font-size: 34px;
  }
  .nilmoto-cart-line {
    grid-template-columns: 76px minmax(0, 1fr) auto;
    gap: 12px;
    padding: 12px;
  }
  .nilmoto-cart-line__image {
    width: 76px;
    height: 70px;
  }
  .nilmoto-cart-line h2 {
    font-size: 14px;
  }
  .nilmoto-cart-line__qty {
    grid-template-columns: 38px 48px 38px;
    width: 124px;
  }
  .nilmoto-cart-line__price {
    grid-column: 1 / -1;
    grid-row: auto;
    justify-items: start;
  }
  .nilmoto-cart-line__remove {
    grid-column: 3;
    grid-row: 1;
  }
  .nilmoto-cart__notice {
    display: grid;
  }
  .nilmoto-cart__notice-main {
    gap: 12px;
  }
  .nilmoto-cart__notice-icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }
  .nilmoto-cart__notice-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .nilmoto-cart__notice-actions .nilmoto-button,
  .nilmoto-cart__notice-actions .nilmoto-cart__text-button {
    width: 100%;
  }
  .nilmoto-cart-coupon__row {
    grid-template-columns: 1fr;
  }
  .nilmoto-cart-coupon button {
    width: 100%;
  }
  .nilmoto-cart-summary {
    padding: 18px;
  }
  .nilmoto-listing .nilmoto-product-card__media {
    min-height: 245px;
  }
  .nilmoto-listing .nilmoto-product-card__media > img {
    height: 210px;
  }
  .nilmoto-product-card__versions {
    position: static;
    left: auto;
    right: auto;
    top: auto;
    max-height: none;
    margin: 0 0 8px;
    padding: 10px;
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
    overflow: visible;
    visibility: visible;
    transform: none;
  }
  .nilmoto-product-card__version-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .nilmoto-header__actions {
    justify-content: space-between;
    gap: 6px;
  }
  .nilmoto-contact {
    width: 82px;
    min-width: 82px;
  }
  .nilmoto-contact__channels {
    width: 82px;
    gap: 6px;
  }
  .nilmoto-contact-channel,
  .nilmoto-contact-channel:hover,
  .nilmoto-contact-channel:focus-visible {
    width: 36px;
    min-width: 36px;
    transform: none;
  }
  .nilmoto-contact-channel strong,
  .nilmoto-contact-channel:hover strong,
  .nilmoto-contact-channel:focus-visible strong {
    max-width: 0;
    margin-left: 0;
    opacity: 0;
  }
  .nilmoto-contact__channels:has(.nilmoto-contact-channel--phone:hover) .nilmoto-contact-channel--whatsapp,
  .nilmoto-contact__channels:has(.nilmoto-contact-channel--phone:focus-visible) .nilmoto-contact-channel--whatsapp,
  .nilmoto-contact__channels:has(.nilmoto-contact-channel--whatsapp:hover) .nilmoto-contact-channel--phone,
  .nilmoto-contact__channels:has(.nilmoto-contact-channel--whatsapp:focus-visible) .nilmoto-contact-channel--phone {
    opacity: 1;
    pointer-events: auto;
  }
  .nilmoto-account-button {
    min-width: 48px;
  }
  .nilmoto-cart-button {
    min-width: 64px;
    padding: 10px 8px;
  }
}

@media (hover: none) {
  .nilmoto-product-card__versions {
    position: static;
    left: auto;
    right: auto;
    top: auto;
    max-height: none;
    margin: 0 0 8px;
    padding: 10px;
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
    overflow: visible;
    visibility: visible;
    transform: none;
  }
}

@media (max-width: 640px), (hover: none) {
  .nilmoto-product-card__versions {
    gap: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .nilmoto-product-card__versions-head {
    position: relative;
    z-index: 2;
    min-height: 48px;
    justify-content: flex-start;
    padding: 0 12px;
    border: 1px solid #242424;
    border-left: 4px solid var(--nilmoto-red);
    background: #171717;
    color: var(--nilmoto-white);
    box-shadow: 0 5px 14px rgba(0, 0, 0, .16);
    cursor: pointer;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease;
  }

  .nilmoto-product-card__versions-head strong {
    margin-left: auto;
    background: var(--nilmoto-red);
  }

  .nilmoto-product-card__versions-head::after {
    content: "";
    flex: 0 0 9px;
    width: 9px;
    height: 9px;
    margin: -4px 2px 0 3px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform .16s ease, margin .16s ease;
  }

  .nilmoto-product-card__versions-head:focus-visible {
    outline: 3px solid rgba(237, 28, 36, .28);
    outline-offset: 2px;
  }

  .nilmoto-product-card__versions-content {
    display: none;
    padding: 10px;
    border: 1px solid var(--nilmoto-line);
    border-top: 0;
    background: var(--nilmoto-white);
  }

  .nilmoto-product-card__versions.is-versions-open .nilmoto-product-card__versions-head {
    border-color: var(--nilmoto-red);
    background: var(--nilmoto-red);
  }

  .nilmoto-product-card__versions.is-versions-open .nilmoto-product-card__versions-head strong {
    background: var(--nilmoto-white);
    color: var(--nilmoto-red);
  }

  .nilmoto-product-card__versions.is-versions-open .nilmoto-product-card__versions-head::after {
    margin-top: 4px;
    transform: rotate(225deg);
  }

  .nilmoto-product-card__versions.is-versions-open .nilmoto-product-card__versions-content {
    display: grid;
  }
}

/* Mobile catalogue grids: home, families, subfamilies, groups, brands, search and product recommendations */
@media (max-width: 640px) {
  .nilmoto-home-categories .nilmoto-category-grid,
  .nilmoto-home-products .nilmoto-product-grid,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-grid,
  .nilmoto-listing .nilmoto-products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .nilmoto-home-categories .nilmoto-category-grid a {
    grid-template-rows: auto 1fr;
  }

  .nilmoto-home-categories .nilmoto-category-grid img {
    aspect-ratio: 4 / 3;
  }

  .nilmoto-home-categories .nilmoto-category-grid span {
    min-height: 50px;
    gap: 4px;
    padding: 9px 10px 10px;
    font-size: 16px;
    line-height: 1.02;
  }

  .nilmoto-home-categories .nilmoto-category-grid span::after {
    flex-basis: 20px;
    width: 20px;
    height: 20px;
    mask-size: 16px 16px;
    -webkit-mask-size: 16px 16px;
  }

  .nilmoto-home-products .nilmoto-product-card__media,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__media,
  .nilmoto-listing .nilmoto-product-card__media {
    min-height: 0;
    aspect-ratio: 1 / 1;
    padding: 8px;
  }

  .nilmoto-home-products .nilmoto-product-card__media > img,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__media > img,
  .nilmoto-listing .nilmoto-product-card__media > img {
    height: 100%;
    max-height: none;
  }

  .nilmoto-home-products .nilmoto-product-card__badges,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__badges,
  .nilmoto-listing .nilmoto-product-card__badges {
    left: 6px;
    top: 6px;
    gap: 2px;
  }

  .nilmoto-home-products .nilmoto-badge,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-badge,
  .nilmoto-listing .nilmoto-badge {
    min-height: 18px;
    padding: 3px 5px;
    font-size: 9px;
  }

  .nilmoto-home-products .nilmoto-product-card__body,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__body,
  .nilmoto-listing .nilmoto-product-card__body {
    gap: 4px;
    padding: 10px 9px 12px;
  }

  .nilmoto-home-products .nilmoto-product-card__brand,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__brand,
  .nilmoto-listing .nilmoto-product-card__brand {
    font-size: 9px;
  }

  .nilmoto-home-products .nilmoto-product-card h3,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card h3,
  .nilmoto-listing .nilmoto-product-card h3 {
    min-height: 0;
    font-size: 13px;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  .nilmoto-home-products .nilmoto-product-card__features,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__features,
  .nilmoto-listing .nilmoto-product-card__features {
    gap: 4px;
  }

  .nilmoto-home-products .nilmoto-product-card__features > span:not(.nilmoto-product-feature),
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__features > span:not(.nilmoto-product-feature),
  .nilmoto-listing .nilmoto-product-card__features > span:not(.nilmoto-product-feature) {
    width: 24px;
    height: 24px;
  }

  .nilmoto-home-products .nilmoto-product-card__price,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__price,
  .nilmoto-listing .nilmoto-product-card__price {
    flex-wrap: wrap;
    gap: 4px;
    padding-top: 8px;
  }

  .nilmoto-home-products .nilmoto-product-card__price strong,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__price strong,
  .nilmoto-listing .nilmoto-product-card__price strong {
    font-size: 19px;
    line-height: 1;
  }

  .nilmoto-home-products .nilmoto-product-card__price del,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__price del,
  .nilmoto-listing .nilmoto-product-card__price del {
    font-size: 11px;
  }

  .nilmoto-home-products .nilmoto-product-card__consultar,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__consultar,
  .nilmoto-listing .nilmoto-product-card__consultar {
    font-size: 12px;
    line-height: 1.15;
  }

  .nilmoto-home-products .nilmoto-product-card__versions-head,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__versions-head,
  .nilmoto-listing .nilmoto-product-card__versions-head {
    min-height: 40px;
    padding: 0 8px;
    font-size: 11px;
  }

  .nilmoto-home-products .nilmoto-product-card__versions-content,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__versions-content,
  .nilmoto-listing .nilmoto-product-card__versions-content {
    padding: 8px;
  }

  .nilmoto-home-products .nilmoto-product-card__version,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__version,
  .nilmoto-listing .nilmoto-product-card__version {
    min-height: 34px;
    padding: 6px;
    font-size: 10px;
  }

  .nilmoto-home-products .nilmoto-product-card__version strong,
  .nilmoto-home-products .nilmoto-product-card__version-more,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__version strong,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__version-more,
  .nilmoto-listing .nilmoto-product-card__version strong,
  .nilmoto-listing .nilmoto-product-card__version-more {
    font-size: 10px;
  }
}

@media (max-width: 360px) {
  .nilmoto-home-categories .nilmoto-category-grid,
  .nilmoto-home-products .nilmoto-product-grid,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-grid,
  .nilmoto-listing .nilmoto-products {
    gap: 8px;
  }

  .nilmoto-home-categories .nilmoto-category-grid span {
    padding-inline: 8px;
    font-size: 14px;
  }

  .nilmoto-home-products .nilmoto-product-card__body,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__body,
  .nilmoto-listing .nilmoto-product-card__body {
    padding-inline: 8px;
  }

  .nilmoto-home-products .nilmoto-product-card h3,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card h3,
  .nilmoto-listing .nilmoto-product-card h3 {
    font-size: 12px;
  }

  .nilmoto-home-products .nilmoto-product-card__price strong,
  .nilmoto-product-detail > .nilmoto-section .nilmoto-product-card__price strong,
  .nilmoto-listing .nilmoto-product-card__price strong {
    font-size: 17px;
  }
}

/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5 · checkout conversion · modern-minimal · Nilmoto system · macrostructure: form → summary → repeated final action · enrichment: none · states: default, hover, focus, active, disabled, loading, error, success */
/* Checkout */
.nilmoto-checkout-page {
  background: var(--nilmoto-soft);
  padding: 30px 0 60px;
}

.nilmoto-checkout-container {
  width: min(1240px, calc(100vw - 32px));
  margin: 0 auto;
}

.nilmoto-checkout-title {
  position: relative;
  margin: 0 0 24px;
  padding-left: 18px;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: clamp(34px, 4vw, 52px);
  font-weight: 900;
  line-height: .95;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.nilmoto-checkout-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: .1em;
  width: 5px;
  height: .78em;
  background: var(--nilmoto-red);
}

.nilmoto-checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 24px;
  align-items: start;
}

.nilmoto-checkout-main,
.nilmoto-checkout-aside {
  min-width: 0;
}

.nilmoto-checkout-summary-shell {
  position: sticky;
  top: 18px;
}

.nilmoto-checkout-section,
.nilmoto-checkout-country,
.nilmoto-checkout-summary {
  margin-bottom: 18px;
  padding: 22px;
  background: var(--nilmoto-white);
  border: 1px solid var(--nilmoto-line);
  border-top: 5px solid var(--nilmoto-red);
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-checkout-country {
  border-top-color: var(--nilmoto-ink);
}

.nilmoto-checkout-section-title,
.nilmoto-checkout-summary-title,
.nilmoto-checkout-coupon-title {
  margin: 0 0 16px;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-checkout-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.nilmoto-checkout-field,
.nilmoto-checkout-field-group {
  min-width: 0;
}

.nilmoto-checkout-field--full {
  grid-column: 1 / -1;
}

.nilmoto-checkout-field--wide {
  grid-column: span 1;
}

.nilmoto-checkout-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0 0 7px;
  color: var(--nilmoto-ink);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1.2;
  text-transform: uppercase;
}

.nilmoto-checkout-required {
  color: var(--nilmoto-red);
}

.nilmoto-checkout-input,
.nilmoto-checkout-select {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  color: var(--nilmoto-ink);
  background: #fbfbfb;
  border: 1px solid #d9d9d9;
  border-radius: var(--nilmoto-radius-sm);
  font: 700 14px/1.2 "Barlow", Arial, sans-serif;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.nilmoto-checkout-input:hover,
.nilmoto-checkout-select:hover {
  border-color: #b9b9b9;
  background: var(--nilmoto-white);
}

.nilmoto-checkout-input:focus,
.nilmoto-checkout-select:focus {
  outline: 2px solid rgba(227, 6, 19, .28);
  outline-offset: 2px;
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-white);
}

.nilmoto-checkout-submit:focus-visible,
.nilmoto-checkout-secondary:focus-visible {
  outline: 2px solid var(--nilmoto-red);
  outline-offset: 3px;
}

.nilmoto-checkout-submit:focus-visible {
  outline-color: var(--nilmoto-red);
}

.nilmoto-checkout-select-wrap {
  position: relative;
}

.nilmoto-checkout-select-wrap::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 2px solid var(--nilmoto-ink);
  border-bottom: 2px solid var(--nilmoto-ink);
  transform: translateY(-62%) rotate(45deg);
  pointer-events: none;
}

.nilmoto-checkout-select {
  appearance: none;
  padding-right: 38px;
}

.nilmoto-checkout-phone-grid {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 10px;
}

.nilmoto-checkout-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  background: #fbfbfb;
  border: 1px solid var(--nilmoto-line);
}

.nilmoto-checkout-check input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: var(--nilmoto-red);
  flex: 0 0 auto;
}

.nilmoto-checkout-check input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--nilmoto-red);
  outline-offset: 3px;
}

.nilmoto-checkout-check label {
  margin: 0;
  color: #4f4f4f;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}

.nilmoto-checkout-textarea {
  min-height: 104px;
  resize: vertical;
}

.nilmoto-checkout-alert {
  margin-bottom: 16px;
  padding: 14px 16px;
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
  font-weight: 700;
}

.nilmoto-checkout-alert--danger {
  border-left: 5px solid var(--nilmoto-red);
}

.nilmoto-checkout-alert--info {
  border-left: 5px solid var(--nilmoto-ink);
}

.nilmoto-checkout-alert-list {
  margin: 10px 0 0 18px;
  padding: 0;
}

.nilmoto-checkout-time-slot {
  grid-column: 1 / -1;
  padding: 14px;
  border: 1px solid var(--nilmoto-line);
  background: #fbfbfb;
}

.nilmoto-checkout-time-slot-title {
  margin: 0 0 8px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-checkout-time-slot-help {
  margin: 8px 0 0;
  color: var(--nilmoto-muted);
  font-size: 13px;
}

.nilmoto-checkout-time-slot-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.nilmoto-checkout-time-slot-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background: var(--nilmoto-white);
  border: 1px solid var(--nilmoto-line);
  font-weight: 800;
}

.nilmoto-checkout-addresses {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 14px;
}

.nilmoto-checkout-addresses + .nilmoto-checkout-secondary {
  margin-top: 16px;
}

.nilmoto-checkout-address-card {
  position: relative;
  padding: 16px 44px 16px 16px;
  background: #fbfbfb;
  border: 1px solid var(--nilmoto-line);
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.nilmoto-checkout-address-card:hover,
.nilmoto-checkout-address-card.selected {
  border-color: var(--nilmoto-red);
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-checkout-address-card input[type="radio"] {
  position: absolute;
  right: 16px;
  top: 16px;
  width: 18px;
  height: 18px;
  accent-color: var(--nilmoto-red);
}

.nilmoto-checkout-address-name {
  margin-bottom: 6px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-checkout-address-details {
  color: #555;
  font-size: 13px;
  line-height: 1.45;
}

.nilmoto-checkout-address-edit {
  display: inline-flex;
  margin-top: 10px;
  color: var(--nilmoto-red);
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-checkout-address-card--warning {
  border-color: #f2c94c;
}

.nilmoto-checkout-address-warning-badge {
  display: inline-flex;
  margin-top: 10px;
  padding: 4px 8px;
  background: #fff4cf;
  color: #7a5600;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-checkout-summary-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.nilmoto-checkout-summary-table td,
.nilmoto-checkout-summary-table th {
  padding: 10px 0;
  border-bottom: 1px solid var(--nilmoto-line);
  vertical-align: top;
}

.nilmoto-checkout-summary-table img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  background: #f7f7f7;
  border: 1px solid var(--nilmoto-line);
}

.nilmoto-checkout-lines {
  margin-bottom: 16px;
}

.nilmoto-checkout-totals {
  padding-top: 12px;
  color: var(--nilmoto-ink);
  font-size: 16px;
  font-weight: 900;
  text-align: right;
}

.nilmoto-checkout-summary-action {
  display: grid;
  gap: 12px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--nilmoto-line);
}

.nilmoto-checkout-final-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  align-items: center;
  gap: 18px;
  max-width: 980px;
  margin: 18px auto 0;
  padding: 18px 22px;
  background: var(--nilmoto-white);
  border: 1px solid var(--nilmoto-line);
  border-top: 5px solid var(--nilmoto-red);
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-checkout-final-action .nilmoto-checkout-check {
  padding: 0;
  background: transparent;
  border: 0;
}

.nilmoto-checkout-coupon {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--nilmoto-line);
}

.nilmoto-checkout-coupon .nilmoto-checkout-coupon-title {
  margin-bottom: 7px;
  font-size: 20px;
}

.nilmoto-checkout-coupon-description {
  max-width: 65ch;
  margin: 0 0 14px;
  color: var(--nilmoto-muted);
  font-size: 14px;
  line-height: 1.5;
}

.nilmoto-checkout-coupon-label {
  display: block;
  margin: 0 0 8px;
  color: var(--nilmoto-ink);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1.2;
  text-transform: uppercase;
}

.nilmoto-checkout-coupon-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.nilmoto-checkout-coupon-grid .nilmoto-checkout-input {
  min-height: 48px;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.nilmoto-checkout-coupon-grid .nilmoto-checkout-input:focus-visible {
  outline-color: var(--nilmoto-red);
}

.nilmoto-checkout-coupon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border: 1px solid var(--nilmoto-ink);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 17px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out),
              border-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out),
              color var(--nilmoto-duration-ui) var(--nilmoto-ease-out),
              transform var(--nilmoto-duration-press) var(--nilmoto-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .nilmoto-checkout-coupon-button:hover {
    border-color: var(--nilmoto-red);
    background: var(--nilmoto-red);
    color: var(--nilmoto-white);
  }
}

.nilmoto-checkout-coupon-button:focus-visible {
  outline: 2px solid var(--nilmoto-red);
  outline-offset: 3px;
}

.nilmoto-checkout-coupon-button:active {
  border-color: var(--nilmoto-red-dark);
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
  transform: translateY(1px);
}

.nilmoto-checkout-coupon-button:disabled,
.nilmoto-checkout-coupon-button[aria-disabled="true"] {
  border-color: var(--nilmoto-choice-border);
  background: var(--nilmoto-choice-disabled-bg);
  color: var(--nilmoto-muted);
  opacity: .55;
  cursor: not-allowed;
  transform: none;
}

.nilmoto-checkout-coupon-button[aria-busy="true"] {
  border-color: var(--nilmoto-ink);
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
  opacity: .72;
  cursor: wait;
}

.nilmoto-checkout-coupon-button[data-state="error"] {
  border-color: var(--nilmoto-red-dark);
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
}

.nilmoto-checkout-coupon-button[data-state="success"] {
  border-color: var(--nilmoto-success);
  background: var(--nilmoto-success);
  color: var(--nilmoto-white);
}

.nilmoto-checkout-coupon-button--remove {
  grid-column: 1 / -1;
  width: 100%;
  border-color: var(--nilmoto-choice-border);
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
}

@media (hover: hover) and (pointer: fine) {
  .nilmoto-checkout-coupon-button--remove:hover {
    border-color: var(--nilmoto-red);
    background: #fff4f4;
    color: var(--nilmoto-red-dark);
  }
}

.nilmoto-checkout-coupon-message {
  min-height: 20px;
  margin-top: 8px;
  color: var(--nilmoto-muted);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.nilmoto-checkout-coupon-message:empty {
  visibility: hidden;
}

.nilmoto-checkout-submit,
.nilmoto-checkout-secondary,
#pFormasPago label,
#pFormasEntrega label {
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.nilmoto-checkout-submit,
.nilmoto-checkout-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border: 0;
  border-radius: var(--nilmoto-radius-sm);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 18px;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}

.nilmoto-checkout-submit {
  width: 100%;
  padding: 12px 18px;
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-brand);
}

.nilmoto-checkout-submit:hover {
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
  box-shadow: 0 13px 26px rgba(189, 6, 16, .32);
  transform: translateY(-1px);
}

.nilmoto-checkout-submit:active,
.nilmoto-checkout-secondary:active {
  transform: translateY(0);
}

.nilmoto-checkout-submit:disabled,
.nilmoto-checkout-submit[aria-disabled="true"],
.nilmoto-checkout-secondary:disabled,
.nilmoto-checkout-secondary[aria-disabled="true"] {
  opacity: .55;
  cursor: not-allowed;
  transform: none;
}

.nilmoto-checkout-submit[aria-busy="true"] {
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
  opacity: .72;
  cursor: wait;
  transform: none;
}

.nilmoto-checkout-submit[data-state="error"] {
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
}

.nilmoto-checkout-submit[data-state="success"] {
  background: var(--nilmoto-success);
  color: var(--nilmoto-white);
}

.nilmoto-page .nilmoto-checkout-secondary {
  padding: 12px 16px;
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
}

.nilmoto-checkout-secondary:hover {
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-checkout-privacy--legal,
.nilmoto-checkout-required-note,
.nilmoto-checkout-trust {
  color: var(--nilmoto-muted);
  font-size: 13px;
  line-height: 1.45;
}

.nilmoto-checkout-privacy--legal {
  display: block;
  max-width: 980px;
  margin: 22px auto 0;
  padding: 22px 24px;
  background: var(--nilmoto-white);
  border: 1px solid var(--nilmoto-line);
  border-top: 5px solid var(--nilmoto-ink);
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-checkout-privacy--legal,
.nilmoto-checkout-privacy--legal * {
  max-width: 100%;
  color: var(--nilmoto-muted) !important;
  font-family: "Barlow", Arial, sans-serif !important;
  font-size: 13px !important;
  font-style: normal !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere;
}

.nilmoto-checkout-privacy--legal * {
  background: transparent !important;
}

.nilmoto-checkout-privacy--legal p,
.nilmoto-checkout-privacy--legal div {
  display: block;
  margin: 0 0 12px;
  width: auto;
}

.nilmoto-checkout-privacy--legal p:last-child,
.nilmoto-checkout-privacy--legal div:last-child {
  margin-bottom: 0;
}

.nilmoto-checkout-privacy--legal strong {
  color: var(--nilmoto-ink) !important;
  font-weight: 900 !important;
}

.nilmoto-checkout-privacy--legal a {
  color: var(--nilmoto-red) !important;
  font-weight: 900 !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.nilmoto-checkout-trust {
  margin-top: 16px;
}

/* Hallmark · pre-emit critique: P5 H5 E5 S5 R4 V5
 * component: linked review seal · genre: editorial · theme: Nilmoto brand
 * states: default · hover · focus · active · disabled · loading · error · success
 * contrast: pass (46–50) · responsive: 320 · 375 · 414 · 768
 */
.nilmoto-checkout-reviews {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 54px;
  align-items: center;
  gap: 12px;
  min-height: 170px;
  padding: 18px 18px 0;
  overflow: hidden;
  background: var(--nilmoto-red);
  border: 2px solid var(--nilmoto-ink);
  border-radius: var(--nilmoto-radius-md);
  box-shadow: 6px 6px 0 var(--nilmoto-ink);
  color: var(--nilmoto-white);
  text-decoration: none;
  transition: transform var(--nilmoto-duration-ui) var(--nilmoto-ease-out);
}

.nilmoto-checkout-reviews::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -54px;
  right: -46px;
  width: 154px;
  height: 228px;
  background: var(--nilmoto-review-deep);
  transform: rotate(14deg);
}

.nilmoto-checkout-reviews:visited {
  color: var(--nilmoto-white);
}

.nilmoto-checkout-reviews__visual {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.nilmoto-checkout-reviews__brand {
  display: flex;
  width: min(168px, 62%);
  padding: 7px 10px;
  background: var(--nilmoto-ink);
  transform: rotate(-2deg);
}

.nilmoto-checkout-reviews__brand img {
  display: block;
  width: 100%;
  height: auto;
}

.nilmoto-checkout-reviews__stars {
  color: var(--nilmoto-review-gold);
  font-size: 17px;
  font-weight: 900;
  letter-spacing: 1px;
  line-height: 1;
  white-space: nowrap;
}

.nilmoto-checkout-reviews__copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.nilmoto-checkout-reviews__copy strong {
  color: var(--nilmoto-white);
  font-family: var(--nilmoto-font-display);
  font-size: 34px;
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -.02em;
  text-transform: uppercase;
}

.nilmoto-checkout-reviews__copy span {
  color: var(--nilmoto-white);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
}

.nilmoto-checkout-reviews__seal {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  background: var(--nilmoto-review-gold);
  border: 2px solid var(--nilmoto-ink);
  border-radius: var(--nilmoto-radius-pill);
  color: var(--nilmoto-ink);
  font-size: 25px;
  line-height: 1;
  transform: rotate(7deg);
}

.nilmoto-checkout-reviews__cta {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  margin: 0 -18px;
  padding: 11px 18px;
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
  font-family: var(--nilmoto-font-display);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
  white-space: nowrap;
}

.nilmoto-checkout-reviews__cta > span {
  color: var(--nilmoto-review-gold);
  font-size: 22px;
  line-height: 1;
}

@media (hover: hover) and (pointer: fine) {
  .nilmoto-checkout-reviews:hover {
    color: var(--nilmoto-white);
    transform: translateY(-2px);
  }
}

.nilmoto-checkout-reviews:focus-visible {
  outline: 3px solid var(--nilmoto-ink);
  outline-offset: 3px;
}

.nilmoto-checkout-reviews:active {
  transform: translateY(1px);
}

.nilmoto-checkout-reviews[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .5;
  pointer-events: none;
}

.nilmoto-checkout-reviews[data-state="loading"] {
  cursor: progress;
  opacity: .72;
}

.nilmoto-checkout-reviews[data-state="error"] {
  outline: 3px dashed var(--nilmoto-review-gold);
  outline-offset: 3px;
}

.nilmoto-checkout-reviews[data-state="success"] {
  outline: 3px solid var(--nilmoto-white);
  outline-offset: 3px;
}

.nilmoto-payment-action {
  width: 100%;
  margin-top: 14px;
}

.nilmoto-payment-action__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 50px;
  padding: 13px 18px;
  background: var(--nilmoto-red);
  border: 0;
  border-radius: var(--nilmoto-radius-sm);
  color: var(--nilmoto-white);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.nilmoto-payment-action__button:hover {
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
  transform: translateY(-1px);
  box-shadow: var(--nilmoto-shadow-brand);
}

.nilmoto-payment-action__button:focus-visible {
  outline: 2px solid rgba(227, 6, 19, .35);
  outline-offset: 3px;
}

/* Returns */
.nilmoto-returns-page {
  width: min(1320px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 34px 0 60px;
}

.nilmoto-returns-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.nilmoto-returns-sidebar,
.nilmoto-returns-content {
  min-width: 0;
}

.nilmoto-returns-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}

.nilmoto-returns-title,
.nilmoto-returns-block-title {
  margin: 0;
  color: var(--nilmoto-ink);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-returns-title {
  font-size: clamp(32px, 3.5vw, 46px);
}

.nilmoto-returns-block-title {
  margin-bottom: 16px;
  font-size: 24px;
}

.nilmoto-returns-subtitle,
.nilmoto-returns-muted {
  color: var(--nilmoto-muted);
  font-size: 14px;
  line-height: 1.4;
}

.nilmoto-returns-subtitle {
  margin: 8px 0 0;
}

.nilmoto-returns-muted--spaced {
  margin-top: 8px;
}

.nilmoto-returns-alert {
  margin-bottom: 16px;
  padding: 14px 16px;
  background: var(--nilmoto-white);
  border: 1px solid var(--nilmoto-line);
  border-left: 5px solid var(--nilmoto-ink);
  font-weight: 700;
}

.nilmoto-returns-alert--warning {
  border-left-color: #c58b00;
}

.nilmoto-returns-alert--danger {
  border-left-color: var(--nilmoto-red);
}

.nilmoto-returns-alert--info {
  border-left-color: #3a3a3a;
}

.nilmoto-returns-wizard,
.nilmoto-returns-history {
  background: var(--nilmoto-white);
  border: 1px solid var(--nilmoto-line);
  border-top: 5px solid var(--nilmoto-red);
  box-shadow: var(--nilmoto-shadow-md);
}

.nilmoto-returns-wizard {
  padding: 22px;
}

.nilmoto-returns-progress {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 24px;
}

.nilmoto-returns-progress-step {
  min-height: 48px;
  padding: 10px 8px;
  display: grid;
  place-items: center;
  background: #f7f7f7;
  border: 1px solid var(--nilmoto-line);
  color: #6a6a6a;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
}

.nilmoto-returns-progress-step.active {
  background: var(--nilmoto-ink);
  border-color: var(--nilmoto-ink);
  color: var(--nilmoto-white);
}

.nilmoto-returns-progress-step.done {
  background: var(--nilmoto-success-bg-soft);
  border-color: #22a35a;
  color: #15813f;
}

.nilmoto-returns-step {
  display: none;
}

.nilmoto-returns-step.active {
  display: block;
}

.nilmoto-returns-line,
.nilmoto-returns-box {
  margin-bottom: 14px;
  padding: 16px;
  background: #fbfbfb;
  border: 1px solid var(--nilmoto-line);
}

.nilmoto-returns-line.selected {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-white);
  box-shadow: inset 4px 0 0 var(--nilmoto-red);
}

.nilmoto-returns-line-grid {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) 160px 110px 90px;
  gap: 14px;
  align-items: center;
}

.nilmoto-returns-line-image {
  width: 72px;
  height: 72px;
  object-fit: contain;
  background: var(--nilmoto-white);
  border: 1px solid var(--nilmoto-line);
}

.nilmoto-returns-product-title {
  color: var(--nilmoto-ink);
  font-weight: 900;
  line-height: 1.15;
  text-transform: uppercase;
}

.nilmoto-returns-line-price {
  color: var(--nilmoto-red);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 22px;
  font-weight: 900;
  text-align: right;
}

.nilmoto-returns-form-grid,
.nilmoto-returns-two-col {
  display: grid;
  gap: 14px;
}

.nilmoto-returns-form-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nilmoto-returns-two-col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nilmoto-returns-field,
.nilmoto-returns-half {
  min-width: 0;
}

.nilmoto-returns-field--full,
.nilmoto-returns-field--wide {
  grid-column: span 2;
}

.nilmoto-returns-field--third {
  grid-column: span 1;
}

.nilmoto-returns-label {
  display: inline-flex;
  margin-bottom: 7px;
  color: var(--nilmoto-ink);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1.2;
  text-transform: uppercase;
}

.nilmoto-returns-input,
.nilmoto-returns-select {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  background: var(--nilmoto-white);
  border: 1px solid #d9d9d9;
  color: var(--nilmoto-ink);
  font: 700 14px/1.2 "Barlow", Arial, sans-serif;
}

.nilmoto-returns-input:focus,
.nilmoto-returns-select:focus {
  outline: 2px solid rgba(227, 6, 19, .25);
  outline-offset: 2px;
  border-color: var(--nilmoto-red);
}

.nilmoto-returns-switch-input {
  width: 44px;
  height: 24px;
  accent-color: var(--nilmoto-red);
}

.nilmoto-returns-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
}

.nilmoto-returns-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 16px;
  border: 1px solid var(--nilmoto-ink);
  border-radius: var(--nilmoto-radius-sm);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 17px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.nilmoto-returns-button--primary {
  background: var(--nilmoto-red);
  border-color: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-returns-button--secondary {
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
}

.nilmoto-returns-button--small {
  min-height: 34px;
  padding: 8px 10px;
  font-size: 14px;
}

.nilmoto-returns-button:hover {
  background: var(--nilmoto-ink);
  border-color: var(--nilmoto-ink);
  color: var(--nilmoto-white);
  transform: translateY(-1px);
}

.nilmoto-returns-summary-line {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid var(--nilmoto-line);
}

.nilmoto-returns-summary-line:last-child {
  border-bottom: 0;
}

.nilmoto-returns-summary-line--total {
  color: var(--nilmoto-red);
  font-weight: 900;
}

.nilmoto-returns-history {
  margin-top: 24px;
}

.nilmoto-returns-history__body {
  padding: 20px;
}

.nilmoto-returns-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.nilmoto-returns-table {
  width: 100%;
  border-collapse: collapse;
}

.nilmoto-returns-table th,
.nilmoto-returns-table td {
  padding: 12px 10px;
  border-bottom: 1px solid var(--nilmoto-line);
  text-align: left;
}

.nilmoto-returns-align-end {
  text-align: right;
}

.nilmoto-returns-modal[hidden] {
  display: none;
}

.nilmoto-returns-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(0, 0, 0, .62);
}

.nilmoto-returns-modal__dialog {
  width: min(520px, 100%);
}

.nilmoto-returns-modal__content {
  background: var(--nilmoto-white);
  border-top: 5px solid var(--nilmoto-red);
  box-shadow: var(--nilmoto-shadow);
}

.nilmoto-returns-modal__header,
.nilmoto-returns-modal__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--nilmoto-line);
}

.nilmoto-returns-modal__footer {
  border-top: 1px solid var(--nilmoto-line);
  border-bottom: 0;
}

.nilmoto-returns-modal__title {
  margin: 0;
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 24px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-returns-modal__close {
  width: 36px;
  height: 36px;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-white);
  cursor: pointer;
}

.nilmoto-returns-modal__close::before {
  content: "x";
  color: var(--nilmoto-ink);
  font-size: 20px;
  font-weight: 900;
}

.nilmoto-returns-modal__body {
  padding: 18px;
  color: #4f4f4f;
  line-height: 1.45;
}

body.nilmoto-returns-modal-open {
  overflow: hidden;
}

#pFormasPago,
#pFormasEntrega {
  display: grid;
  gap: 12px;
}

#pFormasPago .nilmoto-checkout-choice,
#pFormasEntrega .nilmoto-checkout-choice {
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: none;
  padding: 0 !important;
  clear: none;
  overflow: clip;
  border: 1px solid var(--nilmoto-choice-border);
  border-radius: var(--nilmoto-radius-md);
  background: var(--nilmoto-white);
  box-shadow: var(--nilmoto-choice-hairline-shadow);
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

#pFormasPago .nilmoto-checkout-choice > input[type="radio"],
#pFormasEntrega .nilmoto-checkout-choice > input[type="radio"] {
  display: block !important;
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

#pFormasPago .nilmoto-checkout-choice > .nilmoto-checkout-choice__surface,
#pFormasEntrega .nilmoto-checkout-choice > .nilmoto-checkout-choice__surface {
  position: relative;
  display: flex;
  min-height: 72px;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 0 !important;
  padding: 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--nilmoto-ink);
  font-weight: 700;
  line-height: 1.3 !important;
  cursor: pointer;
  user-select: none;
}

#pFormasPago .nilmoto-checkout-choice > input[type="radio"] ~ label::before,
#pFormasEntrega .nilmoto-checkout-choice > input[type="radio"] ~ label::before {
  display: none !important;
  content: none !important;
}

.nilmoto-checkout-choice__indicator {
  position: relative;
  display: grid;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 2px solid var(--nilmoto-choice-control);
  border-radius: 50%;
  background: var(--nilmoto-white);
  color: var(--nilmoto-white);
  transition: background-color .16s ease, border-color .16s ease, transform .16s ease;
}

.nilmoto-checkout-choice__indicator::after {
  content: "";
  width: 6px;
  height: 10px;
  margin-top: 0;
  border-bottom: 2px solid currentColor;
  border-right: 2px solid currentColor;
  opacity: 0;
  transform: rotate(45deg) scale(.7);
  transition: opacity .16s ease, transform .16s ease;
}

.nilmoto-checkout-choice__content {
  display: grid;
  flex: 1 1 auto;
  min-width: 0;
  gap: 4px;
}

.nilmoto-checkout-choice__title {
  display: block;
  min-width: 0;
  color: var(--nilmoto-ink);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.28;
  overflow-wrap: anywhere;
}

.nilmoto-checkout-choice__meta {
  display: block;
  color: var(--nilmoto-choice-meta);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

.nilmoto-checkout-choice__icon {
  display: grid;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-soft);
  color: var(--nilmoto-choice-icon);
  transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}

.nilmoto-checkout-choice__icon svg {
  width: 22px;
  height: 22px;
}

#pFormasPago .nilmoto-payment-option__brand {
  display: inline-flex !important;
  flex: 0 0 auto;
  width: 144px;
  max-width: 144px;
  min-height: 40px;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 0;
  color: var(--nilmoto-ink);
}

#pFormasPago .nilmoto-payment-option__brand-logo {
  display: block;
  width: auto;
  max-width: 116px;
  height: auto;
  max-height: 34px;
  object-fit: contain;
}

#pFormasPago .nilmoto-payment-option__brand-logo--card {
  max-width: 44px;
  max-height: 28px;
}

#pFormasPago .nilmoto-payment-option__brand-logo--custom {
  width: 44px;
  height: 44px;
  max-height: 44px;
}

#pFormasPago .nilmoto-payment-option__brand--multi {
  width: 178px;
  max-width: 178px;
  gap: 7px;
}

#pFormasPago .nilmoto-payment-option__brand--multi .nilmoto-payment-option__brand-logo {
  max-width: 48px;
  max-height: 25px;
}

#pFormasPago .nilmoto-payment-option__brand--multi .nilmoto-payment-option__brand-logo--apple-pay {
  max-width: 42px;
  max-height: 28px;
}

#pFormasPago .nilmoto-payment-option__brand-note {
  color: var(--nilmoto-payment-copy);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

#pFormasPago .nilmoto-payment-option__legacy-logo {
  display: none !important;
}

#pFormasPago .nilmoto-payment-option--default {
  border-color: var(--nilmoto-payment-default-border);
  background: var(--nilmoto-payment-default-bg);
}

#pFormasPago .nilmoto-payment-option--card {
  border-color: var(--nilmoto-payment-card-border);
  background: var(--nilmoto-payment-card-bg);
}

#pFormasPago .nilmoto-payment-option--paypal {
  border-color: var(--nilmoto-payment-paypal-border);
  background: var(--nilmoto-payment-paypal-bg);
}

#pFormasPago .nilmoto-payment-option--bizum {
  border-color: var(--nilmoto-payment-bizum-border);
  background: var(--nilmoto-payment-bizum-bg);
}

#pFormasPago .nilmoto-payment-option--wallet {
  border-color: var(--nilmoto-payment-wallet-border);
  background: var(--nilmoto-payment-wallet-bg);
}

#pFormasPago .nilmoto-payment-option--transfer {
  border-color: var(--nilmoto-payment-transfer-border);
  background: var(--nilmoto-payment-transfer-bg);
}

#pFormasPago .nilmoto-payment-option--finance {
  border-color: var(--nilmoto-payment-finance-border);
  background: var(--nilmoto-payment-finance-bg);
}

#pFormasPago .nilmoto-payment-option--cash {
  border-color: var(--nilmoto-payment-cash-border);
  background: var(--nilmoto-payment-cash-bg);
}

#pFormasPago .nilmoto-payment-option__description {
  margin: 0 !important;
  padding: 12px 16px 12px 64px;
  border: 0;
  border-top: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-soft);
}

#pFormasPago .nilmoto-payment-option__description .textFPago {
  display: block;
  max-width: 72ch;
  color: var(--nilmoto-choice-description);
  font-size: 13px;
  line-height: 1.45;
}

#pFormasPago .nilmoto-checkout-choice:has(> input[type="radio"]:checked) {
  border-color: var(--nilmoto-red);
  box-shadow: 0 0 0 1px var(--nilmoto-red);
}

#pFormasEntrega .nilmoto-checkout-choice:has(> input[type="radio"]:checked) {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-choice-selected-bg);
  box-shadow: 0 0 0 1px var(--nilmoto-red);
}

#pFormasPago .nilmoto-checkout-choice > input[type="radio"]:checked + label .nilmoto-checkout-choice__indicator,
#pFormasEntrega .nilmoto-checkout-choice > input[type="radio"]:checked + label .nilmoto-checkout-choice__indicator {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-red);
}

#pFormasPago .nilmoto-checkout-choice > input[type="radio"]:checked + label .nilmoto-checkout-choice__indicator::after,
#pFormasEntrega .nilmoto-checkout-choice > input[type="radio"]:checked + label .nilmoto-checkout-choice__indicator::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}

#pFormasEntrega .nilmoto-checkout-choice > input[type="radio"]:checked + label .nilmoto-checkout-choice__icon {
  border-color: var(--nilmoto-choice-selected-line);
  background: var(--nilmoto-choice-selected-soft);
  color: var(--nilmoto-red);
}

@media (hover: hover) {
  #pFormasPago .nilmoto-checkout-choice:not(:has(> input[type="radio"]:disabled)):hover,
  #pFormasEntrega .nilmoto-checkout-choice:not(:has(> input[type="radio"]:disabled)):hover {
    border-color: var(--nilmoto-choice-border-hover);
  }

  #pFormasPago .nilmoto-checkout-choice:has(> input[type="radio"]:checked):hover,
  #pFormasEntrega .nilmoto-checkout-choice:has(> input[type="radio"]:checked):hover {
    border-color: var(--nilmoto-red);
  }
}

#pFormasPago .nilmoto-checkout-choice:has(> input[type="radio"]:focus-visible),
#pFormasEntrega .nilmoto-checkout-choice:has(> input[type="radio"]:focus-visible) {
  outline: 2px solid var(--nilmoto-red);
  outline-offset: 2px;
}

#pFormasPago .nilmoto-checkout-choice > .nilmoto-checkout-choice__surface:active,
#pFormasEntrega .nilmoto-checkout-choice > .nilmoto-checkout-choice__surface:active {
  background: var(--nilmoto-choice-mark-bg) !important;
}

#pFormasPago .nilmoto-checkout-choice:has(> input[type="radio"]:disabled),
#pFormasEntrega .nilmoto-checkout-choice:has(> input[type="radio"]:disabled) {
  background: var(--nilmoto-choice-disabled-bg);
  box-shadow: none;
  filter: grayscale(1);
  opacity: .52;
}

#pFormasPago .nilmoto-checkout-choice > input[type="radio"]:disabled + label,
#pFormasEntrega .nilmoto-checkout-choice > input[type="radio"]:disabled + label {
  cursor: not-allowed;
}

#pFormasPago .nilmoto-checkout-choice[data-state="loading"],
#pFormasEntrega .nilmoto-checkout-choice[data-state="loading"],
#pFormasPago .nilmoto-checkout-choice[aria-busy="true"],
#pFormasEntrega .nilmoto-checkout-choice[aria-busy="true"] {
  cursor: wait;
  opacity: .72;
}

#pFormasPago .nilmoto-checkout-choice[data-state="loading"] .nilmoto-checkout-choice__indicator,
#pFormasEntrega .nilmoto-checkout-choice[data-state="loading"] .nilmoto-checkout-choice__indicator,
#pFormasPago .nilmoto-checkout-choice[aria-busy="true"] .nilmoto-checkout-choice__indicator,
#pFormasEntrega .nilmoto-checkout-choice[aria-busy="true"] .nilmoto-checkout-choice__indicator {
  border-color: var(--nilmoto-choice-loading);
  border-top-color: var(--nilmoto-red);
  background: transparent;
  animation: nilmoto-checkout-choice-spin .7s linear infinite;
}

#pFormasPago .nilmoto-checkout-choice[data-state="error"],
#pFormasEntrega .nilmoto-checkout-choice[data-state="error"],
#pFormasPago .nilmoto-checkout-choice:has(> input[aria-invalid="true"]),
#pFormasEntrega .nilmoto-checkout-choice:has(> input[aria-invalid="true"]) {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-choice-error-bg);
  box-shadow: 0 0 0 1px var(--nilmoto-red);
}

#pFormasPago .nilmoto-checkout-choice[data-state="success"],
#pFormasEntrega .nilmoto-checkout-choice[data-state="success"] {
  border-color: var(--nilmoto-success);
  background: var(--nilmoto-success-bg-soft);
  box-shadow: 0 0 0 1px var(--nilmoto-success);
}

#pFormasPago .nilmoto-checkout-choice[data-state="success"] .nilmoto-checkout-choice__indicator,
#pFormasEntrega .nilmoto-checkout-choice[data-state="success"] .nilmoto-checkout-choice__indicator {
  border-color: var(--nilmoto-success);
  background: var(--nilmoto-success);
}

#pFormasPago .nilmoto-checkout-choice[data-state="success"] .nilmoto-checkout-choice__indicator::after,
#pFormasEntrega .nilmoto-checkout-choice[data-state="success"] .nilmoto-checkout-choice__indicator::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}

@keyframes nilmoto-checkout-choice-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  #pFormasPago .nilmoto-checkout-choice,
  #pFormasEntrega .nilmoto-checkout-choice,
  #pFormasPago .nilmoto-checkout-choice *,
  #pFormasEntrega .nilmoto-checkout-choice * {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .nilmoto-checkout-coupon-button,
  .nilmoto-checkout-reviews {
    transition-duration: .01ms;
  }
  .nilmoto-cart__store-message .alert a,
  .nilmoto-checkout__store-message .alert a {
    transition-duration: .01ms;
  }
  .nilmoto-checkout-submit,
  .nilmoto-checkout-secondary {
    transition-duration: .01ms;
    transform: none;
  }
}

@media (max-width: 1040px) {
  .nilmoto-checkout-layout {
    grid-template-columns: 1fr;
  }
  .nilmoto-checkout-summary-shell {
    position: static;
  }
  .nilmoto-returns-layout {
    grid-template-columns: 1fr;
  }
  .nilmoto-returns-line-grid {
    grid-template-columns: 80px minmax(0, 1fr);
  }
  .nilmoto-returns-line-control,
  .nilmoto-returns-line-quantity,
  .nilmoto-returns-line-price {
    grid-column: 1 / -1;
  }
  .nilmoto-returns-line-price {
    text-align: left;
  }
  .nilmoto-returns-two-col {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .nilmoto-checkout-page {
    padding: 22px 0 42px;
  }
  .nilmoto-checkout-container {
    width: min(100% - 24px, 640px);
  }
  .nilmoto-checkout-section,
  .nilmoto-checkout-country,
  .nilmoto-checkout-summary {
    padding: 16px;
  }
  .nilmoto-paypal-message {
    padding: 12px;
  }
  .nilmoto-checkout-form-grid,
  .nilmoto-checkout-phone-grid,
  .nilmoto-checkout-coupon-grid,
  .nilmoto-checkout-final-action {
    grid-template-columns: 1fr;
  }
  .nilmoto-checkout-final-action {
    gap: 14px;
    padding: 16px;
  }
  .nilmoto-checkout-field--wide,
  .nilmoto-checkout-field--third,
  .nilmoto-checkout-field {
    grid-column: 1 / -1;
  }
  .nilmoto-checkout-submit,
  .nilmoto-checkout-secondary,
  .nilmoto-checkout-coupon-button {
    width: 100%;
  }
  .nilmoto-checkout-submit,
  .nilmoto-checkout-secondary {
    white-space: nowrap;
  }
  .nilmoto-checkout-coupon-button {
    white-space: nowrap;
  }
  #pFormasPago,
  #pFormasEntrega {
    gap: 10px;
  }
  #pFormasPago .nilmoto-checkout-choice > .nilmoto-checkout-choice__surface,
  #pFormasEntrega .nilmoto-checkout-choice > .nilmoto-checkout-choice__surface {
    min-height: 66px;
    gap: 10px;
    padding: 12px !important;
  }
  .nilmoto-checkout-choice__indicator {
    flex-basis: 20px;
    width: 20px;
    height: 20px;
  }
  .nilmoto-checkout-choice__title {
    font-size: 14px;
  }
  .nilmoto-checkout-choice__icon {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
  }
  #pFormasPago .nilmoto-payment-option__brand {
    width: 100%;
    max-width: none;
    min-height: 32px;
    justify-content: flex-start;
    grid-column: 2;
    grid-row: 2;
  }
  #pFormasPago .nilmoto-checkout-choice > .nilmoto-checkout-choice__surface {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: center;
  }
  #pFormasPago .nilmoto-checkout-choice__indicator {
    grid-column: 1;
    grid-row: 1;
  }
  #pFormasPago .nilmoto-checkout-choice__content {
    grid-column: 2;
    grid-row: 1;
  }
  #pFormasPago .nilmoto-payment-option__brand--multi {
    width: 100%;
    max-width: none;
  }
  #pFormasPago .nilmoto-payment-option__brand-logo--custom {
    width: 40px;
    height: 40px;
  }
  #pFormasPago .nilmoto-payment-option__description {
    padding: 12px 12px 12px 40px;
  }
  .nilmoto-returns-page {
    width: min(100% - 24px, 640px);
    padding: 24px 0 42px;
  }
  .nilmoto-returns-header,
  .nilmoto-returns-footer,
  .nilmoto-returns-modal__footer {
    flex-direction: column;
    align-items: stretch;
  }
  .nilmoto-returns-progress,
  .nilmoto-returns-form-grid {
    grid-template-columns: 1fr;
  }
  .nilmoto-returns-field,
  .nilmoto-returns-field--full,
  .nilmoto-returns-field--wide,
  .nilmoto-returns-field--third {
    grid-column: 1 / -1;
  }
  .nilmoto-returns-wizard,
  .nilmoto-returns-history__body {
    padding: 16px;
  }
  .nilmoto-returns-button {
    width: 100%;
  }
}

/* Account completion states reuse the established Nilmoto authentication system. */
.nilmoto-auth-panel--status {
  display: grid;
  gap: 20px;
  justify-items: start;
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
}

body.nilmoto-page .nilmoto-auth-actions .nilmoto-auth-submit {
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

body.nilmoto-page .nilmoto-auth-actions .nilmoto-auth-submit:hover,
body.nilmoto-page .nilmoto-auth-actions .nilmoto-auth-submit:focus-visible {
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
}

.nilmoto-auth-form select,
.nilmoto-auth-form textarea {
  width: 100%;
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-soft);
  color: var(--nilmoto-ink);
  font-size: 15px;
  font-weight: 700;
  padding: 12px 14px;
}

.nilmoto-auth-form select {
  min-height: 46px;
}

.nilmoto-auth-form textarea {
  min-height: 132px;
  line-height: 1.45;
  resize: vertical;
}

.nilmoto-auth-form select:focus-visible,
.nilmoto-auth-form textarea:focus-visible {
  border-color: var(--nilmoto-red);
  outline: 3px solid rgba(227, 6, 19, .16);
  outline-offset: 1px;
}

.nilmoto-auth-panel--status > p {
  margin: 0;
  color: var(--nilmoto-muted);
  font-size: 16px;
  line-height: 1.5;
}

.nilmoto-auth-status {
  display: inline-grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 2px solid var(--nilmoto-red);
  color: var(--nilmoto-red);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 32px;
  font-weight: 900;
}

.nilmoto-auth-actions {
  display: grid;
  width: 100%;
  gap: 10px;
}

.nilmoto-auth-secondary {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--nilmoto-ink);
  color: var(--nilmoto-ink);
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-auth-secondary:hover,
.nilmoto-auth-secondary:focus-visible {
  border-color: var(--nilmoto-red);
  color: var(--nilmoto-red);
}

.nilmoto-account-alert[hidden] {
  display: none;
}

.nilmoto-account-alert__form {
  display: inline;
  margin: 0;
}

.nilmoto-account-alert__action {
  border: 0;
  background: transparent;
  color: var(--nilmoto-red);
  cursor: pointer;
  font: inherit;
  font-weight: 900;
  padding: 0;
  text-decoration: underline;
}

.nilmoto-account-alert__action:hover,
.nilmoto-account-alert__action:focus-visible {
  color: var(--nilmoto-ink);
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

@media (max-width: 640px) {
  .nilmoto-auth-actions a,
  .nilmoto-auth-submit {
    min-width: 0;
    padding-inline: 10px;
    font-size: 12px;
    white-space: nowrap;
  }
}

@media (max-width: 640px) {
  .nilmoto-promo__controls {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    gap: 8px;
  }

  .nilmoto-promo__select {
    min-width: 0;
  }

  .nilmoto-promo__select select {
    min-width: 0;
    padding-right: 22px;
    padding-left: 8px;
    font-size: 11px;
  }
}

/* Customer testimonials use the same flat red, black and white Nilmoto system. */
.nilmoto-testimonials-page {
  width: var(--nilmoto-wrap);
  margin: 0 auto;
  padding: 34px 0 58px;
}

.nilmoto-testimonials-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: end;
  padding: 38px;
  border-bottom: 8px solid var(--nilmoto-red);
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
}

.nilmoto-testimonials-hero h1 {
  margin: 10px 0 8px;
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: clamp(46px, 6vw, 72px);
  font-weight: 900;
  line-height: 1.02;
  text-transform: uppercase;
  overflow-wrap: anywhere;
  min-width: 0;
}

.nilmoto-testimonials-hero p,
.nilmoto-testimonials-summary small {
  margin: 0;
  color: rgba(255, 255, 255, .78);
}

.nilmoto-testimonials-summary {
  display: grid;
  min-width: 190px;
  justify-items: end;
}

.nilmoto-testimonials-summary strong {
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 68px;
  line-height: .85;
}

.nilmoto-testimonials-stars {
  color: var(--nilmoto-red);
  font-size: 20px;
  letter-spacing: 2px;
}

.nilmoto-testimonials-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 22px 0;
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-white);
}

.nilmoto-testimonials-stats article {
  display: grid;
  gap: 2px;
  padding: 20px 24px;
  border-right: 1px solid var(--nilmoto-line);
}

.nilmoto-testimonials-stats article:last-child {
  border-right: 0;
}

.nilmoto-testimonials-stats strong {
  color: var(--nilmoto-red);
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 32px;
  line-height: 1;
}

.nilmoto-testimonials-stats span {
  color: var(--nilmoto-muted);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-testimonials-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.nilmoto-testimonials-filters {
  position: sticky;
  top: 122px;
  padding: 22px;
  border-top: 5px solid var(--nilmoto-red);
  background: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-testimonials-filters h2 {
  margin: 0 0 18px;
  font-family: "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 28px;
  text-transform: uppercase;
}

.nilmoto-testimonials-filters form,
.nilmoto-testimonials-filters label {
  display: grid;
  gap: 8px;
}

.nilmoto-testimonials-filters form {
  gap: 16px;
}

.nilmoto-testimonials-filters label > span {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-testimonials-filters select {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-soft);
  color: var(--nilmoto-ink);
  padding: 0 12px;
  font: inherit;
  font-weight: 700;
}

.nilmoto-testimonials-list {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.nilmoto-testimonial-card {
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--nilmoto-line);
  border-left: 5px solid var(--nilmoto-red);
  background: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-testimonial-card > header {
  display: flex;
  gap: 14px;
  align-items: start;
  justify-content: space-between;
}

.nilmoto-testimonial-card > header > div {
  display: grid;
  gap: 5px;
}

.nilmoto-testimonial-card time,
.nilmoto-testimonial-card footer {
  color: var(--nilmoto-muted);
  font-size: 12px;
  font-weight: 800;
}

.nilmoto-testimonial-verified {
  color: var(--nilmoto-red);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.nilmoto-testimonial-card > .nilmoto-testimonials-stars {
  margin-top: 13px;
}

.nilmoto-testimonial-card p {
  margin: 12px 0 0;
  color: #3f3f3f;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.nilmoto-testimonial-card footer {
  margin-top: 18px;
  padding-top: 12px;
  border-top: 1px solid var(--nilmoto-line);
}

.nilmoto-testimonial-media {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.nilmoto-testimonial-media img {
  width: 92px;
  height: 92px;
  border: 1px solid var(--nilmoto-line);
  object-fit: cover;
}

.nilmoto-testimonials-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
  padding: 14px;
  background: var(--nilmoto-white);
}

.nilmoto-testimonials-pagination a {
  padding: 9px 12px;
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

@media (max-width: 820px) {
  .nilmoto-testimonials-hero,
  .nilmoto-testimonials-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .nilmoto-testimonials-summary {
    justify-items: start;
  }

  .nilmoto-testimonials-filters {
    position: static;
  }
}

@media (max-width: 640px) {
  .nilmoto-testimonials-page {
    padding: 22px 0 44px;
  }

  .nilmoto-testimonials-hero {
    padding: 28px 18px;
  }

  .nilmoto-testimonials-stats {
    grid-template-columns: 1fr;
  }

  .nilmoto-testimonials-stats article,
  .nilmoto-testimonials-stats article:last-child {
    border-right: 0;
    border-bottom: 1px solid var(--nilmoto-line);
  }

  .nilmoto-testimonials-stats article:last-child {
    border-bottom: 0;
  }

  .nilmoto-testimonial-card {
    padding: 18px;
  }

  .nilmoto-testimonial-card > header {
    display: grid;
  }
}

/* Stores article: native Nilmotov3 presentation for CMS-managed content. */
.nilmoto-stores-page {
  color: var(--nilmoto-ink);
  background: var(--nilmoto-white);
  font-family: var(--nilmoto-font-body);
  font-size: 16px;
  line-height: 1.5;
}

.nilmoto-stores-page a {
  color: inherit;
  text-decoration: none;
}

.nilmoto-stores-page img {
  display: block;
  max-width: 100%;
}

.nilmoto-stores-page .section-inner,
.nilmoto-stores-page .hero-inner {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.nilmoto-stores-page .hero {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 500px;
  align-items: flex-end;
  overflow: clip;
  background: var(--nilmoto-ink) url("/Theme/NilmotoV2/tiendas/lorca/store-lorca-hero.jpg") center / cover no-repeat;
}

.nilmoto-stores-page .hero::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--nilmoto-overlay-strong);
  content: "";
}

.nilmoto-stores-page .hero-inner {
  padding: 64px 0 56px;
  color: var(--nilmoto-white);
}

.nilmoto-stores-page .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  color: var(--nilmoto-white);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.nilmoto-stores-page .eyebrow::before {
  width: 40px;
  height: 4px;
  background: var(--nilmoto-red);
  content: "";
}

.nilmoto-stores-page h1,
.nilmoto-stores-page h2,
.nilmoto-stores-page h3 {
  min-width: 0;
  margin-top: 0;
  overflow-wrap: anywhere;
  font-family: var(--nilmoto-font-display);
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.nilmoto-stores-page h1 {
  width: min(760px, 100%);
  margin-bottom: 16px;
  color: var(--nilmoto-white);
  font-size: clamp(48px, 7vw, 76px);
  line-height: 1;
}

.nilmoto-stores-page .hero-copy {
  width: min(620px, 100%);
  margin: 0 0 28px;
  color: var(--nilmoto-white);
  font-size: 18px;
  line-height: 1.5;
}

.nilmoto-stores-page .hero-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.nilmoto-stores-page .btn {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: var(--nilmoto-radius-sm);
  font-family: var(--nilmoto-font-body);
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out), border-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out), color var(--nilmoto-duration-ui) var(--nilmoto-ease-out);
}

.nilmoto-stores-page .btn-primary {
  border-color: var(--nilmoto-red);
  background: var(--nilmoto-red);
  color: var(--nilmoto-white);
}

.nilmoto-stores-page .btn-secondary {
  border-color: var(--nilmoto-line);
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
}

.nilmoto-stores-page .btn:hover,
.nilmoto-stores-page .btn:focus-visible {
  border-color: var(--nilmoto-ink);
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
}

.nilmoto-stores-page .hero .btn-secondary:hover,
.nilmoto-stores-page .hero .btn-secondary:focus-visible,
.nilmoto-stores-page .footer-cta .btn:hover,
.nilmoto-stores-page .footer-cta .btn:focus-visible {
  border-color: var(--nilmoto-white);
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
}

.nilmoto-stores-page .btn:focus-visible {
  outline: 2px solid var(--nilmoto-red);
  outline-offset: 2px;
}

.nilmoto-stores-page .btn:active {
  border-color: var(--nilmoto-red-dark);
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
}

.nilmoto-stores-page .btn[aria-disabled="true"],
.nilmoto-stores-page .btn.is-disabled {
  cursor: not-allowed;
  opacity: .55;
  pointer-events: none;
}

.nilmoto-stores-page .btn[data-state="loading"] {
  cursor: progress;
  opacity: .72;
}

.nilmoto-stores-page .btn[data-state="error"] {
  border-color: var(--nilmoto-red-dark);
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
}

.nilmoto-stores-page .btn[data-state="success"] {
  border-color: var(--nilmoto-success);
  background: var(--nilmoto-success);
  color: var(--nilmoto-white);
}

.nilmoto-stores-page .section {
  padding: 56px 0;
}

.nilmoto-stores-page .section.alt {
  background: var(--nilmoto-soft);
}

.nilmoto-stores-page .section-head {
  display: block;
  margin-bottom: 28px;
}

.nilmoto-stores-page .section-kicker {
  margin-bottom: 8px;
  color: var(--nilmoto-red);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.nilmoto-stores-page h2 {
  margin-bottom: 0;
  color: var(--nilmoto-ink);
  font-size: clamp(32px, 4vw, 44px);
  line-height: 1.04;
}

.nilmoto-stores-page .store-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
  gap: 28px;
  align-items: stretch;
}

.nilmoto-stores-page .store-visual {
  min-height: 480px;
  overflow: clip;
  border-radius: var(--nilmoto-radius-md);
  background: var(--nilmoto-ink);
}

.nilmoto-stores-page .store-visual img {
  width: 100%;
  height: 100%;
  min-height: 480px;
  object-fit: cover;
}

.nilmoto-stores-page .store-panel {
  display: grid;
  grid-template-rows: auto 240px;
  overflow: clip;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-md);
  background: var(--nilmoto-white);
}

.nilmoto-stores-page .store-panel-main {
  padding: 28px;
}

.nilmoto-stores-page .store-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin-bottom: 16px;
  padding: 0 12px;
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.nilmoto-stores-page .store-panel h3 {
  margin-bottom: 12px;
  color: var(--nilmoto-ink);
  font-size: 30px;
  line-height: 1.04;
}

.nilmoto-stores-page .store-panel p {
  margin: 0 0 20px;
  color: var(--nilmoto-muted);
}

.nilmoto-stores-page .info-list {
  display: grid;
  gap: 12px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.nilmoto-stores-page .info-list li {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  color: var(--nilmoto-ink);
}

.nilmoto-stores-page .info-icon {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-soft);
  color: var(--nilmoto-red);
}

.nilmoto-stores-page .info-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.nilmoto-stores-page .store-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.nilmoto-stores-page .map-embed {
  position: relative;
  height: 240px;
  overflow: clip;
  border-top: 1px solid var(--nilmoto-line);
  background: var(--nilmoto-soft);
}

.nilmoto-stores-page .map-embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.nilmoto-stores-page .nilmoto-store-map__tiles {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: var(--nilmoto-soft);
}

.nilmoto-stores-page .nilmoto-store-map__tile {
  position: absolute;
  width: 256px;
  height: 256px;
  max-width: none;
  user-select: none;
}

.nilmoto-stores-page .nilmoto-store-map__marker {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: 28px;
  height: 28px;
  border: 5px solid var(--nilmoto-white);
  border-radius: 50% 50% 50% 0;
  background: var(--nilmoto-red);
  box-shadow: var(--nilmoto-shadow-sm);
  transform: translate(-50%, -100%) rotate(-45deg);
}

.nilmoto-stores-page .nilmoto-store-map__marker::after {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 50%;
  background: var(--nilmoto-white);
}

.nilmoto-page .nilmoto-store-map__location {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 3;
  display: grid;
  gap: 2px;
  max-width: min(310px, calc(100% - 24px));
  padding: 10px 12px;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-sm);
  color: var(--nilmoto-ink);
  line-height: 1.2;
}

.nilmoto-store-map__location strong {
  font-family: var(--nilmoto-font-display);
  font-size: 18px;
  text-transform: uppercase;
}

.nilmoto-store-map__location span {
  color: var(--nilmoto-muted);
  font-size: 12px;
}

.nilmoto-store-map__location em {
  margin-top: 4px;
  color: var(--nilmoto-red-dark);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
}

.nilmoto-page .nilmoto-store-map__location:hover,
.nilmoto-page .nilmoto-store-map__location:focus-visible {
  border-color: var(--nilmoto-red);
  color: var(--nilmoto-ink);
  outline: 2px solid var(--nilmoto-red);
  outline-offset: 2px;
}

.nilmoto-page .nilmoto-store-map__location:active {
  transform: translateY(1px);
}

.nilmoto-page .nilmoto-store-map__attribution {
  position: absolute;
  right: 4px;
  bottom: 3px;
  z-index: 3;
  padding: 2px 4px;
  background: var(--nilmoto-white);
  color: var(--nilmoto-ink);
  font-size: 10px;
  line-height: 1;
}

.nilmoto-page .nilmoto-store-map__attribution:hover,
.nilmoto-page .nilmoto-store-map__attribution:focus-visible {
  color: var(--nilmoto-red-dark);
  outline: 2px solid var(--nilmoto-red);
  outline-offset: 1px;
}

@media (prefers-reduced-motion: reduce) {
  .nilmoto-page .nilmoto-store-map__location:active {
    transform: none;
  }
}

.nilmoto-stores-page .services {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.nilmoto-stores-page .service {
  min-width: 0;
  min-height: 172px;
  padding: 20px;
  border: 1px solid var(--nilmoto-line);
  border-radius: var(--nilmoto-radius-md);
  background: var(--nilmoto-white);
}

.nilmoto-stores-page .service-mark {
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 50%;
  background: var(--nilmoto-choice-selected-soft);
  color: var(--nilmoto-red);
}

.nilmoto-stores-page .service-mark::before {
  width: 23px;
  height: 23px;
  background: currentColor;
  content: "";
  -webkit-mask: var(--nilmoto-store-service-icon) center / contain no-repeat;
  mask: var(--nilmoto-store-service-icon) center / contain no-repeat;
}

.nilmoto-stores-page .service-mark--fit {
  --nilmoto-store-service-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%2019%2019%204l2%202L6%2021l-2-2Z'/%3E%3Cpath%20d='m14%209%202%202M11%2012l2%202M8%2015l2%202'/%3E%3C/svg%3E");
}

.nilmoto-stores-page .service-mark--advice {
  --nilmoto-store-service-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M21%2012a8%208%200%200%201-8%208H6l-4%202%201.4-4.2A9%209%200%201%201%2021%2012Z'/%3E%3Cpath%20d='M9.8%209a2.4%202.4%200%201%201%203.6%202.1c-.9.5-1.4%201.1-1.4%202.4M12%2017h.01'/%3E%3C/svg%3E");
}

.nilmoto-stores-page .service-mark--pickup {
  --nilmoto-store-service-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M21%2016V8a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73l7%204a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016z'/%3E%3Cpath%20d='M3.3%207%2012%2012l8.7-5M12%2022V12'/%3E%3C/svg%3E");
}

.nilmoto-stores-page .service-mark--new {
  --nilmoto-store-service-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m12%203%201.3%204.2L17%209l-3.7%201.8L12%2015l-1.3-4.2L7%209l3.7-1.8L12%203Z'/%3E%3Cpath%20d='m19%2014%20.7%202.3L22%2017l-2.3.7L19%2020l-.7-2.3L16%2017l2.3-.7L19%2014ZM5%2013l.7%202.3L8%2016l-2.3.7L5%2019l-.7-2.3L2%2016l2.3-.7L5%2013Z'/%3E%3C/svg%3E");
}

.nilmoto-stores-page .service strong {
  display: block;
  margin: 16px 0 8px;
  color: var(--nilmoto-ink);
  font-size: 17px;
}

.nilmoto-stores-page .service p {
  margin: 0;
  color: var(--nilmoto-muted);
  font-size: 14px;
  line-height: 1.45;
}

.nilmoto-stores-page .gallery {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(0, .75fr));
  grid-template-rows: repeat(2, 200px);
  gap: 16px;
}

.nilmoto-stores-page .gallery figure {
  min-width: 0;
  margin: 0;
  overflow: clip;
  border-radius: var(--nilmoto-radius-md);
  background: var(--nilmoto-ink);
}

.nilmoto-stores-page .gallery figure:first-child {
  grid-row: span 2;
}

.nilmoto-stores-page .gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nilmoto-stores-page .gallery .crop-left img {
  object-position: left center;
}

.nilmoto-stores-page .gallery .crop-right img {
  object-position: right center;
}

.nilmoto-stores-page .footer-cta {
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
}

.nilmoto-stores-page .footer-cta .section-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.nilmoto-stores-page .footer-cta h2 {
  max-width: 640px;
  color: var(--nilmoto-white);
}

.nilmoto-stores-page .footer-cta p {
  margin: 8px 0 0;
  color: var(--nilmoto-white);
}

@media (max-width: 960px) {
  .nilmoto-stores-page .store-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .nilmoto-stores-page .store-visual,
  .nilmoto-stores-page .store-visual img {
    min-height: 380px;
  }

  .nilmoto-stores-page .services {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nilmoto-stores-page .gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .nilmoto-stores-page .section-inner,
  .nilmoto-stores-page .hero-inner {
    width: calc(100% - 24px);
  }

  .nilmoto-stores-page .hero {
    min-height: 420px;
  }

  .nilmoto-stores-page .hero-inner {
    padding: 48px 0 40px;
  }

  .nilmoto-stores-page h1 {
    font-size: 46px;
  }

  .nilmoto-stores-page .hero-copy {
    font-size: 16px;
  }

  .nilmoto-stores-page .hero-actions,
  .nilmoto-stores-page .store-actions,
  .nilmoto-stores-page .services,
  .nilmoto-stores-page .gallery {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .nilmoto-stores-page .hero-actions .btn,
  .nilmoto-stores-page .footer-cta .btn {
    width: 100%;
  }

  .nilmoto-stores-page .section {
    padding: 40px 0;
  }

  .nilmoto-stores-page .section-head {
    margin-bottom: 24px;
  }

  .nilmoto-stores-page h2 {
    font-size: 34px;
  }

  .nilmoto-stores-page .store-visual,
  .nilmoto-stores-page .store-visual img {
    min-height: 280px;
    height: 280px;
  }

  .nilmoto-stores-page .store-panel {
    grid-template-rows: auto 220px;
  }

  .nilmoto-stores-page .store-panel-main {
    padding: 20px;
  }

  .nilmoto-stores-page .store-panel h3 {
    font-size: 26px;
  }

  .nilmoto-stores-page .gallery {
    grid-template-rows: repeat(5, 220px);
  }

  .nilmoto-stores-page .gallery figure:first-child {
    grid-row: span 1;
  }

  .nilmoto-stores-page .footer-cta .section-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .nilmoto-stores-page .btn {
    transition-duration: .01ms;
  }
}

/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V4 · genre: modern-minimal
 * macrostructure: Split Studio · tone: utilitarian-trustworthy · anchor hue: red
 * scope: pending payment · nav: N9 focused header · footer: Ft2 inline legal
 * states: default · hover · focus · active · disabled · loading · error · success
 * contrast: pass (40–41) · honest: pass (46) · chrome: pass (47) · tokens: pass (48)
 * responsive: pass (34, 49, 50–57) · slop: pass (58/58)
 */
.nilmoto-pending-payment-page {
  min-height: 100dvh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  background: var(--nilmoto-soft);
  color: var(--nilmoto-ink);
}

.nilmoto-pending-payment-header {
  background: var(--nilmoto-header-main);
  color: var(--nilmoto-white);
}

.nilmoto-pending-payment-header__inner,
.nilmoto-pending-payment-main,
.nilmoto-pending-payment-footer__inner {
  width: min(1120px, calc(100% - (var(--nilmoto-space-md) * 2)));
  margin-inline: auto;
}

.nilmoto-pending-payment-header__inner {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--nilmoto-space-lg);
  padding-block: var(--nilmoto-space-md);
}

.nilmoto-pending-payment-logo {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--nilmoto-white);
}

.nilmoto-pending-payment-logo img {
  display: block;
  width: 164px;
  height: auto;
}

.nilmoto-pending-payment-logo:focus-visible,
.nilmoto-pending-payment-footer a:focus-visible {
  outline: 2px solid var(--nilmoto-red);
  outline-offset: var(--nilmoto-space-2xs);
}

.nilmoto-pending-payment-context {
  display: inline-flex;
  align-items: center;
  gap: var(--nilmoto-space-xs);
  color: var(--nilmoto-white);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.nilmoto-pending-payment-context::before {
  width: var(--nilmoto-space-xs);
  height: var(--nilmoto-space-xs);
  border-radius: var(--nilmoto-radius-pill);
  background: var(--nilmoto-red);
  content: "";
}

.nilmoto-pending-payment-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--nilmoto-space-xl);
  align-items: stretch;
  padding-block-start: var(--nilmoto-space-xl);
  padding-block-end: calc(var(--nilmoto-space-xl) + var(--nilmoto-space-sm));
}

.nilmoto-pending-payment-intro,
.nilmoto-pending-payment-panel {
  min-width: 0;
}

.nilmoto-pending-payment-kicker {
  margin: 0 0 var(--nilmoto-space-sm);
  color: var(--nilmoto-red-dark);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
}

.nilmoto-pending-payment-intro h1 {
  min-width: 0;
  max-width: none;
  margin: 0;
  color: var(--nilmoto-ink);
  font-family: var(--nilmoto-font-display);
  font-size: clamp(2.75rem, 17vw, 4rem);
  font-style: normal;
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.02;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.nilmoto-product-detail__size-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.nilmoto-product-detail__size-title-row label {
  cursor: pointer;
}

.nilmoto-product-detail__size-guide {
  display: inline-flex;
  min-height: 34px;
  flex: 0 0 auto;
  align-items: center;
  gap: 7px;
  border-bottom: 2px solid var(--nilmoto-red);
  color: var(--nilmoto-ink);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.1;
  text-transform: none;
}

.nilmoto-product-detail__size-guide:hover,
.nilmoto-product-detail__size-guide:focus-visible {
  color: var(--nilmoto-red);
  outline: none;
}

.nilmoto-product-detail__size-guide-icon {
  position: relative;
  width: 19px;
  height: 13px;
  flex: 0 0 19px;
  border: 2px solid currentColor;
  border-radius: 2px;
}

.nilmoto-product-detail__size-guide-icon::before {
  content: "";
  position: absolute;
  inset: 2px;
  background: repeating-linear-gradient(90deg, currentColor 0 1px, transparent 1px 4px);
}

.nilmoto-pending-payment-lede {
  max-width: 48ch;
  margin: var(--nilmoto-space-lg) 0 0;
  color: var(--nilmoto-payment-copy);
  font-size: clamp(1rem, 1.6vw, 1.125rem);
  line-height: 1.6;
}

.nilmoto-pending-payment-order {
  margin: var(--nilmoto-space-xl) 0 0;
}

.nilmoto-pending-payment-order div {
  display: inline-grid;
  grid-template-columns: auto auto;
  gap: var(--nilmoto-space-sm);
  align-items: baseline;
  padding-block: var(--nilmoto-space-sm);
  border-block: 1px solid var(--nilmoto-line);
}

.nilmoto-pending-payment-order dt,
.nilmoto-pending-payment-order dd {
  margin: 0;
}

.nilmoto-pending-payment-order dt {
  color: var(--nilmoto-payment-copy);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.nilmoto-pending-payment-order dd {
  color: var(--nilmoto-ink);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}

.nilmoto-pending-payment-panel {
  padding: var(--nilmoto-space-lg);
  border: 1px solid var(--nilmoto-line);
  border-block-start: var(--nilmoto-space-2xs) solid var(--nilmoto-red);
  border-radius: var(--nilmoto-radius-md);
  background: var(--nilmoto-white);
  box-shadow: var(--nilmoto-shadow-sm);
}

.nilmoto-pending-payment-amount p {
  margin: 0;
  color: var(--nilmoto-payment-copy);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}

.nilmoto-pending-payment-amount strong {
  display: block;
  margin-top: var(--nilmoto-space-xs);
  color: var(--nilmoto-ink);
  font-family: var(--nilmoto-font-display);
  font-size: clamp(3.25rem, 18vw, 4.25rem);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1;
  white-space: nowrap;
}

.nilmoto-pending-payment-form {
  margin-top: var(--nilmoto-space-xl);
  padding-top: var(--nilmoto-space-lg);
  border-top: 1px solid var(--nilmoto-line);
}

.nilmoto-pending-payment-submit {
  width: 100%;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--nilmoto-space-sm) var(--nilmoto-space-md);
  border: 1px solid var(--nilmoto-red-dark);
  border-radius: var(--nilmoto-radius-sm);
  background: var(--nilmoto-red);
  color: var(--nilmoto-red-ink);
  box-shadow: var(--nilmoto-shadow-brand);
  font-family: var(--nilmoto-font-display);
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out),
              border-color var(--nilmoto-duration-ui) var(--nilmoto-ease-out),
              color var(--nilmoto-duration-ui) var(--nilmoto-ease-out),
              transform var(--nilmoto-duration-press) var(--nilmoto-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .nilmoto-pending-payment-submit:hover {
    border-color: var(--nilmoto-red-dark);
    background: var(--nilmoto-red-dark);
    color: var(--nilmoto-red-ink);
    transform: translateY(-1px);
  }

  .nilmoto-pending-payment-footer a:hover {
    color: var(--nilmoto-red-dark);
  }
}

.nilmoto-pending-payment-submit:focus-visible {
  outline: 3px solid var(--nilmoto-ink);
  outline-offset: var(--nilmoto-space-2xs);
}

.nilmoto-pending-payment-submit:active {
  border-color: var(--nilmoto-red-dark);
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-red-ink);
  transform: translateY(1px);
}

.nilmoto-pending-payment-submit:disabled,
.nilmoto-pending-payment-submit[aria-disabled="true"] {
  border-color: var(--nilmoto-line);
  background: var(--nilmoto-soft);
  color: var(--nilmoto-muted);
  box-shadow: none;
  cursor: not-allowed;
  opacity: .7;
  transform: none;
}

.nilmoto-pending-payment-submit[aria-busy="true"] {
  border-color: var(--nilmoto-ink);
  background: var(--nilmoto-ink);
  color: var(--nilmoto-white);
  cursor: wait;
}

.nilmoto-pending-payment-submit[data-state="error"] {
  border-color: var(--nilmoto-review-deep);
  background: var(--nilmoto-red-dark);
  color: var(--nilmoto-white);
}

.nilmoto-pending-payment-submit[data-state="success"] {
  border-color: var(--nilmoto-success);
  background: var(--nilmoto-success);
  color: var(--nilmoto-white);
}

.nilmoto-pending-payment-footer {
  padding-block: var(--nilmoto-space-lg);
  background: var(--nilmoto-white);
  color: var(--nilmoto-payment-copy);
}

.nilmoto-pending-payment-footer__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: center;
  border-top: 1px solid var(--nilmoto-line);
  padding-top: var(--nilmoto-space-lg);
  font-size: 14px;
}

.nilmoto-pending-payment-footer a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--nilmoto-payment-copy);
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.nilmoto-pending-payment-logo:active {
  opacity: .8;
}

.nilmoto-pending-payment-footer a:active {
  color: var(--nilmoto-red-dark);
}

.nilmoto-pending-payment-footer__inner > span {
  display: none;
}

@media (min-width: 30rem) {
  .nilmoto-pending-payment-header__inner {
    min-height: 84px;
  }

  .nilmoto-pending-payment-logo img {
    width: clamp(180px, 22vw, 240px);
  }

  .nilmoto-pending-payment-context {
    font-size: 14px;
  }

  .nilmoto-pending-payment-main {
    padding-block-start: clamp(var(--nilmoto-space-2xl), 6vw, 80px);
    padding-block-end: clamp(var(--nilmoto-space-3xl), 9vw, 112px);
  }

  .nilmoto-pending-payment-intro h1 {
    font-size: clamp(3rem, 6.5vw, 5.25rem);
  }

  .nilmoto-pending-payment-panel {
    padding: var(--nilmoto-space-xl);
  }

  .nilmoto-pending-payment-amount strong {
    font-size: clamp(3.5rem, 7vw, 5rem);
  }

  .nilmoto-pending-payment-submit {
    min-height: 56px;
    padding-inline: var(--nilmoto-space-lg);
    font-size: 19px;
  }

  .nilmoto-pending-payment-footer__inner {
    display: flex;
    flex-wrap: wrap;
    gap: var(--nilmoto-space-sm);
  }

  .nilmoto-pending-payment-footer__inner > span {
    display: inline;
  }
}

@media (min-width: 52rem) {
  .nilmoto-pending-payment-main {
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    gap: var(--nilmoto-space-3xl);
    align-items: center;
  }

  .nilmoto-pending-payment-intro h1 {
    max-width: 10ch;
  }
}

@media (pointer: coarse) {
  .nilmoto-pending-payment-submit,
  .nilmoto-pending-payment-logo,
  .nilmoto-pending-payment-footer a {
    min-height: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nilmoto-pending-payment-submit {
    transition-duration: .01ms;
  }

  .nilmoto-pending-payment-submit:hover,
  .nilmoto-pending-payment-submit:active {
    transform: none;
  }
}

.nilmoto-product-detail__description .nilmoto-product-spec .nilmoto-spec-editorial {
  padding: 18px 20px;
  border-top: 1px solid #e8eaed;
  border-bottom: 1px solid #e8eaed;
  background: #fff;
}

.nilmoto-product-detail__description .nilmoto-product-spec .nilmoto-spec-editorial .nilmoto-spec-heading {
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 1.3;
}

.nilmoto-product-detail__description .nilmoto-product-spec .nilmoto-spec-editorial p {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
}
