:root {
  --nrdfy-color-ink: #2f4f62;
  --nrdfy-color-ink-bg: #2f4f62;
  --nrdfy-color-paper: #f8f8f8;
  --nrdfy-color-rose: #b7d6eb;
  --nrdfy-color-mauve: #7abbd8;
  --nrdfy-color-stone: #9d8e86;
  --nrdfy-color-blush: #f4cfdf;
  --nrdfy-color-peach: #f3e8d5;
  --nrdfy-color-accent: #95d4ea;
  --nrdfy-color-sale: #33a5d9;
  --nrdfy-color-button: #1ca7c0;
  --nrdfy-color-button-rgb: 28, 167, 192;
  --nrdfy-shell: min(1600px, calc(100vw - 5rem));
  --nrdfy-border: 1px solid #0a2332;
  --nrdfy-radius: 2px;
  --nrdfy-transition: 300ms ease;
  --nrdfy-header-height: 104px;
  --color-content-primary: var(--nrdfy-color-ink);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: clip;
}
.grecaptcha-badge {
  display: none !important;
}

body {
  margin: 0;
  color: var(--nrdfy-color-ink);
  background: var(--nrdfy-color-paper);
  font-family: "Outfit", system-ui, sans-serif;
  overflow-x: clip;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
}

input,
button,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.nrdfy-shell {
  width: var(--nrdfy-shell);
  margin-inline: auto;
}
#primary { 
  padding-top: 2rem;
}
body.home #primary {
  padding-top: 0;
}

.nrdfy-site-main {
  min-height: 50vh;
  padding-bottom: 3rem;
}

.nrdfy-site-main--front-page section:not(.nrdfy-front-hero):not(.nrdfy-hero-cover) {
  padding-left: 20px;
  padding-right: 20px;
}

.nrdfy-site-main .nrdfy-page-content {
  max-width: 1440px;
  margin: 0 auto;
}

.nrdfy-site-header {
  position: relative;
  z-index: 80;
  padding: 1.625rem 0 1rem;
  color: #ffffff;
  background: var(--nrdfy-color-mauve);
  transition: background-color var(--nrdfy-transition), border-color var(--nrdfy-transition);
}

.nrdfy-site-header.is-overlay {
  position: absolute;
  inset: 0 0 auto;
  background: transparent;
  color: #ffffff;
  backdrop-filter: none;
  border-bottom: 0;
}

.nrdfy-site-header.is-overlay:hover,
.nrdfy-site-header.is-overlay:focus-within,
.nrdfy-site-header.is-overlay.is-hovered {
  background: var(--nrdfy-color-mauve);
  backdrop-filter: blur(16px);
}

.nrdfy-site-header__inner {
  display: grid;
  gap: 1rem;
}

.nrdfy-site-header__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.nrdfy-site-header__top > .nrdfy-site-search {
  flex: 0 1 491px;
  max-width: 491px;
  margin-inline: 2rem;
}

/* Minimal checkout header: keep only the logo and the cart icon, to reduce
   distractions on /pagamento/ (per the shared design). */
.nrdfy-site-header--minimal .nrdfy-site-header__top {
  justify-content: space-between;
}

.nrdfy-site-header--minimal .nrdfy-site-search,
.nrdfy-site-header--minimal .nrdfy-mobile-toggle,
.nrdfy-site-header--minimal .nrdfy-primary-nav,
.nrdfy-site-header--minimal .nrdfy-header-actions a:not([data-nrdfy-cart-link]) {
  display: none;
}

.nrdfy-primary-nav {
  display: flex;
  justify-content: center;
  padding-top: 0.875rem;
  border-top: 1px solid #fff;
}

.nrdfy-logo {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  color: #ffffff;
  font-family: "Outfit", sans-serif;
  font-weight: 700;
  text-decoration: none;
}

.nrdfy-logo__mark {
  width: 2.4rem;
  height: 2.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 0.22rem;
  font-size: 1.15rem;
  line-height: 1;
}

.nrdfy-header-actions svg,
.nrdfy-site-search__icon svg {
  width: 100%;
  height: 100%;
}

.is-overlay .nrdfy-logo__mark,
.is-overlay .nrdfy-logo__wordmark,
.is-overlay .nrdfy-header-actions svg,
.is-overlay .nrdfy-site-search__icon svg {
  filter: none;
}

.nrdfy-logo__wordmark {
  font-family: "Outfit", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  text-transform: none;
}

.nrdfy-logo__image {
  display: block;
  height: 2.4rem;
  width: auto;
}

.nrdfy-header-actions a,
.nrdfy-site-header .nrdfy-site-search__icon,
.nrdfy-site-header .nrdfy-search-toggle {
  --fill-0: #ffffff;
}

.nrdfy-site-search {
  position: relative;
  display: flex;
  align-items: center;
  border-bottom: 1px solid currentColor;
}

.nrdfy-site-search__icon {
  width: 19px;
  height: 19px;
  display: inline-flex;
  position: absolute;
  left: 6rem;
}

.nrdfy-site-search input {
  width: 100%;
  padding: 0 0 0.375rem 8.5rem;
  border: 0;
  background: transparent;
  color: inherit;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
}

.nrdfy-site-search input::placeholder {
  color: inherit;
  opacity: 1;
}

.nrdfy-site-search.abas-search {
  /* --abas-surface: transparent; */
  --abas-text: currentColor;
  --abas-muted: currentColor;
  --abas-border: currentColor;
  --abas-border-strong: currentColor;
  --abas-shadow: 0 18px 45px rgba(10, 35, 50, 0.14);
  font-family: "Montserrat", sans-serif;
}

.nrdfy-site-search .abas-search__form,
.nrdfy-site-search .abas-search__field {
  width: 100%;
  margin: 0;
}

.nrdfy-site-search .abas-search__field {
  display: flex;
  align-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.nrdfy-site-search .abas-search__input {
  width: 100%;
  min-width: 0;
  padding: 0 0 0.375rem 8.5rem;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent;
  color: inherit;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  line-height: inherit;
  outline: none;
}

.nrdfy-site-search .abas-search__input::placeholder {
  color: inherit;
  opacity: 1;
}

.nrdfy-site-search button[type="submit"].abas-search__submit {
  position: absolute;
  left: 6rem;
  bottom: 0.375rem;
  width: 19px;
  height: 19px;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit !important;
  line-height: 0;
}

.nrdfy-site-search .abas-search__submit .nrdfy-site-search__icon {
  position: static;
  left: auto;
  width: 19px;
  height: 19px;
}

.nrdfy-site-search .abas-search__submit:hover,
.nrdfy-site-search .abas-search__submit:focus {
  color: inherit;
}

.nrdfy-site-search .abas-search__close {
  display: none;
}

.nrdfy-site-search .abas-search__spinner {
  right: 0;
}

.nrdfy-site-search .abas-search__results {
  color: var(--nrdfy-color-ink);
  font-family: "Montserrat", sans-serif;
  border-radius: 0;
  margin-top: 20px;
  top: 1.25rem;
}

.nrdfy-primary-nav__list {
  display: flex;
  justify-content: space-evenly;
  gap: 1.75rem;
  list-style: none;
  padding: 0;
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  width: 100%;
}

.nrdfy-primary-nav__item {
  position: relative;
  display: flex;
  align-items: center;
  padding-block: 0.5rem;
  font-weight: 700;
}

.nrdfy-primary-nav__separator {
  align-self: stretch;
  width: 2px;
  background-color: #fff;
}


.nrdfy-primary-nav__item a {
  text-decoration: none;
}

.nrdfy-header-actions {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.woocommerce-checkout .nrdfy-header-actions {
  flex-direction: row-reverse;
}

.nrdfy-header-actions a {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.nrdfy-header-actions__badge {
  position: absolute;
  top: -6px;
  right: -8px;
  min-width: 16px;
  height: 16px;
  padding: 0 3px;
  border-radius: 999px;
  background: #fff;
  color: var(--nrdfy-color-ink);
  font-family: "Montserrat", sans-serif;
  font-size: 0.6rem;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nrdfy-header-actions__badge[hidden] {
  display: none;
}

.nrdfy-mobile-toggle,
.nrdfy-mobile-nav {
  display: none;
}

.nrdfy-mobile-toggle {
  border: 0;
  background: transparent;
  padding: 0;
  width: 32px;
  height: 24px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  color: inherit;
}

.nrdfy-mobile-toggle span:not(.screen-reader-text) {
  width: 21px;
  height: 2px;
  background: currentColor;
}

/* "With topbar" header variant (template-parts/header/site-header-topbar.php). */
.nrdfy-topbar {
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--nrdfy-color-rose);
  position: relative;
  z-index: 90;
}

.nrdfy-topbar__text {
  margin: 0;
  padding: 0 1rem;
  color: var(--wp--preset--color--ink);
  font-family: "Montserrat", sans-serif;
  font-size: 10px;
  letter-spacing: 0.02em;
  text-align: center;
  text-transform: uppercase;
}

/* Compact sizing: the topbar variant replaces the classic header's
   overlay/hero-height chrome with a slim, always-solid bar, so it should
   take noticeably less vertical space than the classic header. */
.nrdfy-site-header--topbar {
  padding: 0.75rem 0;
}

.nrdfy-site-header--topbar .nrdfy-primary-nav {
  padding-top: 0.625rem;
}

.nrdfy-subheader {
  background: var(--nrdfy-color-paper);
  border-bottom: 1px solid rgba(28, 28, 28, 0.1);
}

.nrdfy-subheader .nrdfy-trust-grid {
  --nrdfy-trust-item-color: var(--nrdfy-color-ink);
}

.nrdfy-subheader .nrdfy-trust-grid--compact .nrdfy-trust-grid__track {
  padding: 0.375rem 0;
}

.nrdfy-site-header__icons {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.nrdfy-search-toggle {
  display: none;
  border: 0;
  background: transparent;
  padding: 0;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  color: inherit;
}

.nrdfy-search-toggle svg {
  width: 100%;
  height: 100%;
}

.nrdfy-mobile-search {
  display: none;
}

/* Language switcher in the topbar header variant (see
   template-parts/header/site-header-topbar.php). Rendered twice — once as
   .nrdfy-lang-switcher--inline between the search field and
   .nrdfy-site-header__icons (desktop/tablet), once as
   .nrdfy-lang-switcher--icons inside .nrdfy-site-header__icons, in the
   mobile nav toggle's old spot (mobile, <=782px) — only one is ever visible
   at a given width, so there's no duplicate switcher on screen. Markup/
   behavior come from WPML's own "legacy-dropdown-click" language-switcher
   template (do_shortcode('[wpml_language_switcher
   template="wpml-legacy-dropdown-click"]')) — WPML enqueues that template's
   own CSS/JS (click-to-toggle, closes on outside click) whenever it's used,
   this just re-skins it to match the header. */
.nrdfy-lang-switcher--inline {
  display: inline-flex;
  align-items: center;
}

.nrdfy-lang-switcher--icons {
  display: none;
}

.nrdfy-lang-switcher .wpml-ls-legacy-dropdown-click {
  width: auto;
}

.nrdfy-lang-switcher .wpml-ls-legacy-dropdown-click a {
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  font-family: "Montserrat", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.nrdfy-lang-switcher .wpml-ls-legacy-dropdown-click a:hover,
.nrdfy-lang-switcher .wpml-ls-legacy-dropdown-click a:focus,
.nrdfy-lang-switcher .wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover > a {
  background: transparent;
  color: inherit;
  opacity: 0.8;
}

.nrdfy-lang-switcher .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
  left: auto;
  right: 0;
  min-width: 9em;
  border-top: 0;
  border-radius: var(--nrdfy-radius);
  top: 150%;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(10, 35, 50, 0.18);
}

.nrdfy-lang-switcher .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a {
  background: #ffffff;
  color: var(--nrdfy-color-ink);
  border-width: 0 0 1px 0;
  border-color: rgba(28, 28, 28, 0.1);
  padding: 0.5rem 0.75rem;
}

.nrdfy-mobile-nav {
  position: fixed;
  inset: 0;
  z-index: 120;
}

.nrdfy-mobile-nav[hidden],
.nrdfy-mobile-nav__submenu[hidden] {
  display: none !important;
}

.nrdfy-mobile-nav__overlay {
  position: fixed;
  inset: 0;
  z-index: 0;
  border: 0;
  background: rgba(10, 35, 50, 0.28);
}

.nrdfy-mobile-nav__panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(420px, 92vw);
  z-index: 1;
  padding: 1.5rem 1.5rem 2rem;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  overflow: hidden;
  box-shadow: -18px 0 42px rgba(10, 35, 50, 0.14);
}

.nrdfy-mobile-nav__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(10, 35, 50, 0.1);
}

.nrdfy-mobile-nav__title {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nrdfy-mobile-nav__close {
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  font-size: 2rem;
  line-height: 1;
}

.nrdfy-mobile-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

.nrdfy-mobile-nav.is-submenu-open .nrdfy-mobile-nav__list {
  overflow: hidden;
}

.nrdfy-mobile-nav__item {
  border-bottom: 1px solid rgba(10, 35, 50, 0.12);
}

.nrdfy-mobile-nav__item.is-open {
  border-bottom-color: transparent;
}

.nrdfy-mobile-nav__trigger,
.nrdfy-mobile-nav__link {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.125rem 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  text-align: left;
  text-decoration: none;
}

.nrdfy-mobile-nav__trigger-icon {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--nrdfy-transition);
}

.nrdfy-mobile-nav__trigger-icon svg {
  width: 100%;
  height: 100%;
}

.nrdfy-mobile-nav__item.is-open .nrdfy-mobile-nav__trigger-icon {
  transform: rotate(90deg);
}

.nrdfy-mobile-nav__submenu {
  position: absolute;
  top: calc(var(--nrdfy-mobile-nav-header-height, 4rem) + 1rem);
  right: 1.5rem;
  bottom: 2rem;
  left: 1.5rem;
  z-index: 2;
  padding: 0 0 1.25rem;
  overflow-y: auto;
  background: #ffffff;
}

.nrdfy-mobile-nav__back {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 2rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-family: "Host Grotesk", system-ui, sans-serif;
  font-size: 1.125rem;
  text-decoration: none;
}

.nrdfy-mobile-nav__back-icon {
  width: 1rem;
  height: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: rotate(180deg);
}

.nrdfy-mobile-nav__back-icon svg {
  width: 100%;
  height: 100%;
}

.nrdfy-mobile-nav .nrdfy-shell {
  width: 100%;
  margin: 0;
}

.nrdfy-mobile-nav .nrdfy-megamenu {
  position: static;
  left: auto;
  top: auto;
  width: 100%;
  margin: 0;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}

.nrdfy-mobile-nav .nrdfy-megamenu__panel.nrdfy-shell {
  padding: 0;
  width: 100%;
  border: 0;
  box-shadow: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.nrdfy-mobile-nav .nrdfy-megamenu__panel--columns.nrdfy-shell,
.nrdfy-mobile-nav .nrdfy-megamenu--spotlight .nrdfy-megamenu__panel--columns.nrdfy-shell {
  grid-template-columns: 1fr;
}

.nrdfy-mobile-nav .nrdfy-megamenu__title {
  padding: 0;
  border: 0;
}

.nrdfy-mobile-nav .nrdfy-megamenu__title p {
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.04em;
}

.nrdfy-mobile-nav .nrdfy-megamenu__column {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.nrdfy-mobile-nav .nrdfy-megamenu__promos,
.nrdfy-mobile-nav .nrdfy-megamenu__cards {
  width: 100%;
}

.nrdfy-mobile-nav .nrdfy-megamenu__promos {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nrdfy-mobile-nav .nrdfy-megamenu__cards {
  grid-template-columns: 1fr;
}

.nrdfy-mobile-nav .nrdfy-megamenu__page-card {
  width: 100%;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.nrdfy-mobile-nav .nrdfy-megamenu__page-card-content {
  max-width: none;
}

.nrdfy-mobile-nav .nrdfy-megamenu__links {
  gap: 1rem;
}

.nrdfy-mobile-nav .nrdfy-megamenu__links a {
  width: 100%;
}

.nrdfy-front-hero {
  position: relative;
  min-height: min(686px, 70vh);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: #ffffff;
  background: var(--nrdfy-color-rose);
}

.nrdfy-front-hero__media,
.nrdfy-front-hero__overlay {
  position: absolute;
  inset: 0;
}

.nrdfy-front-hero__media {
  background: var(--nrdfy-color-rose);
}

.nrdfy-front-hero__video,
.nrdfy-front-hero__poster {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nrdfy-front-hero__overlay {
  background:
    linear-gradient(180deg, rgba(10, 35, 50, 0.2) 0%, rgba(10, 35, 50, 0.14) 34%, rgba(10, 35, 50, 0.72) 100%),
    linear-gradient(90deg, rgba(10, 35, 50, 0.44) 0%, rgba(10, 35, 50, 0.1) 56%, rgba(10, 35, 50, 0.32) 100%);
}

.nrdfy-front-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: calc(var(--nrdfy-header-height) + 5rem) 2rem 4.5rem;
}

.nrdfy-front-hero__eyebrow {
  margin: 0 0 1rem;
  font-size: 1rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nrdfy-front-hero__title {
  margin: 0;
  max-width: 40rem;
  font-size: clamp(2rem, 5.8vw, 4em);
  line-height: 0.95;
  text-transform: uppercase;
  color: #fff;
}

.nrdfy-front-hero__cta {
  display: inline-flex;
  align-items: center;
  margin-top: 1.5rem;
  padding-bottom: 0.25rem;
  color: inherit;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

.nrdfy-megamenu {
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 90;
  width: 100vw;
  max-width: none;
  padding-top: 0.75rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(1rem);
  transition:
    opacity var(--nrdfy-transition),
    transform var(--nrdfy-transition),
    visibility var(--nrdfy-transition);
}

.nrdfy-primary-nav__item.has-megamenu:hover > .nrdfy-megamenu,
.nrdfy-primary-nav__item.has-megamenu:focus-within > .nrdfy-megamenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.nrdfy-megamenu__panel.nrdfy-shell {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding: 1.75rem 2rem 2rem;
  background: #ffffff;
  color: var(--nrdfy-color-ink);
  border: 1px solid rgba(10, 35, 50, 0.12);
  box-shadow: 0 22px 50px rgba(10, 35, 50, 0.12);
  display: grid;
  grid-template-columns: 176px minmax(0, 1fr) minmax(0, 1fr) minmax(280px, 0.92fr);
  gap: 1.5rem;
}

.nrdfy-megamenu__panel--columns {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nrdfy-megamenu--spotlight .nrdfy-megamenu__panel--columns {
  grid-template-columns: minmax(300px, 1.05fr) minmax(0, 0.95fr);
}

.nrdfy-megamenu__title {
  padding-right: 1rem;
  border-right: 1px solid rgba(10, 35, 50, 0.1);
}

.nrdfy-megamenu__title p {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 1.375rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.nrdfy-megamenu__column {
  min-width: 0;
}

.nrdfy-megamenu__column h3 {
  margin: 0 0 1rem;
  color: var(--nrdfy-color-stone);
  font-family: "Host Grotesk", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.nrdfy-megamenu__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.nrdfy-megamenu__links a,
.nrdfy-megamenu__page-card,
.nrdfy-megamenu__promo-card,
.nrdfy-megamenu__summary-card {
  color: inherit;
  text-decoration: none;
}

.nrdfy-megamenu__links a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  position: relative;
  padding: 0.375rem 0;
  transition: color var(--nrdfy-transition);
}

.nrdfy-megamenu__links a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.125rem;
  width: 100%;
  height: 1px;
  background: var(--nrdfy-color-stone);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--nrdfy-transition);
}

.nrdfy-megamenu__links a:hover::after,
.nrdfy-megamenu__links a:focus-visible::after {
  transform: scaleX(1);
}

.nrdfy-megamenu__term-thumb {
  width: 60px;
  height: 60px;
  flex: 0 0 60px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 999px;
  background: var(--nrdfy-color-paper);
}

.nrdfy-megamenu__term-thumb.is-empty {
  border: 1px solid rgba(10, 35, 50, 0.12);
}

.nrdfy-megamenu__term-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nrdfy-megamenu__links--bullets a::before {
  content: "";
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 999px;
  background: currentColor;
}

/*
 * Column-based megamenu content (SubMenu Column / Product menu items).
 * Scoped to `.nrdfy-primary-nav` so it never fights the mobile-nav grid
 * override above, which already collapses `.nrdfy-megamenu__panel.nrdfy-shell`
 * (a class this flex modifier also carries) to a single stacked column.
 */
.nrdfy-primary-nav .nrdfy-megamenu__panel--flex {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.nrdfy-megamenu__column {
  min-width: 200px;
  flex: 1 1 200px;
}

.nrdfy-megamenu__column-header {
  margin: 0 0 1rem;
}

.nrdfy-megamenu__column-header h3 {
  margin: 0;
}

.nrdfy-megamenu__column-subtitle {
  margin: 0.375rem 0 0;
  color: var(--nrdfy-color-stone);
  font-size: 0.8125rem;
  line-height: 1.4;
}

.nrdfy-megamenu__column-items {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.nrdfy-megamenu__link-item {
  position: relative;
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  padding: 0.375rem 0;
  color: inherit;
  font-size: 0.9375rem;
  text-decoration: none;
  transition: color var(--nrdfy-transition);
}

.nrdfy-megamenu__link-item::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.125rem;
  width: 100%;
  height: 1px;
  background: var(--nrdfy-color-stone);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--nrdfy-transition);
}

.nrdfy-megamenu__link-item:hover::after,
.nrdfy-megamenu__link-item:focus-visible::after {
  transform: scaleX(1);
}

.nrdfy-megamenu__column-items .nrdfy-product-card {
  width: 100%;
}

.nrdfy-megamenu__column-items .nrdfy-product-card--upsell {
  gap: 0.75rem;
}

.nrdfy-megamenu__promos,
.nrdfy-megamenu__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.875rem;
}

.nrdfy-megamenu__promo-card,
.nrdfy-megamenu__summary-card {
  display: grid;
  gap: 0.75rem;
  padding: 0.5rem;
  border-radius: 1rem;
  transition:
    background-color var(--nrdfy-transition),
    transform var(--nrdfy-transition),
    box-shadow var(--nrdfy-transition);
}

.nrdfy-megamenu__promo-card:hover,
.nrdfy-megamenu__promo-card:focus-visible,
.nrdfy-megamenu__summary-card:hover,
.nrdfy-megamenu__summary-card:focus-visible,
.nrdfy-megamenu__page-card:hover,
.nrdfy-megamenu__page-card:focus-visible {
  background: rgba(10, 35, 50, 0.04);
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(10, 35, 50, 0.08);
}

.nrdfy-megamenu__promo-card-image,
.nrdfy-megamenu__summary-card-image {
  display: block;
  overflow: hidden;
  background: var(--nrdfy-color-paper);
}

.nrdfy-megamenu__promo-card-image {
  aspect-ratio: 255 / 344;
}

.nrdfy-megamenu__summary-card-image {
  aspect-ratio: 295 / 208;
}

.nrdfy-megamenu__promo-card-image img,
.nrdfy-megamenu__summary-card-image img,
.nrdfy-megamenu__page-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nrdfy-megamenu__promo-card-title,
.nrdfy-megamenu__summary-card-title,
.nrdfy-megamenu__page-card-title {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.15;
}

.nrdfy-megamenu__summary-card-content,
.nrdfy-megamenu__page-card-content {
  display: grid;
  gap: 0.5rem;
}

.nrdfy-megamenu__summary-card-text,
.nrdfy-megamenu__page-card-text {
  color: var(--nrdfy-color-mauve);
  font-size: 0.9375rem;
  line-height: 1.5;
}

.nrdfy-megamenu--page-default .nrdfy-megamenu__panel {
  grid-template-columns: 1fr;
}

.nrdfy-megamenu__page-card {
  display: grid;
  grid-template-columns: minmax(280px, 390px) minmax(0, 1fr);
  gap: 1.75rem;
  align-items: stretch;
  padding: 0.75rem;
  border-radius: 1.25rem;
  transition:
    background-color var(--nrdfy-transition),
    transform var(--nrdfy-transition),
    box-shadow var(--nrdfy-transition);
}

.nrdfy-megamenu__page-card-image {
  display: block;
  aspect-ratio: 390 / 236;
  overflow: hidden;
  background: var(--nrdfy-color-paper);
}

.nrdfy-megamenu__page-card-image.is-empty {
  min-height: 236px;
}

.nrdfy-megamenu__page-card-content {
  align-content: center;
  max-width: 32rem;
}

.nrdfy-megamenu__page-card-kicker {
  color: var(--nrdfy-color-stone);
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nrdfy-site-footer {
  color: var(--nrdfy-color-paper);
  background: var(--nrdfy-color-ink-bg);
  padding-top: 2.375rem;
}

.nrdfy-site-footer__main {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 2rem;
  align-items: start;
}

.nrdfy-site-footer__column h2,
.nrdfy-site-footer__brand {
  font-size: 1rem;
  color: var(--nrdfy-color-paper);
  margin: 0 0 1rem;
}

.nrdfy-site-footer__column h2 {
  font-size: .875rem;
  text-transform: uppercase;
  opacity: .7;
}

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

.nrdfy-footer-links li + li {
  margin-top: 0.5rem;
}

.nrdfy-footer-links a,
.nrdfy-site-footer__market,
.nrdfy-site-footer__credits {
  text-decoration: none;
  font-size: 1rem;
}

.nrdfy-site-footer__brand {
  display: grid;
  justify-items: center;
  gap: 1rem;
}

.nrdfy-site-footer__payments {
  list-style: none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.25rem;
  margin: 0;
  padding: 0;
}

.nrdfy-site-footer__payments img {
  height: 28px;
  width: auto;
}

.nrdfy-site-footer__languages {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.nrdfy-site-footer__languages a {
  text-decoration: none;
  opacity: 0.5;
}

.nrdfy-site-footer__languages a.is-active {
  opacity: 1;
}

.nrdfy-site-footer__social {
  display: flex;
  gap: 0.65rem;
  margin-top: 0.85rem;
}

.nrdfy-site-footer__social-link {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--nrdfy-color-paper);
  border: 1px solid rgba(248, 244, 245, 0.45);
  border-radius: 999px;
  text-decoration: none;
  transition: background-color var(--nrdfy-transition), color var(--nrdfy-transition), border-color var(--nrdfy-transition);
}

.nrdfy-site-footer__social-link:hover,
.nrdfy-site-footer__social-link:focus-visible {
  color: var(--nrdfy-color-ink);
  background: var(--nrdfy-color-paper);
  border-color: var(--nrdfy-color-paper);
}

.nrdfy-site-footer__social-link svg {
  width: 1rem;
  height: 1rem;
}

.nrdfy-site-footer__subfooter {
  margin-top: 2rem;
  color: var(--nrdfy-color-ink);
  background: var(--nrdfy-color-rose);
}

.nrdfy-site-footer__subfooter-inner {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 0;
}

.nrdfy-site-footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
}

.nrdfy-site-footer__legal a,
.nrdfy-site-footer__credits {
  font-size: 0.875rem;
  text-decoration: none;
}

.wp-block-nrdfy-hero-cover,
.nrdfy-hero-cover {
  min-height: var(--nrdfy-hero-min-height, 760px);
  background-size: cover;
  background-position: center;
  color: #ffffff;
  display: flex;
  align-items: flex-end;
  padding: 4rem 0;
}

.nrdfy-hero-cover__inner {
  width: 100%;
  max-width: 36rem;
}

.nrdfy-hero-cover__eyebrow,
.nrdfy-packaging-hero__eyebrow,
.nrdfy-editorial-band__eyebrow,
.nrdfy-section-heading__eyebrow {
  margin: 0 0 1rem;
  color: currentColor;
  font-size: 1rem;
}

.nrdfy-hero-cover__title {
  margin: 0;
  max-width: 32rem;
  font-family: "Host Grotesk", sans-serif;
  font-size: clamp(2.5rem, 5vw, 4rem);
  line-height: 1.05;
  text-transform: uppercase;
}

.nrdfy-hero-cover__description {
  margin: 1rem 0 0;
  max-width: 28rem;
  font-size: 1.125rem;
}

.nrdfy-hero-cover__cta,
.nrdfy-section-heading__cta,
.nrdfy-editorial-band__cta,
.nrdfy-product-collection__footer a,
.nrdfy-product-collection__footer-link {
  margin-top: 1.5rem;
  display: inline-block;
  font-weight: 700;
  font-size: .875em;
  text-decoration: underline;
}

.wp-block-nrdfy-trust-grid,
.nrdfy-trust-grid {
  position: relative;
}

.wp-block-nrdfy-trust-grid .nrdfy-trust-grid__track,
.nrdfy-trust-grid .nrdfy-trust-grid__track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 2.75rem;
  row-gap: 1.5rem;
  padding: 2rem 0 2.25rem;
  align-items: start;
}

.nrdfy-front-page-trust-grid {
  background: var(--nrdfy-color-peach);
  margin-top: 3rem;
}

.nrdfy-trust-item {
  border-left: 1px solid rgba(28, 28, 28, 0.18);
  padding: 0 1.5rem 0 2.75rem;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.nrdfy-trust-grid__track > .nrdfy-trust-item:first-child {
  border-left: 0;
  padding-left: 0;
}

.nrdfy-trust-item__icon {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  margin: 0 0 1.4rem;
  color: #1f1f1f;
}

.nrdfy-trust-item__icon svg {
  width: 100%;
  height: 100%;
}

.nrdfy-trust-item__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.nrdfy-trust-item h3 {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
  color: #262626;
}

.nrdfy-trust-item h3::after {
  content: "";
  display: block;
  width: 42px;
  height: 2px;
  margin-top: 0.3rem;
  background: var(--nrdfy-color-accent);
}

.nrdfy-trust-item p {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 0.875rem;
  line-height: 1.45;
  color: #4f4f4f;
}

/* Compact variant: used in the topbar-header's subheader (see
   template-parts/header/site-header-topbar.php). Desktop shows every item
   in one row; below 782px only the active item shows, cycled automatically
   every 3s (assets/js/theme.js, setCompactTrustRotator()) or via the arrows. */
.nrdfy-trust-grid--compact .nrdfy-trust-grid__track {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0;
  column-gap: 0;
  row-gap: 0;
}

.nrdfy-trust-grid--compact .nrdfy-trust-item {
  flex-direction: row;
  align-items: center;
  gap: 0.625rem;
  padding: 0 1.5rem;
  border-left: 1px solid rgba(28, 28, 28, 0.14);
}

.nrdfy-trust-grid--compact .nrdfy-trust-grid__track > .nrdfy-trust-item:first-child {
  padding-left: 0;
}

.nrdfy-trust-grid--compact .nrdfy-trust-item__icon {
  width: 18px;
  height: 18px;
  margin: 0;
}

.nrdfy-trust-grid--compact .nrdfy-trust-item h3 {
  font-size: 0.8125rem;
  white-space: nowrap;
}

.nrdfy-trust-grid--compact .nrdfy-trust-item h3::after {
  display: none;
}

.nrdfy-trust-grid--compact .nrdfy-trust-item p {
  font-size: 0.75rem;
  white-space: nowrap;
}

.nrdfy-trust-grid--compact .nrdfy-trust-grid__nav {
  display: none;
}

.wp-block-nrdfy-section-heading,
.nrdfy-section-heading {
  text-align: center;
  margin: 0 0 2rem 0;
  padding: 10rem 0;
  background: var(--nrdfy-color-blush);
}

.nrdfy-section-heading__title,
.nrdfy-editorial-band__title,
.nrdfy-related-strip__header h2,
.nrdfy-product-collection__title {
  margin: 0;
  font-size: clamp(2rem, 4vw, 2.5rem);
}

.nrdfy-section-heading__subtitle,
.nrdfy-editorial-band__subtitle,
.nrdfy-product-collection__subtitle {
  margin: 0.5rem 0 0;
  color: var(--nrdfy-color-mauve);
  font-size: 1.4375rem;
  font-weight: 700;
}

.nrdfy-featured-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 3rem;
  align-items: center;
  margin: 0 0 2rem;
  padding: 4rem 3rem;
  border-radius: 1.5rem;
  background: var(--nrdfy-color-peach);
}

.nrdfy-featured-intro__content {
  max-width: 28rem;
}

.nrdfy-featured-intro__title {
  margin: 0;
  color: var(--nrdfy-color-ink);
  font-size: clamp(2rem, 3.4vw, 2.75rem);
  line-height: 1.1;
}

.nrdfy-featured-intro__subtitle {
  margin: 1.25rem 0 0;
  color: var(--nrdfy-color-stone);
  font-size: 1.0625rem;
  line-height: 1.6;
}

.nrdfy-featured-intro__cta {
  display: inline-flex;
  align-items: center;
  margin-top: 2rem;
  padding: 0.875rem 1.75rem;
  border-radius: 999px;
  background: var(--nrdfy-color-ink-bg);
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 700;
  text-decoration: none;
  transition:
    transform var(--nrdfy-transition),
    box-shadow var(--nrdfy-transition);
}

.nrdfy-featured-intro__cta:hover,
.nrdfy-featured-intro__cta:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(10, 35, 50, 0.18);
}

.nrdfy-featured-intro__products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  height: 100%;
  min-height: 28rem;
  max-height: 650px;
}

.nrdfy-featured-intro__product {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 1.25rem;
  background: var(--nrdfy-color-paper);
}

.nrdfy-featured-intro__product--large {
  grid-row: span 2;
}

.nrdfy-featured-intro__product img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms ease;
}

.nrdfy-featured-intro__product:hover img,
.nrdfy-featured-intro__product:focus-visible img {
  transform: scale(1.04);
}

.nrdfy-featured-intro__product-image-empty {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(247, 243, 238, 0.95), rgba(232, 221, 215, 0.85));
}

.nrdfy-featured-intro__badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
  display: flex;
  max-width: calc(100% - 2rem);
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.75rem 1rem;
  border-radius: 0.875rem;
  background: #fff;
  box-shadow: 0 10px 24px rgba(10, 35, 50, 0.12);
}

.nrdfy-featured-intro__badge-title {
  overflow: hidden;
  color: var(--nrdfy-color-ink);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nrdfy-featured-intro__badge-price {
  color: var(--nrdfy-color-stone);
  font-size: 0.875rem;
}

.nrdfy-featured-intro__badge-price del {
  margin-right: 0.35rem;
  color: var(--nrdfy-color-stone);
  font-weight: 400;
}

.nrdfy-featured-intro__badge-price ins {
  color: var(--nrdfy-color-sale);
  font-weight: 700;
  text-decoration: none;
}

@media (max-width: 900px) {
  .nrdfy-featured-intro {
    grid-template-columns: 1fr;
    padding: 2.5rem 1.5rem;
    gap: 2rem;
  }

  .nrdfy-featured-intro__content {
    max-width: none;
  }

  .nrdfy-featured-intro__products {
    min-height: 22rem;
  }
}

.wp-block-nrdfy-occasion-grid,
.nrdfy-occasion-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem 0.75rem;
}

.wp-block-nrdfy-category-card,
.nrdfy-category-card {
  display: block;
}

.nrdfy-category-card > a {
  color: inherit;
  text-decoration: none;
}

.nrdfy-category-card__image {
  aspect-ratio: 407 / 414;
  background-size: cover;
  background-position: center;
  border-radius: var(--nrdfy-radius);
  margin-bottom: 0.75rem;
}

.nrdfy-category-card__title {
  margin: 0;
  font-family: "Host Grotesk", sans-serif;
  font-size: 1.4375rem;
  text-decoration: underline;
}

.nrdfy-category-card__text {
  margin: 0.5rem 0 0;
  font-size: 1.3125rem;
}

.wp-block-nrdfy-editorial-band,
.nrdfy-editorial-band {
  background: var(--nrdfy-color-paper);
  text-align: center;
  padding: 4.5rem 2rem;
}

.nrdfy-editorial-band__body {
  margin: 2rem auto 0;
  max-width: 72rem;
  color: var(--nrdfy-color-mauve);
  font-size: 1.4375rem;
}

.wp-block-nrdfy-packaging-hero,
.nrdfy-packaging-hero {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(320px, 1.15fr);
  min-height: 816px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.65));
}

.nrdfy-packaging-hero__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 6rem 5.5rem;
}

.nrdfy-packaging-hero__title {
  margin: 0;
  max-width: 32rem;
  font-size: clamp(2rem, 4vw, 2.5rem);
}

.nrdfy-packaging-hero__body {
  margin: 1.5rem 0 0;
  max-width: 40rem;
  color: var(--nrdfy-color-mauve);
  font-size: 1.4375rem;
}

.nrdfy-packaging-hero__image {
  background-size: cover;
  background-position: center;
}

.wp-block-nrdfy-newsletter-panel,
.nrdfy-newsletter-panel {
  background: var(--nrdfy-color-paper);
  padding: 4rem 2rem;
}

.nrdfy-newsletter-panel > * {
  max-width: 48rem;
  margin-inline: auto;
}

.nrdfy-category-archive {
  padding-bottom: 5rem;
}

.nrdfy-category-hero {
  padding: 1.5rem 0 0;
}

.nrdfy-category-hero__inner {
  display: grid;
  grid-template-columns: minmax(280px, 30%) minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
}
.nrdfy-category-hero__inner .nrdfy-category-hero__track {
  grid-auto-columns: calc((100% - 4rem) / 4);
}
.nrdfy-category-hero__intro {
  padding-right: 1rem;
}

.nrdfy-category-hero__eyebrow {
  margin: 0 0 0.875rem;
  color: var(--nrdfy-color-stone);
  font-size: 0.9375rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nrdfy-category-hero__title {
  margin: 0;
  font-size: clamp(3.25rem, 4vw, 3.375rem);
  text-transform: uppercase;
}

.nrdfy-category-hero__title-row {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.nrdfy-category-hero__brand-logo {
  width: 48px;
  height: 48px;
  object-fit: cover;
  flex-shrink: 0;
}

.nrdfy-category-hero__brand-link {
  margin: 0.875rem 0 0;
}

.nrdfy-category-hero__brand-link a {
  color: inherit;
  text-decoration: underline;
}

.nrdfy-category-hero__description {
  margin-top: 1rem;
  max-width: 21rem;
  color: var(--nrdfy-color-mauve);
  font-size: 1.25rem;
  line-height: 1.7;
}

.nrdfy-category-hero__description p {
  margin: 0;
}

.nrdfy-category-hero__description p + p {
  margin-top: 0.75rem;
}

.nrdfy-category-hero--image {
  padding-top: 0 !important;
  margin-top: -2rem;
}

.nrdfy-category-hero__media {
  position: relative;
  width: 100%;
  height: 350px;
  overflow: hidden;
}

.nrdfy-category-hero__media-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nrdfy-category-hero__media-overlay {
  position: absolute;
  inset: 0;
  background: rgba(20, 20, 20, 0.32);
}

.nrdfy-category-hero__media-text {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding-block: 1.5rem;
}

.nrdfy-category-hero__media-breadcrumbs {
  position: absolute;
  top: 1.25rem;
  left: 0;
  right: 0;
}

.nrdfy-category-hero__media-breadcrumbs .nrdfy-breadcrumbs {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.75);
}

.nrdfy-category-hero__media-breadcrumbs .nrdfy-breadcrumbs a {
  color: #fff;
}

.nrdfy-category-hero__intro--on-image {
  flex: 1 1 50%;
  min-width: 0;
  padding-right: 0;
}

.nrdfy-category-hero__intro--on-image .nrdfy-category-hero__eyebrow,
.nrdfy-category-hero__intro--on-image .nrdfy-category-hero__title {
  color: #fff;
}

.nrdfy-category-hero__intro--on-image .nrdfy-category-hero__brand-link {
  color: #fff;
}

.nrdfy-category-hero__description.nrdfy-category-hero__description--on-image {
  flex: 1 1 50%;
  min-width: 0;
  max-width: 26rem;
  margin-top: 0;
  color: #fff;
}

.nrdfy-category-hero__description--mobile-only {
  display: none;
}

@media (max-width: 782px) {
  .nrdfy-category-hero__intro--on-image {
    flex: 1 1 auto;
    width: 100%;
  }

  .nrdfy-category-hero__description.nrdfy-category-hero__description--on-image {
    display: none;
  }

  .nrdfy-category-hero__description--mobile-only {
    display: block;
    margin-top: 1rem;
    line-height: 1.3;
    margin-bottom: 2rem;
  }
}

.nrdfy-category-hero__subcategories {
  min-width: 0;
  margin: 1rem 0;
}

.nrdfy-category-hero__subcategories-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.nrdfy-category-hero__subcategories-header h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}

.nrdfy-category-hero__arrows {
  display: flex;
  gap: 0.75rem;
}

.nrdfy-category-hero__viewport {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: 1.5rem;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
  contain: layout;
}

.nrdfy-category-hero__viewport::-webkit-scrollbar {
  display: none;
}

.nrdfy-category-hero__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 4rem) / 7);
  gap: 3rem;
}

.nrdfy-category-bubble {
  display: flex;
  justify-items: center;
  gap: 0.875rem;
  min-width: 0;
  color: inherit;
  text-align: center;
  text-decoration: none;
  scroll-snap-align: start;
  align-items: center;
}

.nrdfy-category-bubble__image {
  /* width: 100%;
  max-width: 168px;
  aspect-ratio: 1 / 1; */
  overflow: hidden;
  min-width: 4rem;
  border-radius: 999px;
  background: var(--nrdfy-color-paper);
  box-shadow: 0 0 0 0 transparent;
  transition: box-shadow 0.2s ease;
}

.nrdfy-category-bubble.is-active .nrdfy-category-bubble__image {
  box-shadow: 0 0 0 3px var(--nrdfy-color-accent);
}

.nrdfy-category-bubble.is-active .nrdfy-category-bubble__title {
  font-weight: 600;
}

.nrdfy-category-bubble__image img {
  width: 4rem;
  height: 4rem;
  object-fit: cover;
}

.nrdfy-category-bubble__text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.nrdfy-category-bubble__title {
  font-size: .875rem;
  line-height: 1.35;
}

.nrdfy-category-bubble__count {
  margin-top: 0.125rem;
  color: var(--nrdfy-color-stone);
  font-size: 0.8125rem;
  line-height: 1.35;
}

.nrdfy-catalog-toolbar {
  padding: 2rem 0 0;
}

.nrdfy-catalog-toolbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.nrdfy-catalog-toolbar__sort-form {
  margin: 0;
}

.nrdfy-catalog-toolbar__button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.875rem;
  padding: 0.875rem 1.25rem;
  border: var(--nrdfy-border);
  background: #ffffff;
  color: inherit;
  text-decoration: none;
}

.nrdfy-catalog-toolbar__button--select {
  position: relative;
  padding-right: 3.25rem;
}

.nrdfy-catalog-toolbar__button--select::after {
  content: "▾";
  position: absolute;
  right: 1.125rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

.nrdfy-catalog-toolbar__button--select select {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.nrdfy-catalog-products {
  padding-top: 2rem;
}

.nrdfy-catalog-products__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2.5rem 1.75rem;
}

.nrdfy-catalog-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 2rem;
}

.nrdfy-catalog-pagination__count {
  margin: 0;
  color: var(--nrdfy-color-stone);
}

.nrdfy-catalog-pagination__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 48px;
  padding: 0.875rem 1.5rem;
  border: var(--nrdfy-border);
  background: none;
  font: inherit;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.nrdfy-catalog-pagination__more.is-loading {
  opacity: 0.6;
}

.nrdfy-catalog-pagination__more .nrdfy-btn-spinner {
  border-color: rgba(10, 35, 50, 0.18);
  border-top-color: var(--nrdfy-color-ink);
}

.nrdfy-catalog-filters__form {
  margin-top: 2rem;
}

.nrdfy-catalog-filters__section + .nrdfy-catalog-filters__section {
  margin-top: 2rem;
}

.nrdfy-catalog-filters__section h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}

.nrdfy-catalog-filters__price {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
}

.nrdfy-catalog-filters__price input {
  width: 100%;
  min-height: 44px;
  padding: 0.75rem 1rem;
  border: var(--nrdfy-border);
}

.nrdfy-catalog-filters__choices,
.nrdfy-catalog-filters__swatches {
  display: grid;
  gap: 0.875rem;
  margin-top: 1rem;
}

.nrdfy-catalog-filters__swatches {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nrdfy-catalog-filters__choice,
.nrdfy-catalog-filters__swatch {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.nrdfy-catalog-filters__choice input,
.nrdfy-catalog-filters__swatch input {
  margin: 0;
}

.nrdfy-catalog-filters__swatch-dot {
  width: 1rem;
  height: 1rem;
  border-radius: 999px;
  border: 1px solid rgba(10, 35, 50, 0.25);
  background: var(--swatch-color, #d9d9d9);
}

.nrdfy-catalog-filters__actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
}

.nrdfy-catalog-filters__submit {
  min-height: 48px;
  padding: 0.875rem 1.5rem;
  border: 0;
  background: var(--nrdfy-color-ink-bg);
  color: #ffffff;
}

.nrdfy-catalog-filters__reset {
  color: var(--nrdfy-color-stone);
  text-decoration: underline;
}

.nrdfy-breadcrumbs {
  margin-bottom: 2rem;
  color: var(--nrdfy-color-stone);
  font-size: 1rem;
}

.nrdfy-product-page__top {
  display: grid;
  grid-template-columns: minmax(0, 0.62fr) minmax(360px, 0.38fr);
  gap: 4rem;
  align-items: start;
}

.nrdfy-product-page__top.is-gallery-empty {
  grid-template-columns: minmax(0, 1fr);
}

.nrdfy-product-page__top.is-gallery-empty .nrdfy-product-summary {
  max-width: 40rem;
}

.nrdfy-product-gallery {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  grid-auto-flow: dense;
  grid-auto-rows: minmax(200px, auto);
  gap: 0.625rem;
  position: sticky;
  top: 0;
}

.nrdfy-product-gallery--count-1 {
  grid-template-columns: minmax(0, 1fr);
}

.nrdfy-product-gallery figure {
  margin: 0;
}

.nrdfy-product-gallery__item {
  overflow: hidden;
  background: var(--nrdfy-color-paper);
}

.nrdfy-product-gallery__item--main {
  grid-row: span 2;
}

.nrdfy-product-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nrdfy-product-gallery__item--main img {
  aspect-ratio: 610 / 820;
}

.nrdfy-product-gallery__item:not(.nrdfy-product-gallery__item--main) img {
  aspect-ratio: 305 / 275;
}

.nrdfy-product-gallery__dots {
  display: none;
}

.nrdfy-product-summary__title {
  margin: 0;
  font-family: "Host Grotesk", sans-serif;
  font-size: 1.875rem;
  font-weight: 400;
}

.nrdfy-product-summary__brand {
  margin: 0.5rem 0 0;
}

.nrdfy-product-summary__brand-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--nrdfy-color-rose);
  border-radius: 0.5rem;
  padding: 0.3rem 0.875rem;
  color: inherit;
  text-decoration: none;
  font-size: 1rem;
}

.nrdfy-product-summary__brand-logo {
  width: 20px;
  height: 20px;
  object-fit: cover;
  flex-shrink: 0;
}

.nrdfy-product-summary__brand-label {
  margin: 0.25rem 0 0;
  font-size: 0.875rem;
  color: var(--nrdfy-color-stone);
}

.nrdfy-product-summary__excerpt {
  margin: 1rem 0 0;
  font-size: 1rem;
}

.nrdfy-product-summary__price {
  margin-top: 0.5rem;
  font-size: 1.8125rem;
  font-weight: 700;
}

.nrdfy-product-summary__price del,
.nrdfy-product-card__price del {
  color: var(--nrdfy-color-stone);
  font-weight: 400;
}

.nrdfy-product-summary__price ins,
.nrdfy-product-card__price ins {
  text-decoration: none;
}

.nrdfy-product-summary__rating {
  display: flex;
  gap: 0.25rem;
  margin: 1rem 0 2rem;
}

.nrdfy-product-summary__rating span {
  width: 14px;
  height: 14px;
  display: inline-flex;
}

.nrdfy-product-summary__rating svg {
  width: 100%;
  height: 100%;
}

.nrdfy-outline-button {
  width: 100%;
  min-height: 47px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border: var(--nrdfy-border);
  border-radius: var(--nrdfy-radius);
  background: transparent;
  color: inherit;
  font-size: 1.25rem;
  font-weight: 700;
}

.nrdfy-outline-button__icon {
  width: 27px;
  height: 26px;
}

.nrdfy-outline-button__icon svg {
  width: 100%;
  height: 100%;
}

.nrdfy-product-section {
  margin-top: 2rem;
}

.nrdfy-product-section__heading {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.nrdfy-product-section__heading h2 {
  margin: 0;
  font-family: "Host Grotesk", sans-serif;
  font-size: 1rem;
  font-weight: 700;
}

.nrdfy-product-section__line {
  flex: 1;
  height: 1px;
  background: currentColor;
}

.nrdfy-gift-card-fields {
  margin-top: 1.5rem;
  display: grid;
  gap: 1.25rem;
}

.nrdfy-gift-card-fields__field label {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--nrdfy-color-stone);
  margin-bottom: 0.5rem;
}

.nrdfy-gift-card-fields__field input,
.nrdfy-gift-card-fields__field textarea {
  width: 100%;
  border: var(--nrdfy-border);
  padding: 0.75rem 1rem;
  font: inherit;
  border-radius: var(--nrdfy-radius);
}

.nrdfy-gift-card-fields__field textarea {
  min-height: 90px;
  resize: vertical;
}

.nrdfy-gift-card-info {
  padding: 3rem 0 4rem;
  border-top: var(--nrdfy-hairline, 1px solid rgba(10, 35, 50, 0.14));
  margin-top: 1rem;
}

.nrdfy-gift-card-info__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  margin-top: 1.75rem;
}

.nrdfy-gift-card-info__grid h3 {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.nrdfy-gift-card-info__grid p {
  margin: 0;
  color: #4d6d80;
  font-size: 0.9rem;
}

@media (max-width: 860px) {
  .nrdfy-gift-card-info__grid {
    grid-template-columns: 1fr;
  }
}

.nrdfy-product-swatches,
.nrdfy-product-card__swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.nrdfy-swatch-button,
.nrdfy-swatch {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 999px;
  border: 2px solid currentColor;
  background: var(--swatch-color, #d9d9d9);
  color: currentColor;
  transition:
    box-shadow var(--nrdfy-transition),
    opacity var(--nrdfy-transition),
    filter var(--nrdfy-transition),
    color var(--nrdfy-transition),
    border-color var(--nrdfy-transition);
}

.nrdfy-swatch-button {
  padding: 0;
  cursor: pointer;
}

.nrdfy-swatch-button.is-active {
  background: var(--swatch-color, linear-gradient(138deg, #F5B3B4 15%, #DB7B7D 50%, #E39192 100%));
  box-shadow: 0px 0px 0px 5px #ffffff, 0 0 0 7px currentColor;
}

.nrdfy-swatch-button--text.is-active {
  background: #ffffff;
}

.nrdfy-swatch-button.is-out-of-stock,
.nrdfy-swatch-button.is-unavailable,
.nrdfy-swatch-button:disabled {
  color: rgba(10, 35, 50, 0.35);
  filter: saturate(0.65) brightness(1.08);
  opacity: 0.55;
}

.nrdfy-swatch-button:disabled {
  cursor: not-allowed;
}

.nrdfy-product-variation-controls {
  display: grid;
  gap: 0;
}

.nrdfy-product-swatches--text {
  gap: 0.875rem;
}

.nrdfy-swatch-button--text {
  width: auto;
  min-width: 36px;
  padding: 0;
  background: #ffffff;
}

.nrdfy-swatch-button__label {
  min-width: 36px;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.875rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: #ffffff;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
}

.nrdfy-inline-link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
  border: 0;
  background: transparent;
  color: var(--nrdfy-color-stone);
  text-decoration: underline;
}

.nrdfy-inline-link--small {
  margin-top: 0.5rem;
  font-size: 0.625rem;
  color: var(--nrdfy-color-ink);
}

.nrdfy-inline-link svg {
  width: 19px;
  height: 19px;
}

.nrdfy-shipping-estimator__form button,
.nrdfy-product-summary__purchase .single_add_to_cart_button,
.nrdfy-product-summary__purchase button.single_add_to_cart_button {
  min-height: 44px;
  padding: 0.75rem 1.25rem;
  border: 0;
  background: var(--nrdfy-color-ink-bg);
  color: #ffffff;
}

.nrdfy-shipping-estimator__results {
  display: grid;
  gap: 0.875rem;
  margin-top: 0.625rem;
}

.nrdfy-option-card {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 1rem;
  padding: 0.875rem 1rem;
  border: var(--nrdfy-border);
  border-radius: var(--nrdfy-radius);
}

.nrdfy-option-card__icon {
  width: 24px;
  height: 24px;
}

.nrdfy-option-card__icon svg {
  width: 100%;
  height: 100%;
}

.nrdfy-option-card__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nrdfy-option-card h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}

.nrdfy-option-card p {
  margin: 0.25rem 0 0;
}

.nrdfy-cart-shipping-methods__group {
  display: grid;
  gap: 0.75rem;
}

.nrdfy-option-card--radio {
  position: relative;
  cursor: pointer;
  transition: border-color var(--nrdfy-transition), box-shadow var(--nrdfy-transition);
}

.nrdfy-option-card--radio:hover {
  border-color: rgba(var(--nrdfy-color-button-rgb), 0.65);
}

.nrdfy-option-card--radio:has(.nrdfy-option-card__radio-input:checked) {
  border-color: var(--nrdfy-color-ink);
  box-shadow: inset 0 0 0 1px var(--nrdfy-color-ink);
}

.nrdfy-option-card--radio:has(.nrdfy-option-card__radio-input:focus-visible) {
  outline: 2px solid var(--nrdfy-color-button);
  outline-offset: 2px;
}

.nrdfy-option-card__radio-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.nrdfy-cart-summary__card.is-updating {
  opacity: 0.6;
  pointer-events: none;
}

.nrdfy-secure-payments__box {
  padding: 0.6rem 1.5rem;
  border: var(--nrdfy-border);
  border-radius: var(--nrdfy-radius);
  text-align: center;
  margin-top: 0.625rem;
}

.nrdfy-secure-payments__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
}

.nrdfy-secure-payments__icon {
  --fill-0: var(--nrdfy-color-ink);
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}

.nrdfy-secure-payments__icon svg {
  width: 100%;
  height: 100%;
}

.nrdfy-secure-payments__icons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
}

.nrdfy-secure-payments__icons img {
  height: 28px;
  width: auto;
}

.nrdfy-gift-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.nrdfy-gift-card {
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: 0.875rem;
  align-content: start;
  min-height: 252px;
  padding: 1rem;
  border: var(--nrdfy-border);
  border-radius: var(--nrdfy-radius);
}

.nrdfy-gift-card input {
  position: absolute;
  opacity: 0;
}

.nrdfy-gift-card__radio {
  width: 16px;
  height: 16px;
  border: 1px solid currentColor;
  border-radius: 999px;
  margin-top: 0.125rem;
}

.nrdfy-gift-card.is-selected .nrdfy-gift-card__radio {
  box-shadow: inset 0 0 0 3px #ffffff, inset 0 0 0 10px var(--nrdfy-color-ink);
}

.nrdfy-gift-card__image {
  grid-column: 2 / 3;
  width: 130px;
  justify-self: end;
}

.nrdfy-gift-card__image img {
  width: 100%;
  aspect-ratio: 130 / 111;
  object-fit: cover;
}

.nrdfy-gift-card__title,
.nrdfy-gift-card__text,
.nrdfy-gift-card__price {
  grid-column: 1 / -1;
}

.nrdfy-gift-card__title {
  font-size: 1rem;
  font-weight: 700;
}

.nrdfy-gift-card__text {
  font-size: 0.75rem;
}

.nrdfy-gift-card__price {
  margin-top: auto;
  font-size: 0.875rem;
  font-weight: 700;
}

.nrdfy-product-summary__purchase {
  margin-top: 1.5rem;
}

/*
 * On desktop the purchase block is just the normal inline WooCommerce form.
 * On mobile (see max-width: 900px below) the very same block becomes the
 * bottom-sheet opened by the fixed mobile purchase bar, reusing the
 * .nrdfy-drawer open/close machinery instead of rendering a second form.
 */
.nrdfy-product-summary__purchase.nrdfy-drawer--purchase {
  position: static;
  inset: auto;
  z-index: 100;
}

.nrdfy-product-summary__purchase.nrdfy-drawer--purchase[hidden] {
  display: block;
}

.nrdfy-drawer--purchase .nrdfy-drawer__overlay,
.nrdfy-drawer--purchase .nrdfy-drawer__close {
  display: none;
}

.nrdfy-drawer--purchase .nrdfy-drawer__panel--purchase {
  position: static;
  inset: auto;
  width: auto;
  padding: 0;
  background: transparent;
  overflow: visible;
}

.nrdfy-mobile-purchase-bar {
  display: none;
}

.nrdfy-mobile-purchase-bar__notice:empty {
  display: none;
}

.nrdfy-product-summary__purchase form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

.nrdfy-product-summary__purchase form.cart > * {
  flex: 1 1 100%;
}

.nrdfy-product-summary__purchase div.quantity,
.nrdfy-product-summary__purchase .single_add_to_cart_button,
.nrdfy-product-summary__purchase button.single_add_to_cart_button {
  flex: 0 0 auto;
}

.nrdfy-product-summary__purchase .nrdfy-add-to-cart-confirmation {
  margin-top: 1rem;
  margin-bottom: 0;
}

.nrdfy-product-summary__purchase table.variations,
.nrdfy-product-summary__purchase .reset_variations {
  display: none !important;
}

.nrdfy-product-summary__purchase .quantity {
  display: inline-flex;
}

.nrdfy-product-summary__purchase .single_variation {
  display: grid;
  gap: 0.5rem;
}

.nrdfy-product-summary__purchase table.variations td,
.nrdfy-product-summary__purchase table.variations th {
  padding: 0.5rem 0;
}

/* Variable products render their quantity input + add-to-cart button inside
   this nested wrapper rather than as direct children of form.cart. */
.nrdfy-product-summary__purchase .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

.nrdfy-product-summary__purchase select {
  width: 100%;
  min-height: 44px;
  padding: 0.75rem 1rem;
  border: var(--nrdfy-border);
}

.nrdfy-product-summary__purchase input.qty {
  width: 4.5rem;
  min-height: 44px;
  padding: 0.5rem;
  border: var(--nrdfy-border);
  text-align: center;
}

.nrdfy-upsell-carousel__grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  gap: 1rem;
  margin-top: 1.5rem;
}

.nrdfy-product-card--upsell {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.nrdfy-product-card--upsell .nrdfy-product-card__image {
  width: 30%;
  flex: 0 0 30%;
  aspect-ratio: 1 / 1;
}

.nrdfy-product-card--upsell .nrdfy-product-card__title {
  font-size: .9rem
}
.nrdfy-product-card--upsell .nrdfy-product-card__content {
  padding-top: 0;
  flex: 1 1 auto;
  min-width: 0;
}

.nrdfy-product-card--upsell .nrdfy-product-card__details {
  min-height: 0;
}

.nrdfy-product-card--upsell .nrdfy-product-card__shopable {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  margin-top: 0.5rem;
  padding-top: 0;
  border-top: 0;
}

.nrdfy-bundle-box {
  padding-top: 3.5rem;
}

.nrdfy-bundle-box__intro {
  max-width: 40rem;
}

.nrdfy-bundle-box__intro p {
  margin: 1rem 0 0;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-bundle-box__original {
  font-weight: 700;
  color: var(--nrdfy-color-ink);
}

.nrdfy-bundle-box__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}

.nrdfy-bundle-component {
  display: grid;
  gap: 0.75rem;
}

.nrdfy-bundle-component__quantity {
  margin: 0;
  color: var(--nrdfy-color-stone);
  font-size: 0.875rem;
}

.nrdfy-related-strip,
.wp-block-nrdfy-product-carousel .nrdfy-product-collection,
.nrdfy-style-strip {
  padding-top: 5rem;
}

.nrdfy-related-strip__header,
.nrdfy-product-collection__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.nrdfy-related-strip__arrows,
.nrdfy-product-collection__arrows {
  display: flex;
  gap: 1rem;
  color: var(--nrdfy-color-stone);
}

.nrdfy-related-strip__arrow,
.nrdfy-product-collection__arrows button {
  width: 35px;
  height: 35px;
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  padding: 0;
  border: 1px solid rgba(10, 35, 50, 0.2);
  border-radius: 999px;
  background: #ffffff;
  color: inherit;
  font-size: 1.15rem;
  transition:
    color var(--nrdfy-transition),
    border-color var(--nrdfy-transition),
    opacity var(--nrdfy-transition);
}

.nrdfy-related-strip__arrow:disabled,
.nrdfy-product-collection__arrows button:disabled {
  opacity: 0.35;
  cursor: default;
}

.nrdfy-related-strip__grid,
.nrdfy-product-collection__grid {
  gap: 1.75rem;
  margin-top: 1.5rem;
}

.nrdfy-related-strip__viewport {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  contain: layout;
}

.nrdfy-related-strip__viewport::-webkit-scrollbar {
  display: none;
}

.nrdfy-related-strip__grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 7rem) / 5);
}

.nrdfy-product-collection__grid {
  display: grid;
  grid-template-columns: repeat(var(--nrdfy-grid-cols-d, 5), minmax(0, 1fr));
}

.wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__header > div {
  width: 100%;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.5rem;
}

.wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__title {
  font-size: clamp(1.6rem, 3.2vw, 2rem);
}

.wp-block-nrdfy-product-carousel--post-grid.colored-section {
  margin: 2rem 0;
}

.wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__meta {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.95rem;
}

.wp-block-nrdfy-product-carousel--post-grid.is-carousel .nrdfy-product-collection__meta {
  justify-content: flex-end;
}

.wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__subtitle {
  margin: 0;
  text-align: right;
  font-size: clamp(1.12rem, 2.24vw, 1.4rem);
}

.wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__subtitle a {
  color: inherit;
}

.wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__footer-link {
  margin-top: 0;
}

.wp-block-nrdfy-product-carousel--post-grid.is-carousel .nrdfy-product-collection__subtitle--below {
  width: 100%;
  margin-top: .5rem;
  margin-bottom: 2rem;
  text-align: right;
}

.wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__subtitle a:hover,
.wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__subtitle a:focus-visible {
  opacity: 0.75;
}

.wp-block-nrdfy-product-carousel--post-grid.is-carousel .nrdfy-product-collection__viewport {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  contain: layout;
}

.wp-block-nrdfy-product-carousel--post-grid.is-carousel .nrdfy-product-collection__viewport::-webkit-scrollbar {
  display: none;
}

.wp-block-nrdfy-product-carousel--post-grid.is-carousel .nrdfy-product-collection__grid--carousel {
  --nrdfy-visible-cols: var(--nrdfy-grid-cols-d, 5);
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--nrdfy-visible-cols) - 1) * 1.75rem) / var(--nrdfy-visible-cols));
}

.wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__arrows--minimal {
  gap: 0.35rem;
  color: var(--nrdfy-color-stone);
}

.wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__arrow-button {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: 2rem;
  line-height: 1;
  transition: color var(--nrdfy-transition), opacity var(--nrdfy-transition), transform var(--nrdfy-transition);
}

.wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__arrow-button--next {
  color: var(--nrdfy-color-ink);
}

.wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__arrow-button:hover,
.wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__arrow-button:focus-visible {
  transform: translateX(1px);
}

.wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__arrow-button--prev:hover,
.wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__arrow-button--prev:focus-visible {
  transform: translateX(-1px);
}

.wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__arrow-button:disabled {
  opacity: 0.35;
  cursor: default;
}

.nrdfy-product-card {
  min-width: 0;
  scroll-snap-align: start;
}

.nrdfy-product-card__image {
  position: relative;
  display: block;
  background: var(--nrdfy-color-paper);
  border-radius: var(--nrdfy-radius);
  overflow: hidden;
  aspect-ratio: 325 / 359;
}

.nrdfy-product-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nrdfy-product-card__image-empty {
  display: block;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(135deg, rgba(247, 243, 238, 0.95), rgba(232, 221, 215, 0.85));
}

.nrdfy-product-card__badges {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.375rem;
}

.nrdfy-product-card__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  border-radius: 999px;
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.4;
  text-transform: uppercase;
}

.nrdfy-product-card__badge--collection {
  background: var(--nrdfy-color-accent);
}

.nrdfy-product-card__badge--sale {
  background: var(--nrdfy-color-sale);
}

.nrdfy-product-card__content {
  padding-top: 0.75rem;
}
.nrdfy-product-card__content .added_to_cart {
  display: block;
  margin-top: .5rem;
}

.nrdfy-product-card__details {
  min-height: 110px;
}

.nrdfy-product-card__category {
  margin: 0 0 0.25rem;
  color: var(--nrdfy-color-stone);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.nrdfy-product-card__title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
}

.nrdfy-product-card__title a {
  text-decoration: none;
}

.nrdfy-product-card__rating {
  display: flex;
  gap: 0.2rem;
  margin-top: 0.375rem;
}

.nrdfy-product-card__rating span {
  width: 12px;
  height: 12px;
  display: inline-flex;
}

.nrdfy-product-card__rating svg {
  width: 100%;
  height: 100%;
}

.nrdfy-product-card__swatches {
  margin-top: 0.5rem;
}

.nrdfy-product-card__swatches .nrdfy-swatch {
  width: 24px;
  height: 24px;
}

.nrdfy-product-card__swatches .nrdfy-swatch--more {
  background: none;
  border-color: currentColor;
  font-size: 0.75rem;
  font-weight: 600;
}

.nrdfy-product-card__shopable {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #ddd;
}

.nrdfy-product-card__price {
  margin-top: 0.375rem;
  font-size: 1.125rem;
  font-weight: 700;
}

.nrdfy-product-card__shopable .nrdfy-product-card__price {
  margin-top: 0;
  display: flex;
  align-items: baseline;
  flex-direction: row-reverse;
  gap: 0.5rem;
}

.nrdfy-product-card__shopable .nrdfy-product-card__price ins {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--nrdfy-color-sale);
}

.nrdfy-product-card__shopable .nrdfy-product-card__price del {
  font-size: 0.8125rem;
}

.nrdfy-product-card__add-to-cart {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.8rem;
  border: 1px solid rgba(10, 35, 50, 0.3);
  border-radius: var(--nrdfy-radius);
  color: inherit;
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition:
    transform 220ms ease,
    box-shadow 220ms ease,
    border-color 220ms ease,
    background-color 220ms ease;
}

.nrdfy-product-card__add-to-cart::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0%, rgba(var(--nrdfy-color-button-rgb), 0.18) 48%, transparent 100%);
  transform: translateX(-135%);
  transition: transform 500ms ease;
  pointer-events: none;
}

.nrdfy-product-card__add-to-cart-icon {
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.nrdfy-product-card__add-to-cart-icon svg {
  width: 100%;
  height: 100%;
}

.nrdfy-product-card__add-to-cart-label {
  position: relative;
  z-index: 1;
}

.nrdfy-product-card__add-to-cart:hover,
.nrdfy-product-card__add-to-cart:focus-visible {
  border-color: rgba(var(--nrdfy-color-button-rgb), 0.65);
  background: rgba(10, 35, 50, 0.06);
  box-shadow: 0 12px 24px rgba(10, 35, 50, 0.14);
  transform: translateY(-2px);
}

.nrdfy-product-card__add-to-cart:hover::before,
.nrdfy-product-card__add-to-cart:focus-visible::before {
  transform: translateX(135%);
}

.nrdfy-product-card--compact .nrdfy-product-card__image {
  aspect-ratio: 177 / 195;
}

.nrdfy-product-card--compact .nrdfy-product-card__title {
  font-size: 0.8125rem;
}

.nrdfy-product-collection__footer {
  text-align: center;
}

.nrdfy-style-strip__intro p {
  margin: 0;
  color: var(--nrdfy-color-accent);
  font-size: 2.5rem;
}

.nrdfy-style-strip__intro h2 {
  margin: 0;
  font-size: 2.5rem;
}

.nrdfy-style-strip__grid,
.wp-block-nrdfy-product-carousel.is-lookbook .nrdfy-product-collection__body {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
  gap: 2rem;
  align-items: start;
  margin-top: 1.5rem;
}

.nrdfy-style-strip__content {
  display: grid;
  gap: 1.5rem;
}

.nrdfy-style-strip__meta h3 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 400;
}

.nrdfy-style-strip__meta p {
  max-width: 38rem;
  margin: 0.625rem 0 0;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-style-strip__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 1rem;
  padding: 0.875rem 1.5rem;
  border: var(--nrdfy-border);
  color: inherit;
  text-decoration: none;
}

.nrdfy-style-strip__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.nrdfy-style-strip__component {
  display: grid;
  gap: 0.625rem;
}

.nrdfy-style-strip__quantity {
  margin: 0;
  color: var(--nrdfy-color-stone);
  font-size: 0.875rem;
}

.nrdfy-style-strip__image a {
  display: block;
}

.nrdfy-shipping-estimator__note {
  margin: 0.75rem 0 0;
  color: var(--nrdfy-color-stone);
  font-size: 0.875rem;
  line-height: 1.5;
}

.nrdfy-style-strip__image img,
.wp-block-nrdfy-product-carousel .nrdfy-product-collection__lookbook img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nrdfy-drawer[hidden] {
  display: none;
}

.nrdfy-drawer {
  position: fixed;
  inset: 0;
  z-index: 100;
}

.nrdfy-drawer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(10, 35, 50, 0.25);
}

.nrdfy-drawer__panel {
  position: absolute;
  inset: 0 0 0 auto;
  width: min(768px, 100vw);
  padding: 3.5rem 3.5rem 4rem;
  background: #ffffff;
  overflow-y: auto;
}

.nrdfy-drawer__close {
  position: absolute;
  right: 1.25rem;
  top: 1rem;
  border: 0;
  background: transparent;
  font-size: 2rem;
  line-height: 1;
}

.nrdfy-drawer__panel h2 {
  margin: 0;
  font-size: 2.625rem;
}

.nrdfy-drawer__panel h3 {
  margin: 2rem 0 0;
  font-family: "Host Grotesk", sans-serif;
  font-size: 1.875rem;
  font-weight: 400;
}

.nrdfy-drawer__excerpt {
  margin: 1rem 0 0;
}

.nrdfy-drawer__description {
  margin-top: 2rem;
}

.nrdfy-drawer__section {
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(10, 35, 50, 0.25);
}

.nrdfy-drawer__section h4 {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 700;
}

.nrdfy-drawer__spec-list {
  display: grid;
  gap: 0.875rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.nrdfy-drawer__spec-item {
  display: grid;
  grid-template-columns: minmax(0, 11rem) minmax(0, 1fr);
  gap: 1rem;
}

.nrdfy-drawer__spec-label {
  color: var(--nrdfy-color-stone);
  font-size: 0.9375rem;
}

.nrdfy-drawer__spec-value {
  font-size: 0.9375rem;
}

.nrdfy-drawer__spec-note {
  margin: 1rem 0 0;
}

.nrdfy-drawer__close-bottom {
  width: 100%;
  justify-content: center;
  margin-top: 2.5rem;
}

.woocommerce-notices-wrapper {
  display: grid;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.woocommerce-notices-wrapper :where(.woocommerce-error, .woocommerce-info, .woocommerce-message, .woocommerce-notice) {
  position: relative;
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 1.125rem 1.25rem 1.125rem 1.5rem;
  border: 1px solid rgba(10, 35, 50, 0.14);
  border-radius: 0;
  list-style: none;
  background:
    linear-gradient(135deg, rgba(247, 243, 238, 0.96), rgba(255, 255, 255, 0.98));
  box-shadow: 0 18px 40px rgba(37, 28, 24, 0.05);
  color: var(--nrdfy-color-ink);
  line-height: 1.7;
}

.woocommerce-notices-wrapper :where(.woocommerce-error, .woocommerce-info, .woocommerce-message, .woocommerce-notice)::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: currentColor;
}

.woocommerce-notices-wrapper :where(.woocommerce-error, .woocommerce-info, .woocommerce-message, .woocommerce-notice)::after {
  content: none;
}

.woocommerce-notices-wrapper .woocommerce-error {
  border-color: rgba(164, 85, 99, 0.22);
  background:
    linear-gradient(135deg, rgba(250, 236, 238, 0.98), rgba(255, 255, 255, 0.98));
  color: #8a4653;
}

.woocommerce-notices-wrapper .woocommerce-message {
  border-color: rgba(118, 145, 120, 0.2);
  background:
    linear-gradient(135deg, rgba(241, 247, 241, 0.98), rgba(255, 255, 255, 0.98));
  color: #516653;
}

.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-notice {
  border-color: rgba(216, 194, 188, 0.3);
  background:
    linear-gradient(135deg, rgba(250, 244, 240, 0.98), rgba(255, 255, 255, 0.98));
  color: var(--nrdfy-color-ink);
}

.woocommerce-notices-wrapper :where(.woocommerce-error, .woocommerce-info, .woocommerce-message, .woocommerce-notice) li + li {
  margin-top: 0.5rem;
}

.woocommerce-notices-wrapper p {
  margin: 0;
}

.woocommerce-notices-wrapper a {
  color: inherit;
  text-underline-offset: 0.16em;
}

.woocommerce-notices-wrapper .button,
.woocommerce-notices-wrapper .restore-item {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin: 0;
  padding: 0.75rem 1rem;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  text-decoration: none;
}


:where(ul.woocommerce-error, ul.woocommerce-info, ul.woocommerce-message, ul.woocommerce-notice) {
  position: relative;
  display: grid;
  gap: 0.75rem;
  margin: 0 0 1.5rem;
  padding: 1.125rem 1.25rem 1.125rem 1.5rem;
  border: 1px solid rgba(10, 35, 50, 0.14);
  border-radius: 0;
  list-style: none;
  background:
    linear-gradient(135deg, rgba(247, 243, 238, 0.96), rgba(255, 255, 255, 0.98));
  box-shadow: 0 18px 40px rgba(37, 28, 24, 0.05);
  color: var(--nrdfy-color-ink);
  line-height: 1.7;
}

:where(ul.woocommerce-error, ul.woocommerce-info, ul.woocommerce-message, ul.woocommerce-notice)::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: currentColor;
}

ul.woocommerce-error {
  border-color: rgba(164, 85, 99, 0.22);
  background:
    linear-gradient(135deg, rgba(250, 236, 238, 0.98), rgba(255, 255, 255, 0.98));
  color: #8a4653;
}

:where(ul.woocommerce-info, ul.woocommerce-notice) {
  border-color: rgba(216, 194, 188, 0.3);
  background:
    linear-gradient(135deg, rgba(250, 244, 240, 0.98), rgba(255, 255, 255, 0.98));
  color: var(--nrdfy-color-ink);
}

ul.woocommerce-message {
  border-color: rgba(118, 145, 120, 0.2);
  background:
    linear-gradient(135deg, rgba(241, 247, 241, 0.98), rgba(255, 255, 255, 0.98));
  color: #516653;
}

:where(ul.woocommerce-error, ul.woocommerce-info, ul.woocommerce-message, ul.woocommerce-notice) li + li {
  margin-top: 0.5rem;
}

:where(ul.woocommerce-error, ul.woocommerce-info, ul.woocommerce-message, ul.woocommerce-notice) a {
  color: inherit;
  text-underline-offset: 0.16em;
}

:where(ul.woocommerce-error, ul.woocommerce-info, ul.woocommerce-message, ul.woocommerce-notice) .button,
:where(ul.woocommerce-error, ul.woocommerce-info, ul.woocommerce-message, ul.woocommerce-notice) .restore-item {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin: 0;
  padding: 0.75rem 1rem;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  text-decoration: none;
}

.nrdfy-cart-page {
  padding: 4rem 0 5rem;
}

.nrdfy-cart-page__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(10, 35, 50, 0.16);
}

.nrdfy-cart-page__eyebrow,
.nrdfy-cart-empty__eyebrow {
  margin: 0;
  color: var(--nrdfy-color-accent);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nrdfy-cart-page__title,
.nrdfy-cart-empty__title {
  margin: 0.625rem 0 0;
  font-size: 2.625rem;
  font-weight: 400;
}

.nrdfy-cart-page__summary {
  max-width: 30rem;
  margin: 0;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-cart-page__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
  color: var(--nrdfy-color-stone);
}

.nrdfy-cart-page__meta a {
  text-decoration: underline;
}

.nrdfy-cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.85fr);
  gap: 2rem;
  align-items: start;
  padding-top: 2rem;
}

.nrdfy-cart-form__items {
  display: grid;
  gap: 1rem;
}

.nrdfy-cart-item {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 1.25rem;
  padding: 1.25rem;
  border: var(--nrdfy-border);
  border-radius: var(--nrdfy-radius);
  background: #ffffff;
}

.nrdfy-cart-item.is-linked-gift-box {
  background: var(--nrdfy-color-paper);
}

.nrdfy-cart-item__image {
  display: block;
  aspect-ratio: 160 / 176;
  border-radius: var(--nrdfy-radius);
  overflow: hidden;
  background: var(--nrdfy-color-paper);
}

.nrdfy-cart-item__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nrdfy-cart-item__image-empty {
  display: block;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(135deg, rgba(247, 243, 238, 0.96), rgba(232, 221, 215, 0.82));
}

.nrdfy-cart-item__body {
  min-width: 0;
  display: grid;
  gap: 1rem;
}

.nrdfy-cart-item__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.nrdfy-cart-item__badge {
  margin: 0;
  color: var(--nrdfy-color-stone);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nrdfy-cart-item__title {
  margin: 0.25rem 0 0;
  font-size: 1.375rem;
  font-weight: 400;
}

.nrdfy-cart-item__title a {
  text-decoration: none;
}

.nrdfy-cart-item__remove {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border: 1px solid rgba(10, 35, 50, 0.18);
  border-radius: 999px;
  color: inherit;
  text-decoration: none;
  font-size: 1.5rem;
  line-height: 1;
}

.nrdfy-cart-item__meta,
.nrdfy-cart-item__availability {
  color: var(--nrdfy-color-stone);
  font-size: 0.9375rem;
}

.nrdfy-cart-item__meta > p:last-child,
.nrdfy-cart-item__availability > p:last-child {
  margin-bottom: 0;
}

.nrdfy-cart-item__meta .variation,
.nrdfy-cart-item__meta .wc-item-meta {
  display: grid;
  gap: 0.375rem;
  margin: 0;
}

.nrdfy-cart-item__meta .variation {
  grid-template-columns: auto 1fr;
  column-gap: 0.75rem;
}

.nrdfy-cart-item__meta .variation dt,
.nrdfy-cart-item__meta .wc-item-meta li strong {
  font-weight: 600;
}

.nrdfy-cart-item__meta .variation dd,
.nrdfy-cart-item__meta .wc-item-meta li {
  margin: 0;
}

.nrdfy-cart-item__meta .variation dd p {
  margin: 0;
}

.nrdfy-cart-item__bundle-pricing {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 1.75rem;
}

.nrdfy-cart-item__bundle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-cart-item__bundle-row strong {
  color: var(--nrdfy-color-ink);
}

.nrdfy-cart-item__bundle-row.is-total {
  color: var(--nrdfy-color-ink);
}

.nrdfy-cart-item__footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding-top: 1rem;
  border-top: 1px solid rgba(10, 35, 50, 0.12);
}

.nrdfy-cart-item__quantity-label,
.nrdfy-cart-item__price-label {
  display: block;
  color: var(--nrdfy-color-stone);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nrdfy-cart-item__quantity {
  display: grid;
  gap: 0.5rem;
}

.nrdfy-cart-form__coupon input {
  min-height: 48px;
  padding: 0.75rem 1rem;
  border: var(--nrdfy-border);
  background: #ffffff;
}

.nrdfy-qty-stepper {
  display: inline-flex;
  align-items: stretch;
  width: fit-content;
  min-height: 48px;
  border: var(--nrdfy-border);
  background: #ffffff;
}

@keyframes nrdfy-spin {
  to {
    transform: rotate(360deg);
  }
}

.nrdfy-qty-stepper__spinner, .nrdfy-btn-spinner {
  display: none;
  flex: 0 0 auto;
  align-self: center;
  width: 16px;
  height: 16px;
  margin: 0 0.75rem;
  border: 2px solid rgba(10, 35, 50, 0.18);
  border-top-color: var(--nrdfy-color-ink);
  border-radius: 50%;
  animation: nrdfy-spin 700ms linear infinite;
}

.nrdfy-qty-stepper.is-updating .nrdfy-qty-stepper__spinner {
  display: block;
}

/* Generic small inline spinner for buttons that trigger an AJAX/submit action
   (coupon "Applica" buttons, etc.): hidden by default, shown next to the
   label once the button carries .is-loading. */
.nrdfy-btn-spinner {
  border-color: rgba(255, 255, 255, 0.4);
  border-top-color: currentColor;
}

.is-loading > .nrdfy-btn-spinner {
  display: inline-block;
}

.nrdfy-checkout-summary__coupon button .nrdfy-btn-spinner {
  border-color: rgba(10, 35, 50, 0.18);
  border-top-color: var(--nrdfy-color-ink);
}

/* Add-to-cart buttons (single product form, mobile purchase bar CTA, and
   product-card buttons): unlike the coupon spinner above, these fully
   replace the button's content with the spinner while submitting, since the
   click either reloads the page or fires a WooCommerce AJAX add. */
.single_add_to_cart_button.is-loading,
.nrdfy-mobile-purchase-bar__cta.is-loading,
.nrdfy-product-card__add-to-cart.loading {
  position: relative;
  pointer-events: none;
}

.single_add_to_cart_button.is-loading > .nrdfy-btn-content,
.nrdfy-mobile-purchase-bar__cta.is-loading > .nrdfy-btn-content,
.nrdfy-product-card__add-to-cart.loading .nrdfy-product-card__add-to-cart-icon,
.nrdfy-product-card__add-to-cart.loading .nrdfy-product-card__add-to-cart-label {
  visibility: hidden;
}

.nrdfy-product-card__add-to-cart.loading > .nrdfy-btn-spinner {
  display: inline-block;
}

.single_add_to_cart_button.is-loading > .nrdfy-btn-spinner,
.nrdfy-mobile-purchase-bar__cta.is-loading > .nrdfy-btn-spinner,
.nrdfy-product-card__add-to-cart.loading > .nrdfy-btn-spinner {
  position: absolute;
  top: calc(50% - 7px);
  left: calc(50% - 7px);
  /* transform: translate(-50%, -50%); */
  margin: 0;
}

.nrdfy-product-card__add-to-cart .nrdfy-btn-spinner {
  border-color: rgba(10, 35, 50, 0.18);
  border-top-color: var(--nrdfy-color-ink);
}

/* My-account login/register submit buttons: same full-replace treatment as
   the add-to-cart buttons above, since these also just reload the page on
   submit rather than resolving into a response this theme's JS ever sees. */
.woocommerce-form-login__submit.is-loading,
.woocommerce-form-register__submit.is-loading {
  position: relative;
  pointer-events: none;
}

.woocommerce-form-login__submit.is-loading > .nrdfy-btn-content,
.woocommerce-form-register__submit.is-loading > .nrdfy-btn-content {
  visibility: hidden;
}

.woocommerce-form-login__submit.is-loading > .nrdfy-btn-spinner,
.woocommerce-form-register__submit.is-loading > .nrdfy-btn-spinner {
  position: absolute;
  top: calc(50% - 7px);
  left: calc(50% - 7px);
  margin: 0;
}

.nrdfy-qty-stepper__btn {
  flex: 0 0 auto;
  width: 44px;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 1.125rem;
  line-height: 1;
  transition: background-color 180ms ease;
}

.nrdfy-qty-stepper__btn:hover,
.nrdfy-qty-stepper__btn:focus-visible {
  background: var(--nrdfy-color-paper);
}

.nrdfy-qty-stepper__btn:disabled {
  cursor: default;
  opacity: 0.5;
}

.nrdfy-qty-stepper__value {
  flex: 0 0 auto;
  min-width: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-left: 1px solid rgba(10, 35, 50, 0.14);
  border-right: 1px solid rgba(10, 35, 50, 0.14);
  font-weight: 600;
}

.nrdfy-qty-stepper--fixed {
  min-height: 0;
  border: 0;
}

.nrdfy-qty-stepper--fixed .nrdfy-qty-stepper__value {
  border: 0;
  min-width: 0;
  padding: 0;
  font-weight: 400;
}

.nrdfy-linked-gift-box-quantity {
  min-width: 72px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1rem;
  border: var(--nrdfy-border);
  background: #ffffff;
}

.nrdfy-cart-item__price {
  min-width: 9rem;
  text-align: right;
}

.nrdfy-cart-item__price-value {
  display: block;
  margin-top: 0.25rem;
  font-size: 1.125rem;
  font-weight: 700;
}

.nrdfy-cart-item__unit-price {
  display: block;
  margin-top: 0.25rem;
  color: var(--nrdfy-color-stone);
  font-size: 0.875rem;
}

.nrdfy-cart-form__actions {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(10, 35, 50, 0.16);
}

.nrdfy-cart-form__coupon {
  display: grid;
  gap: 1rem;
  min-width: min(100%, 26rem);
  padding: 1.25rem;
  border: 1px solid rgba(10, 35, 50, 0.14);
}

.nrdfy-cart-form__coupon-copy {
  display: grid;
  gap: 0.875rem;
}

.nrdfy-cart-form__coupon-note {
  display: grid;
  grid-template-columns: 1.25rem 1fr;
  gap: 0.75rem;
  align-items: start;
}

.nrdfy-cart-form__coupon-note p {
  margin: 0;
  color: var(--wp--preset--color--ink);
  font-size: 0.9375rem;
  line-height: 1.5;
}

.nrdfy-cart-form__coupon-icon {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--nrdfy-color-ink);
}

.nrdfy-cart-form__coupon-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.nrdfy-cart-form__coupon-icon i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 1.25rem;
  line-height: 1;
}

.nrdfy-cart-form__coupon-fields {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.nrdfy-cart-form__coupon-fields input {
  flex: 1 1 14rem;
}

.nrdfy-cart-form__coupon input::placeholder {
  color: var(--nrdfy-color-stone);
}

.nrdfy-cart-form__coupon button,
.nrdfy-cart-summary__checkout {
  min-height: 48px;
  padding: 0.875rem 1.5rem;
  border: 0;
  background: var(--nrdfy-color-ink-bg);
  color: #ffffff;
}

.nrdfy-cart-form__coupon button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.nrdfy-cart-form__coupon button:disabled {
  cursor: default;
  opacity: 0.7;
}

.nrdfy-cart-summary {
  position: sticky;
  top: calc(var(--nrdfy-header-height) + 1.25rem);
}

.nrdfy-cart-summary__card {
  padding: 1.75rem;
  background: var(--nrdfy-color-paper);
}

.nrdfy-cart-summary__title {
  margin: 0;
  font-size: 1.625rem;
  font-weight: 400;
}

.nrdfy-cart-summary__text {
  margin: 0.75rem 0 0;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-cart-summary__rows {
  display: grid;
  gap: 0.875rem;
  margin-top: 1.5rem;
}

.nrdfy-cart-summary__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.nrdfy-cart-summary__row strong {
  font-weight: 700;
}

.nrdfy-cart-summary__shipping,
.nrdfy-cart-summary__shipping p {
  margin: 0;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-cart-summary__shipping {
  max-width: 16rem;
  text-align: right;
}

.nrdfy-cart-summary__shipping ul {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0 0;
}

.nrdfy-cart-summary__shipping li + li {
  margin-top: 0.5rem;
}

.nrdfy-cart-summary__shipping label {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.5rem;
}

.nrdfy-cart-summary__shipping .woocommerce-shipping-destination,
.nrdfy-cart-summary__shipping .shipping-calculator-button {
  margin-top: 0.5rem;
}

.nrdfy-cart-summary__shipping .shipping-calculator-button {
  display: inline-block;
  color: inherit;
  text-decoration: underline;
}

.nrdfy-cart-summary__divider {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(10, 35, 50, 0.16);
}

.nrdfy-cart-summary__checkout {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.5rem;
  text-decoration: none;
}

.nrdfy-cart-summary__benefits {
  display: grid;
  gap: 0.875rem;
  list-style: none;
  padding: 0;
  margin: 1.25rem 0 0;
}

.nrdfy-cart-summary__benefits li {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding-top: 0.875rem;
  border-top: 1px solid rgba(10, 35, 50, 0.12);
}

.nrdfy-cart-summary__benefits li i {
  flex: 0 0 auto;
  font-size: 1.125rem;
  color: var(--nrdfy-color-stone);
}

.nrdfy-cart-summary__benefits li:first-child {
  padding-top: 0;
  border-top: 0;
}

.nrdfy-cart-page .woocommerce-notices-wrapper {
  margin-bottom: 1.5rem;
}

.nrdfy-cart-page .nrdfy-related-strip {
  padding-top: 4rem;
}

.nrdfy-archive-header,
.nrdfy-empty-state {
  padding: 4rem 0 2rem;
}

.nrdfy-cart-empty {
  padding: 4rem 0 5rem;
}

.nrdfy-cart-empty__card {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  gap: 2rem;
  align-items: stretch;
}

.nrdfy-cart-empty__content {
  display: grid;
  align-content: center;
}

.nrdfy-cart-empty__text {
  max-width: 34rem;
  margin: 0;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-cart-empty__actions {
  display: flex;
  gap: 0.875rem;
  flex-wrap: wrap;
  padding-top: 0.5rem;
  margin-top: 2rem;
}

.nrdfy-cart-empty__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.875rem 1.5rem;
  border: var(--nrdfy-border);
  color: inherit;
  text-decoration: none;
  background: #ffffff;
}

.nrdfy-cart-empty__button--primary {
  border: 0;
  background: var(--nrdfy-color-ink-bg);
  color: #ffffff;
}

.nrdfy-cart-empty__visual {
  min-height: 22rem;
  background:
    radial-gradient(circle at 20% 18%, rgba(216, 194, 188, 0.68), transparent 32%),
    radial-gradient(circle at 80% 30%, rgba(255, 213, 189, 0.58), transparent 30%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(247, 243, 238, 0.96));
  position: relative;
  overflow: hidden;
}

.nrdfy-cart-empty__visual::before,
.nrdfy-cart-empty__visual::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(10, 35, 50, 0.12);
  border-radius: 999px;
}

.nrdfy-cart-empty__visual::before {
  width: 12rem;
  height: 8rem;
  right: 2.5rem;
  top: 2.5rem;
  background: rgba(255, 255, 255, 0.5);
  transform: rotate(16deg);
}

.nrdfy-cart-empty__visual::after {
  width: 9rem;
  height: 11rem;
  left: 2.5rem;
  bottom: 2rem;
  background: rgba(255, 255, 255, 0.32);
  transform: rotate(-12deg);
}

.woocommerce-form-coupon-toggle,
.woocommerce-form-login-toggle {
  width: var(--nrdfy-shell);
  margin: 1.5rem auto 0;
}

.checkout_coupon,
.woocommerce-form-login {
  width: var(--nrdfy-shell);
  margin: 1rem auto 0;
  padding: 1.5rem;
  border: 1px solid rgba(10, 35, 50, 0.14);
  background: var(--nrdfy-color-paper);
}

.checkout_coupon p,
.woocommerce-form-login p {
  margin-top: 0;
}

.checkout_coupon .form-row-last,
.checkout_coupon .form-row-first,
.woocommerce-form-login .form-row-last,
.woocommerce-form-login .form-row-first {
  float: none;
  width: 100%;
}

.nrdfy-checkout {
  padding: 1.5rem 0 5rem;
}

.nrdfy-checkout__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(10, 35, 50, 0.16);
}

.nrdfy-checkout__eyebrow {
  margin: 0;
  color: var(--nrdfy-color-accent);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nrdfy-checkout__title {
  margin: 0.625rem 0 0;
  font-size: 2.625rem;
  font-weight: 400;
}

.nrdfy-checkout__summary {
  max-width: 30rem;
  margin: 0;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-checkout__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
  gap: 2rem;
  align-items: start;
  padding-top: 2rem;
}

.nrdfy-checkout__main,
.nrdfy-checkout__sections {
  display: grid;
  gap: 1.5rem;
  min-width: 0;
}

.nrdfy-checkout__sidebar {
  display: grid;
  gap: 1.5rem;
  min-width: 0;
  position: sticky;
  top: calc(var(--nrdfy-header-height) + 1.25rem);
}

.nrdfy-checkout-box {
  border: 1px solid rgba(10, 35, 50, 0.14);
  background: #ffffff;
}

.nrdfy-checkout-box__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.5rem 1.5rem 0;
}

.nrdfy-checkout-box__header h2,
.nrdfy-checkout-summary__title {
  margin: 0;
  font-size: 1.625rem;
  font-weight: 400;
}

.nrdfy-checkout-box__header p {
  margin: 0.625rem 0 0;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-checkout-box__link {
  flex: 0 0 auto;
  font-size: 0.875rem;
  color: var(--nrdfy-color-mauve);
  text-decoration: none;
}

.nrdfy-checkout-box__link:hover {
  text-decoration: underline;
}

.nrdfy-checkout-contact-card {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 52px;
  padding: 0.875rem 1rem;
  border: 1px solid rgba(10, 35, 50, 0.28);
  border-radius: var(--nrdfy-radius);
  background: var(--nrdfy-color-paper);
}

.nrdfy-checkout-contact-card__lede {
  color: var(--nrdfy-color-stone);
}

.nrdfy-checkout-contact-card__email {
  font-weight: 600;
}

.nrdfy-checkout-contact-card__logout {
  margin-left: auto;
  font-size: 0.8125rem;
  color: var(--nrdfy-color-mauve);
  text-decoration: none;
}

.nrdfy-checkout-contact-card__logout:hover {
  text-decoration: underline;
}

.nrdfy-checkout-summary__coupon {
  display: flex;
  width: 100%;
  gap: 0.625rem;
  padding: 1.1rem 0;
  border-top: 1px solid rgba(10, 35, 50, 0.14);
}

.nrdfy-checkout-summary__coupon input {
  flex: 1;
  min-width: 0;
  min-height: 46px;
  padding: 0 1rem;
  border: 1px solid rgba(10, 35, 50, 0.28);
  border-radius: var(--nrdfy-radius);
  background: #ffffff;
  font-size: 0.9375rem;
  color: inherit;
}

.nrdfy-checkout-summary__coupon input::placeholder {
  color: var(--nrdfy-color-stone);
}

.nrdfy-checkout-summary__coupon input:focus {
  outline: 2px solid var(--nrdfy-color-mauve);
  outline-offset: -1px;
}

.nrdfy-checkout-summary__coupon button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  flex: 0 0 auto;
  min-width: 88px;
  min-height: 46px;
  padding: 0 1.25rem;
  border: 1px solid rgba(10, 35, 50, 0.28);
  border-radius: var(--nrdfy-radius);
  background: #ffffff;
  color: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  transition: background-color 180ms ease, border-color 180ms ease;
}

.nrdfy-checkout-summary__coupon button:hover,
.nrdfy-checkout-summary__coupon button:focus-visible {
  border-color: var(--nrdfy-color-ink);
  background: var(--nrdfy-color-paper);
}

.nrdfy-checkout-box__toggle {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid rgba(10, 35, 50, 0.14);
  border-radius: 999px;
  background: transparent;
  color: inherit;
  transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.nrdfy-checkout-box__toggle:hover,
.nrdfy-checkout-box__toggle:focus-visible {
  border-color: currentColor;
  background: rgba(10, 35, 50, 0.04);
}

.nrdfy-checkout-box__toggle-icon {
  font-size: 1.375rem;
  line-height: 1;
}

.nrdfy-checkout-box.is-open .nrdfy-checkout-box__toggle {
  background: var(--nrdfy-color-paper);
}

.nrdfy-checkout-box__body {
  padding: 1.5rem;
}

.nrdfy-checkout-box__empty {
  margin: 0;
  color: var(--nrdfy-color-mauve);
}

/* Stateless loading skeletons (checkout/cart): shaped placeholders shown while
   the async fragment request is in flight, instead of a bare "loading" message,
   so the page already has the rough form it will have once real content lands. */
@keyframes nrdfy-skeleton-pulse {
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.45;
  }
}

.nrdfy-skeleton-line,
.nrdfy-skeleton-field,
.nrdfy-skeleton-row,
.nrdfy-skeleton-thumb {
  display: block;
  background: rgba(10, 35, 50, 0.09);
  border-radius: var(--nrdfy-radius);
  animation: nrdfy-skeleton-pulse 1.4s ease-in-out infinite;
}

.nrdfy-skeleton-line {
  height: 0.9rem;
  width: 70%;
}

.nrdfy-skeleton-line--label {
  width: 40%;
  height: 1.1rem;
}

.nrdfy-skeleton-line--short {
  width: 45%;
}

.nrdfy-skeleton-line--price {
  width: 20%;
  flex: 0 0 auto;
}

.nrdfy-skeleton-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1rem;
}

.nrdfy-skeleton-field {
  grid-column: span 3;
  height: 52px;
}

.nrdfy-skeleton-field--wide {
  grid-column: 1 / -1;
}

.nrdfy-skeleton-field--third {
  grid-column: span 2;
}

.nrdfy-skeleton-stack {
  display: grid;
  gap: 0.75rem;
}

.nrdfy-skeleton-row {
  height: 62px;
}

.nrdfy-skeleton-thumb {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
}

.nrdfy-skeleton-summary-item,
.nrdfy-skeleton-cart-item {
  display: flex;
  align-items: center;
  gap: 0.875rem;
}

.nrdfy-skeleton-cart-item {
  padding: 1rem;
  border: 1px solid rgba(10, 35, 50, 0.1);
}

.nrdfy-skeleton-cart-item__body {
  flex: 1;
  min-width: 0;
}

.nrdfy-skeleton-summary-item .nrdfy-skeleton-line {
  width: 100%;
}

.nrdfy-checkout .form-row {
  margin: 0 0 .3rem;
}

.nrdfy-checkout .woocommerce-billing-fields__field-wrapper,
.nrdfy-checkout .woocommerce-shipping-fields__field-wrapper,
.nrdfy-checkout .woocommerce-account-fields__field-wrapper,
.nrdfy-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1rem;
}

.nrdfy-checkout .form-row-wide,
.nrdfy-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
.nrdfy-checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide,
.nrdfy-checkout .woocommerce-account-fields__field-wrapper .form-row-wide,
.nrdfy-checkout .woocommerce-additional-fields__field-wrapper .form-row-wide {
  grid-column: 1 / -1;
}

.nrdfy-checkout .woocommerce-billing-fields__field-wrapper > .form-row {
  grid-column: span 3;
}

/* CAP/Città/Provincia sit in a single three-up row (two grid columns each,
   out of the wrapper's six, so three of them fill the row exactly). */
.nrdfy-checkout .woocommerce-billing-fields__field-wrapper > .nrdfy-checkout-field--third {
  grid-column: span 2;
}

.nrdfy-checkout .woocommerce-billing-fields__field-wrapper > #billing_email_field,
.nrdfy-checkout .woocommerce-billing-fields__field-wrapper > .mailchimp-newsletter {
  grid-column: 1 / -1;
}

.nrdfy-checkout .woocommerce-additional-fields__field-wrapper > .form-row {
  grid-column: 1 / -1;
}

.nrdfy-checkout .form-row label,
.nrdfy-checkout .woocommerce-shipping-fields h3,
.nrdfy-checkout .woocommerce-additional-fields h3 {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
}

.nrdfy-checkout .woocommerce-shipping-fields h3,
.nrdfy-checkout .woocommerce-additional-fields h3 {
  margin-top: 0;
}

.nrdfy-checkout input:not([type="checkbox"]):not([type="radio"]),
.nrdfy-checkout select,
.nrdfy-checkout textarea {
  width: 100%;
  min-height: 52px;
  padding: 0.875rem 1rem;
  border: var(--nrdfy-border);
  border-radius: 0;
  background: #ffffff;
  color: inherit;
}

.nrdfy-checkout textarea {
  min-height: 128px;
  resize: vertical;
}

.nrdfy-checkout #wc-stripe-hidden-style-input {
  width: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  padding: 0 !important;
  border: 0 !important;
}

.nrdfy-checkout #payment .woocommerce-SavedPaymentMethods-saveNew {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.nrdfy-checkout #payment .woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"] {
  margin: 0;
  flex: 0 0 auto;
}

.nrdfy-checkout #payment .woocommerce-SavedPaymentMethods-saveNew label {
  display: inline-flex !important;
  align-items: center;
  min-width: 0;
  margin: 0;
}

.nrdfy-checkout .select2-container {
  width: 100% !important;
}

.nrdfy-checkout .select2-container .select2-selection--single {
  width: 100%;
  height: 52px;
  display: flex;
  align-items: center;
  padding: 0.875rem 2.5rem 0.875rem 1rem;
  border: var(--nrdfy-border);
  border-radius: 0;
  background: #ffffff;
}

.nrdfy-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0;
  line-height: 1.2;
}

.nrdfy-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  right: 0.75rem;
  height: 100%;
}

.nrdfy-checkout .woocommerce-invalid input,
.nrdfy-checkout .woocommerce-invalid select,
.nrdfy-checkout .woocommerce-invalid textarea,
.nrdfy-checkout .woocommerce-invalid .select2-selection--single {
  border-color: #a45563;
}

.nrdfy-checkout-toggle {
  margin-bottom: 1rem;
}

.nrdfy-checkout-toggle label,
.nrdfy-checkout .create-account > label,
.nrdfy-checkout .payment_box .form-row label {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
}

.nrdfy-checkout-toggle input,
.nrdfy-checkout .create-account input {
  margin: 0;
}

.nrdfy-checkout .mailchimp-newsletter {
  margin: 0;
}

.nrdfy-checkout .mailchimp-newsletter label {
  padding: 0.875rem 1rem;
  border: var(--nrdfy-border);
  border-radius: var(--nrdfy-radius);
  background: #ffffff;
  margin-top: 1rem
}

.nrdfy-checkout .mailchimp-newsletter input {
  margin: 0 .5rem 0 0;
}

.nrdfy-checkout .mailchimp-newsletter span {
  color: var(--nrdfy-color-mauve);
  font-size: 0.9375rem;
  line-height: 1.5;
}

.nrdfy-checkout-shipping-methods {
  display: grid;
  gap: 0.875rem;
}

.nrdfy-checkout-shipping-methods__group {
  display: grid;
  gap: 0.875rem;
}

.nrdfy-checkout-shipping-methods__empty {
  margin: 0;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-checkout-shipping-method {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 0.875rem;
  align-items: start;
  padding: 1rem;
  border: var(--nrdfy-border);
  cursor: pointer;
}

.nrdfy-checkout-shipping-method input {
  position: absolute;
  opacity: 0;
}

.nrdfy-checkout-shipping-method__indicator {
  width: 16px;
  height: 16px;
  border: 1px solid currentColor;
  border-radius: 999px;
  margin-top: 0.125rem;
}

.nrdfy-checkout-shipping-method input:checked + .nrdfy-checkout-shipping-method__indicator {
  box-shadow: inset 0 0 0 3px #ffffff, inset 0 0 0 10px var(--nrdfy-color-ink);
}

.nrdfy-checkout-shipping-method__label {
  display: block;
  font-size: 0.9375rem;
}

.nrdfy-checkout-packlink-dropoff[hidden] {
  display: none !important;
}

.nrdfy-checkout-packlink-dropoff {
  margin-bottom: 1.5rem;
}

.nrdfy-checkout-packlink-dropoff__card {
  margin-top: 16px;
  padding: 1.25rem;
  border: 1px solid rgba(10, 35, 50, 0.14);
  background: var(--nrdfy-color-paper);
}

.nrdfy-checkout-packlink-dropoff__intro h3 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 500;
}

.nrdfy-checkout-packlink-dropoff__intro p {
  margin: 0.5rem 0 0;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-checkout-packlink-dropoff__content {
  margin-top: 1rem;
  display: flex;
  align-items: center;
  gap: 16px;
}

.nrdfy-checkout-packlink-dropoff #packlink-drop-off-picker {
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding: 0.875rem 1.25rem;
  border: var(--nrdfy-border);
  background: #ffffff;
  color: inherit;
  text-align: left;
}

.nrdfy-checkout-packlink-dropoff .woocommerce-shipping-destination {
  margin: 0.875rem 0 0;
  color: var(--nrdfy-color-stone);
  line-height: 1.6;
}

.nrdfy-checkout-packlink-dropoff .woocommerce-shipping-destination strong {
  color: var(--nrdfy-color-ink);
}

#pl-picker-modal {
  z-index: 1400;
}

.nrdfy-checkout #payment {
  background: transparent;
  border: 0;
}

.nrdfy-checkout #payment ul.payment_methods {
  display: grid;
  gap: 0.875rem;
  padding: 0;
  margin: 0;
  list-style: none;
  border: 0;
}

.nrdfy-checkout #payment ul.payment_methods > li {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  column-gap: 0.75rem;
  row-gap: 0.875rem;
  padding: 1rem;
  border: var(--nrdfy-border);
}

.nrdfy-checkout #payment .wc_payment_method > input[type="radio"] {
  grid-column: 1;
  margin: 0;
  align-self: center;
}

.nrdfy-checkout #payment .wc_payment_method > label {
  grid-column: 2;
  display: flex;
  min-width: 0;
  margin: 0;
  font-weight: 600;
}

.nrdfy-checkout #payment .wc_payment_method > label img,
.nrdfy-checkout #payment .wc_payment_method > label .about_paypal {
  margin-left: 0.5rem;
}

.nrdfy-checkout #payment div.payment_box {
  grid-column: 2 / -1;
  margin: 0.875rem 0 0;
  padding: 1rem;
  background: var(--nrdfy-color-paper);
  color: inherit;
}

.nrdfy-checkout #payment div.payment_box::before {
  display: none;
}

.nrdfy-checkout #payment .place-order {
  margin: 0;
  padding: 1.5rem 0 0;
}

.nrdfy-checkout #payment #place_order {
  width: 100%;
  min-height: 52px;
  padding: 0.875rem 1.5rem;
  border: 0;
  background: var(--nrdfy-color-ink-bg);
  color: #ffffff;
}

.nrdfy-checkout #payment .ppc-button-ppcp-googlepay {
  width: 100%;
}

.nrdfy-order-pay__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.nrdfy-order-pay__table th,
.nrdfy-order-pay__table td {
  padding: 1rem 0;
  border-bottom: 1px solid rgba(10, 35, 50, 0.12);
  vertical-align: top;
}

.nrdfy-order-pay__table th {
  color: var(--nrdfy-color-mauve);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: left;
}

.nrdfy-order-pay__table td.product-quantity,
.nrdfy-order-pay__table td.product-subtotal,
.nrdfy-order-pay__table th.product-quantity,
.nrdfy-order-pay__table th.product-total {
  text-align: right;
  white-space: nowrap;
}

.nrdfy-order-pay__table .wc-item-meta {
  margin: 0.5rem 0 0;
  padding: 0;
  list-style: none;
}

.nrdfy-order-pay__table .wc-item-meta li + li {
  margin-top: 0.25rem;
}

.nrdfy-order-pay__table .product-name,
.nrdfy-order-pay__table .product-name *,
.nrdfy-order-pay__table .wc-item-meta,
.nrdfy-order-pay__table .wc-item-meta p {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.nrdfy-order-pay__table .wc-item-meta p {
  margin: 0;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-order-pay__note {
  gap: 0.5rem;
  padding: 1.25rem;
  border: 1px solid rgba(10, 35, 50, 0.12);
  background: var(--nrdfy-color-paper);
}

.nrdfy-order-pay__note p:last-child {
  margin: 0;
}

.woocommerce-order-pay .woocommerce-notices-wrapper,
.woocommerce-order-pay .woocommerce-NoticeGroup {
  width: min(var(--nrdfy-shell), calc(100% - 2rem));
  margin: 1.5rem auto 0;
}

.woocommerce-order-pay fieldset {
  border: 0;
}

.woocommerce-order-pay .woocommerce-notices-wrapper:empty {
  display: none;
}

.nrdfy-order-pay-auth {
  padding: 1.5rem 0 5rem;
}

.nrdfy-order-pay-auth__single {
  width: min(720px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 1.5rem;
}

.nrdfy-order-pay-auth__intro {
  display: grid;
  gap: 0.75rem;
}

.nrdfy-order-pay-auth__intro p:last-child {
  margin: 0;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-order-pay-auth__card {
  display: grid;
  gap: 1.25rem;
}

.nrdfy-order-pay-auth .woocommerce-form-login,
.nrdfy-order-pay-auth .woocommerce-verify-email {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  display: grid;
  gap: 1rem;
}

.nrdfy-order-pay-auth .woocommerce-form-login p,
.nrdfy-order-pay-auth .woocommerce-verify-email p {
  margin: 0;
}

.nrdfy-order-pay-auth .woocommerce-form-login .form-row-first,
.nrdfy-order-pay-auth .woocommerce-form-login .form-row-last {
  float: none;
  width: 100%;
}

.nrdfy-order-pay-auth .woocommerce-form-login .clear {
  display: none;
}

.nrdfy-order-pay-auth .woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}

.nrdfy-order-pay-auth .woocommerce-form-login__rememberme input {
  margin: 0;
}

.nrdfy-order-pay-auth .woocommerce-form-login__submit,
.nrdfy-order-pay-auth .woocommerce-verify-email button {
  width: 100%;
  min-height: 52px;
}

.nrdfy-order-pay-auth .lost_password {
  margin: 0;
}

.nrdfy-order-pay-auth .woocommerce-info,
.nrdfy-order-pay-auth .woocommerce-error,
.nrdfy-order-pay-auth .woocommerce-message {
  margin: 0;
}


.woocommerce-order-received .woocommerce-notices-wrapper,
.woocommerce-order-received .woocommerce-NoticeGroup {
  width: min(var(--nrdfy-shell), calc(100% - 2rem));
  margin: 1.5rem auto 0;
}

.woocommerce-order-received .woocommerce-notices-wrapper:empty {
  display: none;
}

.nrdfy-order-received-page__layout {
  align-items: start;
}

.nrdfy-order-received-page .woocommerce-thankyou-order-received,
.nrdfy-order-received-page .woocommerce-thankyou-order-failed {
  margin: 0;
  color: var(--nrdfy-color-mauve);
  line-height: 1.7;
}

.nrdfy-order-received-page__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.875rem;
  margin-top: 1.5rem;
}

.nrdfy-order-received-page__back {
  margin: 1.25rem 0 0;
}

.nrdfy-order-received-page__overview {
  display: grid;
  gap: 0.875rem;
  margin: 0;
  padding: 1.25rem 0 0;
  list-style: none;
}

.nrdfy-order-received-page__overview li {
  display: grid;
  gap: 0.25rem;
  padding-top: 0.875rem;
  border-top: 1px solid rgba(10, 35, 50, 0.12);
}

.nrdfy-order-received-page__overview li:first-child {
  padding-top: 0;
  border-top: 0;
}

.nrdfy-order-received-page__overview span {
  font-size: 0.8125rem;
  color: var(--nrdfy-color-mauve);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.nrdfy-order-received-page__overview strong {
  font-size: 1rem;
  font-weight: 600;
}

.nrdfy-order-received-page__summary-card {
  position: sticky;
  top: calc(var(--nrdfy-header-height) + 1.25rem);
}

.nrdfy-order-received-page__gateway > :first-child,
.nrdfy-order-received-page__details > :first-child {
  margin-top: 0;
}

.nrdfy-order-received-page__gateway > :last-child,
.nrdfy-order-received-page__details > :last-child {
  margin-bottom: 0;
}

.nrdfy-order-received-page .woocommerce-order-details,
.nrdfy-order-received-page .woocommerce-customer-details {
  margin: 0;
  padding-top: 1.5rem;
}

.nrdfy-order-received-page .woocommerce-order-details:first-child,
.nrdfy-order-received-page .woocommerce-customer-details:first-child {
  padding-top: 0;
}

.nrdfy-order-received-page .woocommerce-order-details__title,
.nrdfy-order-received-page .woocommerce-column__title {
  margin: 0 0 1rem;
  font-size: 1.5rem;
  font-weight: 400;
}

.nrdfy-order-received-page table.shop_table,
.nrdfy-order-received-page table.woocommerce-table,
.nrdfy-order-received-page table.woocommerce-table--order-details {
  width: 100%;
  border-collapse: collapse;
  border: 0;
}

.nrdfy-order-received-page table.shop_table th,
.nrdfy-order-received-page table.shop_table td,
.nrdfy-order-received-page table.woocommerce-table th,
.nrdfy-order-received-page table.woocommerce-table td,
.nrdfy-order-received-page table.woocommerce-table--order-details th,
.nrdfy-order-received-page table.woocommerce-table--order-details td {
  padding: 1rem 0;
  border-bottom: 1px solid rgba(10, 35, 50, 0.12);
  text-align: left;
  vertical-align: top;
}

.nrdfy-order-received-page table.shop_table thead th,
.nrdfy-order-received-page table.woocommerce-table thead th,
.nrdfy-order-received-page table.woocommerce-table--order-details thead th {
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-order-received-page table.shop_table tfoot th,
.nrdfy-order-received-page table.shop_table tfoot td,
.nrdfy-order-received-page table.woocommerce-table tfoot th,
.nrdfy-order-received-page table.woocommerce-table tfoot td,
.nrdfy-order-received-page table.woocommerce-table--order-details tfoot th,
.nrdfy-order-received-page table.woocommerce-table--order-details tfoot td {
  font-weight: 700;
}

.nrdfy-order-received-page .wc-item-meta,
.nrdfy-order-received-page .woocommerce-table__product-name .wc-item-meta {
  margin: 0.5rem 0 0;
  padding: 0;
  list-style: none;
}

.nrdfy-order-received-page .wc-item-meta li + li {
  margin-top: 0.25rem;
}

.nrdfy-order-received-page .wc-item-meta p,
.nrdfy-order-received-page address {
  margin: 0;
  color: var(--nrdfy-color-mauve);
  line-height: 1.7;
}

.nrdfy-order-received-page .woocommerce-order-downloads,
.nrdfy-order-received-page .woocommerce-bacs-bank-details,
.nrdfy-order-received-page .wc-bacs-bank-details {
  margin: 0;
}

.nrdfy-order-received-page .woocommerce-bacs-bank-details ul,
.nrdfy-order-received-page .wc-bacs-bank-details ul {
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.nrdfy-order-received-page .woocommerce-bacs-bank-details li,
.nrdfy-order-received-page .wc-bacs-bank-details li {
  padding: 0.75rem 0;
  border-top: 1px solid rgba(10, 35, 50, 0.12);
}

.nrdfy-order-received-page .woocommerce-bacs-bank-details li:first-child,
.nrdfy-order-received-page .wc-bacs-bank-details li:first-child {
  border-top: 0;
  padding-top: 0;
}

.nrdfy-checkout-summary__card {
  padding: 1.75rem;
  background: var(--nrdfy-color-paper);
}

.nrdfy-checkout__layout #wc-stripe-express-checkout-button-separator {
    margin: -1rem 0 !important;
}

.nrdfy-checkout-summary__eyebrow {
  margin: 0;
  color: var(--nrdfy-color-accent);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nrdfy-checkout-summary__items {
  display: grid;
  gap: 1rem;
  padding-top: 1.25rem;
}

.nrdfy-checkout-summary__item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 0.875rem;
  align-items: center;
}

.nrdfy-checkout-summary__thumb {
  position: relative;
  display: block;
  background: #ffffff;
}

.nrdfy-checkout-summary__thumb img,
.nrdfy-checkout-summary__thumb-empty {
  width: 100%;
  aspect-ratio: 72 / 82;
  display: block;
  object-fit: cover;
}

.nrdfy-checkout-summary__thumb-empty {
  background: linear-gradient(135deg, rgba(247, 243, 238, 0.95), rgba(232, 221, 215, 0.85));
}

.nrdfy-checkout-summary__qty {
  position: absolute;
  right: -0.375rem;
  top: -0.375rem;
  min-width: 1.5rem;
  height: 1.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.375rem;
  border-radius: 999px;
  background: var(--nrdfy-color-ink-bg);
  color: #ffffff;
  font-size: 0.75rem;
}

.nrdfy-checkout-summary__item-content h3 {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 500;
}

.nrdfy-checkout-summary__item-content p {
  margin: 0.375rem 0 0;
  color: var(--nrdfy-color-stone);
  font-size: 0.8125rem;
}

.nrdfy-checkout-summary__item-price {
  font-weight: 700;
  white-space: nowrap;
}

.nrdfy-checkout-summary__totals,
.nrdfy-checkout-summary__footer {
  display: grid;
  gap: 0.875rem;
  padding-top: 1.25rem;
}

.nrdfy-checkout-summary__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.nrdfy-checkout-summary__row.is-total {
  padding-top: 1rem;
  border-top: 1px solid rgba(10, 35, 50, 0.14);
  font-size: 1.125rem;
}

.nrdfy-checkout-summary__shipping {
  text-align: right;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-checkout-summary__shipping p {
  margin: 0;
}

.nrdfy-checkout-summary__shipping p + p {
  margin-top: 0.375rem;
}

.nrdfy-checkout-summary__note {
  margin: 0;
  color: var(--nrdfy-color-mauve);
  font-size: 0.875rem;
}

.nrdfy-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  padding-bottom: 4rem;
}

@media (max-width: 1200px) {
  .nrdfy-site-header__top {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr) auto auto;
    gap: 1rem;
  }
  .nrdfy-category-hero__inner .nrdfy-category-hero__track {
    grid-auto-columns: calc((100% - 4rem) / 4);
  }

  .nrdfy-site-header__top > .nrdfy-site-search {
    max-width: none;
    margin-inline: 0;
  }

  .nrdfy-site-header--topbar .nrdfy-site-header__top {
    grid-template-columns: 220px minmax(0, 1fr) auto auto auto;
  }

  .nrdfy-primary-nav {
    display: none;
  }

  .nrdfy-mobile-toggle {
    display: inline-flex;
    justify-self: end;
  }

  .nrdfy-mobile-nav {
    display: block;
  }

  .nrdfy-front-hero__content {
    padding-top: calc(var(--nrdfy-header-height) + 3.5rem);
  }

  .nrdfy-megamenu {
    display: none;
  }

  .nrdfy-mobile-nav .nrdfy-megamenu {
    display: block;
  }

  .nrdfy-site-footer__main {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .nrdfy-site-footer__brand {
    grid-column: 1 / -1;
    order: -1;
  }

  .nrdfy-category-hero__inner,
  .nrdfy-cart-layout,
  .nrdfy-cart-empty__card,
  .nrdfy-checkout__layout,
  .nrdfy-style-strip__grid,
  .wp-block-nrdfy-product-carousel.is-lookbook .nrdfy-product-collection__body,
  .wp-block-nrdfy-packaging-hero,
  .nrdfy-packaging-hero {
    grid-template-columns: 1fr;
  }

  .nrdfy-catalog-products__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .nrdfy-bundle-box__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nrdfy-category-hero__track {
    grid-auto-columns: calc((100% - 3rem) / 6);
  }

  .nrdfy-cart-summary {
    position: static;
  }

  .nrdfy-checkout__sidebar {
    position: static;
  }

  .nrdfy-product-collection__grid,
  .nrdfy-style-strip__cards {
    grid-template-columns: repeat(var(--nrdfy-grid-cols-t, 2), minmax(0, 1fr));
  }

  .wp-block-nrdfy-product-carousel--post-grid.is-carousel .nrdfy-product-collection__grid--carousel {
    --nrdfy-visible-cols: var(--nrdfy-grid-cols-t, 2);
  }
}

@media (max-width: 900px) {
  .nrdfy-product-page__top {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .nrdfy-product-gallery {
    display: flex;
    grid-template-columns: none;
    gap: 0.625rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    position: initial;
  }

  .nrdfy-product-gallery::-webkit-scrollbar {
    display: none;
  }

  .nrdfy-product-gallery__item,
  .nrdfy-product-gallery__item--main {
    grid-row: auto;
    flex: 0 0 auto;
    width: 90%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .nrdfy-product-gallery__item--main img,
  .nrdfy-product-gallery__item:not(.nrdfy-product-gallery__item--main) img {
    aspect-ratio: 4 / 5;
  }

  .nrdfy-product-gallery__dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    margin: 1rem 0 2rem;
  }

  .nrdfy-product-gallery__dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--nrdfy-color-rose);
    transition: background var(--nrdfy-transition), transform var(--nrdfy-transition);
  }

  .nrdfy-product-gallery__dot.is-active {
    background: var(--nrdfy-color-ink-bg);
    transform: scale(1.25);
  }

  .nrdfy-product-page {
    padding-bottom: 5.5rem;
  }

  .nrdfy-mobile-purchase-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    position: fixed;
    inset: auto 0 0 0;
    z-index: 65;
    padding: 0.75rem 1.25rem calc(0.75rem + env(safe-area-inset-bottom, 0px));
    background: #ffffff;
    border-top: 1px solid #ddd;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    box-shadow: 0px -5px 20px rgba(0,0,0,.1);
  }

  .nrdfy-mobile-purchase-bar__info {
    min-width: 0;
  }

  .nrdfy-mobile-purchase-bar__title {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .nrdfy-mobile-purchase-bar__price {
    margin: 0.125rem 0 0;
    font-size: 1rem;
    font-weight: 700;
  }

  .nrdfy-mobile-purchase-bar__price del {
    margin-right: 0.375rem;
    color: var(--nrdfy-color-stone);
    font-weight: 400;
  }

  .nrdfy-mobile-purchase-bar__price ins {
    text-decoration: none;
  }

  .nrdfy-mobile-purchase-bar__cta {
    --fill-0: #ffffff;
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: var(--nrdfy-color-ink-bg);
    color: #ffffff;
  }

  .nrdfy-mobile-purchase-bar__cta .nrdfy-btn-content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .nrdfy-mobile-purchase-bar__cta svg {
    width: 20px;
    height: 20px;
  }

  .nrdfy-mobile-purchase-bar__notice {
    position: absolute;
    left: 1.25rem;
    right: 1.25rem;
    bottom: 100%;
    margin-bottom: 0.5rem;
  }

  .nrdfy-mobile-purchase-bar__notice .woocommerce-notices-wrapper {
    margin-bottom: 0;
  }

  .nrdfy-product-summary__purchase.nrdfy-drawer--purchase {
    position: fixed;
    inset: 0;
    margin-top: 0;
    height: 100%;
  }

  .nrdfy-product-summary__purchase.nrdfy-drawer--purchase[hidden] {
    display: none;
  }

  .nrdfy-drawer--purchase .nrdfy-drawer__overlay {
    display: block;
  }

  .nrdfy-drawer--purchase .nrdfy-drawer__close {
    display: block;
    position: absolute;
    right: 1rem;
    top: 0.5rem;
    z-index: 1;
  }

  .nrdfy-drawer--purchase .nrdfy-drawer__panel--purchase {
    position: absolute;
    inset: auto 0 0 0;
    width: 100%;
    max-height: 85vh;
    overflow-y: auto;
    background: #ffffff;
    padding: 1.5rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom, 0px));
    border-radius: 1rem 1rem 0 0;
    box-shadow: 0 -8px 24px rgba(10, 35, 50, 0.18);
  }
}

@media (min-width: 901px) {
  .nrdfy-product-summary {
    position: sticky;
    top: 0;
  }
}

@media (max-width: 782px) {
  :root {
    --nrdfy-shell: min(100vw - 1.625rem, 393px);
  }

  
  .nrdfy-category-hero__inner .nrdfy-category-hero__track {
    grid-auto-columns: calc((50% - 1rem));
  }

  .nrdfy-site-header {
    padding: 1rem 0;
  }

  .nrdfy-site-header__inner {
    gap: 0;
    width: 100%;
    padding: 0 1.25rem;
  }

  .nrdfy-site-header__top {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 1rem;
  }
  .nrdfy-site-footer__main {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    text-align: center;
  }

  .nrdfy-site-footer__legal {
    justify-content: center;
  }
  .nrdfy-site-footer__credits {
    width: 100%;
    text-align: center;
  }

  .nrdfy-mobile-nav__panel {
    width: min(420px, 100vw);
    padding: 1.25rem 1.25rem 2rem;
  }

  .nrdfy-mobile-nav__submenu {
    right: 1.25rem;
    left: 1.25rem;
  }

  .nrdfy-site-header__top .nrdfy-site-search {
    display: none;
  }

  .nrdfy-site-header--topbar .nrdfy-site-header__top {
    display: flex;
    flex-wrap: wrap;
  }

  .nrdfy-site-header--topbar .nrdfy-logo {
    flex: 1 1 auto;
  }

  .nrdfy-site-header--topbar .nrdfy-site-header__icons {
    flex: 0 0 100%;
    justify-content: flex-end;
    margin-top: 0.75rem;
  }

  .nrdfy-site-header--topbar .nrdfy-search-toggle {
    display: inline-flex;
  }

  .nrdfy-site-header--topbar .nrdfy-lang-switcher--inline {
    display: none;
  }

  .nrdfy-site-header--topbar .nrdfy-lang-switcher--icons {
    display: inline-flex;
    align-items: center;
  }

  .nrdfy-site-header--topbar .nrdfy-mobile-search {
    flex: 0 0 100%;
  }

  .nrdfy-site-header--topbar .nrdfy-mobile-search:not([hidden]) {
    display: block;
    margin-top: 0.75rem;
  }

  .nrdfy-mobile-search .nrdfy-site-search {
    border-bottom: 1px solid currentColor;
  }

  .nrdfy-mobile-search .nrdfy-site-search__icon {
    left: 0;
  }

  .nrdfy-mobile-search .nrdfy-site-search input,
  .nrdfy-mobile-search .nrdfy-site-search .abas-search__input {
    padding-left: 1.75rem;
  }

  .nrdfy-mobile-search button[type="submit"].abas-search__submit {
    left: 0;
  }

  .woocommerce-form-coupon-toggle,
  .woocommerce-form-login-toggle,
  .checkout_coupon,
  .woocommerce-form-login {
    width: var(--nrdfy-shell);
  }

  .nrdfy-header-actions {
    gap: 0.875rem;
  }

  .nrdfy-logo {
    gap: 0.75rem;
  }

  .nrdfy-logo__mark {
    width: 2rem;
    height: 2rem;
    font-size: 0.95rem;
  }

  .nrdfy-logo__wordmark {
    font-size: 1.6rem;
  }

  .nrdfy-logo__image {
    height: 2.9rem;
  }

  .nrdfy-front-hero {
    min-height: 448px;
  }

  .nrdfy-front-hero__title {
    max-width: 45vw;
    min-width: 290px;
    font-size: 2.5rem;
  }

  .nrdfy-category-hero {
    padding-top: 1rem;
  }

  .nrdfy-category-hero__subcategories-header,
  .nrdfy-catalog-toolbar__inner,
  .nrdfy-catalog-pagination,
  .nrdfy-catalog-filters__actions,
  .nrdfy-checkout__header {
    flex-direction: column;
    align-items: flex-start;
  }

  .nrdfy-catalog-toolbar__sort-form,
  .nrdfy-catalog-toolbar__button,
  .nrdfy-catalog-pagination__more,
  .nrdfy-catalog-filters__submit {
    width: 100%;
  }

  .nrdfy-category-hero__track {
    grid-auto-columns: calc(40% + 1rem);
  }

  .wp-block-nrdfy-hero-cover,
  .nrdfy-hero-cover {
    min-height: 257px;
    padding: 2rem 0;
  }

  .nrdfy-hero-cover__title {
    font-size: 2.125rem;
  }

  .wp-block-nrdfy-trust-grid .nrdfy-trust-grid__track,
  .nrdfy-trust-grid .nrdfy-trust-grid__track,
  .wp-block-nrdfy-occasion-grid,
  .nrdfy-occasion-grid,
  .nrdfy-gift-grid,
  .nrdfy-product-collection__grid,
  .nrdfy-style-strip__cards,
  .nrdfy-archive-grid,
  .nrdfy-checkout .woocommerce-billing-fields__field-wrapper,
  .nrdfy-checkout .woocommerce-shipping-fields__field-wrapper,
  .nrdfy-checkout .woocommerce-account-fields__field-wrapper,
  .nrdfy-checkout .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: repeat(var(--nrdfy-grid-cols-m, 1), minmax(0, 1fr));
  }

  .nrdfy-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
  .nrdfy-checkout .woocommerce-billing-fields__field-wrapper > .nrdfy-checkout-field--third {
    grid-column: 1 / -1;
  }

  .nrdfy-skeleton-grid {
    grid-template-columns: 1fr;
  }

  .nrdfy-skeleton-field,
  .nrdfy-skeleton-field--third {
    grid-column: 1 / -1;
  }

  .wp-block-nrdfy-product-carousel--post-grid.is-carousel .nrdfy-product-collection__grid--carousel {
    --nrdfy-visible-cols: var(--nrdfy-grid-cols-m, 1);
  }

  .nrdfy-catalog-products__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nrdfy-product-card__shopable {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  .nrdfy-bundle-box__grid {
    grid-template-columns: 1fr;
  }

  .nrdfy-catalog-filters__price,
  .nrdfy-catalog-filters__swatches {
    grid-template-columns: 1fr;
  }

  .nrdfy-trust-grid:not(.nrdfy-trust-grid--compact) .nrdfy-trust-item {
    border-left: 0;
    padding: 1.1rem 0 0;
    border-top: 1px solid rgba(28, 28, 28, 0.16);
  }

  .nrdfy-trust-grid:not(.nrdfy-trust-grid--compact) .nrdfy-trust-item:first-child {
    border-top: 0;
    padding-top: 0;
  }

  .nrdfy-trust-grid--compact .nrdfy-trust-grid__track {
    position: relative;
    padding: 0.375rem 0;
  }

  .nrdfy-trust-grid--compact .nrdfy-trust-item {
    display: none;
    width: 100%;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.375rem;
    padding: 0 2.5rem;
    border-left: 0;
  }

  .nrdfy-trust-grid--compact .nrdfy-trust-item.is-active {
    display: flex;
  }

  .nrdfy-trust-grid--compact .nrdfy-trust-item h3,
  .nrdfy-trust-grid--compact .nrdfy-trust-item p {
    white-space: normal;
  }

  .nrdfy-trust-grid--compact .nrdfy-trust-grid__nav {
    display: flex;
    position: absolute;
    inset: 0;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
  }

  .nrdfy-trust-grid__arrow {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1f1f1f;
  }

  .nrdfy-trust-grid__arrow-icon {
    width: 12px;
    height: 12px;
  }

  .nrdfy-trust-grid__arrow--prev .nrdfy-trust-grid__arrow-icon {
    transform: rotate(180deg);
  }

  .wp-block-nrdfy-editorial-band,
  .nrdfy-editorial-band,
  .wp-block-nrdfy-newsletter-panel,
  .nrdfy-newsletter-panel {
    padding-inline: 1rem;
  }

  .nrdfy-packaging-hero__content {
    padding: 2rem 1rem;
  }

  .nrdfy-packaging-hero__image {
    min-height: 320px;
  }

  .nrdfy-product-gallery {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: minmax(140px, auto);
  }

  .nrdfy-product-gallery--count-1 {
    grid-template-columns: 1fr;
  }

  .nrdfy-product-page__top.is-gallery-empty .nrdfy-product-summary {
    max-width: none;
  }

  .nrdfy-product-gallery__item--main {
    grid-row: span 1;
    grid-column: 1 / -1;
  }

  .nrdfy-cart-empty {
    padding: 2rem 0 3rem;
  }

  .nrdfy-cart-empty__card {
    padding: 1.25rem;
  }

  .nrdfy-cart-empty__actions {
    width: 100%;
  }

  .nrdfy-checkout {
    padding: 1rem 0 3rem;
  }

  .nrdfy-checkout__title {
    font-size: 2.125rem;
  }

  .nrdfy-checkout-box__header,
  .nrdfy-checkout-box__body,
  .nrdfy-checkout-summary__card {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .nrdfy-checkout-summary__item {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .nrdfy-checkout-summary__item-price {
    grid-column: 2 / 3;
  }

  .nrdfy-checkout-summary__shipping {
    text-align: left;
  }

  .nrdfy-order-pay__table th,
  .nrdfy-order-pay__table td {
    padding: 0.875rem 0;
  }

  .nrdfy-order-received-page__actions {
    flex-direction: column;
  }

  .nrdfy-order-received-page__actions .button {
    width: 100%;
  }

  .nrdfy-order-received-page__summary-card {
    position: static;
  }

  .nrdfy-order-received-page table.shop_table thead,
  .nrdfy-order-received-page table.woocommerce-table thead,
  .nrdfy-order-received-page table.woocommerce-table--order-details thead {
    display: none;
  }

  .nrdfy-order-received-page table.shop_table tr,
  .nrdfy-order-received-page table.woocommerce-table tr,
  .nrdfy-order-received-page table.woocommerce-table--order-details tr {
    display: grid;
    gap: 0.5rem;
    padding: 1rem 0;
  }

  .nrdfy-order-received-page table.shop_table td,
  .nrdfy-order-received-page table.woocommerce-table td,
  .nrdfy-order-received-page table.woocommerce-table--order-details td {
    display: grid;
    gap: 0.25rem;
    padding: 0;
    border: 0;
  }

  .nrdfy-order-received-page table.shop_table td::before,
  .nrdfy-order-received-page table.woocommerce-table td::before,
  .nrdfy-order-received-page table.woocommerce-table--order-details td::before {
    content: attr(data-title);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--nrdfy-color-mauve);
  }

  .nrdfy-outline-button {
    width: 100%;
  }

  /* .nrdfy-option-card {
    grid-template-columns: 16px 20px 1fr;
  } */

  .nrdfy-drawer__spec-item,
  .nrdfy-cart-page__header,
  .nrdfy-cart-item__head,
  .nrdfy-cart-form__actions,
  .nrdfy-cart-form__coupon-fields {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: flex-start;
  }

  .nrdfy-cart-page {
    padding: 2rem 0 3rem;
  }

  .nrdfy-cart-page__title,
  .nrdfy-cart-empty__title {
    font-size: 2.125rem;
  }

  .nrdfy-cart-item {
    grid-template-columns: 96px minmax(0, 1fr);
    padding: 1rem;
  }

  .nrdfy-cart-item__title {
    font-size: 1.0625rem;
  }

  .nrdfy-cart-item__price {
    min-width: 0;
    text-align: left;
  }

  .nrdfy-cart-summary__shipping {
    max-width: none;
    text-align: left;
  }

  .nrdfy-cart-form__coupon,
  .nrdfy-cart-form__coupon input,
  .nrdfy-cart-form__coupon button,
  .nrdfy-cart-summary__checkout,
  .nrdfy-cart-empty__button,
  .nrdfy-checkout #payment #place_order {
    width: 100%;
  }
  .nrdfy-cart-form__coupon-fields input {
    flex: 1;
  }

  .nrdfy-style-strip__intro p,
  .nrdfy-style-strip__intro h2 {
    font-size: 2rem;
  }

  .nrdfy-related-strip__grid {
    grid-auto-columns: calc(50% + 1rem);
  }

  .nrdfy-site-footer__subfooter-inner,
  .nrdfy-related-strip__header,
  .nrdfy-product-collection__header {
    flex-direction: column;
    /* align-items: flex-start; */
  }

  .nrdfy-upsell-carousel .nrdfy-related-strip__header {
    flex-direction: row;
  }

  .wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__header > div {
    flex-direction: column;
    align-items: flex-start;
  }

  .wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__subtitle {
    text-align: left;
  }

  .wp-block-nrdfy-product-carousel--post-grid .nrdfy-product-collection__meta {
    margin-left: 0;
    width: 100%;
    justify-content: space-between;
  }

  .nrdfy-drawer__panel {
    padding: 3rem 1.25rem 2rem;
  }
}

.nrdfy-account,
.nrdfy-account-auth {
  padding: 1.5rem 0 5rem;
}

.nrdfy-account__hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(10, 35, 50, 0.16);
}

.nrdfy-account__eyebrow {
  margin: 0;
  color: var(--nrdfy-color-accent);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nrdfy-account__title {
  margin: 0.625rem 0 0;
  font-size: 2.625rem;
  font-weight: 400;
}

.nrdfy-account__summary {
  max-width: 30rem;
  margin: 0;
  color: var(--wp--preset--color--ink);
}

.nrdfy-account__layout {
  display: grid;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
  padding-top: 2rem;
}

.nrdfy-account__sidebar {
  position: sticky;
  top: calc(var(--nrdfy-header-height) + 1.25rem);
}

.nrdfy-account__content,
.nrdfy-account-section {
  display: grid;
  /* gap: 1.5rem; */
}

.nrdfy-account-nav__card,
.nrdfy-account-card {
  padding: 1.75rem;
  border: 1px solid rgba(10, 35, 50, 0.14);
  background: #ffffff;
}

.nrdfy-account-nav__eyebrow {
  margin: 0;
  color: var(--nrdfy-color-accent);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nrdfy-account-nav__list {
  display: grid;
  gap: 0;
  list-style: none;
  padding: 1rem 0 0;
  margin: 0;
}

.nrdfy-account-nav__item {
  border-bottom: 1px solid rgba(10, 35, 50, 0.12);
}

.nrdfy-account-nav__item:last-child {
  border-bottom: 0;
}

.nrdfy-account-nav__item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  text-decoration: none;
}

.nrdfy-account-nav__item.is-active a {
  color: var(--nrdfy-color-accent);
}

.nrdfy-account-nav__item.is-active a::after {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: currentColor;
  flex: 0 0 auto;
}

.nrdfy-account-nav__toggle {
  display: none;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.nrdfy-account-nav__toggle-icon {
  display: grid;
  gap: 4px;
  flex: 0 0 auto;
}

.nrdfy-account-nav__toggle-icon span {
  display: block;
  width: 18px;
  height: 1.5px;
  background: currentColor;
}

.nrdfy-account-nav__toggle-label {
  flex: 1 1 auto;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: right;
}

.nrdfy-account-intro__welcome {
  margin: 0;
  font-family: "Outfit", sans-serif;
  font-size: 2rem;
  line-height: 1.05;
}

.nrdfy-account-intro__text,
.nrdfy-account-prose,
.nrdfy-account-form-intro p,
.nrdfy-account-empty p,
.nrdfy-account-feature p,
.nrdfy-account-address address,
.nrdfy-account-auth .woocommerce-LostPassword a {
  margin: 0;
  color: var(--wp--preset--color--ink);
  line-height: 1.7;
}

.nrdfy-account-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.nrdfy-account-grid--addresses {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nrdfy-account-feature,
.nrdfy-account-address {
  display: grid;
  gap: 0.875rem;
  align-content: start;
  min-height: 220px;
  padding: 1.5rem;
  border: 1px solid rgba(10, 35, 50, 0.14);
  background: var(--nrdfy-color-paper);
  text-decoration: none;
}

.nrdfy-account-feature h2,
.nrdfy-account-address h2,
.nrdfy-account-form-intro h2,
.nrdfy-account-empty h2,
.nrdfy-account-card h2 {
  margin: 0;
  font-size: 1.625rem;
  font-weight: 400;
}

.nrdfy-account-address__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.nrdfy-account-form-intro {
  display: grid;
  gap: 0.625rem;
  padding-bottom: 1.5rem;
}

.nrdfy-account-form-grid,
.nrdfy-account .woocommerce-address-fields__field-wrapper,
.nrdfy-account-auth form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.nrdfy-account-auth form {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.nrdfy-account .form-row,
.nrdfy-account-auth .form-row {
  margin: 0;
}

.nrdfy-account .form-row-wide,
.nrdfy-account .woocommerce-form-row--wide,
.nrdfy-account .woocommerce-address-fields__field-wrapper .form-row-wide,
.nrdfy-account-auth .form-row-wide,
.nrdfy-account-auth .woocommerce-form-row--wide {
  grid-column: 1 / -1;
}

.nrdfy-account label,
.nrdfy-account-auth label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
}

.nrdfy-account input:not([type="checkbox"]):not([type="radio"]),
.nrdfy-account select,
.nrdfy-account textarea,
.nrdfy-account-auth input:not([type="checkbox"]):not([type="radio"]),
.nrdfy-account-auth select,
.nrdfy-account-auth textarea {
  width: 100%;
  min-height: 52px;
  padding: 0.875rem 1rem;
  border: var(--nrdfy-border);
  border-radius: 0;
  background: #ffffff;
  color: inherit;
}

.nrdfy-account textarea,
.nrdfy-account-auth textarea {
  min-height: 140px;
  resize: vertical;
}

.nrdfy-account .select2-container,
.nrdfy-account-auth .select2-container {
  width: 100% !important;
}

.nrdfy-account .select2-container .select2-selection--single,
.nrdfy-account-auth .select2-container .select2-selection--single {
  height: 52px;
  display: flex;
  align-items: center;
  padding: 0.875rem 2.5rem 0.875rem 1rem;
  border: var(--nrdfy-border);
  border-radius: 0;
  background: #ffffff;
}

.nrdfy-account .button,
.nrdfy-account .woocommerce-Button,
.nrdfy-account-auth .button,
.nrdfy-account-auth .woocommerce-Button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.25rem;
  border: 0;
  background: var(--nrdfy-color-ink-bg);
  color: #ffffff;
  text-decoration: none;
}
.nrdfy-account-auth .button {
  display: block;
}
.nrdfy-account .button:not(.alt):not(.wc-forward):not(.woocommerce-Button--previous):not(.woocommerce-Button--next).delete,
.nrdfy-account .button:not(.alt):not(.wc-forward):not(.woocommerce-Button--previous):not(.woocommerce-Button--next).cancel {
  background: transparent;
  color: inherit;
  border: var(--nrdfy-border);
}

.nrdfy-account .woocommerce-Button--previous,
.nrdfy-account .woocommerce-Button--next,
.nrdfy-account .wc-forward,
.nrdfy-account .button.view,
.nrdfy-account .button.set-default {
  background: transparent;
  color: inherit;
  border: var(--nrdfy-border);
}

.nrdfy-account .button + .button,
.nrdfy-account .woocommerce-Button + .woocommerce-Button,
.nrdfy-account .woocommerce-orders-table__cell-order-actions .button + .button,
.nrdfy-account .payment-method-actions .button + .button {
  margin-left: 0.625rem;
}

.nrdfy-account-fieldset {
  display: grid;
  gap: 1rem;
  margin: 1.75rem 0;
  padding: 1.5rem;
  border: 1px solid rgba(10, 35, 50, 0.14);
  background: var(--nrdfy-color-paper);
}

.nrdfy-account-fieldset legend {
  padding: 0 0.625rem;
  font-size: 1rem;
  font-weight: 600;
}

.nrdfy-account-table-wrapper {
  overflow-x: auto;
}

.nrdfy-account table.shop_table,
.nrdfy-account table.woocommerce-orders-table,
.nrdfy-account table.woocommerce-MyAccount-paymentMethods {
  width: 100%;
  border-collapse: collapse;
  border: 0;
}

.nrdfy-account table.shop_table th,
.nrdfy-account table.shop_table td,
.nrdfy-account table.woocommerce-orders-table th,
.nrdfy-account table.woocommerce-orders-table td,
.nrdfy-account table.woocommerce-MyAccount-paymentMethods th,
.nrdfy-account table.woocommerce-MyAccount-paymentMethods td {
  padding: 1rem 0;
  border-bottom: 1px solid rgba(10, 35, 50, 0.12);
  text-align: left;
  vertical-align: top;
}

.nrdfy-account table.shop_table thead th,
.nrdfy-account table.woocommerce-orders-table thead th,
.nrdfy-account table.woocommerce-MyAccount-paymentMethods thead th {
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-account-status,
.nrdfy-account mark {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  background: var(--nrdfy-color-paper);
  color: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
}

.nrdfy-account-empty {
  display: grid;
  gap: 0.875rem;
  justify-items: start;
  padding: 2rem;
  border: 1px solid rgba(10, 35, 50, 0.14);
  background: var(--nrdfy-color-paper);
}

.nrdfy-account-empty h1 {
  margin: 0;
  font-size: 2rem;
  font-weight: 400;
}

.nrdfy-account-auth__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  padding-top: 2rem;
}

.nrdfy-account-auth__grid.has-register {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nrdfy-account-auth__single {
  max-width: 720px;
  padding-top: 2rem;
}

.nrdfy-account-auth .nrdfy-account-card {
  display: flex;
  gap: 1.25rem;
  flex-direction: column;
}

.nrdfy-account-auth .woocommerce-form-login {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.nrdfy-account-auth .woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
}

.nrdfy-account-auth .woocommerce-form-login__rememberme input {
  margin: 0;
}

.nrdfy-account-auth .lost_password {
  grid-column: 1 / -1;
  margin: 0;
}

.nrdfy-account .woocommerce-pagination {
  display: flex;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.nrdfy-account .woocommerce-order-details,
.nrdfy-account .woocommerce-customer-details {
  margin: 0;
  padding-top: 1.5rem;
}

.nrdfy-account .woocommerce-column__title,
.nrdfy-account .woocommerce-order-details__title {
  margin: 0 0 1rem;
  font-size: 1.5rem;
  font-weight: 400;
}

.nrdfy-account .woocommerce-table--order-details tfoot th,
.nrdfy-account .woocommerce-table--order-details tfoot td {
  font-weight: 700;
}

@media (max-width: 1200px) {
  .nrdfy-account-auth__grid.has-register {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 782px) {
  .nrdfy-account,
  .nrdfy-account-auth {
    padding: 1rem 0 3rem;
  }

  .nrdfy-account__layout {
    grid-template-columns: 1fr;
  }

  .nrdfy-account__sidebar {
    position: static;
  }

  .nrdfy-account__hero {
    flex-direction: column;
    align-items: flex-start;
  }

  .nrdfy-account__title {
    font-size: 2.125rem;
  }

  .nrdfy-account-card {
    padding: 1.25rem;
  }

  .nrdfy-account-nav__card {
    padding: 0;
    overflow: hidden;
  }

  .nrdfy-account-nav__toggle {
    display: flex;
    min-height: 60px;
    padding: 1rem 1.25rem;
    background: #ffffff;
  }

  .nrdfy-account-nav__eyebrow {
    display: none;
  }

  .nrdfy-account-nav__list {
    padding: 0 1.25rem 1rem;
  }

  .nrdfy-account-nav__card.is-collapsible-ready:not(.is-open) .nrdfy-account-nav__list {
    display: none;
  }

  .nrdfy-account-nav__card.is-open .nrdfy-account-nav__list {
    display: grid;
    border-top: 1px solid rgba(10, 35, 50, 0.12);
  }

  .nrdfy-account-grid,
  .nrdfy-account-grid--addresses,
  .nrdfy-account-form-grid,
  .nrdfy-account .woocommerce-address-fields__field-wrapper,
  .nrdfy-account-auth form {
    grid-template-columns: 1fr;
  }

  .nrdfy-account-address__head,
  .nrdfy-account .woocommerce-pagination {
    flex-direction: column;
    align-items: flex-start;
  }

  .nrdfy-account .button,
  .nrdfy-account .woocommerce-Button,
  .nrdfy-account-auth .button,
  .nrdfy-account-auth .woocommerce-Button {
    width: 100%;
  }

  .nrdfy-account table.shop_table thead,
  .nrdfy-account table.woocommerce-orders-table thead,
  .nrdfy-account table.woocommerce-MyAccount-paymentMethods thead {
    display: none;
  }

  .nrdfy-account table.shop_table tr,
  .nrdfy-account table.woocommerce-orders-table tr,
  .nrdfy-account table.woocommerce-MyAccount-paymentMethods tr {
    display: grid;
    gap: 0.5rem;
    padding: 1rem 0;
  }

  .nrdfy-account table.shop_table td,
  .nrdfy-account table.woocommerce-orders-table td,
  .nrdfy-account table.woocommerce-MyAccount-paymentMethods td {
    display: grid;
    gap: 0.25rem;
    padding: 0;
    border: 0;
  }

  .nrdfy-account table.shop_table td::before,
  .nrdfy-account table.woocommerce-orders-table td::before,
  .nrdfy-account table.woocommerce-MyAccount-paymentMethods td::before {
    content: attr(data-title);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--nrdfy-color-mauve);
  }

  .nrdfy-account .button + .button,
  .nrdfy-account .woocommerce-Button + .woocommerce-Button,
  .nrdfy-account .woocommerce-orders-table__cell-order-actions .button + .button,
  .nrdfy-account .payment-method-actions .button + .button {
    margin-left: 0;
    margin-top: 0.625rem;
  }
}

.nrdfy-stateless-shell__panel {
	margin-top: 2rem;
	padding: 1.5rem 1.75rem;
	border: 1px solid rgba(104, 88, 76, 0.16);
	border-radius: 1.5rem;
	background: rgba(255, 251, 247, 0.94);
}

.nrdfy-stateless-shell__message,
.nrdfy-stateless-shell__noscript {
	margin: 0;
	color: #68584c;
	font-size: 0.95rem;
	line-height: 1.6;
}

.nrdfy-stateless-shell__noscript {
	margin-top: 0.75rem;
}

.nrdfy-error {
  display: grid;
  justify-items: center;
  text-align: center;
  padding: 6rem 1rem 5rem;
  gap: 0.5rem;
}

.nrdfy-error__code {
  font-family: "Outfit", sans-serif;
  font-weight: 700;
  font-size: clamp(5rem, 14vw, 9rem);
  letter-spacing: -0.02em;
  color: var(--nrdfy-color-mauve);
  line-height: 1;
}

.nrdfy-error__eyebrow {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--nrdfy-color-stone);
}

.nrdfy-error__title {
  margin: 0.5rem 0 0;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 2rem;
}

.nrdfy-error__text {
  margin: 1rem 0 0;
  max-width: 46ch;
  color: #4d6d80;
}

.nrdfy-error__search {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 420px;
  margin-top: 2rem;
}

.nrdfy-error__search .nrdfy-site-search {
  width: 100%;
  border-bottom: var(--nrdfy-border);
}

.nrdfy-error__search .nrdfy-site-search__icon {
  left: 0.1rem;
}

.nrdfy-error__search .nrdfy-site-search input,
.nrdfy-error__search .abas-search__input {
  padding: 0 0 0.5rem 2rem;
}

.nrdfy-error__search .nrdfy-site-search button[type="submit"].abas-search__submit {
  left: 0.1rem;
  bottom: 0.5rem;
}

.nrdfy-error__actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 2.25rem;
}

.nrdfy-error__button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  padding: 0.875rem 1.5rem;
  border: var(--nrdfy-border);
  background: #fff;
  color: inherit;
  text-decoration: none;
  font-weight: 600;
}

.nrdfy-error__button:hover {
  color: inherit;
  background: var(--nrdfy-color-paper);
}

.nrdfy-error__button--primary {
  border: 0;
  background: var(--nrdfy-color-ink-bg);
  color: #fff;
}

.nrdfy-error__button--primary:hover {
  color: #fff;
  opacity: 0.9;
  background: var(--nrdfy-color-ink-bg);
}

.nrdfy-error__rule {
  height: 1px;
  background: rgba(10, 35, 50, 0.14);
}

.nrdfy-error__suggestions {
  margin-top: 1rem;
  padding: 3rem 0 4rem;
}

.nrdfy-error__links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: 1.75rem;
}

.nrdfy-error__link {
  display: block;
  padding: 1.5rem;
  border: 1px solid rgba(10, 35, 50, 0.14);
  background: var(--nrdfy-color-paper);
  text-decoration: none;
  color: inherit;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
}

.nrdfy-error__link:hover {
  color: inherit;
  border-color: var(--nrdfy-color-ink);
}

@media (max-width: 860px) {
  .nrdfy-error__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.nrdfy-patent-hero {
  position: relative;
  min-height: 420px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(135deg, var(--nrdfy-color-ink-bg), #5b8aa3 55%, var(--nrdfy-color-mauve));
}

.nrdfy-patent-hero__content {
  position: relative;
  padding: 4.5rem 0;
}

.nrdfy-patent-hero__eyebrow {
  margin: 0 0 1rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nrdfy-patent-hero__content h1 {
  margin: 0;
  max-width: 36rem;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: clamp(2rem, 4vw, 3rem);
}

.nrdfy-patent-hero__content p {
  max-width: 40ch;
  margin: 1.25rem 0 0;
  opacity: 0.9;
}

.nrdfy-patent-body {
  padding: 3.5rem 0;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 3rem;
  align-items: start;
}

.nrdfy-patent-body__text h2 {
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.nrdfy-patent-body__text p {
  color: #4d6d80;
  margin: 0 0 1.1rem;
}

.nrdfy-patent-body__visual {
  aspect-ratio: 4 / 5;
  border-radius: var(--nrdfy-radius);
  background: linear-gradient(135deg, #f5e6b5, #e3c878);
}

.nrdfy-patent-strip {
  background: var(--wp--preset--color--butter-yellow, #f5e6b5);
  padding: 3.5rem 0;
  text-align: center;
}

.nrdfy-patent-strip h2 {
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 1.75rem;
  max-width: 32rem;
  margin-inline: auto;
}

.nrdfy-patent-features {
  padding: 3.5rem 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}

.nrdfy-patent-features h3 {
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 1.05rem;
  margin-bottom: 0.6rem;
}

.nrdfy-patent-features p {
  margin: 0;
  color: #4d6d80;
  font-size: 0.9rem;
}

.nrdfy-patent-cta {
  padding: 3.5rem 0 4.5rem;
  text-align: center;
  border-top: 1px solid rgba(10, 35, 50, 0.14);
}

.nrdfy-patent-cta p {
  color: #4d6d80;
  margin-top: 0.75rem;
}

.nrdfy-patent-cta a {
  display: inline-block;
  margin-top: 1.5rem;
  padding: 0.875rem 2rem;
  background: var(--nrdfy-color-ink-bg);
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  border-radius: var(--nrdfy-radius);
}

.nrdfy-patent-cta a:hover {
  color: #fff;
  opacity: 0.9;
}

@media (max-width: 860px) {
  .nrdfy-patent-body,
  .nrdfy-patent-features {
    grid-template-columns: 1fr;
  }
}

.nrdfy-archive-title {
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: clamp(2rem, 4vw, 2.75rem);
}

.nrdfy-archive-description {
  max-width: 44ch;
  margin-top: 1rem;
  color: #4d6d80;
}

.nrdfy-blog-hero {
  text-align: center;
  padding: 3.5rem 0 2.5rem;
  border-bottom: 1px solid rgba(10, 35, 50, 0.14);
}

.nrdfy-blog-hero__eyebrow {
  margin: 0 0 0.5rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nrdfy-color-stone);
}

.nrdfy-blog-hero h1 {
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: clamp(2rem, 4vw, 2.75rem);
}

.nrdfy-blog-hero p {
  max-width: 44ch;
  margin: 1rem auto 0;
  color: #4d6d80;
}

.nrdfy-blog-filters {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  padding: 2rem 0 0;
  flex-wrap: wrap;
}

.nrdfy-blog-filters a {
  padding: 0.4rem 1rem;
  border: 1px solid rgba(10, 35, 50, 0.14);
  border-radius: 999px;
  font-family: "Montserrat", sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  background: #fff;
  color: inherit;
  text-decoration: none;
}

.nrdfy-blog-filters a:hover {
  color: inherit;
  opacity: 0.8;
}

.nrdfy-blog-filters a.is-active {
  background: var(--nrdfy-color-ink-bg);
  color: #fff;
  border-color: var(--nrdfy-color-ink);
}

.nrdfy-blog-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  padding: 2.5rem 0 4rem;
}

.nrdfy-blog-card {
  display: block;
  text-decoration: none;
  color: inherit;
}

.nrdfy-blog-card__image {
  aspect-ratio: 16 / 10;
  border-radius: var(--nrdfy-radius);
  background: linear-gradient(135deg, #cdedef, #b7d6eb);
  overflow: hidden;
}

.nrdfy-blog-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nrdfy-blog-card__cat {
  display: inline-block;
  margin-top: 1rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-blog-card__title {
  margin: 0.5rem 0 0;
  font-size: 1.15rem;
  font-family: "Host Grotesk", sans-serif;
  font-weight: 600;
}

.nrdfy-blog-card__excerpt {
  margin: 0.6rem 0 0;
  font-size: 0.9rem;
  color: #4d6d80;
}

.nrdfy-blog-card__meta {
  margin: 0.9rem 0 0;
  font-family: "Montserrat", sans-serif;
  font-size: 0.75rem;
  color: var(--nrdfy-color-stone);
}

@media (max-width: 860px) {
  .nrdfy-blog-archive-grid {
    grid-template-columns: 1fr;
  }
}

.nrdfy-narrow {
  width: min(760px, calc(100vw - 3rem));
  margin-inline: auto;
}

.nrdfy-post__head {
  text-align: center;
  padding: 1rem 0 2rem;
}

.nrdfy-post__cat {
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--nrdfy-color-mauve);
}

.nrdfy-post__head h1 {
  margin: 0.75rem 0;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: clamp(2rem, 4vw, 2.75rem);
}

.nrdfy-post__meta {
  font-family: "Montserrat", sans-serif;
  font-size: 0.8125rem;
  color: var(--nrdfy-color-stone);
}

.nrdfy-post__cover {
  aspect-ratio: 16 / 7;
  border-radius: var(--nrdfy-radius);
  background: linear-gradient(135deg, #b7d6eb, #7abbd8);
  margin-bottom: 2.5rem;
  overflow: hidden;
}

.nrdfy-post__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nrdfy-post__body {
  font-size: 1.0625rem;
  color: #33505f;
}

.nrdfy-post__body p {
  margin: 0 0 1.4rem;
}

.nrdfy-post__body h2 {
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 1.375rem;
  margin: 2.2rem 0 1rem;
}

.nrdfy-post__body ul,
.nrdfy-post__body ol {
  margin: 0 0 1.4rem;
  padding-left: 1.2rem;
}

.nrdfy-post__body li {
  margin-bottom: 0.5rem;
}

.nrdfy-post__body blockquote {
  margin: 2.2rem 0;
  padding: 1.5rem 1.75rem;
  border-left: 3px solid var(--nrdfy-color-mauve);
  background: var(--nrdfy-color-paper);
  font-family: "Outfit", sans-serif;
  font-size: 1.25rem;
  font-style: italic;
}

.nrdfy-post__tags {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-top: 2.5rem;
}

.nrdfy-post__tags a {
  padding: 0.35rem 0.8rem;
  border: 1px solid rgba(10, 35, 50, 0.14);
  border-radius: 999px;
  font-family: "Montserrat", sans-serif;
  font-size: 0.75rem;
  text-decoration: none;
  color: inherit;
}

.nrdfy-post__tags a:hover {
  color: inherit;
  border-color: var(--nrdfy-color-ink);
}

.nrdfy-related-posts {
  padding: 3rem 0 4rem;
  border-top: 1px solid rgba(10, 35, 50, 0.14);
  margin-top: 3rem;
}

.nrdfy-related-posts h2 {
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 1.125rem;
  margin-bottom: 1.5rem;
}

.nrdfy-related-posts__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.nrdfy-related-posts__card {
  display: block;
  text-decoration: none;
  color: inherit;
}

.nrdfy-related-posts__image {
  aspect-ratio: 16 / 10;
  border-radius: var(--nrdfy-radius);
  background: linear-gradient(135deg, #cdedef, #b7d6eb);
  overflow: hidden;
}

.nrdfy-related-posts__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nrdfy-related-posts__card h3 {
  margin: 0.7rem 0 0;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 1rem;
}

@media (max-width: 860px) {
  .nrdfy-related-posts__grid {
    grid-template-columns: 1fr;
  }
}

.nrdfy-faq-hero {
  padding: 2.5rem 0 1rem;
}

.nrdfy-faq-hero__eyebrow {
  margin: 0 0 0.75rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--nrdfy-color-stone);
}

.nrdfy-faq-hero h1 {
  margin: 0;
  max-width: 36rem;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: clamp(1.9rem, 3.5vw, 2.5rem);
}

.nrdfy-faq-hero p {
  max-width: 52ch;
  margin: 1rem 0 0;
  color: #4d6d80;
}

.nrdfy-faq-body {
  padding: 1.5rem 0 4rem;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 3rem;
  align-items: start;
}

.nrdfy-faq-toc {
  display: grid;
  gap: 0.5rem;
  position: sticky;
  top: 1.5rem;
}

.nrdfy-faq-toc a {
  font-family: "Montserrat", sans-serif;
  font-size: 0.85rem;
  text-decoration: none;
  color: var(--nrdfy-color-stone);
  padding: 0.3rem 0;
}

.nrdfy-faq-toc a:hover {
  color: var(--nrdfy-color-mauve);
}

.nrdfy-faq-group {
  margin-bottom: 2.5rem;
}

.nrdfy-faq-group h2 {
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 1.15rem;
  margin: 0 0 0.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(10, 35, 50, 0.14);
}

.nrdfy-faq-item {
  border-bottom: 1px solid rgba(10, 35, 50, 0.14);
}

.nrdfy-faq-item h3 {
  margin: 0;
  font-size: 1em;
  font-weight: normal;
}

.nrdfy-faq-item__q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  text-align: left;
  background: none;
  border: 0;
  padding: 1.1rem 0;
  font-family: "Host Grotesk", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: inherit;
  cursor: pointer;
}

.nrdfy-faq-item__icon {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  display: inline-flex;
  transition: transform 0.2s ease;
}

.nrdfy-faq-item.is-open .nrdfy-faq-item__icon {
  transform: rotate(45deg);
}

.nrdfy-faq-item__a {
  margin: 0;
  padding: 0 0 1.1rem;
  max-width: 60ch;
  color: #4d6d80;
}

.nrdfy-faq-cta {
  margin-top: 1rem;
  padding: 2.5rem;
  background: var(--nrdfy-color-paper);
  text-align: center;
}

.nrdfy-faq-cta h2 {
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 1.3rem;
  margin: 0;
}

.nrdfy-faq-cta p {
  margin: 0.75rem 0 1.5rem;
  color: #4d6d80;
}

.nrdfy-faq-cta a {
  display: inline-block;
  padding: 0.875rem 2rem;
  background: var(--nrdfy-color-ink-bg);
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  border-radius: var(--nrdfy-radius);
}

.nrdfy-faq-cta a:hover {
  color: #fff;
  opacity: 0.9;
}

@media (max-width: 860px) {
  .nrdfy-faq-body {
    grid-template-columns: 1fr;
  }

  .nrdfy-faq-toc {
    position: static;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
  }
}
