@charset "UTF-8";
/*
$color-success: #28746b;
$color-danger: #b03b50;
$color-warning: #8c601e;
$color-info: #386b87;
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body,
h1,
h2,
h3,
h4,
p,
blockquote,
figure {
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

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

button,
a {
  -webkit-tap-highlight-color: transparent;
}

img,
svg {
  display: block;
  max-width: 100%;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

:root {
  --bg: #f7f3ee;
  --surface: #ffffff;
  --surface-soft: #fffaf4;
  --text: #343438;
  --muted: #6e6360;
  --primary: #ff7f6e;
  --primary-dark: #e96858;
  --primary-hover: rgb(255, 140.8, 119.4);
  --primary-ink: #ff7f6e;
  --on-primary: #ffffff;
  --primary-soft: #fff0e8;
  --accent: #ff7f6e;
  --control-height: 2.75rem;
  --radius-control: 0.625rem;
  --radius-card: 1rem;
  --shadow-card: 0 2px 8px rgba(52, 52, 56, 0.04);
  --section-space: clamp(2.5rem, 5vw, 4.5rem);
  --pink: #e9a3b7;
  --pink-soft: #f9e7ec;
  --mint: #a7d9d6;
  --mint-soft: #e8f5f4;
  --yellow: #ffc49d;
  --yellow-soft: #fff0e8;
  --blue: #a7d9d6;
  --blue-soft: #e8f5f4;
  --peach: #ffc49d;
  --peach-soft: #fff0e8;
  --border: rgba(255, 127, 110, 0.18);
  --success: #20b89f;
  --danger: #e34f68;
  --container: 73.75rem;
}

html {
  width: 100%;
  max-width: 100%;
  scroll-padding-top: 8rem;
}

body {
  width: 100%;
  max-width: 100%;
  min-height: 100vh;
  background: #f7f3ee;
  color: #343438;
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
}

body.is-locked {
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  color: inherit;
}

h1,
h2,
h3,
h4 {
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  line-height: 1.18;
  letter-spacing: -0.025em;
  color: #343438;
  font-weight: 800;
}

h1 {
  font-size: clamp(2rem, 4.5vw, 3.25rem);
}

h2 {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
}

h3 {
  font-size: clamp(1.125rem, 2vw, 1.375rem);
}

p {
  color: #6e6360;
}

::-moz-selection {
  background: #fff0e8;
  color: #ff7f6e;
}

::selection {
  background: #fff0e8;
  color: #ff7f6e;
}

:focus-visible {
  outline: 3px solid #ff7f6e;
  outline-offset: 3px;
}

main {
  min-width: 0;
}

main:focus {
  outline: none;
}

p, h1, h2, h3, h4 {
  overflow-wrap: break-word;
}

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

button, a {
  -webkit-tap-highlight-color: transparent;
}

.skip-link {
  position: fixed;
  z-index: 2000;
  top: 0.75rem;
  left: 1rem;
  padding: 0.75rem 1rem;
  border-radius: 0.625rem;
  background: #343438;
  color: #ffffff;
  transform: translateY(-200%);
}
.skip-link:focus {
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
.container {
  width: min(100% - 2rem, 73.75rem);
  margin-inline: auto;
}
@media (min-width: 51.25rem) {
  .container {
    width: min(100% - 2.5rem, 73.75rem);
  }
}

.section {
  padding: clamp(2.5rem, 5vw, 4.5rem) 0;
}

.global-announcement {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 2.75rem;
  z-index: 51;
  color: #ffffff;
  font-size: 0.875rem;
}
.global-announcement__inner {
  min-height: 2.75rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.375rem 1rem;
  text-align: center;
}
.global-announcement p {
  margin: 0;
  color: inherit;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.global-announcement a {
  flex: 0 0 auto;
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}
.global-announcement--bg-purple {
  background: #8267b2;
}
.global-announcement--bg-dark {
  background: #2f2935;
}
.global-announcement--bg-pink {
  background: #d95c9f;
}
.global-announcement--bg-yellow {
  background: #f4c95d;
}
.global-announcement--bg-green {
  background: #34785b;
}
.global-announcement--bg-red {
  background: #a83f4b;
}
.global-announcement--bg-white {
  background: #ffffff;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
}
.global-announcement--text-white {
  color: #fff;
}
.global-announcement--text-dark {
  color: #2f2935;
}
.global-announcement--text-purple {
  color: #654b94;
}
.global-announcement--text-pink {
  color: #a93675;
}
.global-announcement--text-yellow {
  color: #f4c95d;
}
.global-announcement--weight-regular {
  font-weight: 400;
}
.global-announcement--weight-medium {
  font-weight: 500;
}
.global-announcement--weight-semibold {
  font-weight: 600;
}
.global-announcement--weight-bold {
  font-weight: 700;
}
.global-announcement--link-white a {
  color: #fff;
}
.global-announcement--link-dark a {
  color: #2f2935;
}
.global-announcement--link-purple a {
  color: #654b94;
}
.global-announcement--link-pink a {
  color: #a93675;
}
.global-announcement--link-yellow a {
  color: #f4c95d;
}

.has-global-announcement {
  padding-top: 2.75rem;
}
.has-global-announcement .site-header {
  top: 2.75rem;
}

.site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  z-index: 50;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
  background: #f7f3ee;
}

.has-site-topbar {
  padding-top: 4.875rem;
}
@media (min-width: 65rem) {
  .has-site-topbar {
    padding-top: 6rem;
  }
}

.has-site-topbar.has-global-announcement {
  padding-top: 7.625rem;
}
@media (min-width: 65rem) {
  .has-site-topbar.has-global-announcement {
    padding-top: 8.75rem;
  }
}

.header__inner {
  min-height: 4.875rem;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0.75rem;
}
@media (min-width: 65rem) {
  .header__inner {
    min-height: 6rem;
    grid-template-columns: auto 1fr auto;
    gap: clamp(1rem, 2vw, 2rem);
  }
}

.main-nav {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  display: none;
  max-height: calc(100dvh - 8rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0.75rem 1.25rem 1.375rem;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
}
.main-nav.is-open {
  display: block;
}
.main-nav a {
  display: block;
  padding: 0.75rem 0.3125rem;
  color: #6e6360;
  font-size: 0.875rem;
  font-weight: 600;
}
.main-nav a[aria-current=page] {
  color: #ff7f6e;
  font-weight: 700;
}
@media (min-width: 65rem) {
  .main-nav {
    position: static;
    width: auto;
    overflow: visible;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(0.875rem, 1.5vw, 1.5rem);
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  .main-nav a {
    position: relative;
    padding: 0;
    font-size: 0.8125rem;
    white-space: nowrap;
  }
  .main-nav .main-nav__account,
  .main-nav .main-nav__notifications {
    display: none;
  }
  .main-nav a::after {
    content: "";
    position: absolute;
    right: 100%;
    bottom: -0.5rem;
    left: 0;
    height: 0.125rem;
    background: #ff7f6e;
    transition: right 160ms cubic-bezier(0.2, 0, 0, 1);
  }
  .main-nav a:hover::after,
  .main-nav a:focus-visible::after {
    right: 0;
  }
}

.main-nav__more {
  position: relative;
}
.main-nav__more-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2.75rem;
  padding: 0.75rem 0.3125rem;
  border: 0;
  background: transparent;
  color: #6e6360;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
}
.main-nav__more-toggle svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}
.main-nav__more-toggle[aria-expanded=true] svg {
  transform: rotate(180deg);
}
.main-nav__more-menu {
  padding: 0.5rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #ffffff;
}
.main-nav__more-menu a {
  padding: 0.75rem;
  border-radius: 0.625rem;
}
.main-nav__more-menu a:hover, .main-nav__more-menu a:focus-visible {
  background: #fffaf4;
}
.main-nav__more-menu a::after {
  display: none;
}
.main-nav__more-menu[hidden] {
  display: none;
}
@media (min-width: 65rem) {
  .main-nav__more {
    display: flex;
    align-items: center;
  }
  .main-nav__more-toggle {
    min-height: auto;
    padding: 0;
    font-size: 0.8125rem;
    line-height: 1.6;
  }
  .main-nav__more-menu {
    position: absolute;
    top: calc(100% + 1rem);
    right: 0;
    width: 12rem;
    box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
    z-index: 100;
  }
}

.main-nav__shortcuts {
  margin-top: 0.75rem;
  padding-top: 0.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.75rem, 5vw, 1.35rem);
  border-top: 1px solid rgba(255, 127, 110, 0.18);
}
.main-nav__shortcuts a,
.main-nav__shortcuts button {
  position: relative;
  width: 2.75rem;
  height: 2.75rem;
  min-height: 0;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #ff7f6e;
  cursor: pointer;
  transition: background 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.main-nav__shortcuts a:hover,
.main-nav__shortcuts button:hover {
  background: #fff0e8;
  transform: translateY(-0.125rem);
}
.main-nav__shortcuts .material-symbols-outlined {
  color: inherit;
  font-size: 1.4rem;
}
.main-nav__shortcuts .nav-count {
  position: absolute;
  top: -0.2rem;
  right: -0.25rem;
  margin: 0;
}
.main-nav__shortcuts [hidden] {
  display: none;
}
@media (min-width: 65rem) {
  .main-nav__shortcuts {
    display: none;
  }
}

.header-cria.icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  width: auto;
  min-width: 2.75rem;
  height: 2.75rem;
  padding: 0 0.5rem;
  color: #ff7f6e;
  font-size: 0.75rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  border-radius: 999px;
  max-width: 7rem;
}
.header-cria.icon-btn [data-cria-balance] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.header-cria.icon-btn .material-symbols-outlined {
  flex-shrink: 0;
  font-size: 1.25rem;
  line-height: 1;
}
.header-cria.icon-btn:hover, .header-cria.icon-btn:focus-visible {
  color: #ff7f6e;
  background: #fff0e8;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.header-actions > .icon-btn:not(.header-cria) {
  display: none;
  color: #ff7f6e;
}
@media (min-width: 65rem) {
  .header-actions > .icon-btn:not(.header-cria) {
    display: grid;
  }
}
@media (min-width: 36.25rem) {
  .header-actions {
    gap: 0.5rem;
  }
}

@media (max-width: 29.99rem) {
  .header-actions > .notification-bell {
    display: none;
  }
}
.account-link.btn {
  display: none;
}
@media (min-width: 36.25rem) {
  .account-link.btn {
    display: inline-flex;
  }
}

.main-nav .admin-mobile-nav-link {
  display: block;
}
@media (min-width: 36.25rem) {
  .main-nav .admin-mobile-nav-link {
    display: none;
  }
}

.cart-btn {
  position: relative;
  min-height: 2.75rem;
  padding: 0 0.875rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 999px;
  background: #ff7f6e;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 600;
  transition: background 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.cart-btn:hover {
  background: rgb(255, 140.8, 119.4);
  transform: translateY(-0.0625rem);
}
.cart-btn svg {
  width: 1.125rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cart-btn > span:not(.cart-count) {
  display: none;
}
@media (min-width: 65rem) {
  .cart-btn > span:not(.cart-count) {
    display: inline;
  }
}

.cart-count {
  min-width: 1.25rem;
  height: 1.25rem;
  padding-inline: 0.25rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #ffffff;
  color: #ff7f6e;
  font-size: 0.625rem;
}

body.is-cart-drawer-open {
  overflow: hidden;
}

.cart-drawer {
  position: fixed;
  z-index: 130;
  inset: 0;
}
.cart-drawer[hidden] {
  display: none;
}
.cart-drawer__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(52, 52, 56, 0.34);
  opacity: 0;
  cursor: default;
  transition: opacity 240ms cubic-bezier(0.2, 0, 0, 1);
  backdrop-filter: blur(2px);
}
.cart-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: min(28rem, 100vw);
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  box-shadow: -1.5rem 0 4rem rgba(52, 52, 56, 0.14);
  transform: translateX(100%);
  transition: transform 240ms cubic-bezier(0.2, 0, 0, 1);
}
.cart-drawer.is-open .cart-drawer__backdrop {
  opacity: 1;
}
.cart-drawer.is-open .cart-drawer__panel {
  transform: translateX(0);
}
.cart-drawer__header {
  min-height: 6rem;
  padding: 1.25rem 1.25rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
}
.cart-drawer__header h2 {
  margin-top: 0.25rem;
  font-size: 1.75rem;
}
.cart-drawer__close, .cart-drawer__toolbar button {
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 0;
  border-radius: 50%;
  background: #fffaf4;
  color: #6e6360;
  cursor: pointer;
  transition: color 160ms cubic-bezier(0.2, 0, 0, 1), background 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.cart-drawer__close:hover, .cart-drawer__close:focus-visible, .cart-drawer__toolbar button:hover, .cart-drawer__toolbar button:focus-visible {
  background: #fff0e8;
  color: #ff7f6e;
  transform: translateY(-0.0625rem);
}
.cart-drawer__body {
  min-height: 0;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}
.cart-drawer__loading, .cart-drawer__empty {
  min-height: 18rem;
  padding: 2rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 0.625rem;
  color: #6e6360;
  text-align: center;
}
.cart-drawer__loading .spinner {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
  border: 0.1875rem solid #fff0e8;
  border-top-color: #ff7f6e;
  border-radius: 50%;
  animation: cart-drawer-spin 700ms linear infinite;
}
.cart-drawer__empty {
  flex: 1 1 auto;
}
.cart-drawer__empty > .material-symbols-outlined {
  font-size: 2.75rem;
  color: #ff7f6e;
}
.cart-drawer__empty strong {
  color: #343438;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 1.25rem;
}
.cart-drawer__empty p {
  margin: 0;
}
.cart-drawer__empty .cart-drawer__actions {
  width: 100%;
  margin-top: 1rem;
}
.cart-drawer__toolbar {
  min-height: 3.75rem;
  padding: 0.625rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
  color: #6e6360;
  font-size: 0.8125rem;
  font-weight: 700;
}
.cart-drawer__toolbar form {
  margin: 0;
}
.cart-drawer__toolbar button {
  color: #e34f68;
}
.cart-drawer__items {
  min-height: 0;
  padding: 0 1.25rem;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.cart-drawer__item {
  padding: 1rem 0;
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
}
.cart-drawer__item > a {
  width: 4rem;
  height: 4rem;
  overflow: hidden;
  border-radius: 0.625rem;
  background: #fff0e8;
}
.cart-drawer__item img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.cart-drawer__item > div {
  min-width: 0;
}
.cart-drawer__item > div strong,
.cart-drawer__item > div small,
.cart-drawer__item > div span {
  display: block;
}
.cart-drawer__item > div strong {
  line-height: 1.25;
}
.cart-drawer__item > div small,
.cart-drawer__item > div span {
  margin-top: 0.2rem;
  color: #6e6360;
  font-size: 0.72rem;
}
.cart-drawer__item-actions {
  display: grid;
  justify-items: end;
  gap: 0.45rem;
}
.cart-drawer__item-actions > b {
  color: #ff7f6e;
  font-size: 0.8125rem;
  white-space: nowrap;
}
.cart-drawer__item-actions form {
  margin: 0;
}
.cart-drawer__item-actions button {
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #fff0e8;
  color: #e34f68;
  cursor: pointer;
  transition: color 160ms cubic-bezier(0.2, 0, 0, 1), background 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.cart-drawer__item-actions button:hover, .cart-drawer__item-actions button:focus-visible {
  background: #e34f68;
  color: #ffffff;
  transform: translateY(-0.0625rem);
}
.cart-drawer__item-actions button:disabled {
  opacity: 0.55;
  cursor: wait;
  transform: none;
}
.cart-drawer__item-actions .material-symbols-outlined {
  font-size: 1.1rem;
}
.cart-drawer__skeleton {
  padding: 0 1.25rem;
}
.cart-drawer__skeleton-item {
  padding: 1rem 0;
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr) 4.25rem;
  align-items: center;
  gap: 0.75rem;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
}
.cart-drawer__skeleton-copy {
  display: grid;
  gap: 0.55rem;
}
.cart-drawer__footer {
  margin-top: auto;
  padding: 1.25rem;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
  background: #fffaf4;
}
.cart-drawer__footer > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.cart-drawer__footer > div:first-child strong {
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 1.25rem;
}
.cart-drawer__footer > small {
  margin-top: 0.25rem;
  display: block;
  color: #6e6360;
  font-size: 0.7rem;
}
.cart-drawer__actions {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem;
}
.cart-drawer__actions .btn {
  min-width: 0;
  padding-inline: 0.75rem;
  text-align: center;
}

@keyframes cart-drawer-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .cart-drawer__backdrop,
  .cart-drawer__panel {
    transition: none;
  }
  .cart-drawer__loading .spinner {
    animation: none;
  }
}
.search-panel {
  border-top: 1px solid rgba(255, 127, 110, 0.18);
  background: #ffffff;
  box-shadow: 0 0.75rem 1.5rem rgba(80, 59, 98, 0.08);
}
.search-panel[hidden] {
  display: none;
}
.search-panel__inner {
  min-height: 5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
}
.search-panel__field {
  min-width: 0;
  min-height: 3.25rem;
  padding: 0 1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 999px;
  background: #fffaf4;
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1), background 160ms cubic-bezier(0.2, 0, 0, 1);
}
.search-panel__field:focus-within {
  border-color: #ff7f6e;
  background: #ffffff;
  box-shadow: 0 0 0 0.25rem rgba(255, 127, 110, 0.12);
}
.search-panel__field > .material-symbols-outlined {
  flex: 0 0 auto;
  color: #ff7f6e;
  font-size: 1.25rem;
}
.search-panel input {
  min-height: 3rem;
  padding: 0;
  flex: 1 1 auto;
  border: 0;
  outline: 0;
  background: transparent;
  box-shadow: none;
  font-size: 1rem;
}
.search-panel input:focus {
  outline: none;
  box-shadow: none;
}
.search-panel input::-webkit-search-cancel-button {
  -webkit-appearance: none;
          appearance: none;
}

.search-suggestions {
  grid-column: 1/-1;
  margin: -0.35rem 4rem 0 0;
  padding: 0.5rem;
  border-radius: 1rem;
}
.search-suggestions[hidden] {
  display: none;
}
.search-suggestions__heading {
  padding: 0.5rem 0.625rem 0.4rem;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}
.search-suggestions__heading strong {
  font-size: 0.875rem;
}
.search-suggestions__heading span {
  color: #6e6360;
  font-size: 0.75rem;
}
.search-suggestions ul {
  display: grid;
  gap: 0.125rem;
  list-style: none;
}
.search-suggestions a {
  min-height: 2.75rem;
  padding: 0.625rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  border-radius: 0.625rem;
  color: #343438;
  font-size: 0.875rem;
  transition: background-color 160ms cubic-bezier(0.2, 0, 0, 1), color 160ms cubic-bezier(0.2, 0, 0, 1);
}
.search-suggestions a:hover, .search-suggestions a:focus-visible, .search-suggestions a[aria-selected=true] {
  background: #fffaf4;
  color: #ff7f6e;
}
.search-suggestions a:focus-visible {
  outline: 3px solid #ff7f6e;
  outline-offset: 3px;
}
.search-suggestions a .material-symbols-outlined {
  color: #6e6360;
  font-size: 1.125rem;
}
@media (min-width: 36.25rem) {
  .search-suggestions {
    margin-right: calc(2.75rem + 0.75rem);
  }
}

.global-cart-message {
  padding-top: 1rem;
}
.global-cart-message .alert {
  margin-bottom: 0;
}

.site-footer {
  position: relative;
  padding: 5rem 0 1.5rem;
  overflow: hidden;
  background: #fffaf4;
}
.site-footer .footer-newsletter {
  position: relative;
  z-index: 1;
  margin-bottom: 4rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  display: grid;
  gap: 1.5rem;
  overflow: hidden;
  border: 1px solid rgba(255, 127, 110, 0.28);
  border-radius: 1rem;
  background: radial-gradient(circle at 100% 0, rgba(255, 196, 157, 0.34), transparent 32%), linear-gradient(135deg, #fff0e8, #fffaf4);
}
@media (min-width: 51.25rem) {
  .site-footer .footer-newsletter {
    grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.9fr);
    align-items: center;
    gap: 3rem;
  }
}
.site-footer .footer-newsletter h2 {
  max-width: 38rem;
  margin: 0.625rem 0 0.75rem;
  font-size: clamp(1.625rem, 3vw, 2.25rem);
  line-height: 1.08;
  color: #343438;
}
.site-footer .footer-newsletter p {
  max-width: 36rem;
  margin: 0;
  color: #6e6360;
  font-size: 0.875rem;
}
.site-footer .footer-newsletter .eyebrow {
  color: #ff7f6e;
}
.site-footer .footer-newsletter__form {
  position: relative;
}
.site-footer .footer-newsletter__form small {
  display: block;
  margin: 0.625rem 0.75rem 0;
  color: #6e6360;
  font-size: 0.6875rem;
}
.site-footer .footer-newsletter__form small a {
  color: #ff7f6e;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.125rem;
}
.site-footer .footer-newsletter__field {
  padding: 0.375rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.5rem;
  border: 1px solid rgba(255, 127, 110, 0.32);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1);
}
.site-footer .footer-newsletter__field:focus-within {
  border-color: #ff7f6e;
  box-shadow: 0 0 0 0.25rem rgba(255, 127, 110, 0.12);
}
.site-footer .footer-newsletter__field > .material-symbols-outlined {
  margin-left: 0.5rem;
  color: #ff7f6e;
  font-size: 1.25rem;
}
.site-footer .footer-newsletter__field input {
  min-width: 0;
  min-height: 2.75rem;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  box-shadow: none;
}
.site-footer .footer-newsletter__field .btn {
  grid-column: 1/-1;
}
@media (min-width: 36.25rem) {
  .site-footer .footer-newsletter__field .btn {
    grid-column: auto;
    grid-row: 1;
    grid-column: 3;
  }
}
@media (max-width: 36.249rem) {
  .site-footer .footer-newsletter__field {
    padding: 0.625rem;
    row-gap: 0.625rem;
    border-radius: 1.5rem;
  }
  .site-footer .footer-newsletter__field > .material-symbols-outlined {
    margin-left: 0.25rem;
  }
  .site-footer .footer-newsletter__field input {
    min-height: 2.5rem;
  }
  .site-footer .footer-newsletter__field .btn {
    width: 100%;
    min-height: 3rem;
  }
}
.site-footer .footer-newsletter__honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.site-footer .footer__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.25rem 1.5rem;
}
@media (min-width: 51.25rem) {
  .site-footer .footer__grid {
    grid-template-columns: 1.8fr repeat(3, 1fr);
    gap: 3.125rem;
  }
}
.site-footer .footer__brand {
  grid-column: 1/-1;
}
@media (min-width: 51.25rem) {
  .site-footer .footer__brand {
    grid-column: auto;
  }
}
.site-footer .footer__brand p {
  max-width: 20rem;
  margin-top: 1.125rem;
  font-size: 0.8125rem;
}
.site-footer .footer__brand .social-links {
  margin-top: 1.375rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5625rem;
}
.site-footer .footer__brand .social-links a {
  width: 2.25rem;
  height: 2.25rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #6e6360;
  font-size: 0.6875rem;
  font-weight: 800;
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), background 160ms cubic-bezier(0.2, 0, 0, 1), color 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.site-footer .footer__brand .social-links a:hover {
  border-color: #ff7f6e;
  background: #ff7f6e;
  color: #ffffff;
  transform: translateY(-2px);
}
.site-footer .footer__brand .social-links a:focus-visible {
  outline: 3px solid #ff7f6e;
  outline-offset: 3px;
}
.site-footer .footer__brand .social-links a i,
.site-footer .footer__brand .social-links a svg {
  width: 1.125rem;
  height: 1.125rem;
  display: block;
  font-size: 1.125rem;
  line-height: 1;
}
.site-footer .footer__brand .social-links a .social-links__dot {
  fill: currentColor;
  stroke: none;
}
.site-footer .footer__column h2 {
  margin-bottom: 1.1875rem;
  font-size: 1.0625rem;
  letter-spacing: -0.02em;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.site-footer .footer__column h2 .material-symbols-outlined {
  flex: 0 0 auto;
  font-size: 1.125rem;
}
.site-footer .footer__column a,
.site-footer .footer__column .footer-cookie-settings {
  display: block;
  margin-top: 0.6875rem;
  color: #6e6360;
  font-size: 0.75rem;
}
.site-footer .footer__column .footer-cookie-settings {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
}
.site-footer .footer__column a:hover,
.site-footer .footer__column .footer-cookie-settings:hover {
  color: #ff7f6e;
}
.site-footer .footer__column .footer-cookie-settings:focus-visible {
  border-radius: 0.25rem;
  outline: 2px solid #ff7f6e;
  outline-offset: 3px;
}
.site-footer .footer__bottom {
  position: relative;
  z-index: 1;
  margin-top: 3.75rem;
  padding-top: 1.375rem;
  display: flex;
  align-items: center;
  flex-direction: column-reverse;
  gap: 0.9375rem;
  border-top: 1px solid rgba(255, 127, 110, 0.1);
  color: #6e6360;
  font-size: 0.625rem;
}
.site-footer .footer__bottom::before {
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  position: absolute;
  background-color: white;
}
@media (min-width: 36.25rem) {
  .site-footer .footer__bottom {
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: row;
  }
}
.site-footer .footer__bottom .payment-methods {
  display: flex;
  gap: 0.4375rem;
}
.site-footer .footer__bottom .payment-method {
  width: 3.5rem;
  height: 2.25rem;
  padding: 0.375rem;
  display: grid;
  place-items: center;
  border-radius: 0.5rem;
}
.site-footer .footer__bottom .payment-method img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
}
.site-footer .footer__bottom .payment-method--pix img {
  width: 1.375rem;
  height: 1.375rem;
}
.site-footer .footer__bottom .payment-method--visa img {
  width: 2.375rem;
}
.site-footer .footer__bottom .payment-method--mastercard img {
  width: 2.125rem;
}

.page-heading {
  margin-bottom: 1.75rem;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.page-heading > div {
  min-width: 0;
}
.page-heading h1, .page-heading h2 {
  margin-top: 0.375rem;
}
.page-heading p {
  margin-top: 0.5rem;
  max-width: 65ch;
}
.page-heading h1 {
  margin: 0.5rem 0 0.625rem;
  font-size: clamp(1.875rem, 4vw, 2.75rem);
}

@keyframes skeleton-shimmer {
  to {
    transform: translateX(100%);
  }
}
.skeleton-block,
[data-skeleton-image]::before {
  position: relative;
  overflow: hidden;
  background: #fff0e8;
}

.skeleton-block::after,
[data-skeleton-image]::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.82), transparent);
  transform: translateX(-100%);
  animation: skeleton-shimmer 1.25s ease-in-out infinite;
  pointer-events: none;
}

.skeleton-block {
  display: block;
  height: 0.75rem;
  border-radius: 999px;
}
.skeleton-block--image {
  width: 4rem;
  height: 4rem;
  border-radius: 0.625rem;
}
.skeleton-block--title {
  width: min(100%, 10rem);
  height: 0.9rem;
}
.skeleton-block--text {
  width: min(72%, 7rem);
}
.skeleton-block--price {
  width: 4.25rem;
}

[data-skeleton-image] {
  position: relative;
  overflow: hidden;
}
[data-skeleton-image]::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
}
[data-skeleton-image] img {
  position: relative;
  z-index: 1;
  opacity: 0;
  transition: opacity 240ms cubic-bezier(0.2, 0, 0, 1);
}
[data-skeleton-image]:not(.is-loaded):not(.is-error) img {
  opacity: 0 !important;
}
[data-skeleton-image].is-loaded::before, [data-skeleton-image].is-loaded::after, [data-skeleton-image].is-error::before, [data-skeleton-image].is-error::after {
  display: none;
}
[data-skeleton-image].is-loaded img, [data-skeleton-image].is-error img {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .skeleton-block::after,
  [data-skeleton-image]::after {
    animation: none;
  }
  [data-skeleton-image] img {
    transition: none;
  }
}
.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 1.25rem;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

.text-link {
  gap: 0.5rem;
  display: inline-flex;
  align-items: center;
}

.cookie-consent {
  position: fixed;
  z-index: 120;
  inset: 0;
  pointer-events: none;
}
.cookie-consent[hidden],
.cookie-consent [hidden] {
  display: none;
}
.cookie-consent__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(52, 52, 56, 0.48);
  pointer-events: auto;
  backdrop-filter: blur(3px);
}
.cookie-consent__banner {
  position: absolute;
  right: 1rem;
  bottom: calc(1rem + env(safe-area-inset-bottom));
  left: 1rem;
  max-width: 70rem;
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  margin: 0 auto;
  padding: 1rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.875rem;
  border: 1px solid rgba(255, 127, 110, 0.22);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 16px 48px rgba(52, 52, 56, 0.12);
  opacity: 0;
  pointer-events: auto;
  transform: translateY(1rem);
  transition: opacity 240ms cubic-bezier(0.2, 0, 0, 1), transform 240ms cubic-bezier(0.2, 0, 0, 1);
  backdrop-filter: blur(16px);
}
.cookie-consent__banner.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.cookie-consent__icon {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: 0.625rem;
  background: #fff0e8;
  color: #ff7f6e;
}
.cookie-consent__icon .material-symbols-outlined {
  font-size: 1.5rem;
}
.cookie-consent__content {
  min-width: 0;
}
.cookie-consent__content p {
  margin-top: 0.375rem;
  color: #6e6360;
  font-size: 0.8125rem;
  line-height: 1.55;
}
.cookie-consent__content > a {
  margin-top: 0.5rem;
  display: inline-flex;
  color: #ff7f6e;
  font-size: 0.75rem;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}
.cookie-consent__heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.cookie-consent__heading h2 {
  font-size: 1.125rem;
  letter-spacing: -0.02em;
}
.cookie-consent__heading span {
  padding: 0.1875rem 0.5rem;
  border-radius: 999px;
  background: #e8f5f4;
  color: #20b89f;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.cookie-consent__actions {
  display: grid;
  grid-column: 1/-1;
  gap: 0.5rem;
}
.cookie-consent__actions .btn {
  width: 100%;
  min-height: 2.75rem;
}
.cookie-consent__necessary {
  min-height: 2.75rem;
  padding: 0.25rem 0.5rem;
  border: 0;
  background: transparent;
  color: #6e6360;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.cookie-consent__necessary:hover {
  color: #ff7f6e;
}
.cookie-consent__necessary:focus-visible {
  border-radius: 0.5rem;
  outline: 2px solid #ff7f6e;
  outline-offset: 2px;
}
.cookie-consent__settings {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(100% - 2rem, 42rem);
  max-height: calc(100vh - 2rem);
  padding: 1.25rem;
  overflow-y: auto;
  border: 1px solid rgba(255, 127, 110, 0.22);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 16px 48px rgba(52, 52, 56, 0.12);
  opacity: 0;
  pointer-events: auto;
  transform: translate(-50%, calc(-50% + 1rem));
  transition: opacity 240ms cubic-bezier(0.2, 0, 0, 1), transform 240ms cubic-bezier(0.2, 0, 0, 1);
}
.cookie-consent__settings.is-visible {
  opacity: 1;
  transform: translate(-50%, -50%);
}
.cookie-consent__settings-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.cookie-consent__settings-header h2 {
  margin-top: 0.375rem;
  font-size: clamp(1.75rem, 7vw, 2.4rem);
}
.cookie-consent__close {
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.625rem;
  background: #fffaf4;
  color: #6e6360;
  cursor: pointer;
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), color 160ms cubic-bezier(0.2, 0, 0, 1);
}
.cookie-consent__close:hover, .cookie-consent__close:focus-visible {
  border-color: #ff7f6e;
  color: #ff7f6e;
}
.cookie-consent__close:focus-visible {
  outline: 2px solid #ff7f6e;
  outline-offset: 2px;
}
.cookie-consent__intro {
  margin-top: 0.875rem;
  color: #6e6360;
  font-size: 0.8125rem;
}
.cookie-consent__categories {
  margin-top: 1.25rem;
  display: grid;
  gap: 0.75rem;
}
.cookie-consent__category {
  padding: 1rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #ffffff;
  cursor: pointer;
}
.cookie-consent__category--required {
  background: #fffaf4;
  cursor: default;
}
.cookie-consent__category-icon {
  width: 2.25rem;
  height: 2.25rem;
  display: grid;
  place-items: center;
  border-radius: 0.5rem;
  background: #fff0e8;
  color: #ff7f6e;
}
.cookie-consent__category-copy {
  min-width: 0;
}
.cookie-consent__category-copy strong {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.375rem;
  font-size: 0.875rem;
}
.cookie-consent__category-copy strong small {
  padding: 0.125rem 0.375rem;
  border-radius: 999px;
  background: #e8f5f4;
  color: #20b89f;
  font-size: 0.5625rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.cookie-consent__category-copy > span {
  margin-top: 0.25rem;
  display: block;
  color: #6e6360;
  font-size: 0.6875rem;
  line-height: 1.5;
}
.cookie-consent__transparency {
  margin-top: 1rem;
  padding: 0.75rem;
  border-radius: 0.625rem;
  background: #e8f5f4;
  color: #20b89f;
  font-size: 0.6875rem;
  font-weight: 700;
}
.cookie-consent__settings-actions {
  margin-top: 1rem;
  display: grid;
  gap: 0.625rem;
}
.cookie-consent__settings-actions .btn {
  width: 100%;
}
@media (min-width: 51.25rem) {
  .cookie-consent__banner {
    padding: 1rem 1rem 1rem 1.125rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
  }
  .cookie-consent__actions {
    min-width: 11rem;
    grid-column: auto;
  }
  .cookie-consent__settings {
    padding: 1.5rem;
  }
  .cookie-consent__settings-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.switch-field {
  min-height: 3rem;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  color: #343438;
  cursor: pointer;
  font-size: 0.8125rem;
  font-weight: 700;
}
.switch-field__label {
  min-width: 0;
}
.switch-field:has(input:disabled) {
  cursor: not-allowed;
  opacity: 0.72;
}
.switch-field--compact {
  min-height: 1.75rem;
}

.switch-control {
  position: relative;
  width: 2.5rem;
  height: 1.375rem;
  display: inline-block;
  flex: 0 0 auto;
  vertical-align: middle;
}
.switch-control input {
  position: absolute;
  width: 1px;
  min-height: 1px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  opacity: 0;
  clip-path: inset(50%);
}
.switch-control input:focus {
  box-shadow: none;
}
.switch-control__track {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 999px;
  background: #fffaf4;
  pointer-events: none;
  transition: background-color 160ms cubic-bezier(0.2, 0, 0, 1), border-color 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1);
}
.switch-control__track::after {
  content: "";
  position: absolute;
  top: 0.1875rem;
  left: 0.1875rem;
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 50%;
  background: #6e6360;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  transition: background-color 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.switch-control input:checked + .switch-control__track {
  border-color: #ff7f6e;
  background: #ff7f6e;
}
.switch-control input:checked + .switch-control__track::after {
  background: #ffffff;
  transform: translateX(1.125rem);
}
.switch-control input:focus-visible + .switch-control__track {
  outline: 3px solid #ff7f6e;
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(255, 127, 110, 0.16);
}
.switch-control input:disabled + .switch-control__track {
  opacity: 0.72;
}

@media (prefers-reduced-motion: reduce) {
  .cookie-consent__banner,
  .cookie-consent__settings {
    transition: none;
  }
}
.brand {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  min-width: -moz-max-content;
  min-width: max-content;
}
.brand__mark {
  width: 2.875rem;
  height: 2.875rem;
  color: #ff7f6e;
}
.brand__mark img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.brand strong {
  display: block;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 1.125rem;
  font-weight: 900;
  line-height: 0.88;
  letter-spacing: -0.025rem;
}
.brand small {
  display: block;
  margin-top: 0.25rem;
  color: #8e7269;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.14375rem;
}

.brand--easter-active .brand__mark {
  animation: brand-secret-logo 0.85s cubic-bezier(0.2, 0.9, 0.25, 1.25);
  filter: drop-shadow(0 0.5rem 0.75rem rgba(255, 127, 110, 0.32));
}
.brand--easter-active strong {
  animation: brand-secret-type 0.85s ease;
}

.brand-easter-egg {
  --egg-x: 50vw;
  --egg-y: 5rem;
  position: fixed;
  z-index: 140;
  top: var(--egg-y);
  left: var(--egg-x);
  width: 0;
  height: 0;
  pointer-events: none;
}
.brand-easter-egg[hidden] {
  display: none;
}

.brand-easter-egg__particle {
  --particle-x: 0rem;
  --particle-y: -4rem;
  --particle-color: #ff7f6e;
  position: absolute;
  top: 0;
  left: 0;
  width: 0.55rem;
  height: 0.28rem;
  border-radius: 999px;
  background: var(--particle-color);
  opacity: 0;
  transform: translate(-50%, -50%);
  animation: brand-secret-particle 1.15s ease-out forwards;
}

@keyframes brand-secret-logo {
  0%, 100% {
    transform: rotate(0) scale(1);
  }
  25% {
    transform: rotate(-12deg) scale(1.12);
  }
  52% {
    transform: rotate(10deg) scale(0.94);
  }
  72% {
    transform: rotate(-4deg) scale(1.05);
  }
}
@keyframes brand-secret-type {
  0%, 100% {
    letter-spacing: -0.025rem;
  }
  45% {
    letter-spacing: 0.12rem;
    color: #ff7f6e;
  }
}
@keyframes brand-secret-particle {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.2) rotate(0);
  }
  18% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--particle-x)), calc(-50% + var(--particle-y))) scale(1.2) rotate(300deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .brand--easter-active .brand__mark,
  .brand--easter-active strong {
    animation: none;
  }
  .brand-easter-egg__particle {
    display: none;
  }
}
.icon-btn,
.menu-toggle,
.search-close {
  border: 0;
  background: transparent;
  cursor: pointer;
}

.icon-btn {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  transition: background 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.icon-btn:hover {
  background: #fff0e8;
}
.icon-btn svg {
  width: 1.25rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.menu-toggle {
  width: 2.75rem;
  height: 2.75rem;
  padding: 0.625rem;
  border-radius: 50%;
}
.menu-toggle > span:not(.sr-only) {
  width: 1.25rem;
  height: 0.125rem;
  display: block;
  margin: 0.25rem auto;
  border-radius: 0.125rem;
  background: #343438;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1), opacity 160ms cubic-bezier(0.2, 0, 0, 1);
}
.menu-toggle.is-active > span:nth-child(1) {
  transform: translateY(0.375rem) rotate(45deg);
}
.menu-toggle.is-active > span:nth-child(2) {
  opacity: 0;
}
.menu-toggle.is-active > span:nth-child(3) {
  transform: translateY(-0.375rem) rotate(-45deg);
}
@media (min-width: 65rem) {
  .menu-toggle {
    display: none;
  }
}

.expiry-progress {
  --expiry-progress: 100;
  width: 2.5rem;
  height: 2.5rem;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(52, 52, 56, 0.32);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.96);
  color: #343438;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  pointer-events: none;
}
.expiry-progress__ring, .expiry-progress__icon {
  grid-area: 1/1;
}
.expiry-progress__ring {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.expiry-progress__track, .expiry-progress__value {
  fill: none;
  stroke-width: 4;
}
.expiry-progress__track {
  stroke: rgba(52, 52, 56, 0.18);
}
.expiry-progress__value {
  stroke: currentColor;
  stroke-linecap: round;
  stroke-dasharray: 100;
  stroke-dashoffset: calc(100 - var(--expiry-progress));
  transition: stroke-dashoffset 1s linear;
}
.expiry-progress__icon {
  font-size: 1rem;
}
.expiry-progress--card, .expiry-progress--product, .expiry-progress--hero {
  position: absolute;
  z-index: 5;
  right: 0.875rem;
  top: 4.125rem;
}
.expiry-progress--hero {
  right: 1.125rem;
  top: 4.25rem;
}
.expiry-progress--collection {
  margin-top: 1rem;
}
.expiry-progress.is-expired {
  color: #6e6360;
}

@media (prefers-reduced-motion: reduce) {
  .expiry-progress__value {
    transition: none;
  }
}
.btn {
  min-height: 2.75rem;
  padding: 0.75rem 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1), background 160ms cubic-bezier(0.2, 0, 0, 1), border-color 160ms cubic-bezier(0.2, 0, 0, 1);
  line-height: 1.2;
  text-align: center;
}
.btn .material-symbols-outlined {
  font-size: 1.125rem;
}
.btn:disabled {
  opacity: 0.68;
  cursor: wait;
  pointer-events: none;
  transform: none;
  box-shadow: none;
}
.btn:active:not(:disabled) {
  box-shadow: none;
}
.btn--primary {
  background: #ff7f6e;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
}
.btn--primary:hover {
  background: rgb(255, 140.8, 119.4);
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
}
.btn--secondary {
  border-color: rgba(255, 127, 110, 0.18);
  background: #ffffff;
  color: #ff7f6e;
}
.btn--secondary:hover {
  background: #ff7f6e;
  color: #ffffff;
}
.btn--ghost {
  border-color: rgba(255, 127, 110, 0.22);
  background: transparent;
}
.btn--ghost:hover {
  background: #ffffff;
}
.btn--danger {
  border-color: #954c5a;
  background: #954c5a;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
}
.btn--danger:hover {
  border-color: #7d3f4b;
  background: #7d3f4b;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
}
.btn--compact {
  min-height: 2.75rem;
  padding-inline: 1rem;
  font-size: 0.875rem;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5625rem;
  color: #6e6360;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.eyebrow span {
  color: #e9a3b7;
  font-size: 0.5625rem;
}
.eyebrow--small {
  font-size: 0.6875rem;
}

.card {
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  min-width: 0;
  padding: clamp(1rem, 3vw, 1.75rem);
}
.card h2,
.card h3 {
  margin-top: 0.625rem;
}
.card > p {
  margin-top: 0.75rem;
}
.card__header {
  margin-bottom: 1.5rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 36.25rem) {
  .card__header {
    align-items: center;
    flex-direction: row;
  }
}
.card__header h2 {
  font-size: clamp(1.25rem, 2vw, 1.625rem);
}

.badge {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.4375rem 0.6875rem;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04375rem;
  text-transform: uppercase;
}
.badge .material-symbols-outlined {
  flex: 0 0 auto;
  font-size: 1rem;
}
.badge--sold-out {
  background: #343438;
  color: #ffffff;
}
.badge--primary {
  background: #fff0e8;
  color: #ff7f6e;
}
.badge--success {
  background: #e8f5f4;
  color: #376c59;
}
.badge--warning {
  background: #fff0e8;
  color: #80611b;
}
.badge--danger {
  background: #f9e7ec;
  color: #954c5a;
}

.badge-row,
.button-row {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.alert {
  position: relative;
  margin-bottom: 1.5rem;
  padding: 1rem 1.125rem;
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: 0.75rem;
  border: 1px solid transparent;
  border-radius: 0.875rem;
  color: #343438;
  line-height: 1.5;
}
.alert[hidden] {
  display: none;
}
.alert::before {
  content: "info";
  flex: 0 0 2rem;
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
  font-family: "Material Symbols Outlined";
  font-size: 1.25rem;
  font-style: normal;
  font-variation-settings: "FILL" 1, "wght" 600, "GRAD" 0, "opsz" 24;
  line-height: 1;
}
.alert > span:first-child {
  display: none;
}
.alert > div {
  min-width: 0;
  flex: 1 1 auto;
}
.alert strong {
  display: block;
  color: currentColor;
}
.alert p {
  margin-top: 0.125rem;
  color: currentColor;
  font-size: 0.8125rem;
}
.alert ul {
  margin-top: 0.375rem;
  padding-left: 1.125rem;
  font-size: 0.8125rem;
}
.alert--success {
  border-color: rgba(32, 184, 159, 0.38);
  background: #e8f5f4;
  color: #315f50;
}
.alert--success::before {
  content: "check_circle";
  color: #20b89f;
}
.alert--warning {
  border-color: rgba(240, 166, 43, 0.42);
  background: #fff0e8;
  color: #715218;
}
.alert--warning::before {
  content: "warning";
  color: #f0a62b;
}
.alert--info {
  border-color: rgba(52, 152, 219, 0.36);
  background: #e8f5f4;
  color: #3f6287;
}
.alert--info::before {
  content: "info";
  color: #3498db;
}
.alert--error, .alert--danger {
  border-color: rgba(227, 79, 104, 0.4);
  background: #f9e7ec;
  color: #914657;
}
.alert--error::before, .alert--danger::before {
  content: "error";
  color: #e34f68;
}
.alert__close, .alert--dismissible > button {
  margin-left: auto;
  width: 2rem;
  height: 2rem;
  padding: 0;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: currentColor;
  cursor: pointer;
  transition: background-color 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.alert__close:hover, .alert--dismissible > button:hover {
  background: rgba(255, 255, 255, 0.72);
  transform: scale(1.04);
}
.alert__close:focus-visible, .alert--dismissible > button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
.alert__close .material-symbols-outlined, .alert--dismissible > button .material-symbols-outlined {
  font-size: 1.25rem;
}

.pagination {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4375rem;
}
.pagination a,
.pagination span {
  min-width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.625rem;
  background: #ffffff;
  font-size: 0.75rem;
  font-weight: 800;
}
.pagination [aria-current=page] {
  border-color: #343438;
  background: #343438;
  color: #ffffff;
}
.pagination [aria-disabled=true] {
  display: none;
  color: #aaa0b1;
}
.pagination--end {
  justify-content: flex-end;
}

.dropdown {
  position: relative;
}
.dropdown__menu {
  position: absolute;
  z-index: 100;
  top: calc(100% + 0.625rem);
  min-width: 11rem;
  max-width: calc(100vw - 2rem);
  padding: 0.5rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.625rem;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
}
.dropdown__menu[hidden] {
  display: none;
}
.dropdown__menu a,
.dropdown__menu button {
  width: 100%;
  min-height: 2.75rem;
  padding: 0.625rem 0.75rem;
  display: block;
  border: 0;
  border-radius: 0.5rem;
  background: transparent;
  text-align: left;
  font-size: 0.8125rem;
}
.dropdown__menu a:hover,
.dropdown__menu button:hover {
  background: #fff0e8;
}
.dropdown__menu--right {
  right: 0;
}

.swal2-actions {
  gap: 0.5rem;
  display: inline-flex;
  align-items: center;
}

.swal2-popup {
  border-radius: 1.5rem;
  font-family: "Poppins", sans-serif;
}

.swal2-title {
  color: #343438;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
}

.swal2-confirm {
  border-radius: 999px;
  background: #ff7f6e;
  color: #ffffff;
  font-weight: 800;
}

.swal2-loader {
  border-color: #ff7f6e transparent #ff7f6e transparent;
}

.empty-panel {
  min-width: 0;
  overflow-wrap: anywhere;
  padding: clamp(2rem, 5vw, 4rem) 1.25rem;
  border: 1px dashed rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #ffffff;
  text-align: center;
  box-shadow: none;
}
.empty-panel > span {
  color: #ff7f6e;
}
.empty-panel > span.material-symbols-outlined,
.empty-panel > span > span {
  font-size: 3rem;
}
.empty-panel h2,
.empty-panel h3 {
  margin: 0.75rem 0 0;
  font-size: clamp(1.5rem, 3vw, 2rem);
}
.empty-panel p {
  margin: 0.375rem auto 1.25rem;
  max-width: 48ch;
}
.empty-panel > .btn {
  margin-top: 1.25rem;
}
.empty-panel p + .btn {
  margin-top: 0;
}

.pix-payment {
  display: grid;
  gap: 1rem;
  justify-items: center;
  margin-top: 1.5rem;
}
.pix-payment__qr {
  width: min(18rem, 100%);
  height: auto;
  border-radius: 0.875rem;
}
.pix-payment label,
.pix-payment textarea {
  width: 100%;
}
.pix-payment textarea {
  resize: none;
  overflow-wrap: anywhere;
}

#checkoutCardPaymentBrick {
  width: 100%;
  min-width: 0;
  margin-top: 1rem;
  overflow: hidden;
}

.form-grid {
  min-width: 0;
  display: grid;
  gap: 1rem;
}
@media (min-width: 36.25rem) {
  .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.field {
  min-width: 0;
}
@media (min-width: 36.25rem) {
  .field--full {
    grid-column: 1/-1;
  }
}
.field label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
}
.field small {
  display: block;
  margin-top: 0.375rem;
  color: #6e6360;
  font-size: 0.75rem;
}

.field > .switch-field {
  margin-bottom: 0;
  display: flex;
}

.field .field-error {
  color: #e34f68;
  font-weight: 600;
}

.password-strength {
  margin-top: 0.625rem;
  color: #6e6360;
  font-size: 0.75rem;
}
.password-strength__track {
  height: 0.25rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 127, 110, 0.18);
}
.password-strength__track span {
  width: 0;
  height: 100%;
  display: block;
  border-radius: inherit;
  background: #6e6360;
  transition: width 160ms cubic-bezier(0.2, 0, 0, 1), background-color 160ms cubic-bezier(0.2, 0, 0, 1);
}
.password-strength p {
  margin-top: 0.4rem;
}
.password-strength p strong {
  color: #6e6360;
}
.password-strength ul {
  margin-top: 0.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.75rem;
  list-style: none;
}
.password-strength li::before {
  content: "•";
  margin-right: 0.3rem;
}
.password-strength li.is-valid {
  color: #20b89f;
}
.password-strength li.is-valid::before {
  content: "✓";
}
.password-strength[data-strength-level=weak] .password-strength__track span {
  background: #e34f68;
}
.password-strength[data-strength-level=weak] [data-password-strength-label] {
  color: #e34f68;
}
.password-strength[data-strength-level=medium] .password-strength__track span {
  background: #f0a62b;
}
.password-strength[data-strength-level=medium] [data-password-strength-label] {
  color: #f0a62b;
}
.password-strength[data-strength-level=strong] .password-strength__track span {
  background: #20b89f;
}
.password-strength[data-strength-level=strong] [data-password-strength-label] {
  color: #20b89f;
}

input[aria-invalid=true],
select[aria-invalid=true],
textarea[aria-invalid=true] {
  border-color: #e34f68;
  background: #fff8f9;
}

input,
select,
textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #8a7b77;
  border-radius: 0.625rem;
  background: #ffffff;
  color: #343438;
  font-size: 1rem;
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1);
}
input:focus,
select:focus,
textarea:focus {
  border-color: #ff7f6e;
  outline: 2px solid #ff7f6e;
  outline-offset: 2px;
  box-shadow: none;
}
input::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  color: #6e6360;
}
input::placeholder,
select::placeholder,
textarea::placeholder {
  color: #6e6360;
}
input:disabled,
select:disabled,
textarea:disabled {
  background: #fffaf4;
  color: #6e6360;
  cursor: not-allowed;
}

input,
select {
  min-height: 3rem;
  padding: 0 0.9375rem;
}

select {
  cursor: pointer;
}

textarea {
  min-height: 7.5rem;
  padding: 0.875rem 0.9375rem;
  resize: vertical;
}

.file-upload {
  position: relative;
  min-height: 5.25rem;
  padding: 0.85rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, #ff7f6e 24%, rgba(255, 127, 110, 0.18));
  border-radius: 0.625rem;
  background: linear-gradient(135deg, #ffffff, #fff0e8);
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  cursor: pointer;
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.file-upload:hover, .file-upload:focus-within, .file-upload.is-dragging {
  border-color: color-mix(in srgb, #ff7f6e 58%, rgba(255, 127, 110, 0.18));
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
  transform: translateY(-0.0625rem);
}
.file-upload.has-file {
  border-color: rgba(32, 184, 159, 0.55);
  background: linear-gradient(135deg, #ffffff, #e8f5f4);
}
.file-upload input[type=file] {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  cursor: pointer;
}
.file-upload:focus-within {
  outline: 3px solid #ff7f6e;
  outline-offset: 3px;
}
.file-upload__icon {
  flex: 0 0 auto;
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: 0.5rem;
  background: #ffffff;
  color: #ff7f6e;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
}
.file-upload__icon .material-symbols-outlined {
  font-size: 1.5rem;
}
.file-upload.has-file .file-upload__icon {
  color: #20b89f;
}
.file-upload__copy {
  flex: 1 1 auto;
  min-width: 0;
}
.file-upload__copy strong,
.file-upload__copy small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.file-upload__copy strong {
  color: #343438;
  font-size: 0.875rem;
}
.file-upload__copy small {
  margin-top: 0.2rem;
  color: #6e6360;
  font-size: 0.75rem;
}
.file-upload__action {
  flex: 0 0 auto;
  padding: 0.55rem 0.75rem;
  border-radius: 0.625rem;
  background: #ff7f6e;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 900;
}
@media (max-width: 26rem) {
  .file-upload__action {
    display: none;
  }
}

.form-card form > .btn,
.account-section form:not(.market-status-filter) > .btn {
  margin-top: 1.25rem;
}

.search-close {
  width: 3.25rem;
  height: 3.25rem;
  padding: 0;
  flex: 0 0 auto;
  justify-content: center;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 50%;
  background: #fffaf4;
  color: #6e6360;
  display: inline-flex;
  align-items: center;
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), background 160ms cubic-bezier(0.2, 0, 0, 1), color 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.search-close:hover {
  border-color: #ff7f6e;
  background: #fff0e8;
  color: #ff7f6e;
}
.search-close > .material-symbols-outlined {
  font-size: 1.25rem;
}

.table-wrap {
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-color: #8a7b77 #fffaf4;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
}

.data-table {
  width: 100%;
  min-width: 42rem;
  font-variant-numeric: tabular-nums;
  background: #ffffff;
}
.data-table th,
.data-table td {
  padding: 0.875rem 1rem;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
  text-align: left;
}
.data-table th {
  background: #fffaf4;
  color: #6e6360;
  font-size: 0.75rem;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
}
.data-table td {
  font-size: 0.875rem;
}
.data-table tbody tr:last-child td {
  border-bottom: 0;
}
.data-table tbody tr:not(.table-empty):hover {
  background: rgba(255, 240, 232, 0.45);
}
.data-table .table-empty td {
  padding: 3.5rem 1rem;
  text-align: center;
}
.data-table .table-empty span,
.data-table .table-empty strong,
.data-table .table-empty small {
  display: block;
}
.data-table .table-empty span {
  color: #ff7f6e;
  font-size: 2rem;
}
.data-table .table-empty strong {
  margin-top: 0.5rem;
}
.data-table .table-empty small {
  margin-top: 0.25rem;
  color: #6e6360;
}

.table-actions {
  width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.table-actions select {
  flex: 1;
  min-width: 10rem;
}

@keyframes announcement-lines-slide {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 200px 0;
  }
}
@keyframes reveal-premium {
  from {
    opacity: 0;
    transform: translateY(1.25rem) scale(0.985);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes cart-count-pop {
  0% {
    transform: scale(1);
  }
  45% {
    transform: scale(1.35) rotate(-7deg);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes saved-heartbeat {
  0%, 12%, 28%, 100% {
    transform: scale(1);
  }
  6% {
    transform: scale(1.075);
  }
  19% {
    transform: scale(1.04);
  }
}
@keyframes payment-pending-dot {
  0%, 60%, 100% {
    opacity: 0.5;
    transform: translateY(0) scale(0.9);
  }
  30% {
    opacity: 1;
    transform: translateY(-0.3rem) scale(1.12);
  }
}
.motion-ready .reveal-item {
  opacity: 1;
  transform: none;
}

.motion-ready .reveal-item.is-revealed {
  opacity: 1;
  transform: none;
}

.reveal-delay-1 {
  --reveal-delay: 65ms;
}

.reveal-delay-2 {
  --reveal-delay: 130ms;
}

.reveal-delay-3 {
  --reveal-delay: 195ms;
}

.reveal-delay-4 {
  --reveal-delay: 260ms;
}

.reveal-delay-5 {
  --reveal-delay: 325ms;
}

.reveal-delay-6 {
  --reveal-delay: 390ms;
}

.benefit-icon,
.product-card__link,
.btn .material-symbols-outlined,
.text-link .material-symbols-outlined {
  transition: transform 240ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.cart-count.is-cart-updated {
  animation: cart-count-pop 440ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.product-card__save:has(button[aria-pressed=true]) svg path,
.store-hero__favorite:has(button[aria-pressed=true]) svg path,
.product-gallery__favorite:has(button[aria-pressed=true]) svg path {
  transform-box: fill-box;
  transform-origin: center;
  animation: saved-heartbeat 2.6s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .motion-ready .reveal-item,
  .motion-ready .reveal-item.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
  .hero-carousel__viewport,
  .badge--sold-out,
  .product-badge--sold-out,
  .cart-count.is-cart-updated,
  .product-card__save:has(button[aria-pressed=true]) svg path,
  .store-hero__favorite:has(button[aria-pressed=true]) svg path,
  .product-gallery__favorite:has(button[aria-pressed=true]) svg path {
    animation: none;
  }
  .benefit-icon,
  .product-card__link,
  .btn .material-symbols-outlined,
  .text-link .material-symbols-outlined {
    transition: none;
  }
}
@media (display-mode: standalone) {
  [data-pwa-install-entry],
  [data-pwa-install-promotion],
  [data-pwa-install-tutorial] {
    display: none;
  }
}
.install-app-page {
  min-height: 65vh;
  position: relative;
  z-index: 1;
  background: #f7f3ee;
}

.catalog-hero.install-app-hero {
  background: radial-gradient(ellipse at 12% 10%, rgba(167, 217, 214, 0.44), transparent 55%), radial-gradient(ellipse at 88% 16%, rgba(220, 198, 244, 0.88), transparent 62%), radial-gradient(ellipse at 58% 115%, rgba(233, 163, 183, 0.22), transparent 54%), #f2eafb;
}

.install-app-shell {
  max-width: 58rem;
}

.install-app-status,
.install-app-complete {
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.install-app-status h2,
.install-app-complete h2 {
  margin: 0;
}
.install-app-status p,
.install-app-complete p {
  margin-top: 0.125rem;
  color: #6e6360;
}
.install-app-status > .material-symbols-outlined, .install-app-status__icon,
.install-app-complete > .material-symbols-outlined,
.install-app-complete__icon {
  width: 3rem;
  height: 3rem;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  color: #ff7f6e;
  font-size: 1.5rem;
}

.install-app-complete {
  border-color: rgba(32, 184, 159, 0.34);
  background: #e8f5f4;
}
.install-app-complete > .material-symbols-outlined {
  background: #ffffff;
  color: #20b89f;
}

.install-app-tutorial[hidden],
.install-app-complete[hidden],
.install-app-guide[hidden],
[data-pwa-install-entry][hidden],
[data-pwa-install-button][hidden] {
  display: none;
}

.install-app-guide {
  padding: clamp(1.25rem, 4vw, 2rem);
}
.install-app-guide > .alert {
  margin: 1.25rem 0 0;
}

.install-app-guide__heading {
  display: flex;
  align-items: center;
  gap: 0.875rem;
}
.install-app-guide__heading > .material-symbols-outlined {
  width: 3.25rem;
  height: 3.25rem;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 0.875rem;
  background: #fff0e8;
  color: #ff7f6e;
  font-size: 1.625rem;
}
.install-app-guide__heading h2 {
  margin-top: 0.125rem;
}

.install-app-button {
  width: 100%;
  margin-top: 1.5rem;
  gap: 0.5rem;
}
@media (min-width: 36.25rem) {
  .install-app-button {
    width: auto;
  }
}

.install-app-steps {
  margin-top: 1.5rem;
  display: grid;
  gap: 0.75rem;
  list-style: none;
}
.install-app-steps li {
  padding: 1rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.875rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.625rem;
  background: #fffaf4;
}
.install-app-steps li > span {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ff7f6e;
  color: #ffffff;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-weight: 700;
}
.install-app-steps strong {
  display: block;
}
.install-app-steps p {
  margin-top: 0.125rem;
  color: #6e6360;
  font-size: 0.875rem;
}

.offline-page {
  min-height: 100vh;
  padding: 1.25rem;
  display: grid;
  place-items: center;
}

.offline-shell {
  width: min(100%, 31rem);
  text-align: center;
}
.offline-shell img {
  margin: 0 auto 1rem;
  border-radius: 1.5rem;
}
.offline-shell h1 {
  margin-top: 0.75rem;
}
.offline-shell p {
  color: #6e6360;
}
.offline-shell .btn {
  margin-top: 1.5rem;
}

.institutional-page {
  min-height: 60vh;
  background-color: #f7f3ee;
}

.institutional-hero {
  position: relative;
  padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(4.5rem, 7vw, 6.5rem);
  overflow: hidden;
  background: radial-gradient(ellipse at 12% 8%, rgba(255, 250, 244, 0.9), transparent 58%), radial-gradient(ellipse at 96% 20%, rgba(167, 217, 214, 0.78), transparent 60%), radial-gradient(ellipse at 65% 115%, rgba(233, 163, 183, 0.66), transparent 58%), #dcc6f4;
}
.institutional-hero > .container {
  position: relative;
  z-index: 1;
}
.institutional-hero__heading {
  max-width: 58rem;
  margin: 0;
}
.institutional-hero .eyebrow,
.institutional-hero p {
  color: #343438;
}
.institutional-hero h1 {
  max-width: 52rem;
  margin: 0.75rem 0 0.625rem;
  font-size: clamp(2.25rem, 5vw, 4.25rem);
  overflow-wrap: anywhere;
}
.institutional-hero p {
  max-width: 42rem;
  font-size: clamp(1rem, 2vw, 1.2rem);
  line-height: 1.65;
}

:where(.layout-public) :is(.institutional-page, .install-app-page) {
  padding-bottom: max(3.5rem, clamp(2.5rem, 5vw, 4.5rem));
}

.newsletter-cancellation {
  min-height: 70vh;
  display: grid;
  align-items: center;
  background: radial-gradient(circle at 12% 18%, rgba(167, 217, 214, 0.28), transparent 24rem), radial-gradient(circle at 88% 82%, rgba(255, 196, 157, 0.32), transparent 24rem), #f7f3ee;
}

.newsletter-cancellation__container {
  display: grid;
  place-items: center;
}

.newsletter-cancellation__card {
  width: min(100%, 42rem);
  padding: clamp(1.5rem, 5vw, 3rem);
  border-color: rgba(255, 127, 110, 0.2);
  text-align: center;
}
.newsletter-cancellation__card h1 {
  margin: 0.75rem auto 1rem;
  font-size: clamp(2rem, 7vw, 3.25rem);
}
.newsletter-cancellation__card p {
  max-width: 34rem;
  margin-inline: auto;
}
.newsletter-cancellation__card form {
  margin-top: 1.75rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.newsletter-cancellation__card > .btn {
  margin-top: 1.75rem;
}

.newsletter-cancellation__icon {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff0e8;
  color: #ff7f6e;
  font-size: 2rem;
}
.newsletter-cancellation__icon--success {
  background: #e8f5f4;
  color: #20b89f;
}

.institutional-heading {
  max-width: 48rem;
}
.institutional-heading p {
  max-width: 42rem;
  color: #6e6360;
  line-height: 1.7;
}

.sitemap-page__grid {
  display: grid;
  gap: 1rem;
}
@media (min-width: 51.25rem) {
  .sitemap-page__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.sitemap-page__group {
  min-width: 0;
  padding: 1.25rem;
}
.sitemap-page__group h2 {
  margin-bottom: 0.75rem;
  color: #343438;
  font-size: 1.375rem;
}
.sitemap-page__group nav {
  display: grid;
}
.sitemap-page__group a {
  min-height: 3rem;
  padding: 0.75rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  color: #6e6360;
  font-size: 0.875rem;
  font-weight: 700;
  transition: color 160ms cubic-bezier(0.2, 0, 0, 1), padding 160ms cubic-bezier(0.2, 0, 0, 1);
}
.sitemap-page__group a:not(:last-child) {
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
}
.sitemap-page__group a:hover {
  padding-left: 0.25rem;
  color: #ff7f6e;
}
.sitemap-page__group a:focus-visible {
  border-radius: 0.5rem;
  outline: 3px solid #ff7f6e;
  outline-offset: 3px;
}
.sitemap-page__group a .material-symbols-outlined {
  flex: 0 0 auto;
  color: #ff7f6e;
  font-size: 1rem;
}

.institutional-layout {
  display: grid;
  align-items: start;
  gap: 1.25rem;
}
@media (min-width: 65rem) {
  .institutional-layout {
    grid-template-columns: minmax(13rem, 0.48fr) minmax(0, 1.52fr);
  }
}

.institutional-navigation {
  padding: 1.25rem;
}
.institutional-navigation > strong {
  display: block;
  margin-bottom: 0.75rem;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 1.125rem;
}
.institutional-navigation nav {
  display: grid;
}
.institutional-navigation a {
  padding: 0.75rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  color: #6e6360;
  font-size: 0.875rem;
  font-weight: 700;
}
.institutional-navigation a:not(:last-child) {
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
}
.institutional-navigation a:hover, .institutional-navigation a[aria-current=page] {
  color: #ff7f6e;
}
.institutional-navigation a[aria-current=page] span {
  color: #ff7f6e;
}
@media (min-width: 65rem) {
  .institutional-navigation {
    position: sticky;
    top: 7.25rem;
  }
}

@media (min-width: 65rem) {
  .has-global-announcement .institutional-navigation {
    top: 10rem;
  }
}

.institutional-content {
  padding: 1.25rem;
  color: #6e6360;
  line-height: 1.75;
}
@media (min-width: 36.25rem) {
  .institutional-content {
    padding: 2rem;
  }
}
.institutional-content h2 {
  margin: 2rem 0 0.75rem;
  color: #343438;
  font-size: clamp(1.35rem, 4vw, 1.75rem);
}
.institutional-content h2:first-child {
  margin-top: 0;
}
.institutional-content p + p,
.institutional-content p + ul,
.institutional-content ul + p {
  margin-top: 1rem;
}
.institutional-content ul {
  padding-left: 1.25rem;
  display: grid;
  gap: 0.625rem;
}
.institutional-content li::marker {
  color: #ff7f6e;
}

.manuals-content {
  color: #343438;
}

.manuals-intro {
  margin-bottom: 1.5rem;
}
.manuals-intro h2 {
  margin-bottom: 0.5rem;
}
.manuals-intro p {
  color: #6e6360;
}

.manual-grid {
  display: grid;
  gap: 1rem;
}
@media (min-width: 36.25rem) {
  .manual-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.manual-card {
  min-width: 0;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #fffaf4;
}
.manual-card > span:first-child {
  color: #ff7f6e;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.manual-card h3 {
  margin: 0.35rem 0 0.5rem;
  overflow-wrap: anywhere;
}
.manual-card p {
  margin-bottom: 1rem;
  color: #6e6360;
  line-height: 1.6;
}
.manual-card .btn {
  margin-top: auto;
  border-color: rgba(52, 52, 56, 0.32);
  color: #343438;
}
.manual-card .btn:hover {
  border-color: rgba(52, 52, 56, 0.45);
  background: #fff0e8;
  color: #343438;
}

.manuals-note {
  margin-top: 1.25rem;
  padding: 1rem;
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  border-radius: 0.625rem;
  background: #fff0e8;
  color: #343438;
}
.manuals-note .material-symbols-outlined {
  flex: 0 0 auto;
  color: #ff7f6e;
}

.legal-review {
  display: none;
  max-width: 52rem;
  margin-bottom: 1.25rem;
}

.contact-layout {
  display: grid;
  align-items: start;
  gap: 1.25rem;
}
@media (min-width: 65rem) {
  .contact-layout {
    grid-template-columns: minmax(15rem, 0.75fr) minmax(0, 1.5fr);
  }
}

.contact-card,
.contact-form {
  padding: 1.25rem;
}
@media (min-width: 36.25rem) {
  .contact-card,
  .contact-form {
    padding: 1.75rem;
  }
}

.contact-card p {
  margin-top: 0.75rem;
  color: #6e6360;
  line-height: 1.65;
}
@media (min-width: 65rem) {
  .contact-card {
    position: sticky;
    top: 6rem;
  }
}

.contact-form {
  position: relative;
}
.contact-form > .btn {
  margin-top: 1rem;
}

.spam-field {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.hero {
  position: relative;
  padding: 3.5rem 0 4.25rem;
  overflow: hidden;
}
@media (min-width: 51.25rem) {
  .hero {
    padding: 5.5rem 0 5.9375rem;
  }
}
.hero__grid {
  display: grid;
  align-items: center;
  gap: 2.75rem;
}
@media (min-width: 51.25rem) {
  .hero__grid {
    grid-template-columns: 1.02fr 0.98fr;
    gap: clamp(2.8125rem, 7vw, 5.75rem);
  }
}
.hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
}
@media (min-width: 51.25rem) {
  .hero__content {
    text-align: left;
  }
}
.hero__content h1 {
  margin: 1rem 0 1.25rem;
}
.hero__content h1 em {
  position: relative;
  color: #ff7f6e;
  font-style: normal;
}
.hero__content h1 em::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -0.3125rem;
  left: 0.125rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #ffc49d;
  opacity: 0.65;
  transform: rotate(-1deg);
  z-index: -1;
}
.hero__content > p {
  max-width: 34rem;
  margin-inline: auto;
  font-size: clamp(1rem, 2vw, 1.25rem);
}
@media (min-width: 51.25rem) {
  .hero__content > p {
    margin-inline: 0;
  }
}
.hero__actions {
  margin-top: 2rem;
  display: flex;
  align-items: stretch;
  flex-direction: column;
  gap: 0.75rem;
}
@media (min-width: 36.25rem) {
  .hero__actions {
    align-items: center;
    justify-content: center;
    flex-direction: row;
  }
}
@media (min-width: 51.25rem) {
  .hero__actions {
    justify-content: flex-start;
  }
}
.hero__visual {
  position: relative;
  min-height: 25rem;
  display: grid;
  place-items: center;
}
@media (min-width: 51.25rem) {
  .hero__visual {
    min-height: 32rem;
  }
}

.hero-blob {
  position: absolute;
  width: min(90vw, 28rem);
  aspect-ratio: 1;
  border-radius: 47% 53% 52% 48%/42% 45% 55% 58%;
  background: #fff0e8;
  transform: rotate(8deg);
}

.showcase-product {
  position: relative;
  z-index: 1;
  width: min(21rem, 82%);
  padding: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 1.5rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
  transform: rotate(1.5deg);
}
.showcase-product > .badge {
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  z-index: 2;
}
.showcase-product__art {
  min-height: 17rem;
  display: grid;
  place-items: center;
  border-radius: 1.75rem;
  background: linear-gradient(145deg, #f8dce3, #efe7fa);
}
.showcase-product__art svg {
  width: 75%;
  filter: drop-shadow(0 18px 13px rgba(89, 59, 110, 0.15));
}
.showcase-product__body {
  padding: 0.9375rem 0.5rem 0.375rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.625rem;
}
.showcase-product__body small,
.showcase-product__body strong {
  display: block;
}
.showcase-product__body small {
  color: #6e6360;
  font-size: 0.625rem;
  letter-spacing: 0.0625rem;
  text-transform: uppercase;
}
.showcase-product__body strong {
  font-family: "Nunito", "Nunito Rounded", sans-serif;
}
.showcase-product__body > span {
  color: #ff7f6e;
  font-weight: 800;
}

.benefits {
  background: #fffaf4;
}
.benefits__grid {
  display: grid;
}
@media (min-width: 36.25rem) {
  .benefits__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 65rem) {
  .benefits__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.benefits article {
  padding: 1.5rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.875rem;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
}
.benefits article:last-child {
  border-bottom: none;
}
@media (min-width: 36.25rem) {
  .benefits article:last-child {
    border-right: none;
  }
}
@media (min-width: 65rem) {
  .benefits article {
    border-bottom: 0;
  }
}
.benefits strong {
  display: block;
  font-size: 0.875rem;
}
.benefits p {
  margin-top: 0.1875rem;
  font-size: 0.6875rem;
  line-height: 1.45;
}

.benefit-icon {
  flex: 0 0 2.625rem;
  width: 2.625rem;
  height: 2.625rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ff7f6e;
  box-shadow: 0 0.625rem 1.5rem rgba(255, 127, 110, 0.2);
  color: #ffffff;
  font-weight: 800;
}
.benefit-icon > span {
  font-size: 1.35rem;
}

.section-heading {
  margin-bottom: 1.75rem;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.section-heading > div {
  min-width: 0;
}
.section-heading h1, .section-heading h2 {
  margin-top: 0.375rem;
}
.section-heading p {
  margin-top: 0.5rem;
  max-width: 65ch;
}
@media (min-width: 36.25rem) {
  .section-heading {
    align-items: flex-end;
  }
}
.section-heading h2 {
  margin-top: 0.8125rem;
}
.section-heading--compact {
  margin-bottom: 1.5rem;
}

.showcase-grid {
  display: grid;
  gap: 1.25rem;
}
@media (min-width: 51.25rem) {
  .showcase-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.form-card {
  margin-top: 1.25rem;
}

.steps-section {
  background: #343438;
  color: #ffffff;
}
.steps-section p {
  color: #c6bdce;
}

.steps__grid {
  display: grid;
  gap: 2.8125rem;
}
@media (min-width: 51.25rem) {
  .steps__grid {
    grid-template-columns: 0.85fr 1.15fr;
    align-items: center;
    gap: clamp(3.4375rem, 8vw, 7.5rem);
  }
}
.steps__grid h2 {
  margin: 0.875rem 0 1.25rem;
}

.steps__list {
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}
.steps__list article {
  padding: 1.6875rem 0;
  display: grid;
  grid-template-columns: 2.875rem 1fr;
  gap: 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.steps__list article > span {
  width: 2.875rem;
  height: 2.875rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.09);
  color: #ffc49d;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 0.875rem;
}
.steps__list strong {
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 1.375rem;
}
.steps__list p {
  margin-top: 0.3125rem;
  font-size: 0.8125rem;
}

.newsletter {
  background: #f9e7ec;
}
.newsletter__inner {
  display: grid;
  align-items: center;
  gap: 2.5rem;
  text-align: center;
}
@media (min-width: 51.25rem) {
  .newsletter__inner {
    grid-template-columns: 1fr auto;
    gap: 5rem;
    text-align: left;
  }
}
.newsletter__inner h2 {
  margin: 0.8125rem 0 0.9375rem;
}

.store-hero {
  position: relative;
  padding: 2.5rem 0 4.5rem;
  overflow: hidden;
  isolation: isolate;
  background-color: var(--home-hero-background, #f7f3ee);
  background-image: radial-gradient(circle at 4% 18%, rgba(167, 217, 214, 0.2) 0 4.5rem, transparent 4.6rem), radial-gradient(circle at 94% 86%, rgba(220, 198, 244, 0.25) 0 6rem, transparent 6.1rem), var(--home-hero-background-image, none);
  background-repeat: no-repeat, no-repeat, var(--home-hero-background-repeat, no-repeat);
  background-size: auto, auto, var(--home-hero-background-size, cover);
  transition: background-color 1.1s cubic-bezier(0.22, 0.75, 0.3, 1);
}
@media (min-width: 51.25rem) {
  .store-hero {
    padding: 3.5rem 0 6rem;
  }
}
.store-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  align-items: center;
  gap: 2.5rem;
}
@media (min-width: 51.25rem) {
  .store-hero__grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
    gap: clamp(2rem, 4vw, 4rem);
  }
}
.store-hero h1 {
  margin: 1rem 0 1.25rem;
  font-size: clamp(2.375rem, 5vw, 4.25rem);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.035em;
}
.store-hero h1 em {
  color: #ff7f6e;
  font-style: normal;
}
.store-hero .hero-copy-rotator__phrase:not(:first-child) {
  display: none;
}
.store-hero .hero-copy-rotator.is-enhanced {
  position: relative;
  display: block;
  transition: height 520ms cubic-bezier(0.2, 0, 0, 1);
}
.store-hero .hero-copy-rotator.is-enhanced .hero-copy-rotator__phrase {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: block;
  visibility: hidden;
  opacity: 0;
  transform: translateY(0.35rem);
  transition: opacity 520ms cubic-bezier(0.2, 0, 0, 1), visibility 0s linear 520ms, transform 520ms cubic-bezier(0.2, 0, 0, 1);
}
.store-hero .hero-copy-rotator.is-enhanced .hero-copy-rotator__phrase.is-active {
  visibility: visible;
  opacity: 1;
  transform: none;
  transition-delay: 0s;
}
.store-hero .hero-copy-descriptions__phrase:not(:first-child) {
  display: none;
}
.store-hero .hero-copy-descriptions.is-enhanced {
  position: relative;
  display: block;
  transition: height 520ms cubic-bezier(0.2, 0, 0, 1);
}
.store-hero .hero-copy-descriptions.is-enhanced .hero-copy-descriptions__phrase {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: block;
  visibility: hidden;
  opacity: 0;
  transform: translateY(0.25rem);
  transition: opacity 520ms cubic-bezier(0.2, 0, 0, 1), visibility 0s linear 520ms, transform 520ms cubic-bezier(0.2, 0, 0, 1);
}
.store-hero .hero-copy-descriptions.is-enhanced .hero-copy-descriptions__phrase.is-active {
  visibility: visible;
  opacity: 1;
  transform: none;
  transition-delay: 0s;
}
.store-hero p {
  max-width: 35rem;
  font-size: clamp(1rem, 2vw, 1.2rem);
}
.store-hero__product {
  position: relative;
  padding: 0;
  display: block;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1.5rem;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1);
}
.store-hero__product:hover {
  transform: translateY(-0.125rem);
  box-shadow: 0 16px 48px rgba(52, 52, 56, 0.12);
}
.store-hero__product > .badge {
  position: absolute;
  z-index: 1;
  top: 1rem;
  left: 1rem;
  gap: 0.5rem;
  display: inline-flex;
  align-items: center;
}
.store-hero__product img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 0;
  background: linear-gradient(145deg, #f9e7ec, #fff0e8);
}
.store-hero__product > div {
  padding: 1rem 1.25rem 1.125rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.store-hero__product strong {
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 1.125rem;
}
.store-hero__product div > span {
  color: #ff7f6e;
  font-weight: 800;
  white-space: nowrap;
}

.store-hero-carousel {
  position: relative;
  z-index: 1;
}
.store-hero-carousel .hero-carousel__viewport {
  margin: 0;
  padding: 0.5rem;
  overflow: visible;
}
.store-hero-carousel .hero-carousel__slide {
  padding: 0 0 4.75rem;
  overflow: visible;
}
@media (min-width: 51.25rem) {
  .store-hero-carousel .store-hero__grid--without-product {
    grid-template-columns: minmax(0, 48rem);
  }
}
.store-hero-carousel .hero-carousel__controls {
  position: relative;
  z-index: 3;
  margin-top: 0;
}

.hero-product-rotator {
  position: relative;
  display: grid;
}
.hero-product-rotator .store-hero__product {
  grid-area: 1/1;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: scale(0.98);
  transition: opacity 480ms ease, visibility 0s linear 480ms, transform 480ms ease;
}
.hero-product-rotator .store-hero__product.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
  transition-delay: 0s;
}

.store-hero__product > .badge {
  z-index: 4;
}
.store-hero__product-media {
  display: block;
  margin: 0;
}
.store-hero__product .store-hero__favorite {
  position: absolute;
  z-index: 5;
  top: 1rem;
  right: 1rem;
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ff7f6e;
  transition: color 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.store-hero__product .store-hero__favorite:hover, .store-hero__product .store-hero__favorite:focus-visible, .store-hero__product .store-hero__favorite:has(button:focus-visible) {
  color: #e9a3b7;
  transform: translateY(-0.125rem) scale(1.04);
}
.store-hero__product form.store-hero__favorite {
  margin: 0;
}
.store-hero__product .store-hero__favorite button {
  width: 100%;
  height: 100%;
  padding: 0.65rem;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.store-hero__product .store-hero__favorite svg {
  width: 1.45rem;
  height: 1.45rem;
  display: block;
  fill: transparent;
  stroke: currentColor;
  stroke-width: 1.8;
}
.store-hero__product .store-hero__favorite:has(button[aria-pressed=true]) svg {
  fill: currentColor;
}
.store-hero__product > .store-hero__product-body {
  padding: 1rem 1.25rem 1.125rem;
  display: block;
}
.store-hero__product-meta {
  margin-bottom: 0.35rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: #6e6360;
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
}
.store-hero__product-meta a {
  color: inherit;
}
.store-hero__product-body > strong {
  display: block;
}
.store-hero__product-body > strong a {
  color: inherit;
}
.store-hero__product-footer {
  margin-top: 0.8rem;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
}
.store-hero__product-footer > div {
  padding: 0;
  display: block;
}
.store-hero__product-footer > div > span {
  display: block;
  color: #ff7f6e;
  font-weight: 900;
  white-space: nowrap;
}
.store-hero__product-footer small {
  display: block;
  margin-top: 0.15rem;
  color: #6e6360;
  font-size: 0.72rem;
}
.store-hero__product-action {
  width: 2.65rem;
  height: 2.65rem;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #343438;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  cursor: pointer;
}

.store-hero-carousel .hero-carousel__slide:not(.is-active) .hero-product-rotator {
  pointer-events: none;
}
.store-hero-carousel .hero-carousel__slide:not(.is-active) .hero-product-rotator .store-hero__product {
  visibility: hidden;
  pointer-events: none;
}

.hero-product-rotator__controls {
  position: absolute;
  z-index: 5;
  right: 0.75rem;
  bottom: -3rem;
  left: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
}
.hero-product-rotator__controls button {
  width: 2.35rem;
  height: 2.35rem;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 50%;
  background: #ffffff;
  color: #ff7f6e;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  cursor: pointer;
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), background-color 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.hero-product-rotator__controls button:hover {
  border-color: #ff7f6e;
  background: #fff0e8;
  transform: translateY(-0.125rem);
}

.hero-product-rotator__dots {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.hero-product-rotator__dots i {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: rgba(255, 127, 110, 0.18);
  transition: width 160ms cubic-bezier(0.2, 0, 0, 1), background-color 160ms cubic-bezier(0.2, 0, 0, 1);
}
.hero-product-rotator__dots i.is-active {
  width: 1.25rem;
  border-radius: 999px;
  background: #ff7f6e;
}

.store-story-progress {
  position: fixed;
  z-index: 110;
  inset: 0 0 auto;
  height: 0.25rem;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.55);
  pointer-events: none;
}
.store-story-progress span {
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(90deg, #ff7f6e, #ffc49d, #e9a3b7, #dcc6f4, #a7d9d6);
  box-shadow: 0 0.125rem 1rem rgba(255, 127, 110, 0.34);
  transform: scaleX(0);
  transform-origin: left center;
}

.store-story-chapter {
  position: fixed;
  z-index: 49;
  top: 50%;
  right: 1.375rem;
  display: grid;
  justify-items: center;
  gap: 0.45rem;
  color: #806a63;
  font-size: 0.5rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  transform: translateY(-50%);
  pointer-events: none;
  mix-blend-mode: multiply;
}
.store-story-chapter strong {
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 0.75rem;
  font-weight: 900;
}
.store-story-chapter i {
  width: 1px;
  height: 2.625rem;
  display: block;
  background: rgba(128, 106, 99, 0.42);
}
.store-story-chapter span {
  writing-mode: vertical-rl;
}

.has-store-scroll-story #catalogo .product-card,
.has-store-scroll-story .category-section .category-card {
  transition-property: box-shadow, border-color, background-color;
}

@media (max-width: 51.24rem) {
  .store-story-chapter {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .has-store-scroll-story .store-hero__grid > div:first-child,
  .has-store-scroll-story .hero-carousel,
  .has-store-scroll-story .brand-waves--hero,
  .has-store-scroll-story .benefits article,
  .has-store-scroll-story .benefit-icon,
  .has-store-scroll-story #catalogo .section-heading,
  .has-store-scroll-story #catalogo .product-card,
  .has-store-scroll-story .category-section .section-heading,
  .has-store-scroll-story .category-section .category-card,
  .has-store-scroll-story .home-faq__intro,
  .has-store-scroll-story .home-faq__list details,
  .has-store-scroll-story .brand-support-shapes {
    opacity: 1;
    transform: none;
    will-change: auto;
  }
  .has-store-scroll-story .brand-waves path {
    opacity: 1;
    stroke-dasharray: none;
    stroke-dashoffset: 0;
    will-change: auto;
  }
}
.brand-waves {
  position: absolute;
  z-index: 0;
  width: min(42vw, 34rem);
  height: auto;
  overflow: visible;
  visibility: hidden;
  pointer-events: none;
}
.brand-waves.is-story-ready {
  visibility: visible;
}
.brand-waves path {
  fill: none;
  stroke-width: 18;
  stroke-linecap: round;
  opacity: 0.14;
}
.brand-waves path:nth-child(1) {
  stroke: #ff7f6e;
}
.brand-waves path:nth-child(2) {
  stroke: #ffc49d;
}
.brand-waves path:nth-child(3) {
  stroke: #e9a3b7;
}
.brand-waves path:nth-child(4) {
  stroke: #dcc6f4;
}
.brand-waves path:nth-child(5) {
  stroke: #a7d9d6;
}
.brand-waves--hero {
  top: 13%;
  right: -1.5%;
  visibility: visible;
  opacity: 1;
  transform: translateY(calc(var(--motion-shift, 0px) * -5)) rotate(-8deg);
}
.brand-waves--hero path {
  opacity: 0.65;
}

#catalogo {
  position: relative;
  padding-bottom: clamp(9rem, 15vw, 13rem);
  overflow: hidden;
}
#catalogo > .container {
  position: relative;
  z-index: 2;
}

.section-wave {
  --wave-height: clamp(4.75rem, 9vw, 8.75rem);
  position: relative;
  z-index: 8;
  height: var(--wave-height);
  overflow: hidden;
  pointer-events: none;
  isolation: isolate;
}
.section-wave svg {
  position: absolute;
  inset: -1px 0 -3px;
  width: 100%;
  height: calc(100% + 4px);
  max-width: none;
  overflow: hidden;
}
.section-wave__shape {
  stroke: none;
}
.section-wave--hero {
  margin-top: calc(-1 * var(--wave-height));
}
.section-wave--hero .section-wave__shape {
  fill: #fffaf4;
}
.section-wave--benefits {
  background: #fffaf4;
}
.section-wave--benefits .section-wave__shape {
  fill: #f7f3ee;
}
.section-wave--featured {
  background: transparent;
}
.section-wave--featured .section-wave__shape {
  fill: transparent;
}
.section-wave--featured .section-wave__cover {
  fill: #f7f3ee;
}
.section-wave--categories {
  margin-top: calc(-1 * var(--wave-height));
}
.section-wave--categories .section-wave__shape {
  fill: #fffaf4;
}
.section-wave--faq {
  background: #fffaf4;
}
.section-wave--faq .section-wave__shape {
  fill: #fff0e8;
}
.section-wave--partners-listing {
  background: #fffaf4;
}
.section-wave--partners-listing .section-wave__shape {
  fill: #fff0e8;
}
.section-wave--partners-proposal {
  background: #fff0e8;
}
.section-wave--partners-proposal .section-wave__shape {
  fill: #f7f3ee;
}
.section-wave--partners-cta {
  background: #fffaf4;
}
.section-wave--partners-cta .section-wave__shape {
  fill: #f7f3ee;
}
.section-wave--partner-profile {
  background: #f7f3ee;
}
.section-wave--partner-profile .section-wave__shape {
  fill: #fffaf4;
}
.section-wave--catalog, .section-wave--collections {
  --wave-height: clamp(2.25rem, 4vw, 4rem);
  margin-top: calc(-1 * var(--wave-height));
}
.section-wave--catalog .section-wave__shape, .section-wave--collections .section-wave__shape {
  fill: #f7f3ee;
}
.section-wave--institutional {
  --wave-height: clamp(2.25rem, 4vw, 4rem);
  margin-top: calc(-1 * var(--wave-height));
}
.section-wave--institutional .section-wave__shape {
  fill: #f7f3ee;
}
.section-wave--product-partners {
  background: transparent;
}
.section-wave--product-partners .section-wave__shape {
  fill: #f7f3ee;
}
.section-wave--product-related {
  margin-top: calc(-1 * var(--wave-height));
  background: transparent;
}
.section-wave--product-related .section-wave__shape {
  fill: #fffaf4;
}
.section-wave--partners-faq {
  margin-top: calc(-1 * var(--wave-height));
  background: transparent;
}
.section-wave--partners-faq .section-wave__shape {
  fill: #fffaf4;
}
.section-wave--bancada-nav {
  --wave-height: clamp(2.25rem, 4vw, 4rem);
  background: #f7f3ee;
}
.section-wave--bancada-nav .section-wave__shape {
  fill: #fffaf4;
}
.section-wave--bancada-hero {
  --wave-height: clamp(2.25rem, 4vw, 4rem);
  margin-top: calc(-1 * var(--wave-height));
  background: #e8f5f4;
}
.section-wave--bancada-hero .section-wave__cover {
  fill: #f3c879;
}
.section-wave--bancada-hero .section-wave__shape {
  fill: #e8f5f4;
}
.section-wave--bancada-file {
  --wave-height: clamp(2.25rem, 4vw, 4rem);
  background: #e8f5f4;
}
.section-wave--bancada-file .section-wave__shape {
  fill: #f2eafb;
}
.section-wave--footer {
  --wave-height: clamp(1.5rem, 3vw, 2.5rem);
  margin-top: calc(-1 * var(--wave-height));
  background: transparent;
}
.section-wave--footer .section-wave__shape {
  fill: #fffaf4;
}
@media (prefers-reduced-motion: no-preference) {
  .section-wave svg {
    left: -8%;
    width: 116%;
    animation: section-wave-drift 8s ease-in-out infinite alternate;
  }
}

@keyframes section-wave-drift {
  from {
    transform: translateX(-5%);
  }
  to {
    transform: translateX(5%);
  }
}
:is(.layout-public, .layout-account):has([data-page-mode=critical]) .section-wave svg {
  animation: none;
}

@media (prefers-reduced-motion: reduce) {
  .section-wave animate {
    display: none;
  }
  .section-wave--featured .section-wave__shape {
    transition: none;
  }
}
.hero-carousel {
  min-width: 0;
}
.hero-carousel__viewport {
  margin: -0.75rem;
  padding: 0.75rem;
  overflow: hidden;
}
.hero-carousel__track {
  display: grid;
}
.hero-carousel__slide {
  grid-area: 1/1;
  min-width: 0;
  padding: 1rem 1.25rem 1.5rem;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 480ms ease, visibility 0s linear 480ms;
}
.hero-carousel__slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}
.hero-carousel__slide .store-hero__product {
  box-shadow: none;
}
.hero-carousel__slide .store-hero__product:hover {
  box-shadow: 0 12px 28px rgba(80, 59, 98, 0.12);
}
.hero-carousel:not(.is-enhanced) .hero-carousel__slide:not(:first-child) {
  display: none;
}
.hero-carousel:not(.is-enhanced) .hero-carousel__slide:first-child {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.hero-carousel__controls {
  margin-top: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}
.hero-carousel__controls > button {
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 50%;
  background: #ffffff;
  color: #ff7f6e;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), background-color 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.hero-carousel__controls > button:hover {
  border-color: #ff7f6e;
  background: #fff0e8;
  transform: translateY(-0.125rem);
}
.hero-carousel__controls > button:focus-visible {
  outline: 2px solid #ff7f6e;
  outline-offset: 3px;
}
.hero-carousel__dots {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.hero-carousel__dots button {
  width: 0.5rem;
  height: 0.5rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 127, 110, 0.18);
  cursor: pointer;
  transition: width 160ms cubic-bezier(0.2, 0, 0, 1), background-color 160ms cubic-bezier(0.2, 0, 0, 1);
}
.hero-carousel__dots button[aria-current=true] {
  width: 1.5rem;
  background: #ff7f6e;
}
.hero-carousel__dots button:focus-visible {
  outline: 2px solid #ff7f6e;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .hero-carousel__slide,
  .store-hero__product {
    transition: none;
  }
  .hero-copy-rotator.is-enhanced .hero-copy-rotator__phrase,
  .hero-copy-descriptions.is-enhanced .hero-copy-descriptions__phrase {
    transform: none;
    transition: none;
  }
  .hero-copy-rotator.is-enhanced,
  .hero-copy-descriptions.is-enhanced {
    transition: none;
  }
}
.product-grid,
.category-grid {
  display: grid;
  gap: 1.25rem;
}
@media (min-width: 36.25rem) {
  .product-grid,
  .category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 65rem) {
  .product-grid,
  .category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.product-card {
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  position: relative;
  min-width: 0;
  overflow: hidden;
  transition: transform 240ms cubic-bezier(0.2, 0, 0, 1), box-shadow 240ms cubic-bezier(0.2, 0, 0, 1);
  display: flex;
  flex-direction: column;
  border-radius: 1rem;
}
.product-card:hover, .product-card:focus-within {
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .product-card:hover {
    transform: translateY(-0.25rem);
  }
}
.product-card__media {
  position: relative;
  aspect-ratio: 4/3;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.product-card__media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .product-card__media:hover img {
    transform: scale(1.035);
  }
}
.product-card__media-link {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}
.product-card__media-link:focus-visible {
  outline: 3px solid rgba(255, 127, 110, 0.5);
  outline-offset: -5px;
}
.product-card--adult-obscured .product-card__media {
  overflow: hidden;
}
.product-card--adult-obscured .product-card__media img {
  opacity: 0.72;
  filter: blur(1rem);
  transform: scale(1.12);
}
.product-card--adult-obscured .product-card__media:hover img {
  filter: blur(1rem);
  transform: scale(1.16);
}
.product-card__adult-cover {
  position: absolute;
  z-index: 2;
  inset: 50% auto auto 50%;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.625rem 0.875rem;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  background: rgba(52, 52, 56, 0.82);
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
  transform: translate(-50%, -50%);
}
.product-card__adult-cover .material-symbols-outlined {
  font-size: 1.125rem;
}
.product-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 1.25rem;
}
.product-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  color: #6e6360;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}
.product-card__meta a {
  position: relative;
  z-index: 3;
}
.product-card__meta a:hover {
  color: #ff7f6e;
}
.product-card h3 {
  margin: 0.625rem 0 1.25rem;
  font-size: 1.25rem;
}
.product-card h3 a::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  border-radius: inherit;
}
.product-card h3 a:hover {
  color: #ff7f6e;
}
.product-card__footer {
  margin-top: auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem;
}
.product-card__footer strong,
.product-card__footer small {
  display: block;
}
.product-card__footer strong {
  color: #ff7f6e;
  font-size: 1.125rem;
}
.product-card__footer small {
  margin-top: 0.25rem;
  color: #6e6360;
  font-size: 0.75rem;
}
.product-card__link {
  position: relative;
  z-index: 3;
  flex: 0 0 2.75rem;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #343438;
  box-shadow: 0 0.375rem 0.875rem rgba(52, 52, 56, 0.18);
  color: #ffffff;
  font-weight: bold;
  border: none;
  cursor: pointer;
  line-height: 1;
}
.product-card__link:hover {
  background: #ff7f6e;
  color: #ffffff;
}

.product-card__badges {
  position: absolute;
  z-index: 3;
  top: 1rem;
  right: 4.5rem;
  left: 1rem;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.4rem;
  pointer-events: none;
}
.product-card__badges .product-badge {
  position: static;
}

.product-badge {
  position: absolute;
  z-index: 3;
  top: 1rem;
  left: 1rem;
  padding: 0.375rem 0.625rem;
  border-radius: 999px;
  background: #ffffff;
  color: #343438;
  font-size: 0.75rem;
  font-weight: 800;
  gap: 0.5rem;
  display: inline-flex;
  align-items: center;
}
.product-badge--sale {
  background: #e34f68;
  color: #ffffff;
}
.product-badge--new {
  background: #e8f5f4;
  color: #376c59;
}
.product-badge--low-stock {
  background: #ffc49d;
  color: #5e4511;
  box-shadow: 0 0.5rem 1.25rem rgba(255, 196, 157, 0.28);
}
.product-badge--adult {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: #343438;
  color: #ffffff;
}
.product-badge--adult .material-symbols-outlined {
  font-size: 1rem;
}
.product-badge > .material-symbols-outlined {
  font-size: 1rem;
}

.media--pink {
  background: #f9e7ec;
}
.media--mint {
  background: #e8f5f4;
}
.media--blue {
  background: #e8f5f4;
}
.media--yellow {
  background: #fff0e8;
}
.media--purple {
  background: #fff0e8;
}
.media--peach {
  background: #fff0e8;
}

.category-section,
.related-products {
  background: #fffaf4;
}

.recently-viewed-products {
  padding-top: 0;
  background: #fffaf4;
}

.collection-follow-button--share {
  background: transparent;
  color: var(--collection-accent);
}
.collection-follow-button--share i {
  font-size: 1.125rem;
}

.home-featured-collection-shell {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: var(--collection-showcase-color, #fffaf4);
  transition: background-color 1.1s cubic-bezier(0.22, 0.75, 0.3, 1);
}
.home-featured-collection-shell::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -0.75rem;
  background-image: var(--collection-showcase-background, none);
  background-position: var(--collection-showcase-position, center);
  background-size: cover;
  opacity: var(--collection-showcase-opacity, 0);
  filter: blur(0.5rem);
  transform: scale(1.015);
  transition: opacity 0.8s cubic-bezier(0.2, 0, 0, 1);
  pointer-events: none;
}

.home-featured-collection {
  position: relative;
  padding-bottom: clamp(8rem, 12vw, 11rem);
  background: transparent;
}
.home-featured-collection > .container {
  position: relative;
  z-index: 1;
}
.home-featured-collection .collection-discovery-card {
  max-width: 68rem;
  margin-inline: auto;
}
@media (min-width: 65rem) {
  .home-featured-collection .collection-discovery-card {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
    align-items: stretch;
  }
}
.home-featured-collection .collection-discovery-card__visual {
  min-height: 20rem;
}
.home-featured-collection .collection-discovery-card__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.home-featured-collection .home-collection-carousel__slide {
  padding: 0.75rem 0.75rem 1.5rem;
  overflow: visible;
}
.home-featured-collection .home-collection-carousel__slide .collection-discovery-card__art {
  margin-bottom: 2rem;
}
.home-featured-collection .home-collection-carousel .hero-carousel__viewport {
  overflow: visible;
}
.home-featured-collection .hero-carousel__controls {
  margin-top: 0.5rem;
}

@media (prefers-reduced-motion: reduce) {
  .home-featured-collection {
    transition: none;
  }
}
.rss-page {
  background: #f7f3ee;
}
.rss-page__heading {
  align-items: flex-end;
}
.rss-page__heading > small {
  color: #6e6360;
  font-size: 0.75rem;
}
.rss-page__notice {
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  border-radius: 0.625rem;
  background: #fff0e8;
  font-size: 0.875rem;
}
.rss-page__empty {
  text-align: center;
}

.rss-grid {
  display: grid;
  gap: 1rem;
}
@media (min-width: 51.25rem) {
  .rss-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 73.75rem) {
  .rss-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.rss-card {
  min-width: 0;
  min-height: 15rem;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.rss-card:hover {
  border-color: rgba(255, 127, 110, 0.38);
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
  transform: translateY(-0.125rem);
}
.rss-card__media {
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #fffaf4;
}
.rss-card__media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.2, 0, 0, 1);
}
.rss-card:hover .rss-card__media img {
  transform: scale(1.025);
}
.rss-card__content {
  min-height: 15rem;
  padding: clamp(1.1rem, 3vw, 1.5rem);
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}
.rss-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  color: #6e6360;
  font-size: 0.75rem;
}
.rss-card__meta span {
  color: #ff7f6e;
  font-weight: 800;
}
.rss-card__meta time {
  text-align: right;
}
.rss-card h2 {
  margin-top: 1rem;
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  line-height: 1.3;
}
.rss-card h2 a:hover {
  color: #ff7f6e;
}
.rss-card__link {
  margin-top: auto;
  padding-top: 1.25rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #ff7f6e;
  font-size: 0.875rem;
  font-weight: 700;
}
.rss-card__link .material-symbols-outlined {
  font-size: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .rss-card {
    transition: none;
  }
  .rss-card:hover {
    transform: none;
  }
  .rss-card__media img {
    transition: none;
  }
  .rss-card:hover .rss-card__media img {
    transform: none;
  }
}
.home-faq {
  background: linear-gradient(to bottom, #fff0e8 0, #fff0e8 1.5rem, rgba(255, 240, 232, 0) 7rem), linear-gradient(145deg, #fff0e8, #fffaf4 55%, #e8f5f4);
}
.home-faq__grid {
  display: grid;
  gap: 2rem;
}
@media (min-width: 65rem) {
  .home-faq__grid {
    grid-template-columns: minmax(16rem, 0.72fr) minmax(0, 1.28fr);
    align-items: start;
    gap: 4rem;
  }
}
.home-faq__intro h2 {
  margin-top: 0.5rem;
}
.home-faq__intro p {
  max-width: 30rem;
  margin-top: 0.875rem;
}
.home-faq__intro .btn {
  margin-top: 1.25rem;
}
.home-faq__list {
  display: grid;
  gap: 0.75rem;
}
.home-faq__list details {
  padding: 1rem 1.125rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
}
.home-faq__list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: #343438;
  cursor: pointer;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-weight: 800;
  list-style: none;
}
.home-faq__list summary::-webkit-details-marker {
  display: none;
}
.home-faq__list summary .material-symbols-outlined {
  flex: 0 0 auto;
  color: #ff7f6e;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.home-faq__list details[open] summary .material-symbols-outlined {
  transform: rotate(45deg);
}
.home-faq__list p {
  margin-top: 0.75rem;
}

.category-section {
  position: relative;
  overflow: hidden;
}
.category-section > .container {
  position: relative;
  z-index: 2;
}

.brand-support-shapes {
  --support-shift: 0;
  position: absolute;
  z-index: 3;
  inset: 0;
  mix-blend-mode: multiply;
  pointer-events: none;
}
.brand-support-shapes::before, .brand-support-shapes::after {
  content: "";
  position: absolute;
  border: 2px solid;
  opacity: 0.35;
}
.brand-support-shapes::before {
  top: 12%;
  right: 5%;
  width: 5rem;
  height: 7rem;
  border-color: #ff7f6e;
  border-radius: 1.75rem;
  transform: translateY(calc(var(--support-shift) * 4.375rem)) rotate(calc(8deg + var(--support-shift) * 18deg));
}
.brand-support-shapes::after {
  top: 17%;
  right: 10%;
  width: 3.875rem;
  height: 5.125rem;
  border-color: #a7d9d6;
  border-radius: 1.375rem;
  opacity: 0.45;
  transform: translateY(calc(var(--support-shift) * -2.8125rem)) rotate(calc(-5deg - var(--support-shift) * 12deg));
}

@media (max-width: 36.24rem) {
  .brand-waves--hero {
    top: auto;
    right: -4.5rem;
    bottom: 7rem;
    width: 22rem;
    opacity: 0.85;
    transform: translateY(calc(var(--motion-shift, 0px) * -5)) rotate(-7deg);
  }
  .brand-support-shapes {
    display: none;
  }
}
.category-card {
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  position: relative;
  min-height: 17rem;
  padding: 1.5rem;
  overflow: hidden;
  border: 0;
  border-radius: 1.5rem;
  background: #fff0e8;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1), border-color 160ms cubic-bezier(0.2, 0, 0, 1);
}
.category-card:nth-child(3n+2) {
  background: #f9e7ec;
}
.category-card:nth-child(3n+3) {
  background: #f2eafb;
}
.category-card::after {
  content: "";
  position: absolute;
  right: -4rem;
  bottom: -4.5rem;
  width: 10rem;
  height: 10rem;
  border: 0.9rem solid rgba(255, 255, 255, 0.38);
  border-radius: 46% 54% 48% 52%;
  pointer-events: none;
}
.category-card:hover {
  transform: translateY(-0.35rem);
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
}
.category-card > span {
  color: #ff7f6e;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}
.category-card h3 {
  margin-top: 3.5rem;
  font-size: 1.75rem;
}
.category-card p {
  min-height: 3rem;
  margin: 0.5rem 0 1.25rem;
  font-size: 0.875rem;
}
.category-card strong {
  color: #ff7f6e;
  font-size: 0.875rem;
  gap: 0.5rem;
  display: inline-flex;
  align-items: center;
}

.catalog-hero {
  position: relative;
  padding: clamp(2rem, 4vw, 3.5rem) 0 clamp(4rem, 6vw, 6rem);
  overflow: hidden;
  background: radial-gradient(ellipse at 18% 12%, rgba(255, 250, 244, 0.8), transparent 62%), radial-gradient(ellipse at 95% 18%, rgba(255, 127, 110, 0.9), transparent 65%), radial-gradient(ellipse at 65% 110%, rgba(233, 163, 183, 0.65), transparent 58%), #ffc49d;
}
.catalog-hero .eyebrow, .catalog-hero p {
  color: #343438;
}
.catalog-hero h1 {
  margin: 0.75rem 0 0.5rem;
}
.catalog-hero p {
  max-width: 42rem;
}
.catalog-hero::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url("../images/bg_hero_infinite.png");
  background-repeat: repeat;
  background-size: 10%;
  opacity: 0.2;
}

.catalog-hero[data-bancada-hero] {
  background: radial-gradient(ellipse at 18% 8%, rgba(255, 250, 244, 0.52), transparent 58%), radial-gradient(ellipse at 88% 18%, rgba(255, 243, 201, 0.52), transparent 54%), #f3c879;
}

.catalog-hero + .system-section-wave {
  --system-wave-color: #f7f3ee;
}

.catalog-layout {
  display: grid;
  align-items: start;
  gap: 2rem;
}
@media (min-width: 51.25rem) {
  .catalog-layout {
    grid-template-columns: 16.5rem minmax(0, 1fr);
    gap: 2.5rem;
  }
}

.catalog-filters {
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  padding: 1.25rem;
}
.catalog-filters__summary {
  min-height: 2.75rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  list-style: none;
  font-weight: 600;
  cursor: pointer;
}
.catalog-filters__summary::-webkit-details-marker {
  display: none;
}
.catalog-filters__summary > :last-child {
  margin-left: auto;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.catalog-filters__disclosure[open] > .catalog-filters__summary > :last-child {
  transform: rotate(180deg);
}
.catalog-filters__clear {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  color: #ff7f6e;
  font-size: 0.875rem;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
@media (min-width: 51.25rem) {
  .catalog-filters {
    position: sticky;
    top: 7.5rem;
  }
}
.catalog-filters__heading {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
}
.catalog-filters__heading {
  margin-bottom: 1.25rem;
}
.catalog-filters__heading a {
  color: #ff7f6e;
  font-size: 0.75rem;
  font-weight: 800;
  margin-left: auto;
}
.catalog-filters form {
  margin-top: 1rem;
  display: grid;
  gap: 1rem;
}
.catalog-filters .btn {
  width: 100%;
  margin-top: 0.25rem;
  padding-inline: 1rem;
  font-size: 0.8125rem;
  white-space: nowrap;
}

.filter-price {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.catalog-results {
  min-width: 0;
}
.catalog-results__heading {
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  color: #6e6360;
  font-size: 0.875rem;
}
.catalog-results__heading strong {
  color: #343438;
}
.catalog-results__heading p {
  gap: 0.5rem;
  display: inline-flex;
  align-items: center;
}

.product-page {
  padding: 1.5rem 0 5rem;
}

.product-page + .system-section-wave {
  --system-wave-color: #fffaf4;
  margin-top: 0;
}

body:has(.product-partners) .product-page + .system-section-wave {
  --system-wave-color: #fff0e8;
}

.badge--adult {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: #343438;
  color: #ffffff;
}
.badge--adult .material-symbols-outlined {
  font-size: 1rem;
}

.age-gate {
  min-height: min(44rem, 100vh - 8rem);
  padding: clamp(2.5rem, 8vw, 6rem) 0;
  display: grid;
  align-items: center;
  background: #fffaf4;
}
.age-gate__card {
  width: min(38rem, 100%);
  margin-inline: auto;
  padding: clamp(1.5rem, 5vw, 3rem);
  text-align: center;
}
.age-gate__icon {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #343438;
  color: #ffffff;
  font-size: 2rem;
}
.age-gate h1 {
  margin: 0.75rem 0 1rem;
}
.age-gate p + p {
  margin-top: 0.75rem;
}
.age-gate__actions {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

.breadcrumbs {
  margin-bottom: 1.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  overflow-x: auto;
  color: #6e6360;
  font-size: 0.75rem;
  white-space: nowrap;
}
.breadcrumbs a:hover {
  color: #ff7f6e;
}

.product-detail {
  display: grid;
  align-items: start;
  gap: 2.5rem;
}
@media (min-width: 51.25rem) {
  .product-detail {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.88fr);
    gap: clamp(2.5rem, 6vw, 5rem);
  }
}

.product-gallery-column {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 1rem;
}
@media (min-width: 51.25rem) {
  .product-gallery-column {
    position: sticky;
    top: 7.5rem;
  }
  body.has-global-announcement .product-gallery-column {
    top: 10.25rem;
  }
}
.product-gallery-column > .product-share {
  justify-self: start;
}

.product-gallery {
  display: grid;
  gap: 1rem;
}
.product-gallery__viewport {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #fff0e8;
  isolation: isolate;
  touch-action: pan-y;
}
.product-gallery__track {
  position: relative;
  min-height: clamp(21rem, 70vw, 34rem);
}
.product-gallery__slide {
  position: absolute;
  inset: 0;
  margin: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 240ms ease;
}
.product-gallery__slide.is-active {
  z-index: 1;
  opacity: 1;
  pointer-events: auto;
}
.product-gallery__slide img {
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
  transition: filter 160ms cubic-bezier(0.2, 0, 0, 1), opacity 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.product-gallery--single .product-gallery__slide {
  position: relative;
  min-height: clamp(21rem, 70vw, 34rem);
  opacity: 1;
  pointer-events: auto;
}
.product-gallery--adult-obscured .product-gallery__slide img {
  opacity: 0.7;
  filter: blur(1.125rem);
  transform: scale(1.1);
}
.product-gallery--adult-obscured .product-gallery__thumbnail img {
  opacity: 0.68;
  filter: blur(0.35rem);
  transform: scale(1.12);
}
.product-gallery__adult-cover {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  padding: 0.7rem 0.95rem;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  background: rgba(52, 52, 56, 0.84);
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
  transform: translate(-50%, -50%);
}
.product-gallery__adult-cover .material-symbols-outlined {
  font-size: 1.125rem;
}
.product-gallery__arrow {
  position: absolute;
  z-index: 3;
  top: 50%;
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(233, 104, 88, 0.14);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  color: #ff7f6e;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  cursor: pointer;
  transform: translateY(-50%);
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1), background 160ms cubic-bezier(0.2, 0, 0, 1);
}
.product-gallery__arrow:hover {
  background: #ffffff;
  transform: translateY(-50%) scale(1.06);
}
.product-gallery__arrow:focus-visible {
  outline: 3px solid #ff7f6e;
  outline-offset: 3px;
}
.product-gallery__arrow--previous {
  left: 0.75rem;
}
.product-gallery__arrow--next {
  right: 0.75rem;
}
.product-gallery__indicator {
  position: absolute;
  z-index: 3;
  right: 0.875rem;
  bottom: 0.875rem;
  padding: 0.375rem 0.65rem;
  border: 1px solid rgba(233, 104, 88, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #6e6360;
  font-size: 0.75rem;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
}
.product-gallery__indicator strong {
  color: #ff7f6e;
}
.product-gallery__thumbnails {
  padding: 0.125rem;
  display: flex;
  gap: 0.625rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}
.product-gallery__thumbnail {
  flex: 0 0 4.5rem;
  width: 4.5rem;
  height: 4.5rem;
  padding: 0.25rem;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 0.625rem;
  background: #ffffff;
  cursor: pointer;
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.product-gallery__thumbnail:hover {
  transform: translateY(-2px);
}
.product-gallery__thumbnail.is-active {
  border-color: #ff7f6e;
}
.product-gallery__thumbnail:focus-visible {
  outline: 3px solid #ff7f6e;
  outline-offset: 3px;
}
.product-gallery__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem;
  background: #fff0e8;
}

@media (min-width: 51.25rem) {
  .product-info {
    position: sticky;
    top: 7.5rem;
  }
  body.has-global-announcement .product-info {
    top: 10.25rem;
  }
}
.product-info .badge-row {
  margin: 0 0 1rem;
}
.product-info .badge-row .badge {
  gap: 0.5rem;
  display: inline-flex;
  align-items: center;
}

.product-collections {
  margin: -0.45rem 0 1rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25rem 0.4rem;
  color: #6e6360;
  font-size: 0.75rem;
}
.product-collections > span {
  font-weight: 600;
}
.product-collections a {
  display: inline-flex;
  align-items: center;
  color: #6e6360;
  font-weight: 700;
  text-decoration: none;
}
.product-collections a:hover {
  color: #343438;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.product-collections a:focus-visible {
  outline: 3px solid #ff7f6e;
  outline-offset: 3px;
}

.product-heading {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}
.product-heading > div:first-child {
  min-width: 0;
}
.product-heading h1 {
  margin: 0.75rem 0 1rem;
  overflow-wrap: anywhere;
}

.product-favorite {
  flex: 0 0 auto;
  margin: 0;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  color: #ff7f6e;
}
.product-favorite[href] {
  width: 2.75rem;
  padding: 0;
  justify-content: center;
  min-height: 2.75rem;
}
.product-favorite button {
  width: 2.75rem;
  min-height: 2.75rem;
  padding: 0;
  justify-content: center;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 800;
  cursor: pointer;
}
.product-favorite svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: transparent;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: fill 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.product-favorite:hover, .product-favorite:focus-visible, .product-favorite:has(button:focus-visible) {
  border-color: #ff7f6e;
  color: #ff7f6e;
  transform: translateY(-1px);
}
.product-favorite:has(button[aria-pressed=true]) {
  color: #ff7f6e;
}
.product-favorite:has(button[aria-pressed=true]) svg {
  fill: currentColor;
  stroke: currentColor;
}

.product-gallery__favorite {
  position: absolute;
  z-index: 5;
  top: 0.875rem;
  right: 0.875rem;
}

.product-share {
  position: relative;
  flex: 0 0 auto;
}
.product-share.is-open {
  z-index: 110;
}
.product-share__trigger {
  min-height: 2.75rem;
  padding: 0 0.9rem;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  border: none;
  background: transparent;
  color: #ff7f6e;
  font: inherit;
  font-size: 0.875rem;
  cursor: pointer;
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.product-share__trigger:hover {
  border-color: rgba(255, 127, 110, 0.5);
  transform: translateY(-1px);
}
.product-share__trigger:focus-visible {
  outline: 3px solid #ff7f6e;
  outline-offset: 3px;
}
.product-share__trigger .material-symbols-outlined {
  font-size: 1.2rem;
}
.product-share__backdrop {
  position: fixed;
  z-index: 90;
  inset: 0;
  border: 0;
  background: transparent;
  cursor: default;
  backdrop-filter: none;
}
.product-share__menu {
  position: fixed;
  z-index: 91;
  right: 0;
  bottom: 0;
  left: 0;
  max-height: min(40rem, 100vh - 2rem);
  padding: 1.25rem 1rem calc(1rem + env(safe-area-inset-bottom));
  overflow-y: auto;
  border-radius: 1.5rem 1.5rem 0 0;
  background: #ffffff;
  box-shadow: 0 16px 48px rgba(52, 52, 56, 0.12);
}
.product-share__menu-header {
  margin-bottom: 1.25rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.product-share__menu-header > div {
  min-width: 0;
}
.product-share__menu-header span,
.product-share__menu-header strong {
  display: block;
}
.product-share__menu-header > div > span {
  color: #6e6360;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}
.product-share__menu-header strong {
  margin-top: 0.2rem;
  overflow-wrap: anywhere;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 1.125rem;
}
.product-share__menu-header button {
  flex: 0 0 2.5rem;
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #fffaf4;
  color: #343438;
  cursor: pointer;
}
.product-share__menu-header button:focus-visible {
  outline: 3px solid #ff7f6e;
  outline-offset: 3px;
}
.product-share__options {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem 0.5rem;
}
.product-share__options a,
.product-share__options button {
  min-width: 0;
  padding: 0;
  display: grid;
  justify-items: center;
  gap: 0.45rem;
  border: 0;
  background: transparent;
  color: #343438;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.product-share__options a:hover .product-share__brand,
.product-share__options button:hover .product-share__brand {
  transform: translateY(-2px);
}
.product-share__options a:focus-visible,
.product-share__options button:focus-visible {
  border-radius: 0.625rem;
  outline: 3px solid #ff7f6e;
  outline-offset: 3px;
}
.product-share__brand {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
  font-weight: 900;
  line-height: 1;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.product-share__brand i,
.product-share__brand svg {
  width: 1.125rem;
  height: 1.125rem;
  display: block;
  font-size: 1.125rem;
  line-height: 1;
}
.product-share__brand--whatsapp {
  background: #1fa855;
}
.product-share__brand--facebook {
  background: #1877f2;
}
.product-share__brand--x {
  background: #151515;
}
.product-share__brand--telegram {
  background: #229ed9;
}
.product-share__brand--pinterest {
  background: #bd081c;
}
.product-share__brand--copy {
  background: #ff7f6e;
  color: #ffffff;
}
.product-share__brand--native {
  background: #343438;
}
.product-share__brand svg {
  transform: scale(0.4);
}
.product-share__status {
  margin-top: 1rem;
  color: #20b89f;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
}
.product-share__status:empty {
  display: none;
}
.product-share [hidden] {
  display: none;
}

body.motion-ready.is-share-open .product-detail.reveal-item.is-revealed {
  animation: none;
  opacity: 1;
  transform: none;
}

@media (max-width: 36.249rem) {
  html:has(body.is-share-open),
  body.is-share-open {
    overflow: hidden;
  }
  .product-share__backdrop {
    background: rgba(247, 243, 238, 0.76);
    backdrop-filter: blur(3px);
  }
  .product-share__menu {
    right: 0.75rem;
    bottom: max(0.75rem, env(safe-area-inset-bottom));
    left: 0.75rem;
    max-height: calc(100dvh - 1.5rem);
    overscroll-behavior: contain;
    padding: 1rem;
    border: 1px solid rgba(255, 127, 110, 0.14);
    border-radius: 1.5rem;
  }
  .product-share__menu-header {
    margin-bottom: 1rem;
  }
  .product-share__options {
    gap: 0.875rem 0.375rem;
  }
  .product-share__status:not(:empty) {
    margin-top: 0.75rem;
  }
}
@media (min-width: 36.25rem) {
  .product-share__menu {
    position: absolute;
    top: calc(100% + 0.75rem);
    right: auto;
    bottom: auto;
    left: 0;
    width: min(24rem, 100vw - 2rem);
    max-height: min(36rem, 100vh - 7rem);
    padding: 1.25rem;
    border: 1px solid rgba(255, 127, 110, 0.18);
    border-radius: 1rem;
  }
  .product-share__menu--portaled {
    position: fixed;
    right: auto;
    bottom: auto;
  }
}
@media (max-width: 25rem) {
  .product-share__trigger > span:last-child,
  .product-preview-trigger > span:last-child {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .product-gallery__slide,
  .product-gallery__arrow,
  .product-gallery__thumbnail,
  .product-share__trigger,
  .product-share__brand {
    transition: none;
  }
}
.product-view-count {
  width: -moz-fit-content;
  width: fit-content;
  min-height: 2.75rem;
  margin: 0 0 0 auto;
  padding: 0.45rem 0.85rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #6e6360;
  font-size: 0.875rem;
  line-height: 1.2;
}

.product-description {
  font-size: 1.125rem;
}

.product-price {
  margin: 1.5rem 0;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.product-price strong {
  color: #ff7f6e;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-weight: 900;
  font-size: clamp(2rem, 6vw, 2.75rem);
}
.product-price s {
  color: #6e6360;
}

.product-notice {
  margin-bottom: 1.25rem;
  padding: 0.7rem 0.875rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  border: 1px solid rgba(255, 196, 157, 0.38);
  border-radius: 0.625rem;
  background: rgba(255, 240, 232, 0.52);
}
.product-notice > span {
  flex: 0 0 1.875rem;
  width: 1.875rem;
  height: 1.875rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.88);
  color: #ff7f6e;
  font-size: 1.05rem;
  font-weight: 800;
}
.product-notice p {
  color: #6e6360;
  font-size: 0.875rem;
  line-height: 1.45;
}

.product-notice--digital {
  padding: 1rem;
  align-items: flex-start;
  border-color: #d92525;
  background: #d92525;
}
.product-notice--digital > span {
  color: #d92525;
  background: #ffffff;
}
.product-notice--digital p {
  color: #fff;
  line-height: 1.6;
}
.product-notice--digital strong {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 1rem;
  font-weight: 700;
}

.product-specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
}
.product-specs > div {
  padding: 0.875rem 0;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
}
.product-specs dt {
  color: #6e6360;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}
.product-specs dd {
  margin: 0.25rem 0 0;
  font-weight: 700;
  min-width: 0;
  overflow-wrap: anywhere;
}
@media (max-width: 36.249rem) {
  .product-specs {
    grid-template-columns: minmax(0, 1fr);
  }
  .product-specs > div {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr);
    align-items: baseline;
    gap: 1rem;
  }
  .product-specs dt {
    text-transform: none;
  }
  .product-specs dd {
    margin: 0;
  }
}

.product-share__menu[hidden], .product-share__backdrop[hidden],
.product-share__options [hidden] {
  display: none;
}

.variation-swatch {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: center;
  gap: 0.5rem 0.75rem;
  width: 100%;
  min-height: 3rem;
  padding: 0.75rem;
  text-align: left;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.75rem;
  background: #ffffff;
  color: #343438;
  cursor: pointer;
}
.variation-swatch svg {
  grid-row: span 2;
}
.variation-swatch small {
  color: #6e6360;
}
.variation-swatch[aria-pressed=true] {
  border-color: #ff7f6e;
  background: #fff0e8;
}
.variation-swatch:focus-visible {
  outline: 2px solid #343438;
  outline-offset: 3px;
}
.variation-swatch:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.technical-list,
.variation-list {
  margin-top: 1.75rem;
}
.technical-list h2,
.variation-list h2 {
  margin-bottom: 0.75rem;
  font-size: 1.25rem;
}

.technical-list ul {
  display: grid;
  gap: 0.5rem;
  color: #6e6360;
  font-size: 0.875rem;
  list-style: none;
}
.technical-list ul li::before {
  content: "✓";
  margin-right: 0.5rem;
  color: #20b89f;
  font-weight: 900;
}

.variation-list ul {
  display: grid;
  gap: 0.625rem;
  list-style: none;
}
.variation-list ul li {
  padding: 0.875rem 1rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.625rem;
  background: #ffffff;
  font-size: 0.875rem;
}
.variation-list ul span {
  color: #6e6360;
  text-align: right;
}

.product-purchase {
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  text-align: center;
  display: grid;
  gap: 1rem;
}
@media (min-width: 36.25rem) {
  .product-purchase {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
  }
}
.product-purchase > .btn {
  width: 100%;
}
@media (min-width: 36.25rem) {
  .product-purchase > .btn {
    grid-column: 1/-1;
  }
}
.product-purchase > small {
  color: #6e6360;
  font-size: 0.75rem;
}
@media (min-width: 36.25rem) {
  .product-purchase > small {
    grid-column: 1/-1;
  }
}

.product-license {
  grid-column: 1/-1;
  display: grid;
  gap: 1rem;
  min-width: 0;
  padding: 1.25rem;
  text-align: left;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.625rem;
  background: #ffffff;
}
.product-license select {
  width: 100%;
  min-width: 0;
}
.product-license > p {
  margin: 0;
  font-size: 0.875rem;
  color: #6e6360;
}
.product-license__total strong {
  color: #343438;
}
.product-license__terms {
  font-size: 0.875rem;
}
.product-license__terms summary {
  cursor: pointer;
  font-weight: 700;
  padding-block: 0.5rem;
}
.product-license__terms p {
  margin-top: 0.75rem;
  color: #6e6360;
}

@media (min-width: 36.25rem) {
  .product-quantity {
    max-width: 8rem;
  }
}

.cart-page {
  min-height: 38rem;
  padding: 3rem 0 5rem;
}

.cart-layout {
  display: grid;
  align-items: start;
  gap: 1.5rem;
}
@media (min-width: 65rem) {
  .cart-layout {
    grid-template-columns: minmax(0, 1fr) 21rem;
    gap: 2rem;
  }
}

.cart-recommendations {
  margin-top: clamp(3rem, 7vw, 5rem);
}
.cart-recommendations .section-heading {
  margin-bottom: 1.5rem;
}
.cart-recommendations .section-heading h2 {
  margin-top: 0.5rem;
}
.cart-recommendations .section-heading p {
  margin-top: 0.5rem;
  max-width: 40rem;
}

.cart-saved-products .section-heading {
  align-items: end;
}
.cart-saved-products .section-heading > .btn {
  flex: 0 0 auto;
}

.product-card__save {
  position: absolute;
  z-index: 4;
  top: 0.875rem;
  right: 0.875rem;
  width: 2.75rem;
  height: 2.75rem;
  margin: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ff7f6e;
  transition: color 160ms cubic-bezier(0.2, 0, 0, 1), background 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.product-card__save button {
  width: 100%;
  height: 100%;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.product-card__save svg {
  width: 1.375rem;
  height: 1.375rem;
  display: block;
  fill: transparent;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: fill 160ms cubic-bezier(0.2, 0, 0, 1), stroke 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.product-card__save:hover, .product-card__save:focus-visible, .product-card__save:has(button:focus-visible) {
  color: #e9a3b7;
  transform: translateY(-0.125rem) scale(1.04);
}
.product-card__save:has(button[aria-pressed=true]) {
  color: #ff7f6e;
}
.product-card__save:has(button[aria-pressed=true]) svg {
  fill: currentColor;
  stroke: currentColor;
  transform: scale(1.04);
}

.account-saved-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr));
}

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

.cart-line {
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  padding: 1rem;
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  gap: 1rem;
}
@media (min-width: 36.25rem) {
  .cart-line {
    grid-template-columns: 6.5rem minmax(0, 1fr) auto;
    align-items: center;
  }
}
.cart-line__image {
  width: 5rem;
  height: 5rem;
  overflow: hidden;
  display: grid;
  place-items: center;
  border-radius: 0.875rem;
  background: #fff0e8;
}
@media (min-width: 36.25rem) {
  .cart-line__image {
    width: 6.5rem;
    height: 6.5rem;
  }
}
.cart-line__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.cart-line__details {
  min-width: 0;
}
.cart-line__details h2 {
  margin: 0.5rem 0 0.375rem;
  font-size: 1.25rem;
}
.cart-line__details p {
  font-size: 0.75rem;
}
.cart-line__details .badge {
  gap: 0.5rem;
  display: inline-flex;
  align-items: center;
}
.cart-line__actions {
  grid-column: 1/-1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
}
@media (min-width: 36.25rem) {
  .cart-line__actions {
    grid-column: auto;
    align-items: flex-end;
    flex-direction: column;
    justify-content: center;
    min-width: 11rem;
  }
}
.cart-line__actions > strong {
  color: #ff7f6e;
  font-size: 1.125rem;
}
.cart-line__actions > small,
.cart-line__actions label {
  color: #6e6360;
  font-size: 0.75rem;
}
.cart-line__actions label {
  display: block;
  margin-bottom: 0.375rem;
  font-weight: 700;
  text-align: right;
}

.cart-quantity {
  display: flex;
  gap: 0.5rem;
}
.cart-quantity input {
  width: 4.5rem;
  min-height: 2.625rem;
}

.cart-remove {
  padding: 0;
  border: 0;
  background: transparent;
  color: #e34f68;
  font-size: 0.75rem;
  font-weight: 800;
  cursor: pointer;
  gap: 0.5rem;
  display: inline-flex;
  align-items: center;
}
.cart-remove:hover {
  text-decoration: underline;
}
.cart-remove:hover > .material-symbols-outlined {
  text-decoration: none;
}

.cart-totals {
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  padding: 1.5rem;
}
@media (min-width: 65rem) {
  .cart-totals {
    position: sticky;
    top: 7.5rem;
  }
}
.cart-totals h2 {
  margin-bottom: 1.25rem;
}
.cart-totals dl {
  margin-top: 1.25rem;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
}
.cart-totals dl > div {
  padding: 0.75rem 0;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
  font-size: 0.875rem;
}
.cart-totals dd {
  font-weight: 800;
}
.cart-totals .cart-total {
  color: #343438;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 1.125rem;
}
.cart-totals > p {
  margin: 1rem 0;
  font-size: 0.75rem;
}
.cart-totals > .btn {
  width: 100%;
  margin-bottom: 1rem;
}
.cart-totals > .cart-continue {
  margin-bottom: 0;
  color: #ff7f6e;
}
.cart-totals > .cart-continue:hover {
  border-color: rgba(255, 127, 110, 0.4);
  background: #fff0e8;
}

.free-shipping-progress {
  margin-bottom: 1.25rem;
  padding: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.2);
  border-radius: 0.875rem;
  background: linear-gradient(135deg, #fff0e8, rgba(167, 217, 214, 0.22));
}
.free-shipping-progress__heading {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  color: #ff7f6e;
  font-size: 0.875rem;
}
.free-shipping-progress__heading .material-symbols-outlined {
  flex: 0 0 auto;
  font-size: 1.25rem;
}
.free-shipping-progress progress {
  width: 100%;
  height: 0.625rem;
  margin: 0.75rem 0 0.375rem;
  overflow: hidden;
  display: block;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 127, 110, 0.13);
  accent-color: #ff7f6e;
}
.free-shipping-progress progress::-webkit-progress-bar {
  border-radius: 999px;
  background: rgba(255, 127, 110, 0.13);
}
.free-shipping-progress progress::-webkit-progress-value {
  border-radius: 999px;
  background: linear-gradient(90deg, #ff7f6e, #e9a3b7);
}
.free-shipping-progress progress::-moz-progress-bar {
  border-radius: 999px;
  background: linear-gradient(90deg, #ff7f6e, #e9a3b7);
}
.free-shipping-progress small {
  display: block;
  color: #6e6360;
  font-size: 0.75rem;
  text-align: right;
}

.coupon-form .field > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
}

.applied-coupon {
  padding: 0.875rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-radius: 0.625rem;
  background: #e8f5f4;
}
.applied-coupon small,
.applied-coupon strong {
  display: block;
}
.applied-coupon small {
  color: #6e6360;
  font-size: 0.75rem;
}
.applied-coupon button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #e34f68;
  font-size: 0.75rem;
  font-weight: 800;
  cursor: pointer;
}

.checkout-coupons {
  margin-top: 1rem;
}
.checkout-coupons__heading {
  margin-bottom: 0.75rem;
}
.checkout-coupons__heading strong,
.checkout-coupons__heading small {
  display: block;
}
.checkout-coupons__heading small {
  margin-top: 0.125rem;
  color: #6e6360;
  font-size: 0.75rem;
}
.checkout-coupons__list {
  display: grid;
  gap: 0.625rem;
}

.checkout-coupon {
  padding: 0.75rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  border: 1px dashed rgba(255, 127, 110, 0.18);
  border-radius: 0.625rem;
  background: #fffaf4;
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), background 160ms cubic-bezier(0.2, 0, 0, 1);
}
.checkout-coupon > .material-symbols-outlined {
  color: #ff7f6e;
}
.checkout-coupon strong,
.checkout-coupon small {
  display: block;
}
.checkout-coupon small {
  color: #6e6360;
  font-size: 0.75rem;
}
.checkout-coupon.is-selected {
  border-style: solid;
  border-color: rgba(255, 127, 110, 0.45);
  background: #fff0e8;
}
@media (max-width: 27rem) {
  .checkout-coupon {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .checkout-coupon .btn {
    grid-column: 1/-1;
    width: 100%;
  }
}

.checkout-page,
.confirmation-page {
  min-height: 40rem;
  padding: 3rem 0 5rem;
}

.checkout-layout {
  display: grid;
  align-items: start;
  gap: 1.5rem;
}
@media (min-width: 65rem) {
  .checkout-layout {
    grid-template-columns: minmax(0, 1fr) 22rem;
    gap: 2rem;
  }
}

.checkout-steps {
  display: grid;
  gap: 1rem;
}

.checkout-card {
  padding: 1.25rem;
}
@media (min-width: 36.25rem) {
  .checkout-card {
    padding: 1.5rem;
  }
}
.checkout-card__heading {
  margin-bottom: 1.25rem;
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
}
.checkout-card__heading > span {
  flex: 0 0 2.25rem;
  width: 2.25rem;
  height: 2.25rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff0e8;
  color: #ff7f6e;
  font-weight: 900;
}
.checkout-card__heading h2 {
  font-size: 1.25rem;
}
.checkout-card__heading p {
  margin-top: 0.25rem;
  font-size: 0.875rem;
}

.checkout-customer {
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 36.25rem) {
  .checkout-customer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.checkout-customer div {
  padding: 0.875rem 1rem;
  border-radius: 0.625rem;
  background: #fffaf4;
}
.checkout-customer dt {
  color: #6e6360;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}
.checkout-customer dd {
  margin-top: 0.25rem;
  overflow-wrap: anywhere;
  font-weight: 800;
}

.checkout-options {
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 36.25rem) {
  .checkout-options--payments {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.checkout-option {
  padding: 1rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #ffffff;
  cursor: pointer;
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), background 160ms cubic-bezier(0.2, 0, 0, 1);
}
.checkout-option:has(input:checked) {
  border-color: #ff7f6e;
  background: #fff0e8;
}
.checkout-option input {
  width: 1.125rem;
  min-height: 1.125rem;
  accent-color: #ff7f6e;
}
.checkout-option strong,
.checkout-option small {
  display: block;
}
.checkout-option small {
  margin-top: 0.25rem;
  color: #6e6360;
  font-size: 0.75rem;
}
.checkout-option b {
  color: #ff7f6e;
  font-size: 0.875rem;
  white-space: nowrap;
}

.checkout-consent {
  margin: 1rem 0;
  color: #6e6360;
  font-size: 0.75rem;
  line-height: 1.5;
}
.checkout-consent a {
  color: #ff7f6e;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.checkout-summary {
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  padding: 1.5rem;
}
@media (min-width: 65rem) {
  .checkout-summary {
    position: sticky;
    top: 7.5rem;
  }
  body.has-global-announcement .checkout-summary {
    top: 10.25rem;
  }
}
.checkout-summary h2 {
  margin-bottom: 1rem;
}
.checkout-summary > dl {
  margin-top: 1rem;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
}
.checkout-summary > dl > div {
  padding: 0.75rem 0;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
  font-size: 0.875rem;
}
.checkout-summary dd {
  font-weight: 800;
}
.checkout-summary .checkout-total {
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 1.125rem;
}
.checkout-summary > .btn {
  width: 100%;
  margin-top: 1rem;
}
.checkout-summary > small {
  display: block;
  margin-top: 0.75rem;
  color: #6e6360;
  font-size: 0.75rem;
  text-align: center;
}

.checkout-items {
  display: grid;
  gap: 0.75rem;
}
.checkout-items article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.625rem;
  font-size: 0.75rem;
}
.checkout-items article > span {
  color: #ff7f6e;
  font-weight: 900;
}
.checkout-items strong,
.checkout-items small {
  display: block;
}
.checkout-items small {
  margin-top: 0.125rem;
  color: #6e6360;
}

.confirmation-shell {
  max-width: 48rem;
}

.confirmation-card {
  padding: clamp(1.5rem, 5vw, 3.5rem);
  text-align: center;
}
.confirmation-card h1 {
  margin: 0.75rem 0;
  overflow-wrap: anywhere;
}
.confirmation-card .product-notice {
  margin: 1.5rem 0 0;
  text-align: left;
}
.confirmation-card .button-row {
  margin-top: 1.5rem;
  justify-content: center;
}

.confirmation-icon {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e8f5f4;
  color: #20b89f;
  font-size: 1.75rem;
  font-weight: 900;
}

.confirmation-summary {
  margin-top: 1.5rem;
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 36.25rem) {
  .confirmation-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.confirmation-summary div {
  padding: 1rem;
  border-radius: 0.625rem;
  background: #fffaf4;
}
.confirmation-summary small,
.confirmation-summary strong {
  display: block;
}
.confirmation-summary small {
  color: #6e6360;
  font-size: 0.75rem;
  text-transform: uppercase;
}
.confirmation-summary strong {
  margin-top: 0.25rem;
  overflow-wrap: anywhere;
}

.confirmation-note {
  margin-top: 1rem;
  font-size: 0.875rem;
}

.payment-page {
  min-height: 40rem;
  padding: 3rem 0 5rem;
}

.payment-card {
  padding: clamp(1.5rem, 5vw, 3.5rem);
  text-align: center;
}
.payment-card h1 {
  margin: 0.75rem 0;
}
.payment-card > .product-notice {
  margin: 1.5rem 0 0;
  text-align: left;
}
.payment-card > .button-row {
  margin-top: 1.5rem;
  justify-content: center;
}

.payment-icon {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff0e8;
  color: #f0a62b;
  font-size: 1.75rem;
  font-weight: 900;
}

.payment-page--approved .payment-icon {
  background: #e8f5f4;
  color: #20b89f;
}

.payment-pending-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
}
.payment-pending-dots i {
  width: 0.38rem;
  height: 0.38rem;
  display: block;
  border-radius: 50%;
  background: currentColor;
  animation: payment-pending-dot 1.15s ease-in-out infinite;
}
.payment-pending-dots i:nth-child(2) {
  animation-delay: 0.14s;
}
.payment-pending-dots i:nth-child(3) {
  animation-delay: 0.28s;
}

.payment-page--refused .payment-icon,
.payment-page--cancelled .payment-icon {
  background: #f9e7ec;
  color: #e34f68;
}

@media (prefers-reduced-motion: reduce) {
  .payment-pending-dots i {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.payment-summary {
  margin-top: 1.5rem;
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 36.25rem) {
  .payment-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.payment-summary div {
  padding: 1rem;
  border-radius: 0.625rem;
  background: #fffaf4;
}
.payment-summary dt {
  color: #6e6360;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}
.payment-summary dd {
  margin-top: 0.25rem;
  overflow-wrap: anywhere;
  font-weight: 800;
}

.product-3d {
  position: relative;
  width: 100%;
  min-width: 0;
  height: 100%;
  isolation: isolate;
  color: #343438;
}
.product-3d--card {
  aspect-ratio: 4/3;
  z-index: 2;
}
.product-3d--hero {
  aspect-ratio: 1;
  height: auto;
}
.product-3d--detail {
  height: clamp(21rem, 70vw, 34rem);
}
.product-3d__canvas {
  display: block;
  width: 100%;
  height: 100%;
  touch-action: pan-y;
  cursor: grab;
}
.product-3d__canvas:active {
  cursor: grabbing;
}
.product-3d__canvas:focus-visible {
  outline: 2px solid #ff7f6e;
  outline-offset: -4px;
}
.product-3d__placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 3.5rem 1rem;
  text-align: center;
  font-size: 0.85rem;
}
.product-3d__placeholder > .material-symbols-outlined {
  font-size: 2.75rem;
  color: #ff7f6e;
}
.product-3d__hint {
  position: absolute;
  left: 0.75rem;
  bottom: 0.75rem;
  padding: 0.3rem 0.55rem;
  border-radius: 999px;
  background: #ffffff;
  color: #6e6360;
  font-size: 0.7rem;
  pointer-events: none;
}
.product-3d__controls {
  position: absolute;
  right: 0.75rem;
  bottom: 0.75rem;
  display: flex;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 999px;
  background: #ffffff;
}
.product-3d__controls button {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #343438;
  cursor: pointer;
}
.product-3d__controls button:hover {
  color: #ff7f6e;
  background: #fff0e8;
}
.product-3d__controls button:focus-visible {
  outline: 2px solid #ff7f6e;
  outline-offset: 2px;
}
.product-3d__controls button .material-symbols-outlined {
  font-size: 1.1rem;
}
.product-3d--card .product-3d__hint, .product-3d--hero .product-3d__hint {
  top: 3.5rem;
  bottom: auto;
}
.product-3d [hidden] {
  display: none;
}
.product-3d__noscript {
  position: absolute;
  inset: 45% 1rem auto;
  background: #ffffff;
  padding: 0.75rem;
}

@media (pointer: coarse) {
  .product-3d__controls button {
    width: 2.75rem;
    height: 2.75rem;
  }
}
@media (max-width: 30rem) {
  .product-3d--detail .product-3d__hint {
    top: 0.75rem;
    bottom: auto;
  }
}
.catalog-hero.catalog-hero--tools {
  background: radial-gradient(ellipse at 18% 8%, rgba(255, 255, 255, 0.52), transparent 58%), radial-gradient(ellipse at 88% 18%, rgba(52, 152, 219, 0.14), transparent 54%), rgb(183.95, 218.95, 242.4);
}

.tools-page {
  background: #f7f3ee;
}
.tools-page .file-upload:has(input:disabled) {
  opacity: 0.72;
  cursor: not-allowed;
  transform: none;
}
.tools-page .file-upload:has(input:disabled) input {
  cursor: not-allowed;
}

.model-viewer__workspace > .file-upload {
  margin-bottom: 1rem;
}

.tools-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr);
}

.tools-card {
  display: flex;
  flex-direction: column;
}
.tools-card .card__header {
  margin-bottom: 0;
}
.tools-card > p {
  color: #6e6360;
  margin-bottom: 1.5rem;
}
.tools-card > .bancada-tool-visits {
  margin-top: auto;
  margin-bottom: 0.75rem;
}
.tools-card .button-row {
  margin-top: 0;
}

.tools-bancada-card {
  grid-column: 1/-1;
  display: grid;
  align-items: center;
  gap: 1.5rem;
  min-height: 14rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
}
.tools-bancada-card__copy {
  position: relative;
  z-index: 1;
  min-width: 0;
}
.tools-bancada-card .eyebrow {
  color: #6e6360;
}
.tools-bancada-card h2 {
  margin: 0.75rem 0;
  font-size: clamp(1.5rem, 3vw, 2rem);
}
.tools-bancada-card p {
  min-height: 0;
  max-width: 58ch;
  margin: 0;
  color: #6e6360;
}
.tools-bancada-card > strong {
  position: relative;
  z-index: 1;
  justify-self: start;
  justify-content: center;
  min-height: 44px;
  padding: 0.75rem 1.25rem;
  border: 1px solid rgba(52, 52, 56, 0.12);
  border-radius: 999px;
  background: #ffffff;
  color: #343438;
  text-align: center;
}
.tools-bancada-card::after {
  width: 18rem;
  height: 18rem;
  right: -4rem;
  bottom: -9rem;
}
.tools-bancada-card:focus-visible {
  outline: 3px solid #343438;
  outline-offset: 4px;
}
@media (min-width: 768px) {
  .tools-bancada-card {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .tools-bancada-card {
    transition: none;
  }
  .tools-bancada-card:hover {
    transform: none;
  }
}

.model-viewer {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}
.model-viewer [hidden] {
  display: none;
}
.model-viewer__toolbar {
  flex-wrap: wrap;
}
.model-viewer__toolbar > div {
  min-width: 0;
}
.model-viewer__toolbar h2 {
  overflow-wrap: anywhere;
}
.model-viewer__stage {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  height: clamp(28rem, 48vw, 36rem);
  padding: 0.5rem;
  background: #fffaf4;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
}
.model-viewer__viewport {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
}
.model-viewer__viewport canvas {
  display: block;
  width: 100%;
  height: 100%;
  touch-action: none;
  cursor: grab;
}
.model-viewer__viewport canvas[hidden] {
  display: none;
}
.model-viewer__viewport canvas:active {
  cursor: grabbing;
}
.model-viewer__viewport canvas:focus-visible {
  outline: 3px solid #343438;
  outline-offset: -4px;
}
.model-viewer.is-dragging .model-viewer__stage {
  outline: 3px dashed #343438;
  outline-offset: -6px;
}
.model-viewer__empty {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1.25rem;
  text-align: center;
}
.model-viewer__empty > .material-symbols-outlined {
  font-size: 3rem;
  color: #ff7f6e;
}
.model-viewer__empty h3 {
  margin: 0;
  font-size: clamp(1.125rem, 2vw, 1.5rem);
}
.model-viewer__empty p {
  max-width: 29rem;
  color: #6e6360;
}
.model-viewer__empty[hidden] {
  display: none;
}
.model-viewer__feedback {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 1rem 0;
}
.model-viewer__status {
  margin: 0;
  font-size: 0.875rem;
  color: #6e6360;
  overflow-wrap: anywhere;
  flex: 1 1 14rem;
}
.model-viewer[data-state=error] .model-viewer__status {
  color: #343438;
  font-weight: 600;
  background: #f9e7ec;
}
.model-viewer__controls, .model-viewer__views {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-self: center;
  flex: 0 0 auto;
  gap: 0.25rem;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0.25rem;
  border: 1px solid rgba(52, 52, 56, 0.1);
  border-radius: 0.875rem;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
}
.model-viewer__controls .btn, .model-viewer__views .btn {
  min-width: 44px;
  min-height: 44px;
  padding: 0.5rem 0.625rem;
  border: 1px solid transparent;
  border-radius: 0.625rem;
  background: transparent;
  color: #6e6360;
  box-shadow: none;
  font-size: 0.75rem;
}
.model-viewer__controls .btn:hover:not(:disabled), .model-viewer__views .btn:hover:not(:disabled) {
  background: #f7f3ee;
  color: #343438;
  transform: none;
  box-shadow: none;
}
.model-viewer__controls .btn:focus-visible, .model-viewer__views .btn:focus-visible {
  outline: 2px solid #343438;
  outline-offset: -2px;
}
.model-viewer__controls .material-symbols-outlined, .model-viewer__views .material-symbols-outlined {
  font-size: 1.25rem;
}
.model-viewer__controls .btn[aria-pressed=true], .model-viewer__views .btn[aria-pressed=true] {
  background: #fff0e8;
  border-color: rgba(255, 127, 110, 0.18);
  color: #343438;
}
.model-viewer__controls:disabled {
  display: none;
}
.model-viewer__views .btn {
  flex: 1 1 auto;
  overflow-wrap: anywhere;
  white-space: normal;
}
.model-viewer__views select {
  min-height: 44px;
  width: auto;
  max-width: 100%;
  margin: 0;
  border: 0;
  background-color: transparent;
  color: #343438;
  font-size: 0.875rem;
}
.model-viewer__color {
  display: inline-flex;
  align-items: center;
  margin: 0;
}
.model-viewer__color input {
  width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0.625rem;
  border: 0;
  border-radius: 0.625rem;
  background: transparent;
  cursor: pointer;
}
.model-viewer__color input:hover {
  background: #f7f3ee;
}
.model-viewer__color input:focus-visible {
  outline: 2px solid #343438;
  outline-offset: -2px;
}
.model-viewer__color input::-webkit-color-swatch-wrapper {
  padding: 0;
}
.model-viewer__color input::-webkit-color-swatch {
  border: 1px solid rgba(52, 52, 56, 0.25);
  border-radius: 0.375rem;
}
.model-viewer__color input::-moz-color-swatch {
  border: 1px solid rgba(52, 52, 56, 0.25);
  border-radius: 0.375rem;
}
.model-viewer__details {
  min-width: 0;
}
.model-viewer__details h2 {
  font-size: clamp(1.25rem, 2vw, 1.625rem);
}
.model-viewer__details h3 {
  margin: 1.5rem 0 0.5rem;
  font-size: 1rem;
}
.model-viewer__details p {
  margin-top: 0.65rem;
  font-size: 0.875rem;
}
.model-viewer__metrics > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem;
}
.model-viewer__metrics dd {
  margin: 0;
  overflow-wrap: anywhere;
  white-space: normal;
}
.model-viewer__note {
  color: #6e6360;
}

@media (min-width: 768px) {
  .tools-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .model-viewer {
    grid-template-columns: minmax(0, 1fr) 19rem;
  }
  .model-viewer__workspace,
  .model-viewer__details,
  .lithophane__form,
  .lithophane__result {
    position: sticky;
    top: 7.5rem;
  }
  body.has-global-announcement .model-viewer__workspace,
  body.has-global-announcement .model-viewer__details,
  body.has-global-announcement .lithophane__form,
  body.has-global-announcement .lithophane__result {
    top: 10.25rem;
  }
}
.model-viewer--embedded {
  display: block;
}

.voice-sculpture__recording {
  padding: 1rem;
  margin-bottom: 1rem;
  border-radius: 1rem;
  background: rgb(240.79, 247.79, 252.48);
}
.voice-sculpture__recording > span {
  display: inline-block;
  margin: 0.5rem;
  font-variant-numeric: tabular-nums;
  font-size: 0.85rem;
}
.voice-sculpture__recording > p {
  margin: 0.75rem 0 0;
}

.audio-vase__audio {
  margin-top: 1rem;
  min-width: 0;
}
.audio-vase__audio p {
  overflow-wrap: anywhere;
  font-size: 0.85rem;
}
.audio-vase__audio audio {
  display: block;
  width: 100%;
  max-width: 100%;
}
.audio-vase__audio audio + .btn {
  margin-top: 0.75rem;
}
.audio-vase__waveform {
  margin: 1rem 0;
  padding: 0.75rem;
  border-radius: 1rem;
  background: rgb(240.79, 247.79, 252.48);
}
.audio-vase__waveform canvas {
  display: block;
  width: 100%;
  height: 7.5rem;
}
.audio-vase__waveform figcaption {
  margin-top: 0.4rem;
  color: #6e6360;
  font-size: 0.75rem;
}
@media (max-width: 767px), (pointer: coarse) {
  .audio-vase input, .audio-vase select {
    font-size: 1rem;
  }
}

.lithophane [hidden] {
  display: none;
}
.lithophane__layout, .lithophane__columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}
.lithophane__result {
  display: grid;
  gap: 1.5rem;
  min-width: 0;
}
.lithophane__form {
  min-width: 0;
}
.lithophane__upload {
  margin-bottom: 0.75rem;
}
.lithophane__photo {
  margin: 1.25rem 0;
}
.lithophane__photo canvas {
  display: block;
  max-width: 100%;
  max-height: 16rem;
  width: auto;
  height: auto;
  margin-inline: auto;
  border-radius: 0.625rem;
}
.lithophane__photo figcaption {
  margin-top: 0.5rem;
  color: #6e6360;
  font-size: 0.75rem;
  text-align: center;
}
.lithophane__settings {
  border: 0;
  min-width: 0;
  margin: 1.5rem 0;
  padding: 0;
}
.lithophane__settings legend {
  margin-bottom: 1rem;
  font-weight: 700;
}
.lithophane__settings input[type=range] {
  width: 100%;
  padding: 0;
  min-height: 44px;
  accent-color: #ff7f6e;
}
.lithophane__status {
  font-size: 0.875rem;
  overflow-wrap: anywhere;
}
.lithophane[data-state=error] .lithophane__status {
  color: #343438;
  padding: 0.75rem;
  background: #f9e7ec;
  border-radius: 0.625rem;
}
.lithophane__note {
  font-size: 0.75rem;
  color: #6e6360;
}
.lithophane__metrics {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0 1rem;
}
.lithophane__download {
  margin-top: 1.5rem;
  align-items: center;
}
.lithophane__help {
  grid-column: 1/-1;
}
.lithophane__help h2 {
  font-size: 1.375rem;
}
.lithophane__help p {
  color: #6e6360;
}
.lithophane__layout > noscript {
  grid-column: 1/-1;
}
@media (min-width: 768px) {
  .lithophane__metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .lithophane__columns {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  }
}

.voice-reader-hero h1 {
  max-width: 52rem;
}
.voice-reader-hero p {
  max-width: 42rem;
}

.voice-reader [hidden] {
  display: none;
}
.voice-reader__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
}
.voice-reader__card {
  min-width: 0;
  padding: clamp(1.25rem, 3.5vw, 2.75rem);
  border-radius: 1.5rem;
  margin: 0;
}
.voice-reader__step {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.035em;
}
.voice-reader__step > span {
  display: inline-grid;
  place-items: center;
  width: 1.7rem;
  height: 1.7rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 0.65rem;
  opacity: 0.7;
}
.voice-reader__intro h2 {
  margin: 1.5rem 0 1rem;
  font-size: clamp(1.55rem, 2.7vw, 2.15rem);
  line-height: 1.22;
  letter-spacing: -0.035em;
}
.voice-reader__intro p {
  margin: 0;
  color: #6e6360;
  font-size: 0.875rem;
  line-height: 1.85;
}
.voice-reader__stage {
  position: relative;
  aspect-ratio: 4/3;
  margin-top: 1.5rem;
  overflow: hidden;
  border-radius: 1rem;
  background: #343438;
}
.voice-reader__stage video {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.voice-reader__scan-frame {
  position: absolute;
  inset: 10% 20%;
  border: 2px solid #ffffff;
  border-radius: 1.25rem;
  pointer-events: none;
  box-shadow: 0 0 0 20rem rgba(0, 0, 0, 0.18);
}
.voice-reader__camera-label {
  position: absolute;
  bottom: 0.75rem;
  left: 50%;
  transform: translateX(-50%);
  width: -moz-max-content;
  width: max-content;
  max-width: 90%;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  color: #ffffff;
  background: rgba(0, 0, 0, 0.65);
  font-size: 0.75rem;
  text-align: center;
}
.voice-reader__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 1.75rem 0 1.25rem;
}
.voice-reader__actions .btn {
  width: 100%;
  min-height: 3.35rem;
  justify-content: center;
  gap: 0.6rem;
}
.voice-reader__action-arrow {
  margin-left: auto;
}
.voice-reader__divider {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #6e6360;
  font-size: 0.75rem;
  margin: 1.5rem 0;
}
.voice-reader__divider::before, .voice-reader__divider::after {
  content: "";
  height: 1px;
  flex: 1;
  background: rgba(255, 127, 110, 0.18);
}
.voice-reader__photo {
  min-width: 0;
  margin: 0;
}
.voice-reader__photo .file-upload {
  padding: 0.9rem;
  gap: 0.7rem;
  border-radius: 0.875rem;
}
.voice-reader__photo .file-upload__icon {
  width: 2.25rem;
  height: 2.25rem;
  flex-basis: 2.25rem;
}
.voice-reader__photo .file-upload__copy {
  min-width: 0;
}
.voice-reader__photo .file-upload__copy strong {
  font-size: 0.875rem;
  overflow-wrap: anywhere;
}
.voice-reader__photo .file-upload__copy small {
  font-size: 0.75rem;
}
.voice-reader__photo .file-upload__action {
  padding: 0.55rem 0.65rem;
  font-size: 0.75rem;
}
.voice-reader__photo > small {
  display: block;
  margin-top: 0.6rem;
  color: #6e6360;
  font-size: 0.75rem;
}
.voice-reader__status {
  margin: 1.25rem 0;
  padding: 0.9rem 1rem 0.9rem 1.15rem;
  border-left: 2px solid #a7d9d6;
  border-radius: 0 0.625rem 0.625rem 0;
  background: #fffaf4;
  color: #6e6360;
  line-height: 1.75;
  font-size: 0.875rem;
  overflow-wrap: anywhere;
}
.voice-reader[data-state=error] .voice-reader__status {
  border-color: #e34f68;
}
.voice-reader__local-note {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  margin: 1.1rem 0 0;
  color: #6e6360;
  font-size: 0.75rem;
  line-height: 1.8;
}
.voice-reader__local-note .material-symbols-outlined {
  font-size: 1.1rem;
  margin-top: 0.1rem;
  color: rgb(52, 77, 96.75);
}
.voice-reader__listening {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(1.25rem, 3.5vw, 2.5rem);
  border: 1px solid rgba(52, 77, 96.75, 0.1);
  border-radius: 1.5rem;
  background: rgb(52, 77, 96.75);
  color: #fffaf4;
}
.voice-reader__listening-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.voice-reader__sound-mark {
  color: #a7d9d6;
  font-size: 1.4rem;
}
.voice-reader__art {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: clamp(11.5rem, 20vw, 15.75rem);
  margin: 0.75rem 0 0;
}
.voice-reader__orbit {
  position: absolute;
  border: 1px solid rgba(255, 250, 244, 0.085);
  border-radius: 50%;
  aspect-ratio: 1;
  width: 10.75rem;
}
.voice-reader__orbit--outer {
  width: 14rem;
}
.voice-reader__disc {
  position: relative;
  width: 8.6rem;
  height: 8.6rem;
  background: #ff7f6e;
  border-radius: 47% 43% 48% 42%/41% 48% 43% 48%;
  transform: rotate(-16deg);
  box-shadow: inset -0.6rem -0.65rem 0 rgba(52, 52, 56, 0.08), 0 0.65rem 1.75rem rgba(16, 27, 38, 0.13);
}
.voice-reader__disc::before {
  content: "";
  position: absolute;
  inset: 0.6rem;
  border: 1px solid rgba(255, 250, 244, 0.24);
  border-radius: inherit;
}
.voice-reader__disc > span {
  position: absolute;
  inset: 36%;
  border: 1px solid rgba(255, 250, 244, 0.5);
  border-radius: 50%;
}
.voice-reader__disc > span::after {
  content: "";
  position: absolute;
  inset: 35%;
  border-radius: 50%;
  background: rgb(52, 77, 96.75);
}
.voice-reader__disc i {
  position: absolute;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: rgb(52, 77, 96.75);
}
.voice-reader__disc i:nth-of-type(1) {
  left: 25%;
  top: 24%;
}
.voice-reader__disc i:nth-of-type(2) {
  left: 50%;
  top: 17%;
}
.voice-reader__disc i:nth-of-type(3) {
  right: 22%;
  top: 30%;
}
.voice-reader__disc i:nth-of-type(4) {
  right: 16%;
  top: 51%;
}
.voice-reader__disc i:nth-of-type(5) {
  right: 30%;
  bottom: 22%;
}
.voice-reader__disc i:nth-of-type(6) {
  left: 39%;
  bottom: 17%;
}
.voice-reader__disc i:nth-of-type(7) {
  left: 21%;
  bottom: 34%;
}
.voice-reader__art-caption {
  position: absolute;
  bottom: 0.05rem;
  font-size: 0.49rem;
  letter-spacing: 0.19em;
  color: rgba(255, 250, 244, 0.6);
  text-align: center;
}
.voice-reader__listening-copy {
  margin-top: 1.25rem;
  text-align: center;
}
.voice-reader__listening-copy h2 {
  color: inherit;
  margin: 0.55rem 0;
  font-size: clamp(1.45rem, 2.4vw, 1.9rem);
  line-height: 1.25;
  letter-spacing: -0.025em;
}
.voice-reader__listening-copy p {
  color: rgba(255, 250, 244, 0.8);
  font-size: 0.8rem;
  line-height: 1.8;
  margin: 0.65rem auto 0;
  max-width: 22rem;
}
.voice-reader__listening-kicker {
  color: #a7d9d6;
  font-size: 0.75rem;
  letter-spacing: 0.025em;
}
.voice-reader__visualizer {
  height: 5.25rem;
  margin: 1rem 0 0.45rem;
  width: 100%;
  min-width: 0;
}
.voice-reader__visualizer canvas {
  display: block;
  width: 100%;
  height: 100%;
}
.voice-reader__result {
  min-width: 0;
  margin: 0.25rem 0 0;
}
.voice-reader__result audio {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.voice-reader__controls {
  display: none;
}
.voice-reader.has-custom-player .voice-reader__controls {
  display: block;
}
.voice-reader.has-custom-player .voice-reader__result audio {
  display: none;
}
.voice-reader__timeline input[type=range] {
  display: block;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 100%;
  height: 2.75rem;
  min-height: 2.75rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  accent-color: #ff7f6e;
}
.voice-reader__timeline input[type=range]::-webkit-slider-runnable-track {
  height: 3px;
  border-radius: 5px;
  background: rgba(255, 250, 244, 0.28);
}
.voice-reader__timeline input[type=range]::-moz-range-track {
  height: 3px;
  border-radius: 5px;
  background: rgba(255, 250, 244, 0.28);
}
.voice-reader__timeline input[type=range]::-moz-range-progress {
  height: 3px;
  background: #ff7f6e;
}
.voice-reader__timeline input[type=range]::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  height: 0.8rem;
  width: 0.8rem;
  margin-top: -0.3rem;
  background: #ff7f6e;
  border: 2px solid #fffaf4;
  border-radius: 50%;
}
.voice-reader__timeline input[type=range]::-moz-range-thumb {
  height: 0.6rem;
  width: 0.6rem;
  background: #ff7f6e;
  border: 2px solid #fffaf4;
  border-radius: 50%;
}
.voice-reader__timeline input[type=range]:focus-visible {
  outline: 2px solid #a7d9d6;
  outline-offset: 3px;
  border-radius: 0.25rem;
}
.voice-reader__times {
  display: flex;
  justify-content: space-between;
  color: rgba(255, 250, 244, 0.8);
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
}
.voice-reader__transport {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  justify-items: center;
  gap: 1rem;
  margin-top: 0.6rem;
}
.voice-reader__restart, .voice-reader__play {
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  cursor: pointer;
  padding: 0;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1), background 160ms cubic-bezier(0.2, 0, 0, 1);
}
.voice-reader__restart:focus-visible, .voice-reader__play:focus-visible {
  outline: 2px solid #a7d9d6;
  outline-offset: 5px;
}
.voice-reader__restart:hover, .voice-reader__play:hover {
  transform: translateY(-2px);
}
.voice-reader__restart {
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(255, 250, 244, 0.25);
  background: transparent;
  color: #fffaf4;
  justify-self: end;
}
.voice-reader__restart .material-symbols-outlined {
  font-size: 1.25rem;
}
.voice-reader__restart:hover {
  background: rgba(255, 250, 244, 0.08);
}
.voice-reader__play {
  width: 4.1rem;
  height: 4.1rem;
  border: 0;
  background: #fffaf4;
  color: rgb(52, 77, 96.75);
}
.voice-reader__play .material-symbols-outlined {
  font-size: 2.2rem;
  font-variation-settings: "FILL" 1;
}
.voice-reader__play:hover {
  background: #fff0e8;
}
.voice-reader__transport-note {
  justify-self: start;
  color: rgba(255, 250, 244, 0.75);
  font-size: 0.75rem;
  line-height: 1.6;
}
.voice-reader__listening-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  margin-top: auto;
  padding-top: 1.25rem;
  color: rgba(255, 250, 244, 0.7);
  font-size: 0.75rem;
  text-align: center;
}
.voice-reader__listening-footer .material-symbols-outlined {
  font-size: 0.85rem;
  color: #ff7f6e;
}
.voice-reader__help {
  display: grid;
  gap: 1.75rem;
  padding: 1.75rem 0.3rem 0.5rem;
}
.voice-reader__help-intro h2 {
  font-size: 1.5rem;
  line-height: 1.3;
  letter-spacing: -0.025em;
  margin: 0.7rem 0 0;
}
.voice-reader__help-intro .eyebrow {
  font-size: 0.75rem;
}
.voice-reader__tip > .material-symbols-outlined {
  color: rgb(52, 77, 96.75);
  font-size: 1.6rem;
}
.voice-reader__tip h3 {
  font-size: 0.9rem;
  margin: 0.6rem 0;
}
.voice-reader__tip p {
  color: #6e6360;
  font-size: 0.8rem;
  line-height: 1.85;
  margin: 0;
}
.voice-reader__privacy {
  border-top: 1px solid rgba(255, 127, 110, 0.18);
  padding: 1.25rem 0.3rem 0;
}
.voice-reader__privacy p {
  margin: 0 0 0.5rem;
  color: #6e6360;
  font-size: 0.75rem;
  line-height: 1.85;
}
.voice-reader__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (min-width: 40rem) {
  .voice-reader__help {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
  }
  .voice-reader__help-intro {
    grid-column: 1/-1;
  }
}
@media (min-width: 60rem) {
  .voice-reader__layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: 1.5rem;
    align-items: stretch;
  }
  .voice-reader__card {
    align-self: start;
  }
  .voice-reader__help, .voice-reader__privacy, .voice-reader noscript {
    grid-column: 1/-1;
  }
  .voice-reader__help {
    grid-template-columns: 1.2fr repeat(3, minmax(0, 1fr));
    gap: 2rem;
    padding-top: 2.25rem;
  }
  .voice-reader__help-intro {
    grid-column: auto;
  }
  .voice-reader__privacy {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
}
@media (max-width: 24rem) {
  .voice-reader__photo .file-upload {
    flex-wrap: wrap;
  }
  .voice-reader__photo .file-upload__action {
    margin-left: 2.95rem;
  }
  .voice-reader__art {
    height: 12rem;
  }
  .voice-reader__orbit--outer {
    width: 12rem;
  }
  .voice-reader__transport {
    gap: 0.6rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .voice-reader__restart, .voice-reader__play {
    transition: none;
  }
  .voice-reader__restart:hover, .voice-reader__play:hover {
    transform: none;
  }
}

.voice-sculpture__audio-link {
  padding: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.625rem;
  background: #fffaf4;
}
.voice-sculpture__code {
  margin-top: 1.5rem;
  padding: 1.25rem;
  border-radius: 0.625rem;
  background: rgb(234.7, 244.7, 251.4);
}
.voice-sculpture__code h3 {
  margin-top: 0;
}
.voice-sculpture__code p {
  font-size: 0.85rem;
  line-height: 1.7;
}
.voice-sculpture__code svg {
  width: 10rem;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 1rem auto;
}

.shadow-sculpture__projection-caption {
  display: grid;
  gap: 0.25rem;
  margin: 1rem 0;
  font-size: 0.85rem;
}
.shadow-sculpture__projection-caption span {
  color: #6e6360;
}
.shadow-sculpture__input, .shadow-sculpture__projection {
  margin: 1.25rem 0;
}
.shadow-sculpture__input canvas, .shadow-sculpture__projection canvas {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  background: #ffffff;
}
.shadow-sculpture__input figcaption, .shadow-sculpture__projection figcaption {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.6;
}
.shadow-sculpture__input canvas {
  max-width: 22rem;
  margin-inline: auto;
  border: 1px solid rgba(52, 152, 219, 0.15);
}
.shadow-sculpture__projection {
  padding: 1rem;
  border: 1px solid rgba(52, 152, 219, 0.15);
  border-radius: 16px;
  background: rgb(242.82, 248.82, 252.84);
}
.shadow-sculpture__projection canvas {
  max-width: 19rem;
  margin-inline: auto;
}
.shadow-sculpture__projection figcaption {
  display: grid;
  gap: 0.25rem;
  text-align: center;
}
.shadow-sculpture__setup {
  padding: 1.25rem;
  margin: 1.25rem 0;
  border-radius: 16px;
  background: rgb(242.82, 248.82, 252.84);
}
.shadow-sculpture__setup h3 {
  margin: 0 0 1rem;
}
.shadow-sculpture__setup p {
  font-size: 0.875rem;
  line-height: 1.65;
}
.shadow-sculpture__setup p:last-child {
  margin-bottom: 0;
}
.shadow-sculpture__alignment {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #343438;
}
.shadow-sculpture__alignment span:nth-child(2n) {
  font-weight: 400;
}

[data-shadow-scene] .model-viewer__stage {
  background: #fffaf4;
  border-color: rgba(255, 127, 110, 0.18);
  height: 620px;
  min-height: 620px;
  padding: 0;
}
[data-shadow-scene] .model-viewer__empty {
  color: #343438;
  padding-bottom: 9rem;
}
[data-shadow-scene] .model-viewer__empty p {
  color: #6e6360;
}
[data-shadow-scene] [data-model-stage] {
  min-height: 0;
  border-radius: inherit;
}
[data-shadow-scene] [data-model-stage] canvas {
  border-radius: inherit;
}
[data-shadow-scene][data-state=empty] .shadow-scene__badge {
  display: none;
}

.shadow-scene__badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  pointer-events: none;
  border-radius: 999px;
  padding: 0.4rem 0.75rem;
  background: rgba(20, 22, 29, 0.7);
  color: #fff0ce;
  font-size: 0.75rem;
}
.shadow-scene__controls {
  position: absolute;
  bottom: 0.8rem;
  left: 0.8rem;
  right: 0.8rem;
  z-index: 2;
  min-width: 0;
  padding: 0.65rem;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  color: #f5f1e9;
  background: rgba(24, 26, 34, 0.94);
  backdrop-filter: blur(12px);
}
.shadow-scene__toolbar {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.shadow-scene__toolbar button {
  min-height: 36px;
}
.shadow-scene__controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  padding: 0.4rem 0.5rem;
  font-family: inherit;
  font-size: 0.73rem;
  cursor: pointer;
  white-space: nowrap;
}
.shadow-scene__controls button:hover {
  background: rgba(255, 255, 255, 0.12);
}
.shadow-scene__controls button:focus-visible {
  outline: 2px solid #a7d9d6;
  outline-offset: 2px;
}
.shadow-scene__controls button[aria-pressed=true] {
  background: #f0e3cf;
  color: #29251e;
}
.shadow-scene__controls button .material-symbols-outlined {
  font-size: 18px;
}
.shadow-scene__views {
  display: flex;
  flex: 1;
  gap: 0.15rem;
  flex-wrap: wrap;
}
.shadow-scene__lighting {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 0.75rem;
  align-items: center;
  margin-top: 0.55rem;
  padding-top: 0.55rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.shadow-scene__lighting label {
  display: block;
  min-width: 0;
  font-size: 0.68rem;
  color: #ddd8d1;
}
.shadow-scene__lighting output {
  float: right;
  padding-left: 0.25rem;
  color: #fff0ce;
}
.shadow-scene__lighting input[type=range] {
  display: block;
  width: 100%;
  height: 24px;
  margin: 0.25rem 0 0;
  padding: 0;
  accent-color: #e5d1b1;
  background: transparent;
}
.shadow-scene__lighting button {
  white-space: normal;
  max-width: 5.5rem;
}
.shadow-scene__controls:disabled {
  opacity: 0.45;
}

@media (max-width: 600px) {
  [data-shadow-scene] .model-viewer__stage {
    height: 600px;
    min-height: 600px;
  }
  .shadow-scene__controls {
    left: 0.45rem;
    right: 0.45rem;
    bottom: 0.45rem;
    padding: 0.45rem;
  }
  .shadow-scene__controls button {
    min-height: 44px;
    min-width: 44px;
  }
  .shadow-scene__lighting input[type=range] {
    min-height: 44px;
    height: 44px;
  }
  .shadow-scene__toolbar {
    flex-wrap: wrap;
    gap: 0.15rem;
  }
  .shadow-scene__views {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    flex-basis: 100%;
  }
  .shadow-scene__views button {
    white-space: normal;
    min-width: 0;
  }
  .shadow-scene__lighting {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
  }
  .shadow-scene__lighting button {
    grid-column: 1/-1;
    max-width: none;
  }
}
.adapter__intro {
  max-width: 54rem;
}
.adapter__intro h2 {
  margin: 0.5rem 0;
}
.adapter__intro p {
  color: #6e6360;
}
.adapter__editors {
  display: grid;
  gap: 1.25rem;
  align-items: start;
  min-width: 0;
}
.adapter__auto {
  margin-top: 1rem;
}
@media (min-width: 1024px) {
  .adapter__editors {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .adapter .adapter-editor,
  .adapter .lithophane__help {
    position: sticky;
    top: 7.5rem;
  }
  body.has-global-announcement .adapter .adapter-editor,
  body.has-global-announcement .adapter .lithophane__help {
    top: 10.25rem;
  }
}

.adapter-editor {
  min-width: 0;
  padding: clamp(0.875rem, 2vw, 1.5rem);
  background: #ffffff;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1.25rem;
}
.adapter-editor__heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.adapter-editor__heading h2 {
  margin: 0.3rem 0 0;
}
.adapter-editor__measure {
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
  color: #6e6360;
  background: #f7f3ee;
  padding: 0.4rem 0.7rem;
  border-radius: 1rem;
}
.adapter-editor__help, .adapter-editor__instructions {
  font-size: 0.78rem;
  line-height: 1.65;
  color: #6e6360;
  margin: 0.75rem 0;
}
.adapter-editor__toolbar, .adapter-editor__actions, .adapter-editor__view-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  align-items: center;
}
.adapter-editor__toolbar {
  margin: 1rem 0 0.75rem;
}
.adapter-editor__toolbar .btn, .adapter-editor__actions .btn, .adapter-editor__view-controls .btn {
  min-height: 44px;
  min-width: 44px;
  padding: 0.45rem 0.6rem;
  font-size: 0.75rem;
  gap: 0.35rem;
  color: #343438;
  border-color: rgba(52, 52, 56, 0.13);
  background: #ffffff;
}
.adapter-editor__toolbar .material-symbols-outlined, .adapter-editor__view-controls .material-symbols-outlined {
  font-size: 20px;
}
.adapter-editor .btn[aria-pressed=true] {
  background: rgb(228.61, 241.61, 250.32);
  border-color: #3498db;
  color: rgb(28.6, 83.6, 120.45);
}
.adapter-editor__stage {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 1rem;
  border: 1px solid rgba(52, 152, 219, 0.24);
  background: #f7fafc;
}
.adapter-editor__canvas {
  display: block;
  width: 100%;
  height: clamp(17rem, 27vw, 22rem);
  touch-action: none;
  color: #c2d4e0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.adapter-editor__canvas:focus-visible {
  outline: 2px solid #3498db;
  outline-offset: -3px;
}
.adapter-editor__axes {
  color: #91aabd;
  pointer-events: none;
}
.adapter-editor__shape {
  fill: rgba(52, 152, 219, 0.14);
  stroke: #357da9;
  stroke-width: 0.6;
  cursor: move;
}
.adapter-editor__shape.is-selected {
  fill: rgba(255, 127, 110, 0.2);
  stroke: #bc5345;
}
.adapter-editor__node {
  fill: #ffffff;
  stroke: #245f87;
  stroke-width: 0.45;
  cursor: grab;
}
.adapter-editor__node.is-active {
  fill: #ff7f6e;
}
.adapter-editor__handle {
  fill: #245f87;
  stroke: #ffffff;
  stroke-width: 0.3;
  cursor: grab;
}
.adapter-editor__handle-line {
  stroke: #245f87;
  stroke-width: 0.25;
  stroke-dasharray: 1 1;
  pointer-events: none;
}
.adapter-editor__draft {
  stroke: #bc5345;
  stroke-width: 0.5;
  stroke-dasharray: 1.5 1;
  pointer-events: none;
}
.adapter-editor__view-controls {
  padding: 0.5rem;
  border-top: 1px solid rgba(52, 152, 219, 0.16);
  background: rgba(255, 255, 255, 0.9);
}
.adapter-editor__view-controls .switch-field {
  padding: 0 0.3rem;
  font-size: 0.75rem;
}
.adapter-editor__details {
  margin-top: 0.8rem;
  border-top: 1px solid rgba(52, 52, 56, 0.1);
}
.adapter-editor__details summary {
  cursor: pointer;
  padding: 0.85rem 0.2rem;
  min-height: 44px;
  font-weight: 600;
  font-size: 0.85rem;
}
.adapter-editor__properties {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
  margin: 0.3rem 0 1rem;
}
.adapter-editor__properties .field {
  min-width: 0;
  gap: 0.35rem;
}
.adapter-editor__properties .field:first-child {
  grid-column: 1/-1;
}
.adapter-editor__properties label {
  font-size: 0.75rem;
}
.adapter-editor__properties input, .adapter-editor__properties select {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 0.55rem 0.65rem;
  font-size: 0.85rem;
}
.adapter-editor__status {
  font-size: 0.8rem;
  line-height: 1.6;
  margin: 0.75rem 0 0;
  color: #6e6360;
}
.adapter-editor__status:empty {
  display: none;
}
.adapter-editor[data-state=error] .adapter-editor__status {
  color: #a63346;
}
@media (min-width: 600px) {
  .adapter-editor__properties {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 767px), (pointer: coarse) {
  .adapter-editor__properties input, .adapter-editor__properties select {
    font-size: 1rem;
  }
}

.auth-page {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  padding: clamp(1rem, 4vw, 3rem);
  display: grid;
  place-items: center;
  overflow-x: hidden;
  background: radial-gradient(circle at 12% 88%, #e8f5f4 0 8rem, transparent 8.1rem), radial-gradient(circle at 90% 10%, #f9e7ec 0 10rem, transparent 10.1rem), #f7f3ee;
}
.auth-page > .auth-card {
  width: min(100%, 36rem);
  justify-self: center;
}
.auth-page__brand {
  position: absolute;
  top: 1.5rem;
  left: clamp(1rem, 4vw, 3rem);
}

.wheel-experience {
  position: relative;
  isolation: isolate;
  min-height: 35rem;
  margin-bottom: 1.5rem;
  padding: clamp(1.25rem, 4vw, 3rem);
  display: grid;
  grid-template-columns: minmax(17rem, 1.05fr) minmax(16rem, 0.95fr);
  align-items: center;
  gap: clamp(1.5rem, 4vw, 4rem);
  overflow: hidden;
  border: 1px solid rgba(255, 127, 110, 0.2);
  border-radius: 2.5rem;
  background: radial-gradient(circle at 15% 10%, rgba(255, 196, 157, 0.34), transparent 28%), radial-gradient(circle at 85% 90%, rgba(220, 198, 244, 0.5), transparent 30%), linear-gradient(135deg, #fffaf4, #fff0e8 48%, #f2eafb);
  box-shadow: 0 26px 70px rgba(125, 95, 74, 0.14);
}

.wheel-experience::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.32;
  background-image: radial-gradient(rgba(255, 127, 110, 0.5) 1px, transparent 1px);
  background-size: 22px 22px;
}

.wheel-stage {
  position: relative;
  width: min(100%, 29rem);
  aspect-ratio: 1;
  margin-inline: auto;
  display: grid;
  place-items: center;
  filter: drop-shadow(0 1.5rem 2rem rgba(92, 63, 55, 0.18));
}

.wheel-pointer {
  position: absolute;
  z-index: 4;
  top: calc(5% - 0.8rem);
  left: 50%;
  width: 2.5rem;
  height: 1.6rem;
  transform: translateX(-50%);
  filter: drop-shadow(0 0.3rem 0.25rem rgba(67, 43, 39, 0.2));
  pointer-events: none;
}

.wheel-pointer::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 50%;
  width: 0;
  height: 0;
  border-right: 1.25rem solid transparent;
  border-left: 1.25rem solid transparent;
  border-top: 1.55rem solid #e96858;
  transform: translateX(-50%);
}

.wheel-pointer .material-symbols-outlined {
  display: none;
}

.prize-wheel {
  position: relative;
  width: 90%;
  aspect-ratio: 1;
  border: clamp(0.55rem, 1.3vw, 0.9rem) solid #fff;
  border-radius: 50%;
  background: conic-gradient(#ff8f80 0 45deg, #ffc49d 45deg 90deg, #a7d9d6 90deg 135deg, #dcc6f4 135deg 180deg, #e9a3b7 180deg 225deg, #ffc49d 225deg 270deg, #a7d9d6 270deg 315deg, #ff7f6e 315deg 360deg);
  box-shadow: inset 0 0 0 0.25rem rgba(255, 255, 255, 0.5), 0 0 0 0.35rem #e96858;
  transform: rotate(-22.5deg);
  transition: transform 4.2s cubic-bezier(0.12, 0.68, 0.08, 1);
  will-change: transform;
}

.prize-wheel::after {
  content: "";
  position: absolute;
  inset: 3%;
  border: 2px dashed rgba(255, 255, 255, 0.65);
  border-radius: 50%;
}

.prize-wheel__hub {
  position: absolute;
  z-index: 3;
  inset: 50% auto auto 50%;
  width: 24%;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  transform: translate(-50%, -50%);
  border: 0.4rem solid #fff;
  border-radius: 50%;
  background: #fffaf4;
  box-shadow: 0 0.6rem 1.5rem rgba(68, 44, 39, 0.2);
}

.prize-wheel__hub img {
  width: 74%;
  height: 74%;
  -o-object-fit: contain;
     object-fit: contain;
}

.prize-wheel__label {
  position: absolute;
  z-index: 2;
  width: 25%;
  color: #343438;
  font-size: clamp(0.52rem, 1.15vw, 0.7rem);
  font-weight: 900;
  line-height: 1.08;
  text-align: center;
  text-transform: uppercase;
  transform: translate(-50%, -50%);
}

.prize-wheel__label--1 {
  left: 64%;
  top: 17%;
  transform: translate(-50%, -50%) rotate(-67.5deg);
}

.prize-wheel__label--2 {
  left: 82%;
  top: 35%;
  transform: translate(-50%, -50%) rotate(-22.5deg);
}

.prize-wheel__label--3 {
  left: 82%;
  top: 65%;
  transform: translate(-50%, -50%) rotate(22.5deg);
}

.prize-wheel__label--4 {
  left: 64%;
  top: 82%;
  transform: translate(-50%, -50%) rotate(67.5deg);
}

.prize-wheel__label--5 {
  left: 36%;
  top: 82%;
  transform: translate(-50%, -50%) rotate(-67.5deg);
}

.prize-wheel__label--6 {
  left: 18%;
  top: 65%;
  transform: translate(-50%, -50%) rotate(-22.5deg);
}

.prize-wheel__label--7 {
  left: 18%;
  top: 35%;
  transform: translate(-50%, -50%) rotate(22.5deg);
}

.prize-wheel__label--8 {
  left: 36%;
  top: 17%;
  transform: translate(-50%, -50%) rotate(67.5deg);
}

.wheel-controls {
  position: relative;
  z-index: 2;
  text-align: center;
}

.wheel-controls > strong {
  display: block;
  margin: 0.65rem 0 0.5rem;
  font-family: "Nunito", sans-serif;
  font-size: 1.35rem;
}

.wheel-message {
  max-width: 27rem;
  margin: 0 auto 1.35rem;
  color: #6e6360;
}

.wheel-attempts {
  margin-top: 0.75rem;
  display: flex;
  justify-content: center;
  gap: 0.65rem;
}

.wheel-attempts span {
  width: 2.4rem;
  height: 0.6rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 127, 110, 0.18);
}

.wheel-attempts span i {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff7f6e, #ffc49d);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s cubic-bezier(0.2, 0, 0, 1);
}

.wheel-attempts span.is-available i {
  transform: scaleX(1);
}

.wheel-spin-button {
  min-width: 13rem;
  padding: 0.95rem 1.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff7f6e, rgb(255, 140.8, 119.4));
  box-shadow: 0 0.8rem 1.8rem rgba(223, 102, 88, 0.3), inset 0 1px rgba(255, 255, 255, 0.45);
  color: #ffffff;
  font-weight: 900;
  cursor: pointer;
  transition: transform 0.2s cubic-bezier(0.2, 0, 0, 1), box-shadow 0.2s cubic-bezier(0.2, 0, 0, 1), opacity 0.2s cubic-bezier(0.2, 0, 0, 1);
}

.wheel-spin-button:hover:not(:disabled) {
  transform: translateY(-0.15rem) scale(1.02);
  box-shadow: 0 1rem 2.2rem rgba(223, 102, 88, 0.38);
}

.wheel-spin-button:focus-visible {
  outline: 4px solid #ff7f6e;
  outline-offset: 3px;
}

.wheel-spin-button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.wheel-spin-button .material-symbols-outlined {
  font-variation-settings: "FILL" 1;
}

.is-spinning .wheel-spin-button .material-symbols-outlined {
  animation: wheel-button-pulse 0.75s ease-in-out infinite alternate;
}

.wheel-result {
  max-width: 27rem;
  margin: 1.25rem auto 0;
  padding: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  border-radius: 1.25rem;
  text-align: left;
}

.wheel-result.is-win {
  background: #e8f5f4;
  box-shadow: 0 0 0 1px rgba(99, 170, 165, 0.28), 0 0 2rem rgba(167, 217, 214, 0.4);
}

.wheel-result.is-miss {
  background: rgba(255, 255, 255, 0.62);
}

.wheel-result > .material-symbols-outlined {
  color: #ff7f6e;
  font-size: 2rem;
}

.wheel-result strong, .wheel-result p {
  display: block;
}

.wheel-result p {
  margin: 0.15rem 0;
  color: #6e6360;
}

.wheel-result code {
  color: #ff7f6e;
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: 0.06em;
}

.wheel-experience.is-winner {
  animation: wheel-winner-glow 0.8s ease-in-out 4 alternate;
}

.wheel-confetti {
  position: absolute;
  z-index: 8;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.wheel-confetti i {
  position: absolute;
  top: -1.5rem;
  left: var(--confetti-x);
  width: 0.55rem;
  height: 1rem;
  border-radius: 0.15rem;
  background: var(--confetti-color);
  animation: wheel-confetti-fall var(--confetti-duration) var(--confetti-delay) ease-in forwards;
}

.wheel-sparkles {
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
}

.wheel-sparkles i {
  position: absolute;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 1rem #ffc49d;
  animation: wheel-sparkle 1.8s ease-in-out infinite alternate;
}

.wheel-sparkles i:nth-child(1) {
  top: 10%;
  left: 8%;
}

.wheel-sparkles i:nth-child(2) {
  top: 16%;
  right: 12%;
  animation-delay: 0.4s;
}

.wheel-sparkles i:nth-child(3) {
  bottom: 14%;
  left: 46%;
  animation-delay: 0.8s;
}

.wheel-sparkles i:nth-child(4) {
  bottom: 22%;
  right: 5%;
  animation-delay: 1.1s;
}

.wheel-sparkles i:nth-child(5) {
  top: 45%;
  left: 3%;
  animation-delay: 1.4s;
}

.wheel-coupon-list {
  display: grid;
  gap: 0.75rem;
}

.wheel-coupon {
  padding: 1rem;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.9rem;
  border: 1px dashed #e9a3b7;
  border-radius: 1.25rem;
  background: linear-gradient(135deg, #fffaf4, #fff0e8);
}

.wheel-coupon > .material-symbols-outlined {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f9e7ec;
  color: #ff7f6e;
}

.wheel-coupon small, .wheel-coupon strong, .wheel-coupon em {
  display: block;
}

.wheel-coupon strong {
  margin: 0.1rem 0;
  color: #ff7f6e;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
}

.wheel-coupon em {
  color: #6e6360;
  font-size: 0.75rem;
  font-style: normal;
}

.wheel-coupon.is-new {
  animation: wheel-coupon-arrive 0.55s ease both;
}

.wheel-coupon.is-used, .wheel-coupon.is-unavailable {
  opacity: 0.72;
  filter: saturate(0.65);
}

.account-coupons-section + .account-coupons-section {
  margin-top: 1.25rem;
}

.account-coupons-cart {
  margin-top: 1rem;
}

.account-coupons-empty {
  margin: 0;
  color: #6e6360;
}

.wheel-header-action {
  position: relative; /*color:$color-primary-ink; background:$color-primary-soft;*/
}

.wheel-header-action__count {
  position: absolute;
  top: -0.3rem;
  right: -0.3rem;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.25rem;
  display: grid;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #ff7f6e;
  color: #ffffff;
  font-size: 0.65rem;
  font-weight: 900;
  line-height: 1;
}

@keyframes wheel-button-pulse {
  to {
    transform: rotate(18deg) scale(1.15);
  }
}
@keyframes wheel-winner-glow {
  to {
    box-shadow: 0 0 0 0.45rem rgba(255, 196, 157, 0.22), 0 0 4rem rgba(255, 127, 110, 0.5);
  }
}
@keyframes wheel-confetti-fall {
  to {
    transform: translate(var(--confetti-drift), 42rem) rotate(780deg);
    opacity: 0.2;
  }
}
@keyframes wheel-sparkle {
  to {
    transform: scale(1.8);
    opacity: 0.25;
  }
}
@keyframes wheel-coupon-arrive {
  from {
    transform: translateY(-0.75rem) scale(0.97);
    opacity: 0;
  }
}
@media (max-width: 52rem) {
  .wheel-experience {
    grid-template-columns: 1fr;
    border-radius: 1.75rem;
  }
  .wheel-stage {
    width: min(100%, 23rem);
  }
}
@media (max-width: 30rem) {
  .wheel-experience {
    margin-inline: -0.35rem;
    padding: 1.25rem 0.8rem 1.5rem;
  }
  .wheel-coupon {
    grid-template-columns: auto 1fr;
  }
  .wheel-coupon .btn {
    grid-column: 1/-1;
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .prize-wheel {
    transition-duration: 0.1s;
  }
  .wheel-sparkles, .wheel-confetti {
    display: none;
  }
  .wheel-experience.is-winner, .wheel-coupon.is-new, .is-spinning .wheel-spin-button .material-symbols-outlined {
    animation: none;
  }
}
.has-wheel-modal {
  overflow: hidden;
}

.coupon-wheel-modal {
  position: fixed;
  z-index: 1200;
  inset: 0;
  padding: clamp(0.75rem, 3vw, 2rem);
  display: grid;
  place-items: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.22s cubic-bezier(0.2, 0, 0, 1), visibility 0.22s cubic-bezier(0.2, 0, 0, 1);
}

.coupon-wheel-modal[hidden] {
  display: none;
}

.coupon-wheel-modal[aria-hidden=true] {
  visibility: hidden;
  pointer-events: none;
}

.coupon-wheel-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.coupon-wheel-modal__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(52, 52, 56, 0.48);
  backdrop-filter: blur(0.75rem);
  cursor: default;
}

.coupon-wheel-modal__dialog {
  z-index: 1;
  width: min(100%, 64rem);
  min-height: 34rem;
  max-height: calc(100vh - clamp(1.5rem, 6vw, 4rem));
  margin: 0;
  overflow: auto;
  grid-template-columns: minmax(18rem, 0.95fr) minmax(18rem, 1.05fr);
  transform: translateY(1rem) scale(0.97);
  transition: transform 0.28s cubic-bezier(0.2, 0, 0, 1);
}

.coupon-wheel-modal.is-open .coupon-wheel-modal__dialog {
  transform: translateY(0) scale(1);
}

.coupon-wheel-modal__close {
  position: absolute;
  z-index: 12;
  top: 1rem;
  right: 1rem;
  width: 2.65rem;
  height: 2.65rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 127, 110, 0.2);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.86);
  color: #343438;
  box-shadow: 0 0.5rem 1.25rem rgba(52, 52, 56, 0.12);
  cursor: pointer;
}

.coupon-wheel-modal__close:hover {
  color: #ff7f6e;
  transform: rotate(6deg);
}

.coupon-wheel-modal__coupons {
  display: inline-block;
  margin-top: 1rem;
  color: #6e6360;
  font-size: 0.8125rem;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 0.2rem;
}

@media (max-width: 52rem) {
  .coupon-wheel-modal__dialog {
    min-height: 0;
    display: block;
    padding-top: 3.5rem;
  }
  .coupon-wheel-modal__dialog .wheel-stage {
    width: min(100%, 19rem);
    margin-bottom: 1rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .coupon-wheel-modal, .coupon-wheel-modal__dialog {
    transition: none;
  }
}
@media (max-height: 48rem) {
  .auth-page {
    align-content: start;
    gap: 1.25rem;
  }
  .auth-page__brand {
    position: static;
    justify-self: center;
  }
}
.auth-section {
  min-height: 36rem;
  padding: clamp(2.5rem, 5vw, 4.5rem) 0;
  display: grid;
  align-items: center;
  background: radial-gradient(circle at 12% 88%, #e8f5f4 0 8rem, transparent 8.1rem), radial-gradient(circle at 90% 10%, #f9e7ec 0 10rem, transparent 10.1rem), #f7f3ee;
}

.auth-shell {
  display: grid;
  justify-items: center;
}

.auth-card {
  width: min(100%, 36rem);
}
.auth-card h1 {
  margin-top: 0.625rem;
  font-size: clamp(1.875rem, 5vw, 2.5rem);
}
.auth-card > p {
  margin-bottom: 1.5rem;
}
.auth-card form > .field + .field,
.auth-card form > .form-grid {
  margin-top: 1rem;
}

.auth-actions {
  margin-top: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
.auth-actions a {
  color: #ff7f6e;
  font-size: 0.8125rem;
  font-weight: 700;
}

.password-control {
  position: relative;
}
.password-control input {
  padding-right: 3.5rem;
}

.password-peek {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 0.5rem;
  background: transparent;
  color: #6e6360;
  cursor: pointer;
  transform: translateY(-50%);
  transition: background-color 160ms cubic-bezier(0.2, 0, 0, 1), color 160ms cubic-bezier(0.2, 0, 0, 1);
}
.password-peek:hover, .password-peek:focus-visible, .password-peek[aria-pressed=true] {
  background: #fff0e8;
  color: #ff7f6e;
}
.password-peek:focus-visible {
  outline: 2px solid #ff7f6e;
  outline-offset: 1px;
}

.remember-email {
  margin-top: 1rem;
  color: #6e6360;
}

.auth-submit {
  margin-top: 1.5rem;
}

.btn--google {
  width: 100%;
  border-color: rgba(255, 127, 110, 0.18);
  background: #ffffff;
  color: #343438;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
}
.btn--google svg {
  width: 1.25rem;
  height: 1.25rem;
}
.btn--google:hover {
  border-color: rgba(255, 127, 110, 0.45);
  background: #fffaf4;
}

.auth-card__footer {
  padding-top: 1.5rem;
}

.auth-divider {
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: #6e6360;
  font-size: 0.75rem;
  text-align: center;
}
.auth-divider::before, .auth-divider::after {
  height: 1px;
  flex: 1 1 auto;
  background: rgba(255, 127, 110, 0.18);
  content: "";
}
.auth-divider span {
  flex: 0 0 auto;
}

.auth-login-actions {
  margin-top: 1.5rem;
  display: grid;
  gap: 0.75rem;
}
.auth-login-actions .btn {
  width: 100%;
}
@media (min-width: 36.25rem) {
  .auth-login-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.auth-switch {
  margin-top: 1.25rem;
  font-size: 0.8125rem;
  text-align: center;
}
.auth-switch a {
  color: #ff7f6e;
  font-weight: 800;
}

.form-note {
  margin-top: 0.75rem;
  display: block;
  color: #6e6360;
}

.field-error {
  color: #e34f68;
  font-weight: 700;
}

.cep-lookup {
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  color: #6e6360;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.4;
}
.cep-lookup[hidden] {
  display: none;
}
.cep-lookup[data-state=loading] {
  color: #ff7f6e;
}
.cep-lookup[data-state=success] {
  color: #20b89f;
}
.cep-lookup[data-state=error] {
  color: #e34f68;
}
.cep-lookup .material-symbols-outlined {
  flex: 0 0 auto;
  font-size: 1rem;
}
.cep-lookup .is-spinning {
  animation: cep-spinner 800ms linear infinite;
}

@keyframes cep-spinner {
  to {
    transform: rotate(1turn);
  }
}
@media (prefers-reduced-motion: reduce) {
  .cep-lookup .is-spinning {
    animation: none;
  }
}
.account-page {
  padding: 2rem 0 4rem;
}
@media (min-width: 51.25rem) {
  .account-page {
    padding: 2.5rem 0 4.5rem;
  }
}

.account-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
}
@media (min-width: 51.25rem) {
  .account-shell {
    grid-template-columns: 14rem minmax(0, 1fr);
    align-items: start;
    gap: 2rem;
  }
}

.account-nav {
  min-width: 0;
  padding: 1.25rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #ffffff;
}
@media (min-width: 51.25rem) {
  .account-nav {
    position: sticky;
    top: 7.5rem;
  }
}
.account-nav > strong {
  display: block;
  margin-top: 0.375rem;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 1.5rem;
}
.account-nav nav {
  margin-top: 1rem;
  display: block;
}
.account-nav nav a {
  min-height: 2.75rem;
  padding: 0.625rem 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.625rem;
  color: #6e6360;
  font-size: 0.8125rem;
  font-weight: 700;
  margin-top: 0.25rem;
}
.account-nav nav a:hover,
.account-nav nav a.is-active {
  background: #fff0e8;
  color: #ff7f6e;
}
.account-nav__group {
  margin-top: 0.375rem;
}
.account-nav__group summary {
  min-height: 2.75rem;
  padding: 0.625rem 0.75rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.625rem;
  color: #6e6360;
  font-size: 0.8125rem;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}
.account-nav__group summary::-webkit-details-marker {
  display: none;
}
.account-nav__group summary:hover {
  background: #fffaf4;
}
.account-nav__group summary:focus-visible {
  outline: 3px solid #ff7f6e;
  outline-offset: 3px;
}
.account-nav__group[open] > summary {
  color: #343438;
}
.account-nav__group[open] > summary > .account-nav__chevron {
  transform: rotate(180deg);
}
.account-nav__chevron {
  font-size: 1.125rem;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.account-nav__submenu {
  margin-left: 1.375rem;
  padding-left: 0.75rem;
  border-left: 1px solid rgba(255, 127, 110, 0.18);
}
.account-nav__submenu a {
  min-width: 0;
}

.account-logout {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
}
.account-logout button {
  width: 100%;
  padding: 0.625rem 0.75rem;
  border: 0;
  border-radius: 0.625rem;
  background: transparent;
  color: #e34f68;
  font-size: 0.8125rem;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  gap: 0.5rem;
  display: inline-flex;
  align-items: center;
}
.account-logout button:hover {
  background: #f9e7ec;
}

.account-content {
  min-width: 0;
}
@media (min-width: 51.25rem) {
  .account-content {
    position: sticky;
    top: 7.5rem;
  }
}

.account-summary {
  margin-bottom: 1.25rem;
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 36.25rem) {
  .account-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.stat-card {
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  padding: 1.25rem;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.875rem;
}
.stat-card > span {
  flex: 0 0 2.75rem;
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: 0.625rem;
  background: #fff0e8;
  color: #ff7f6e;
  font-weight: 800;
  font-size: 1.5rem;
}
.stat-card small,
.stat-card strong {
  display: block;
}
.stat-card small {
  color: #6e6360;
  font-size: 0.75rem;
}
.stat-card strong {
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: clamp(1.375rem, 2.4vw, 1.875rem);
  font-variant-numeric: tabular-nums;
}

.account-section + .account-section {
  margin-top: 1.25rem;
}

.account-section form > .field + .field,
.account-section form > .form-grid {
  margin-top: 1rem;
}

.account-security-action {
  display: grid;
  align-items: center;
  gap: 1.25rem;
}
@media (min-width: 36.25rem) {
  .account-security-action {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}
.account-security-action h2 {
  margin-top: 0.4rem;
  font-size: clamp(1.4rem, 4vw, 1.9rem);
}
.account-security-action p {
  max-width: 38rem;
  margin-top: 0.5rem;
  font-size: 0.8125rem;
}
.account-security-action form,
.account-security-action .btn {
  width: 100%;
}
@media (min-width: 36.25rem) {
  .account-security-action form,
  .account-security-action .btn {
    width: auto;
  }
}

.account-links {
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 36.25rem) {
  .account-links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.account-links a {
  padding: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #fffaf4;
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.account-links a:hover {
  border-color: #ff7f6e;
  transform: translateY(-0.125rem);
}
.account-links strong,
.account-links span {
  display: block;
}
.account-links span {
  margin-top: 0.375rem;
  color: #6e6360;
  font-size: 0.75rem;
}

.account-recommendations {
  margin-block: 2rem;
}

.address-grid {
  margin-bottom: 1.25rem;
  display: grid;
  gap: 1rem;
}
@media (min-width: 36.25rem) {
  .address-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.address-card p {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
}

.address-actions {
  margin-top: 1.25rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.check-field {
  width: -moz-fit-content;
  width: fit-content;
}

.table-link,
.back-link {
  color: #ff7f6e;
  font-weight: 800;
}
.table-link:hover,
.back-link:hover {
  text-decoration: underline;
}

.order-heading .back-link {
  display: block;
  margin-bottom: 0.75rem;
  font-size: 0.75rem;
}

.order-detail-grid {
  display: grid;
  align-items: start;
  gap: 1.25rem;
}
@media (min-width: 65rem) {
  .order-detail-grid {
    grid-template-columns: minmax(0, 1fr) 18rem;
  }
}

.order-items {
  display: grid;
}
.order-items article {
  padding: 1rem 0;
  display: grid;
  gap: 0.5rem;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
}
@media (min-width: 36.25rem) {
  .order-items article {
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 1rem;
  }
}
.order-items article:first-child {
  padding-top: 0;
}
.order-items article:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.order-items strong,
.order-items small {
  display: block;
}
.order-items small,
.order-items article > span {
  margin-top: 0.25rem;
  color: #6e6360;
  font-size: 0.75rem;
}
.order-items b {
  color: #ff7f6e;
  white-space: nowrap;
}

.order-timeline {
  display: grid;
  list-style: none;
}
.order-timeline li {
  position: relative;
  padding: 0 0 1.5rem 1.75rem;
  display: grid;
  gap: 0.375rem;
}
@media (min-width: 36.25rem) {
  .order-timeline li {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}
.order-timeline li::before {
  content: "";
  position: absolute;
  top: 0.75rem;
  bottom: -0.25rem;
  left: 0.36rem;
  width: 1px;
  background: rgba(255, 127, 110, 0.18);
}
.order-timeline li:last-child {
  padding-bottom: 0;
}
.order-timeline li:last-child::before {
  display: none;
}
.order-timeline li > span {
  position: absolute;
  top: 0.3rem;
  left: 0;
  width: 0.75rem;
  height: 0.75rem;
  border: 0.1875rem solid #fff0e8;
  border-radius: 50%;
  background: #ff7f6e;
}
.order-timeline p,
.order-timeline time {
  color: #6e6360;
  font-size: 0.75rem;
}

.order-side {
  display: grid;
  gap: 1rem;
}
@media (min-width: 65rem) {
  .order-side {
    position: sticky;
    top: 7.5rem;
  }
}

.order-totals,
.order-meta {
  padding: 1.25rem;
}
.order-totals h2,
.order-meta h2 {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}
.order-totals dl > div,
.order-meta dl > div {
  padding: 0.5rem 0;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: 0.875rem;
}
.order-totals dd,
.order-meta dd {
  font-weight: 800;
  text-align: right;
}
.order-totals p,
.order-totals address,
.order-totals small,
.order-meta p,
.order-meta address,
.order-meta small {
  margin-top: 0.625rem;
  color: #6e6360;
  font-size: 0.75rem;
  font-style: normal;
  line-height: 1.6;
}
.order-totals .btn,
.order-meta .btn {
  margin-top: 1rem;
}

.order-totals .order-total {
  margin-top: 0.5rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
  color: #343438;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 1.125rem;
}

.download-list {
  display: grid;
  gap: 1rem;
}

.download-card {
  padding: 1rem;
  display: grid;
  align-items: center;
  gap: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #fffaf4;
}
@media (min-width: 65rem) {
  .download-card {
    grid-template-columns: minmax(11rem, 1fr) minmax(24rem, 1.5fr) auto;
  }
}
.download-card h2 {
  margin: 0.375rem 0 0.25rem;
  font-size: 1.25rem;
}
.download-card p {
  font-size: 0.75rem;
}
.download-card dl {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
}
@media (min-width: 36.25rem) {
  .download-card dl {
    grid-template-columns: minmax(6rem, 0.8fr) minmax(9.5rem, 1.2fr) minmax(7.5rem, 1fr);
  }
}
.download-card dl > div {
  min-width: 0;
  padding: 0.75rem;
  border-radius: 0.625rem;
  background: #ffffff;
}
.download-card dt {
  color: #6e6360;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}
.download-card dd {
  margin-top: 0.25rem;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: normal;
  word-break: normal;
}
.download-card__action .btn {
  width: 100%;
}
@media (min-width: 65rem) {
  .download-card__action .btn {
    width: auto;
    white-space: nowrap;
  }
}

.order-main {
  display: grid;
  gap: 1.25rem;
}
@media (min-width: 65rem) {
  .order-main {
    position: sticky;
    top: 7.5rem;
  }
}
.order-main > .account-section {
  margin-bottom: 0;
}

.account-section__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.account-section__header h1 {
  margin-top: 0.35rem;
}
.account-section__header p {
  margin-top: 0.5rem;
  color: #6e6360;
}
@media (max-width: 579px) {
  .account-section__header {
    align-items: stretch;
    flex-direction: column;
  }
  .account-section__header .btn {
    width: 100%;
  }
}

.account-cria {
  display: grid;
  gap: clamp(2.5rem, 5vw, 3.5rem);
  min-width: 0;
}
.account-cria h1, .account-cria h2, .account-cria h3, .account-cria p {
  margin: 0;
}
.account-cria h2 {
  font-size: clamp(1.375rem, 2.5vw, 1.75rem);
}
.account-cria__intro, .account-cria__section-heading {
  display: grid;
  gap: 0.75rem;
}
.account-cria__intro p, .account-cria__section-heading p {
  color: #6e6360;
  line-height: 1.7;
}
.account-cria__section {
  display: grid;
  gap: 1.5rem;
  min-width: 0;
}
.account-cria__balance {
  display: grid;
  gap: 0.75rem;
  padding: clamp(1.25rem, 3vw, 2rem);
}
.account-cria__balance h2 {
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6e6360;
}
.account-cria__balance > p[role=status] {
  color: #6e6360;
  font-size: 0.875rem;
  line-height: 1.6;
}
.account-cria__amount {
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 800;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.account-cria__amount span {
  font-size: 0.5em;
  font-weight: 700;
  color: #6e6360;
}
.account-cria__package {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 1.5rem;
}
.account-cria__package h3 {
  font-size: 1.5rem;
}
.account-cria__package form {
  margin-top: 1rem;
  width: 100%;
}
.account-cria__package .btn {
  width: 100%;
  white-space: normal;
}
.account-cria__price {
  color: #6e6360;
  font-size: 1rem;
}
.account-cria__empty {
  padding: 1.25rem;
  border-radius: 0.875rem;
  background: #ffffff;
  color: #6e6360;
  line-height: 1.6;
}
.account-cria__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.account-cria__list li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1.5rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
}
.account-cria__list li:first-child {
  padding-top: 0;
}
.account-cria__list li > div {
  min-width: 0;
  overflow-wrap: anywhere;
}
.account-cria__list p {
  margin-top: 0.375rem;
  font-size: 0.875rem;
  color: #6e6360;
}
.account-cria__list a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.account-project-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: 1rem;
}

.account-project-group + .account-project-group {
  margin-top: 2rem;
}

.account-project-group__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.75rem;
}
.account-project-group__header > div, .account-project-group__header > a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.account-project-group__header h2 {
  font-size: 1.125rem;
}
.account-project-group__header > div > span:last-child {
  min-width: 1.75rem;
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  background: #fffaf4;
  font-size: 0.75rem;
  font-weight: 800;
  text-align: center;
}
.account-project-group__header > a {
  color: #e96858;
  font-size: 0.75rem;
  font-weight: 800;
}
.account-project-group__header > a .material-symbols-outlined {
  font-size: 1rem;
}

.account-project-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.25rem;
}
.account-project-card h3 {
  margin-top: 0.65rem;
  font-size: 1.125rem;
}
.account-project-card h3 a {
  color: inherit;
}
.account-project-card p {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.5rem;
  color: #6e6360;
  font-size: 0.75rem;
  overflow-wrap: anywhere;
}
.account-project-card p .material-symbols-outlined {
  font-size: 1rem;
}
.account-project-card dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}
.account-project-card dl > div {
  padding: 0.75rem;
  border-radius: 0.625rem;
  background: #fffaf4;
}
.account-project-card dt {
  color: #6e6360;
  font-size: 0.75rem;
}
.account-project-card dd {
  margin-top: 0.25rem;
  font-weight: 800;
}
.account-project-card > small {
  color: #6e6360;
}
.account-project-card__open {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: auto;
  color: #e96858;
  font-weight: 800;
}
.account-project-card__open .material-symbols-outlined {
  font-size: 1.15rem;
}

.account-project-status {
  display: inline-flex;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  background: #fffaf4;
  color: #6e6360;
  font-size: 0.75rem;
  font-weight: 800;
}
.account-project-status--approved, .account-project-status--completed {
  background: rgba(32, 184, 159, 0.12);
  color: #20b89f;
}
.account-project-status--production {
  background: rgba(255, 127, 110, 0.14);
  color: #e96858;
}

.account-project-detail .tool-hero-back {
  margin-bottom: 1.25rem;
}
.account-project-detail__export {
  padding-bottom: 1.5rem;
}
.account-project-detail__summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  padding: 0;
  overflow: hidden;
  background: rgba(255, 127, 110, 0.18);
}
.account-project-detail__summary > div {
  padding: 1.25rem;
  background: #ffffff;
}
.account-project-detail__summary span {
  display: block;
  color: #6e6360;
  font-size: 0.75rem;
}
.account-project-detail__summary strong {
  display: block;
  margin-top: 0.35rem;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 1.125rem;
}
.account-project-detail__columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 1rem;
}
.account-project-detail__columns > .card, .account-project-detail .account-project-inputs {
  padding: 1.25rem;
}
.account-project-detail__columns h2 {
  margin-bottom: 1rem;
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  .account-project-detail__summary {
    grid-template-columns: 1fr 1fr;
  }
  .account-project-detail__columns {
    grid-template-columns: 1fr;
  }
}

.account-project-history {
  display: grid;
  gap: 0.75rem;
}

.account-project-history li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #6e6360;
  font-size: 0.75rem;
}

.account-project-history strong {
  color: #343438;
}

.account-project-inputs {
  margin-top: 1rem;
}

.account-project-inputs summary {
  cursor: pointer;
  font-weight: 800;
}

.account-project-inputs dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
}

.account-project-inputs dl > div {
  padding: 0.75rem;
  border-radius: 0.625rem;
  background: #fffaf4;
}

.account-project-inputs dt {
  color: #6e6360;
  font-size: 0.75rem;
}

.account-project-inputs dd {
  margin-top: 0.25rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.account-project-delete {
  margin-top: 1.5rem;
}

.layout-admin {
  height: auto;
  min-height: 100%;
  overflow-y: visible;
  background: #f7f3ee;
}

.admin-shell {
  width: 100%;
  height: auto;
  max-height: none;
  min-height: 100vh;
  overflow: visible;
  transition: padding-left 240ms cubic-bezier(0.2, 0, 0, 1);
}
@media (min-width: 51.25rem) {
  .admin-shell {
    display: block;
    padding-left: 15rem;
  }
}

.admin-sidebar {
  position: fixed;
  z-index: 100;
  inset: 0 auto 0 0;
  width: min(17rem, 84vw);
  padding: 1.5rem;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-color: rgba(255, 196, 157, 0.55) transparent;
  scrollbar-width: thin;
  display: flex;
  flex-direction: column;
  background: #343438;
  color: #ffffff;
  box-shadow: none;
  transform: translateX(-105%);
  transition: transform 240ms cubic-bezier(0.2, 0, 0, 1);
}
.admin-sidebar.is-open {
  transform: translateX(0);
  box-shadow: 0 16px 48px rgba(52, 52, 56, 0.12);
}
@media (min-width: 51.25rem) {
  .admin-sidebar {
    position: fixed;
    top: 0;
    width: 15rem;
    height: 100vh;
    overflow-y: auto;
    overscroll-behavior: contain;
    box-shadow: none;
    transform: none;
  }
}
.admin-sidebar::-webkit-scrollbar {
  width: 0.375rem;
}
.admin-sidebar::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(255, 196, 157, 0.55);
}

.brand--admin {
  color: #ffffff;
}
.brand--admin small {
  color: #ffc49d;
}

.admin-nav {
  margin-top: 2rem;
}
.admin-nav__group {
  margin-top: 0.375rem;
}
.admin-nav__group summary {
  min-height: 2.75rem;
  padding: 0.75rem;
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr) 1.25rem;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.625rem;
  color: #d8cfcb;
  cursor: pointer;
  font-size: 0.8125rem;
  font-weight: 800;
  list-style: none;
  transition: background-color 160ms cubic-bezier(0.2, 0, 0, 1), color 160ms cubic-bezier(0.2, 0, 0, 1);
}
.admin-nav__group summary::-webkit-details-marker {
  display: none;
}
.admin-nav__group summary:hover, .admin-nav__group summary:focus-visible {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}
.admin-nav__group summary > .material-symbols-outlined:first-child {
  color: #ffc49d;
  text-align: center;
}
.admin-nav__group[open] summary {
  color: #ffffff;
}
.admin-nav__group[open] .admin-nav__chevron {
  transform: rotate(180deg);
}
.admin-nav__chevron {
  width: auto;
  color: #d8cfcb;
  font-size: 1.125rem;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.admin-nav__submenu {
  margin: 0.25rem 0 0.625rem 1.125rem;
  padding-left: 0.625rem;
  border-left: 1px solid rgba(255, 196, 157, 0.28);
}
.admin-nav__submenu a {
  padding-block: 0.625rem;
}
.admin-nav a {
  min-height: 2.75rem;
  margin-top: 0.375rem;
  padding: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.625rem;
  color: #d8cfcb;
  font-size: 0.8125rem;
  font-weight: 700;
}
.admin-nav a span {
  width: 1.5rem;
  color: #ffc49d;
  text-align: center;
}
.admin-nav a:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}
.admin-nav a.is-active {
  background: #ff7f6e;
  color: #ffffff;
}
.admin-nav a.is-active span {
  color: inherit;
}

.admin-bulk-actions {
  margin: 1rem 0;
  padding: 0.875rem;
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 0.75rem;
  border: 1px solid rgba(255, 127, 110, 0.2);
  border-radius: 0.875rem;
  background: #fff0e8;
}
.admin-bulk-actions .field {
  min-width: min(100%, 12rem);
}
.admin-bulk-actions small {
  margin-left: auto;
  color: #6e6360;
}

.admin-commerce-alerts {
  margin-bottom: 1.5rem;
}

.admin-alert-grid {
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 36.25rem) {
  .admin-alert-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 65rem) {
  .admin-alert-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.admin-alert-grid a {
  padding: 1rem;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.25rem 0.75rem;
  border: 1px solid rgba(255, 127, 110, 0.22);
  border-radius: 0.875rem;
  background: #fff0e8;
}
.admin-alert-grid a > .material-symbols-outlined {
  grid-row: 1/3;
  color: #ff7f6e;
}
.admin-alert-grid a strong {
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 1.35rem;
}
.admin-alert-grid a small {
  color: #6e6360;
}

.admin-back {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #d8cfcb;
  font-size: 0.75rem;
}
.admin-back .material-symbols-outlined {
  font-size: 1.125rem;
}

.admin-main {
  width: 100%;
  height: auto;
  max-height: none;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}

.admin-topbar {
  position: fixed;
  z-index: 50;
  top: 0;
  right: 0;
  left: 0;
  min-height: 4.75rem;
  padding: 0 1rem;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.75rem;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
  background: #ffffff;
  overflow: visible;
  transition: left 240ms cubic-bezier(0.2, 0, 0, 1);
}
@media (min-width: 51.25rem) {
  .admin-topbar {
    left: 15rem;
    padding-inline: 2rem;
  }
}
.admin-topbar > div:nth-child(2) {
  min-width: 0;
  grid-column: 2;
}
.admin-topbar > div:nth-child(2) strong {
  display: block;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-topbar > .dropdown {
  grid-column: 3;
  justify-self: end;
}
.admin-topbar .dropdown__menu {
  right: 0;
  left: auto;
}
.admin-topbar .dropdown__menu a,
.admin-topbar .dropdown__menu button {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  cursor: pointer;
}
.admin-topbar .dropdown__menu .material-symbols-outlined {
  flex: 0 0 auto;
  color: #ff7f6e;
  font-size: 1.125rem;
}

.layout-admin.has-global-announcement .admin-sidebar,
.layout-admin.has-global-announcement .admin-topbar {
  top: 2.75rem;
}
.layout-admin.has-global-announcement .admin-sidebar {
  height: calc(100vh - 2.75rem);
}

.admin-menu-toggle {
  display: block;
  flex: 0 0 auto;
}
.admin-menu-toggle:hover, .admin-menu-toggle:focus-visible {
  background: #fff0e8;
}

@media (min-width: 51.25rem) {
  .layout-admin.is-admin-sidebar-collapsed .admin-shell {
    padding-left: 0;
  }
  .layout-admin.is-admin-sidebar-collapsed .admin-sidebar {
    transform: translateX(-105%);
  }
  .layout-admin.is-admin-sidebar-collapsed .admin-topbar {
    left: 0;
  }
}
.admin-user {
  min-height: 2.75rem;
  padding: 0.25rem 0.625rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 999px;
  background: #ffffff;
  cursor: pointer;
}
.admin-user > span:nth-child(2) {
  display: none;
}
@media (min-width: 36.25rem) {
  .admin-user > span:nth-child(2) {
    display: inline;
  }
}
.admin-user__avatar {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff0e8;
  color: #ff7f6e;
  font-weight: 800;
}
.admin-user__chevron {
  width: auto;
  font-size: 1.125rem;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.admin-user[aria-expanded=true] .admin-user__chevron {
  transform: rotate(180deg);
}

.admin-content {
  width: 100%;
  height: auto;
  max-height: none;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
  padding: 6.25rem 1rem 4rem;
}
@media (min-width: 51.25rem) {
  .admin-content {
    padding: 6.75rem 2rem 4rem;
  }
}
.admin-content > .page-heading h1 {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
}

@media (min-width: 51.25rem) and (max-height: 52rem) {
  .admin-sidebar {
    padding-block: 1rem;
  }
  .admin-nav {
    margin-top: 1rem;
  }
  .admin-nav a {
    margin-top: 0.125rem;
    padding-block: 0.5rem;
  }
}
.admin-log-heading__date {
  min-width: min(100%, 12rem);
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.admin-log-heading__date label {
  width: 100%;
  display: block;
  margin-bottom: 0.35rem;
  color: #6e6360;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
}
.admin-log-heading__date select {
  flex: 1 1 10rem;
  min-height: 2.875rem;
  border-color: rgba(255, 127, 110, 0.24);
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.88);
  font-weight: 800;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
}

.admin-log-channels {
  margin-bottom: 1.25rem;
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 36.25rem) {
  .admin-log-channels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 65rem) {
  .admin-log-channels {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.admin-log-channel {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-content: start;
  gap: 0.75rem;
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1);
  position: relative;
  min-width: 0;
  min-height: 8.5rem;
  padding: 1rem;
  overflow: hidden;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
}
.admin-log-channel::after {
  content: "";
  position: absolute;
  right: -2rem;
  bottom: -2.5rem;
  width: 6rem;
  height: 6rem;
  border: 1.25rem solid rgba(167, 217, 214, 0.24);
  border-radius: 42% 58% 54% 46%;
  transform: rotate(24deg);
  pointer-events: none;
}
.admin-log-channel:hover, .admin-log-channel:focus-visible, .admin-log-channel.is-active {
  border-color: rgba(255, 127, 110, 0.46);
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
  transform: translateY(-0.15rem);
}
.admin-log-channel.is-active {
  background: linear-gradient(145deg, #ffffff, #fff0e8);
}
.admin-log-channel.is-empty:not(.is-active) {
  opacity: 0.68;
}
.admin-log-channel__icon {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: 0.9rem;
  background: #fff0e8;
  color: #ff7f6e;
}
.admin-log-channel strong,
.admin-log-channel small,
.admin-log-channel em {
  display: block;
}
.admin-log-channel strong {
  font-family: "Nunito", "Nunito Rounded", sans-serif;
}
.admin-log-channel small {
  margin-top: 0.2rem;
  color: #6e6360;
  font-size: 0.6875rem;
  line-height: 1.4;
}
.admin-log-channel em {
  grid-column: 1/-1;
  color: #ff7f6e;
  font-size: 0.6875rem;
  font-style: normal;
  font-weight: 900;
}

.admin-log-panel {
  padding: clamp(1rem, 2vw, 1.5rem);
}
.admin-log-panel__header {
  margin-bottom: 1rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.admin-log-panel__header h2 {
  margin-top: 0.2rem;
  font-size: clamp(1.55rem, 3vw, 2rem);
}
.admin-log-panel__header p,
.admin-log-panel__header > small {
  color: #6e6360;
  font-size: 0.75rem;
}

.admin-log-filters {
  margin-bottom: 1.5rem;
  padding: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #fffaf4;
}
@media (min-width: 65rem) {
  .admin-log-filters {
    grid-template-columns: minmax(13rem, 1.5fr) repeat(3, minmax(9rem, 1fr)) auto auto;
  }
}

.admin-log-list {
  position: relative;
  display: grid;
  gap: 0.75rem;
}
.admin-log-list::before {
  content: "";
  position: absolute;
  top: 1rem;
  bottom: 1rem;
  left: 0.55rem;
  width: 1px;
  background: linear-gradient(#ff7f6e, #a7d9d6, transparent);
}

.admin-log-entry {
  position: relative;
  min-width: 0;
  padding-left: 1.75rem;
  display: grid;
}
.admin-log-entry__marker {
  position: absolute;
  z-index: 1;
  top: 1.1rem;
  left: 0.25rem;
  width: 0.65rem;
  height: 0.65rem;
  padding: 0.12rem;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 0 0 1px rgba(255, 127, 110, 0.18);
}
.admin-log-entry__marker span {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: inherit;
  background: #a7d9d6;
}
.admin-log-entry--warning .admin-log-entry__marker span, .admin-log-entry--notice .admin-log-entry__marker span {
  background: #ffc49d;
}
.admin-log-entry--error .admin-log-entry__marker span, .admin-log-entry--critical .admin-log-entry__marker span {
  background: #e34f68;
}
.admin-log-entry__body {
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: rgba(255, 255, 255, 0.92);
}
.admin-log-entry__body > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}
.admin-log-entry__body > header > div {
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.admin-log-entry__body > header strong {
  overflow-wrap: anywhere;
  font-size: 0.875rem;
}
.admin-log-entry__body > header time {
  color: #6e6360;
  font-size: 0.6875rem;
  font-weight: 700;
}
.admin-log-entry__meta {
  margin-top: 0.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1rem;
  color: #6e6360;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 0.75rem;
}
.admin-log-entry__meta span,
.admin-log-entry__meta a {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  overflow-wrap: anywhere;
}
.admin-log-entry__meta a {
  color: #ff7f6e;
  font-weight: 800;
}
.admin-log-entry__meta .material-symbols-outlined {
  flex: 0 0 auto;
  font-family: "Material Symbols Outlined";
  font-size: 0.875rem;
}

.admin-log-level {
  padding: 0.22rem 0.5rem;
  border-radius: 999px;
  background: #e8f5f4;
  color: #20b89f;
  font-size: 0.6rem;
  font-weight: 900;
  letter-spacing: 0.025rem;
  text-transform: uppercase;
}
.admin-log-level--warning, .admin-log-level--notice {
  background: #fff0e8;
  color: #8a6421;
}
.admin-log-level--error, .admin-log-level--critical {
  background: rgba(227, 79, 104, 0.12);
  color: #e34f68;
}
.admin-log-level--native {
  background: #fff0e8;
  color: #ff7f6e;
}

.admin-log-context {
  margin-top: 0.75rem;
}
.admin-log-context summary {
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  color: #ff7f6e;
  cursor: pointer;
  font-size: 0.6875rem;
  font-weight: 900;
}
.admin-log-context summary .material-symbols-outlined {
  font-size: 1rem;
}
.admin-log-context pre {
  max-height: 28rem;
  margin: 0.75rem 0 0;
  padding: 1rem;
  overflow: auto;
  border: 1px solid rgba(167, 217, 214, 0.28);
  border-radius: 0.625rem;
  background: #302f32;
  color: #f7eee9;
  font: 0.6875rem/1.65 ui-monospace, SFMono-Regular, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.admin-log-empty {
  min-height: 14rem;
  padding: 2rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 0.35rem;
  border: 1px dashed rgba(255, 127, 110, 0.35);
  border-radius: 1rem;
  background: #fffaf4;
  text-align: center;
}
.admin-log-empty .material-symbols-outlined {
  color: #ff7f6e;
  font-size: 2rem;
}
.admin-log-empty p {
  font-size: 0.75rem;
}

.shipping-settings-box {
  padding: 1rem;
  border: 1px solid rgba(167, 217, 214, 0.5);
  border-radius: 0.875rem;
  background: #e8f5f4;
}
.shipping-settings-box p {
  margin-top: 0.45rem;
  color: #6e6360;
  font-size: 0.75rem;
}

.admin-stats {
  margin-bottom: 1.25rem;
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 36.25rem) {
  .admin-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 65rem) {
  .admin-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.stat-card--admin {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto 1fr;
  align-content: start;
  align-items: start;
  gap: 0.2rem 0.75rem;
  position: relative;
  min-width: 0;
  min-height: 8.5rem;
  padding: 1rem;
  overflow: hidden;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
}
.stat-card--admin::after {
  content: "";
  position: absolute;
  right: -2rem;
  bottom: -2.5rem;
  width: 6rem;
  height: 6rem;
  border: 1.25rem solid rgba(167, 217, 214, 0.24);
  border-radius: 42% 58% 54% 46%;
  transform: rotate(24deg);
  pointer-events: none;
}
.stat-card--admin {
  overflow: visible;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Crect x='10' y='10' width='76' height='76' rx='34' ry='30' fill='none' stroke='%23a7d9d6' stroke-opacity='.24' stroke-width='20' transform='rotate(24 48 48)'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: calc(100% + 2rem) calc(100% + 2.5rem);
  background-size: 6rem 6rem;
}
.stat-card--admin::after {
  display: none;
}
.stat-card--admin > span {
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 1/span 2;
  border-radius: 0.9rem;
}
.stat-card--admin > div {
  display: contents;
}
.stat-card--admin small,
.stat-card--admin strong,
.stat-card--admin em {
  position: relative;
  z-index: 1;
  min-width: 0;
}
.stat-card--admin small {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  color: #343438;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.3;
}
.stat-card--admin em {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  color: #6e6360;
  font-size: 0.6875rem;
  font-style: normal;
  line-height: 1.4;
}
.stat-card--admin strong {
  grid-column: 1/-1;
  grid-row: 3;
  align-self: end;
  margin-top: 0.55rem;
  color: #ff7f6e;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: clamp(0.875rem, 1.2vw, 1.125rem);
  font-weight: 900;
  overflow-wrap: anywhere;
}
.stat-card--admin .context-help {
  position: relative;
  z-index: 2;
}
.stat-card--admin .context-help::after {
  right: auto;
  left: 0;
  transform: translate(0, 0.25rem);
}
.stat-card--admin .context-help:hover::after, .stat-card--admin .context-help:focus::after, .stat-card--admin .context-help:focus-visible::after {
  transform: translate(0, 0);
}

.admin-panel {
  min-width: 0;
  padding: 1rem;
}
@media (min-width: 36.25rem) {
  .admin-panel {
    padding: 1.5rem;
  }
}

.admin-panel__header {
  align-items: flex-start;
}
@media (min-width: 65rem) {
  .admin-panel__header {
    align-items: center;
  }
}

.admin-overlay {
  position: fixed;
  z-index: 90;
  inset: 0;
  background: rgba(32, 24, 39, 0.45);
  backdrop-filter: blur(0.1875rem);
}
.admin-overlay[hidden] {
  display: none;
}

.admin-upload-panel {
  margin-bottom: 1.25rem;
}
.admin-upload-panel form {
  display: grid;
  gap: 1rem;
}
.admin-upload-panel form > .btn {
  width: 100%;
}
@media (min-width: 36.25rem) {
  .admin-upload-panel form > .btn {
    width: -moz-max-content;
    width: max-content;
  }
}

.admin-filters {
  margin-bottom: 1.25rem;
  display: grid;
  align-items: end;
  gap: 0.75rem;
}
@media (min-width: 36.25rem) {
  .admin-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 65rem) {
  .admin-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.admin-product-cell {
  min-width: 13rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.admin-product-cell img {
  width: 3rem;
  height: 3rem;
  border-radius: 0.625rem;
  -o-object-fit: cover;
     object-fit: cover;
  background: #fffaf4;
}
.admin-product-cell strong,
.admin-product-cell small {
  display: block;
}
.admin-product-cell small {
  margin-top: 0.2rem;
  color: #6e6360;
}

.admin-row-actions,
.admin-form-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.admin-products-table {
  min-width: 68rem;
}

.admin-product-form {
  display: grid;
  gap: 1.25rem;
}

.admin-tabs {
  min-width: 0;
  display: grid;
  gap: 1.25rem;
}

.admin-tabs__scroller {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  padding: 0.25rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  scrollbar-width: thin;
}

.admin-order-heading {
  min-width: 0;
}
.admin-order-heading > div {
  min-width: 0;
  max-width: 100%;
}
.admin-order-heading h1 {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.admin-tabs__list {
  width: -moz-max-content;
  width: max-content;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.admin-tabs__tab {
  min-height: 2.875rem;
  padding: 0.625rem 0.875rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  flex: 0 0 auto;
  border: 0;
  border-radius: 0.625rem;
  background: transparent;
  color: #6e6360;
  font-size: 0.875rem;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
  transition: background 160ms cubic-bezier(0.2, 0, 0, 1), color 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1);
}
.admin-tabs__tab .material-symbols-outlined {
  font-size: 1.125rem;
}
.admin-tabs__tab:hover {
  background: #fffaf4;
  color: #ff7f6e;
}
.admin-tabs__tab[aria-selected=true] {
  background: #fff0e8;
  color: #ff7f6e;
  box-shadow: inset 0 0 0 1px rgba(255, 127, 110, 0.15);
}

.admin-tab-stack {
  min-width: 0;
  display: grid;
  gap: 1.25rem;
}
.admin-tab-stack > [role=tabpanel] {
  min-width: 0;
  max-width: 100%;
}

.context-help {
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0 0 0 0.25rem;
  padding: 0;
  display: inline-grid;
  place-items: center;
  vertical-align: middle;
  border: 1px solid rgba(52, 152, 219, 0.45);
  border-radius: 50%;
  background: #e8f5f4;
  color: #3498db;
  cursor: help;
}
.context-help > .material-symbols-outlined {
  font-size: 0.875rem;
  font-weight: 700;
}
.context-help::after {
  content: attr(data-help);
  position: absolute;
  z-index: 50;
  left: 50%;
  bottom: calc(100% + 0.625rem);
  width: -moz-max-content;
  width: max-content;
  max-width: min(18rem, 100vw - 2rem);
  padding: 0.625rem 0.75rem;
  border-radius: 0.5rem;
  background: #343438;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  color: #ffffff;
  font-family: "Poppins", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.45;
  text-align: left;
  white-space: normal;
  transform: translate(-50%, 0.25rem);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1), visibility 160ms cubic-bezier(0.2, 0, 0, 1);
}
.context-help:hover::after, .context-help:focus::after, .context-help:focus-visible::after {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
.context-help:focus-visible {
  outline: 3px solid rgba(52, 152, 219, 0.24);
  outline-offset: 2px;
}

[role=tabpanel][hidden] {
  display: none;
}

.admin-form-section h2 {
  margin-top: 0.375rem;
}

.admin-cria-package {
  min-width: 0;
  margin: 0 0 1rem;
  padding: clamp(1rem, 2vw, 1.5rem);
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #fffaf4;
}
.admin-cria-package legend {
  float: left;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 1rem;
  padding: 0;
  color: #343438;
  font-size: 0.9375rem;
  font-weight: 800;
}
.admin-cria-package legend .material-symbols-outlined {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.625rem;
  background: #e8f5f4;
  color: #343438;
  font-size: 1.125rem;
}
.admin-cria-package .form-grid {
  clear: both;
  gap: 1rem;
}
.admin-cria-package .field {
  margin: 0;
  min-width: 0;
}
.admin-cria-package input {
  background: #ffffff;
}
.admin-cria-package > .btn {
  margin-top: 1rem;
}
@media (max-width: 40rem) {
  .admin-cria-package .form-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.admin-check {
  width: -moz-fit-content;
  width: fit-content;
}

.notification-channel-options {
  padding: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.625rem;
}
.notification-channel-options legend {
  padding-inline: 0.35rem;
  font-weight: 800;
}
.notification-channel-options > small {
  width: 100%;
  color: #6e6360;
}

.inventory-table {
  min-width: 72rem;
}

.inventory-adjust-form {
  min-width: 39rem;
  display: grid;
  grid-template-columns: 8.5rem 5rem 6rem minmax(10rem, 1fr) auto;
  gap: 0.5rem;
}

.inventory-alert-list {
  display: grid;
  gap: 0.75rem;
}
.inventory-alert-list a {
  padding: 0.875rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid rgba(227, 79, 104, 0.24);
  border-radius: 0.625rem;
  background: #f9e7ec;
}
.inventory-alert-list small {
  display: block;
  color: #6e6360;
}

.inventory-history-table {
  min-width: 70rem;
}

.inventory-change--positive {
  color: #20b89f;
}

.inventory-change--negative {
  color: #e34f68;
}

.admin-current-file {
  margin-bottom: 1rem;
  padding: 0.875rem 1rem;
  border-radius: 0.625rem;
  background: #e8f5f4;
  font-size: 0.8125rem;
}

.admin-product-type-notice .btn {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 0.75rem;
}

.admin-image-preview {
  width: min(12rem, 100%);
  aspect-ratio: 1;
  margin-bottom: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  -o-object-fit: cover;
     object-fit: cover;
  background: #fffaf4;
}

.admin-upload-previews,
.admin-gallery-grid {
  margin-top: 1rem;
  display: grid;
  gap: 1rem;
}
@media (min-width: 36.25rem) {
  .admin-upload-previews,
  .admin-gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 65rem) {
  .admin-upload-previews,
  .admin-gallery-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

.admin-upload-preview,
.admin-gallery-item {
  min-width: 0;
  padding: 0.875rem;
  display: grid;
  align-content: start;
  gap: 0.875rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #fffaf4;
}
.admin-upload-preview img,
.admin-gallery-item img {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 0.625rem;
  background: #fff0e8;
  -o-object-fit: cover;
     object-fit: cover;
}

.admin-upload-preview__media {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 0.625rem;
  background: #fff0e8;
}
.admin-upload-preview__media img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border-radius: inherit;
}

.admin-upload-preview__loading {
  padding: 1rem;
  color: #6e6360;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
}
.admin-upload-preview__loading.is-error {
  color: #954c5a;
}

.admin-gallery-section {
  margin-top: 1.25rem;
}
.admin-gallery-section .admin-form-actions {
  margin-top: 1rem;
}

.admin-gallery-item__primary,
.admin-upload-preview__primary {
  width: 100%;
  min-height: 2.5rem;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.admin-gallery-item__primary .switch-control,
.admin-upload-preview__primary .switch-control {
  display: block;
  width: 2.5rem;
  min-width: 2.5rem;
  height: 1.375rem;
}

.admin-variations-section {
  margin-top: 1.25rem;
  scroll-margin-top: 1rem;
}
.admin-variations-section .card__header p {
  max-width: 42rem;
  margin-top: 0.375rem;
  color: #6e6360;
  font-size: 0.875rem;
}

.admin-variation-create {
  overflow: hidden;
  border: 1px dashed rgba(255, 127, 110, 0.5);
  border-radius: 0.875rem;
  background: linear-gradient(135deg, rgba(255, 240, 232, 0.78), #ffffff);
}
.admin-variation-create summary {
  padding: 1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
  list-style: none;
}
.admin-variation-create summary::-webkit-details-marker {
  display: none;
}
.admin-variation-create summary > span:nth-child(2) {
  min-width: 0;
  flex: 1 1 auto;
}
.admin-variation-create summary strong,
.admin-variation-create summary small {
  display: block;
}
.admin-variation-create summary small {
  margin-top: 0.2rem;
  color: #6e6360;
  font-size: 0.75rem;
}
.admin-variation-create summary:focus-visible {
  outline: 3px solid #ff7f6e;
  outline-offset: 3px;
}
.admin-variation-create[open] {
  border-style: solid;
}
.admin-variation-create[open] .admin-variation-create__action {
  background: #ffffff;
}
.admin-variation-create__icon {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 0.625rem;
  background: #ff7f6e;
  color: #ffffff;
}
.admin-variation-create__action {
  padding: 0.5rem 0.75rem;
  display: none;
  border: 1px solid rgba(255, 127, 110, 0.24);
  border-radius: 999px;
  color: #ff7f6e;
  font-size: 0.75rem;
  font-weight: 800;
}
@media (min-width: 36.25rem) {
  .admin-variation-create__action {
    display: inline-flex;
  }
}
.admin-variation-create__panel {
  padding: 1rem;
  border-top: 1px solid rgba(255, 127, 110, 0.2);
  background: #ffffff;
}

.admin-variation-existing {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
}
.admin-variation-existing__heading {
  margin-bottom: 1rem;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
}
.admin-variation-existing__heading h3 {
  margin-top: 0.25rem;
}
.admin-variation-existing__heading > small {
  display: none;
  color: #6e6360;
  font-size: 0.75rem;
}
@media (min-width: 36.25rem) {
  .admin-variation-existing__heading > small {
    display: block;
  }
}

.admin-variation-list {
  display: grid;
  gap: 1rem;
}
@media (min-width: 36.25rem) {
  .admin-variation-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 65rem) {
  .admin-variation-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.admin-variation-item {
  min-width: 0;
  padding: 1rem;
  display: grid;
  align-content: start;
  gap: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #ffffff;
}
.admin-variation-item__heading {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.admin-variation-item__heading > .material-symbols-outlined {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 0.625rem;
  background: #fff0e8;
  color: #ff7f6e;
}
.admin-variation-item__heading h3 {
  margin-top: 0.25rem;
  font-size: 1.125rem;
}

.admin-variation-form {
  display: grid;
  gap: 1rem;
}
.admin-variation-form .admin-form-actions {
  margin-top: 0;
}

.admin-variation-status {
  display: flex;
  align-items: end;
  padding-bottom: 0.75rem;
}
.admin-variation-status .switch-field {
  margin-bottom: 0;
}

.admin-variation-history {
  padding: 0.75rem;
  display: block;
  border-radius: 0.625rem;
  background: #fff0e8;
  color: #715218;
  font-size: 0.75rem;
  line-height: 1.5;
}

.admin-variation-on-demand {
  min-height: 3rem;
  padding: 0.625rem 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  border-radius: 0.625rem;
  background: #e8f5f4;
  color: #315f50;
}
.admin-variation-on-demand > .material-symbols-outlined {
  font-size: 1.375rem;
}
.admin-variation-on-demand strong,
.admin-variation-on-demand small {
  display: block;
}
.admin-variation-on-demand small {
  margin-top: 0.125rem;
  font-size: 0.75rem;
}

.admin-variation-remove {
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
}

.admin-category-list {
  margin-top: 1.25rem;
  display: grid;
  gap: 1rem;
}
@media (min-width: 65rem) {
  .admin-category-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.admin-category-card > form + form {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
}

.text-danger {
  display: block;
  margin-top: 0.25rem;
  color: #954c5a;
}

[data-product-section][hidden] {
  display: none;
}

.admin-orders-table {
  min-width: 76rem;
}
.admin-orders-table td small {
  display: block;
  margin-top: 0.2rem;
  color: #6e6360;
}

@media (min-width: 65rem) {
  .admin-filters--compact {
    grid-template-columns: minmax(16rem, 2fr) minmax(10rem, 1fr) minmax(10rem, 1fr) auto auto;
  }
}

.admin-detail-grid {
  display: grid;
  align-items: start;
  gap: 1.25rem;
}
@media (min-width: 65rem) {
  .admin-detail-grid {
    grid-template-columns: minmax(0, 2fr) minmax(17rem, 0.8fr);
  }
}

.admin-detail-main,
.admin-detail-aside {
  display: grid;
  gap: 1.25rem;
}

.admin-order-tab-grid {
  min-width: 0;
  display: grid;
  align-items: start;
  gap: 1.25rem;
}
.admin-order-tab-grid--equal-height {
  align-items: stretch;
}
@media (min-width: 65rem) {
  .admin-order-tab-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 65rem) {
  .admin-order-tab-grid--single {
    grid-template-columns: minmax(0, 1fr);
  }
}
.admin-order-tab-grid address {
  margin-top: 0.75rem;
  color: #6e6360;
  font-style: normal;
  line-height: 1.65;
}

@media (max-width: 36.249rem) {
  .admin-topbar > div:nth-child(2) strong,
  .admin-topbar > div:nth-child(2) small,
  .admin-topbar > div:nth-child(2) .eyebrow {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .admin-order-heading h1 {
    font-size: clamp(1.75rem, 8vw, 2.35rem);
  }
  .admin-tabs__scroller {
    width: 100%;
  }
  .admin-order-items-table {
    min-width: 0;
    background: transparent;
  }
  .admin-order-items-table thead {
    display: none;
  }
  .admin-order-items-table tbody,
  .admin-order-items-table tr,
  .admin-order-items-table td {
    width: 100%;
    display: block;
  }
  .admin-order-items-table tr {
    overflow: hidden;
    border: 1px solid rgba(255, 127, 110, 0.18);
    border-radius: 0.875rem;
    background: #ffffff;
  }
  .admin-order-items-table tr + tr {
    margin-top: 0.75rem;
  }
  .admin-order-items-table td {
    padding: 0.75rem;
    display: grid;
    grid-template-columns: minmax(5.75rem, 0.7fr) minmax(0, 1.3fr);
    align-items: start;
    gap: 0.75rem;
    border-bottom: 1px solid rgba(255, 127, 110, 0.18);
    text-align: right;
    overflow-wrap: anywhere;
  }
  .admin-order-items-table td::before {
    content: attr(data-label);
    color: #6e6360;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-align: left;
    text-transform: uppercase;
  }
  .admin-order-items-table td:last-child {
    border-bottom: 0;
  }
  .admin-order-items-table td strong,
  .admin-order-items-table td small {
    min-width: 0;
  }
  .admin-order-items-table td[data-label=Produto] strong, .admin-order-items-table td[data-label=Produto] small {
    grid-column: 2;
  }
  .admin-order-items-table + * {
    min-width: 0;
  }
  .admin-order-items-table:where(table) {
    border-collapse: separate;
  }
  .admin-order-items-wrap {
    overflow: visible;
    border: 0;
  }
}
@media (min-width: 65rem) {
  .admin-detail-aside {
    position: sticky;
    top: 1.25rem;
  }
}
.admin-detail-aside address {
  margin-top: 0.75rem;
  color: #6e6360;
  font-style: normal;
  line-height: 1.65;
}

.admin-totals,
.admin-meta {
  margin-top: 1rem;
  display: grid;
  gap: 0.625rem;
}
.admin-totals div,
.admin-meta div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.admin-totals div:not(:last-child),
.admin-meta div:not(:last-child) {
  border-bottom: 1px solid rgba(52, 52, 56, 0.1);
  padding-bottom: 0.5rem;
}
.admin-totals dt,
.admin-meta dt {
  color: #6e6360;
}
.admin-totals dd,
.admin-meta dd {
  margin: 0;
  text-align: right;
  overflow-wrap: anywhere;
}

.admin-history {
  display: grid;
  gap: 1rem;
}
.admin-history li {
  display: grid;
  grid-template-columns: 0.75rem 1fr;
  gap: 0.75rem;
}
.admin-history li > span {
  width: 0.75rem;
  height: 0.75rem;
  margin-top: 0.3rem;
  border: 0.2rem solid #fff0e8;
  border-radius: 50%;
  background: #ff7f6e;
}
.admin-history strong,
.admin-history small {
  display: block;
}
.admin-history small {
  margin-top: 0.2rem;
  color: #6e6360;
}
.admin-history p {
  margin-top: 0.35rem;
}

.admin-address-grid {
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 36.25rem) {
  .admin-address-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.admin-address-grid article {
  padding: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #fffaf4;
}
.admin-address-grid address {
  margin-top: 0.5rem;
  color: #6e6360;
  font-style: normal;
  line-height: 1.6;
}

[data-tracking-field][hidden] {
  display: none;
}

.admin-stats--dashboard .stat-card--admin,
.admin-stats--reports .stat-card--admin {
  min-width: 0;
}
.admin-stats--dashboard .stat-card--admin strong,
.admin-stats--reports .stat-card--admin strong {
  overflow-wrap: anywhere;
}

.admin-dashboard-section,
.admin-report-section {
  margin-bottom: 1.25rem;
}

.admin-section-heading {
  margin-bottom: 1rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.admin-section-heading small {
  max-width: 32rem;
  color: #6e6360;
  line-height: 1.5;
}

.admin-chart-grid {
  display: grid;
  gap: 1rem;
}
@media (min-width: 65rem) {
  .admin-chart-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.admin-chart {
  min-width: 0;
  padding: 1rem;
  display: flex;
  flex-direction: column;
}
@media (min-width: 36.25rem) {
  .admin-chart {
    padding: 1.5rem;
  }
}
@media (min-width: 65rem) {
  .admin-chart--wide {
    grid-column: 1/-1;
  }
}
.admin-chart .card__header small {
  color: #6e6360;
}
.admin-chart > .admin-empty {
  flex: 1 1 auto;
}

.admin-chart__canvas {
  position: relative;
  height: 18rem;
  margin-top: 1rem;
}
.admin-chart__canvas canvas {
  max-width: 100%;
}
@media (min-width: 36.25rem) {
  .admin-chart__canvas {
    height: 21rem;
  }
}

.admin-chart__canvas--compact {
  height: 10rem;
}

.admin-visitor-card .card__header {
  align-items: flex-start;
}
.admin-visitor-card .card__header > span {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 0.875rem;
  background: #fff0e8;
  color: #ff7f6e;
}
.admin-visitor-card__total {
  margin-top: 1.25rem;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
}
.admin-visitor-card__total strong {
  color: #343438;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: clamp(2.75rem, 7vw, 4.5rem);
  line-height: 1;
}
.admin-visitor-card__total > span {
  color: #ff7f6e;
  font-weight: 800;
}
.admin-visitor-card__total small {
  margin-top: 0.5rem;
  grid-column: 1/-1;
  color: #6e6360;
}

.admin-empty {
  min-height: 10rem;
  padding: 1.5rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 0.375rem;
  border: 1px dashed rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  color: #6e6360;
  text-align: center;
}
.admin-empty > span {
  color: #ff7f6e;
  font-size: 1.5rem;
}
.admin-empty strong,
.admin-empty small {
  display: block;
}

.admin-dashboard-grid,
.admin-report-grid {
  min-width: 0;
  display: grid;
  align-items: stretch;
  gap: 1.25rem;
}
@media (min-width: 65rem) {
  .admin-dashboard-grid,
  .admin-report-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.admin-dashboard-grid > *,
.admin-report-grid > * {
  min-width: 0;
  height: 100%;
}

.home-heroes-editor {
  display: grid;
  gap: 1rem;
}

.home-hero-editor {
  padding: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #fffaf4;
}

.home-hero-editor__heading {
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.home-hero-editor__heading > div {
  display: flex;
  gap: 0.35rem;
}
.home-hero-editor__heading button {
  min-width: 2.25rem;
  height: 2.25rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.65rem;
  background: #ffffff;
  cursor: pointer;
}
.home-hero-editor__heading [data-home-hero-remove] {
  color: #e34f68;
}

.admin-stats--customers .stat-card--admin,
.admin-stats--customer-detail .stat-card--admin {
  min-width: 0;
}
.admin-stats--customers strong,
.admin-stats--customer-detail strong {
  overflow-wrap: anywhere;
}

.admin-customer-panel .admin-section-heading h2 {
  margin-top: 0.25rem;
}

@media (min-width: 65rem) {
  .admin-filters--customers {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto auto;
  }
}

.admin-customers-table {
  min-width: 74rem;
}
.admin-customers-table td > small {
  margin-top: 0.25rem;
  display: block;
  color: #6e6360;
}

.admin-customer-cell {
  min-width: 14rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.admin-customer-cell > span:last-child {
  min-width: 0;
}
.admin-customer-cell strong,
.admin-customer-cell small {
  display: block;
}
.admin-customer-cell small {
  margin-top: 0.2rem;
  color: #6e6360;
}

.admin-customer-avatar {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 50%;
  background: #fff0e8;
  color: #ff7f6e;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 0.875rem;
  font-weight: 800;
}
.admin-customer-avatar--large {
  width: 4.5rem;
  height: 4.5rem;
  font-size: 1.375rem;
}

.admin-customer-contact {
  color: #ff7f6e;
  font-weight: 700;
}
.admin-customer-contact:hover {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.admin-customers-table td > .admin-customer-verified {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: #20b89f;
  font-weight: 700;
}
.admin-customers-table td > .admin-customer-verified .material-symbols-outlined {
  font-size: 0.875rem;
}

.admin-customer-heading__profile {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.admin-customer-heading__profile > div {
  min-width: 0;
}
.admin-customer-heading__profile h1 {
  overflow-wrap: anywhere;
}
.admin-customer-heading__profile p {
  overflow-wrap: anywhere;
}

@media (min-width: 65rem) {
  .admin-customer-detail-grid {
    grid-template-columns: minmax(0, 2.2fr) minmax(19rem, 0.8fr);
  }
}
.admin-customer-detail-grid .admin-tabs,
.admin-customer-detail-grid [role=tabpanel] {
  min-width: 0;
}

.admin-customer-tabs {
  min-width: 0;
}
.admin-customer-tabs > [role=tabpanel] {
  min-width: 0;
}

.admin-customer-summary {
  display: grid;
  gap: 1rem;
}
.admin-customer-summary > .card__header,
.admin-customer-summary .admin-stats--customer-detail {
  margin: 0;
}
.admin-customer-summary .admin-customer-contact-list {
  margin: 0;
}
@media (min-width: 51.25rem) {
  .admin-customer-summary .admin-customer-contact-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.admin-customer-summary .admin-meta {
  margin: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.625rem;
}
@media (min-width: 65rem) {
  .admin-customer-summary .admin-meta {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.admin-customer-summary .admin-meta > div {
  min-width: 0;
  padding: 0.75rem;
  display: grid;
  justify-content: stretch;
  gap: 0.25rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.625rem;
  background: #fffaf4;
}
.admin-customer-summary .admin-meta dd {
  text-align: left;
  font-weight: 700;
}

.admin-customer-insights {
  display: grid;
  align-items: stretch;
  gap: 1rem;
}
@media (min-width: 65rem) {
  .admin-customer-insights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.admin-customer-insight {
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #fffaf4;
}
.admin-customer-insight__heading {
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.admin-customer-insight__heading > .material-symbols-outlined {
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: #fff0e8;
  color: #ff7f6e;
}
.admin-customer-insight__heading small {
  color: #6e6360;
  font-size: 0.75rem;
}
.admin-customer-insight__heading h3 {
  font-size: 1.125rem;
}
.admin-customer-insight .admin-empty {
  min-height: 10rem;
}

.admin-customer-access-list,
.admin-customer-product-list {
  display: grid;
  gap: 0.5rem;
}

.admin-customer-access-list > div {
  padding: 0.625rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.625rem;
  border-radius: 0.625rem;
  background: #ffffff;
}
.admin-customer-access-list > div > .material-symbols-outlined {
  color: #ff7f6e;
}
.admin-customer-access-list > div strong,
.admin-customer-access-list > div small {
  display: block;
}
.admin-customer-access-list > div small {
  color: #6e6360;
  font-size: 0.75rem;
}

.admin-customer-product-list > a {
  min-width: 0;
  padding: 0.5rem;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.625rem;
  border-radius: 0.625rem;
  background: #ffffff;
  transition: background 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.admin-customer-product-list > a:hover {
  background: #fff0e8;
  transform: translateY(-0.0625rem);
}
.admin-customer-product-list > a img {
  width: 3rem;
  height: 3rem;
  border-radius: 0.75rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.admin-customer-product-list > a strong,
.admin-customer-product-list > a small {
  display: block;
  overflow-wrap: anywhere;
}
.admin-customer-product-list > a small {
  color: #6e6360;
  font-size: 0.625rem;
}
.admin-customer-product-list > a > .material-symbols-outlined {
  color: #ff7f6e;
  font-size: 1rem;
}

.admin-customer-orders-table {
  min-width: 54rem;
}

.admin-customer-empty {
  min-height: 14rem;
  margin-top: 0.5rem;
  background: #fffaf4;
}

.admin-customer-addresses {
  margin-top: 0.5rem;
}
.admin-customer-addresses article {
  min-width: 0;
}

.admin-customer-address__heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.admin-customer-address__heading > .material-symbols-outlined {
  color: #ff7f6e;
}
.admin-customer-address__heading .badge {
  margin-left: auto;
}

.admin-customer-profile-card__heading {
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.admin-customer-contact-list {
  margin-top: 1rem;
  display: grid;
  gap: 0.625rem;
}
.admin-customer-contact-list > a,
.admin-customer-contact-list > div {
  min-width: 0;
  padding: 0.75rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.625rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.625rem;
  background: #fffaf4;
}
.admin-customer-contact-list > a:hover {
  border-color: rgba(255, 127, 110, 0.38);
  background: #fff0e8;
}
.admin-customer-contact-list .material-symbols-outlined {
  color: #ff7f6e;
}
.admin-customer-contact-list small,
.admin-customer-contact-list strong {
  display: block;
  overflow-wrap: anywhere;
}
.admin-customer-contact-list small {
  color: #6e6360;
}

.admin-customer-identities {
  margin-top: 1rem;
  display: grid;
  gap: 0.75rem;
}
.admin-customer-identities li {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.625rem;
}
.admin-customer-identities .material-symbols-outlined {
  width: 2.25rem;
  height: 2.25rem;
  display: grid;
  place-items: center;
  border-radius: 0.5rem;
  background: #fff0e8;
  color: #ff7f6e;
}
.admin-customer-identities strong,
.admin-customer-identities small {
  display: block;
  overflow-wrap: anywhere;
}
.admin-customer-identities small {
  color: #6e6360;
}

.admin-customer-permission-card p {
  margin-top: 0.75rem;
}
.admin-customer-permission-card form {
  margin-top: 1rem;
}
.admin-customer-permission-card .btn {
  width: auto;
}

.admin-dashboard-grid > .admin-panel {
  display: flex;
  flex-direction: column;
}
.admin-dashboard-grid > .admin-panel .table-wrap,
.admin-dashboard-grid > .admin-panel .admin-compact-list {
  flex: 1 1 auto;
}
.admin-dashboard-grid > .admin-panel .admin-empty {
  height: 100%;
}

.admin-email-panel > p {
  margin-top: 0.5rem;
  color: #6e6360;
  font-size: 0.875rem;
}

.admin-email-actions {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.admin-email-log {
  margin-top: 1rem;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
}
.admin-email-log > div {
  padding: 0.625rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
}
.admin-email-log strong,
.admin-email-log small {
  display: block;
}
.admin-email-log small {
  margin-top: 0.2rem;
  color: #6e6360;
  font-size: 0.75rem;
}

.admin-compact-list {
  display: grid;
}
.admin-compact-list > a,
.admin-compact-list > div:not(.admin-empty) {
  padding: 0.875rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
  color: #343438;
}
.admin-compact-list > :last-child {
  border-bottom: 0;
}
.admin-compact-list strong,
.admin-compact-list small {
  display: block;
}
.admin-compact-list small,
.admin-compact-list time {
  margin-top: 0.2rem;
  color: #6e6360;
  font-size: 0.75rem;
}
.admin-compact-list time,
.admin-compact-list b {
  flex: 0 0 auto;
}

.admin-report-filter {
  margin-bottom: 1.25rem;
  padding: 1rem;
}
@media (min-width: 36.25rem) {
  .admin-report-filter {
    padding: 1.5rem;
  }
}
@media (min-width: 65rem) {
  .admin-report-filter .admin-filters {
    grid-template-columns: minmax(10rem, 1fr) minmax(10rem, 1fr) auto auto;
  }
}
.admin-report-filter > small {
  color: #6e6360;
}

.admin-report-summary {
  display: grid;
  gap: 0.5rem;
  color: #6e6360;
  line-height: 1.6;
}

.admin-report-grid .admin-report-section {
  min-width: 0;
}
.admin-report-grid .data-table {
  min-width: 36rem;
}

.admin-activity-grid {
  margin: 1.5rem 0;
  display: grid;
  align-items: stretch;
  gap: 1.5rem;
}
@media (min-width: 65rem) {
  .admin-activity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.admin-activity-grid > .admin-panel {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.admin-live-indicator {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #20b89f;
  font-size: 0.75rem;
  font-weight: 800;
}
.admin-live-indicator i {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 0.3rem rgba(32, 184, 159, 0.13);
}

.admin-activity-feed {
  flex: 1 1 auto;
  max-height: 28rem;
  overflow-y: auto;
}

.admin-activity-event {
  min-height: 3.5rem;
  padding: 0.7rem 0;
  display: grid;
  grid-template-columns: 3rem 2rem minmax(0, 1fr);
  align-items: center;
  gap: 0.625rem;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
}
.admin-activity-event time {
  color: #6e6360;
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
}
.admin-activity-event > .material-symbols-outlined {
  color: #ff7f6e;
  font-size: 1.15rem;
}
.admin-activity-event strong {
  font-size: 0.875rem;
}
.admin-activity-event:hover strong {
  color: #ff7f6e;
}

.admin-zero-search-list {
  flex: 1 1 auto;
  display: grid;
  align-content: start;
}
.admin-zero-search-list > div:not(.admin-empty) {
  padding: 0.8rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
}
.admin-zero-search-list strong {
  overflow-wrap: anywhere;
}
.admin-zero-search-list span {
  flex: 0 0 auto;
  color: #6e6360;
  font-size: 0.75rem;
}
.admin-zero-search-list b {
  color: #ff7f6e;
}

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

.layout-error {
  background: radial-gradient(circle at 15% 85%, #e8f5f4 0 8rem, transparent 8.1rem), radial-gradient(circle at 88% 10%, #f9e7ec 0 10rem, transparent 10.1rem), #f7f3ee;
}

.error-shell {
  width: min(100% - 2rem, 73.75rem);
  margin-inline: auto;
}
@media (min-width: 51.25rem) {
  .error-shell {
    width: min(100% - 2.5rem, 73.75rem);
  }
}
.error-shell {
  min-height: 100vh;
  padding: 2rem 0;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 2rem;
}

.error-brand {
  justify-self: center;
}

.error-page {
  width: min(100%, 38rem);
  padding: clamp(2rem, 7vw, 4rem);
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1.5rem;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
  text-align: center;
}
.error-page .error-code {
  color: #ff7f6e;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 2rem;
  font-weight: 700;
}
.error-page h1 {
  margin-top: 0.5rem;
  font-size: clamp(2.25rem, 8vw, 3.75rem);
}
.error-page p {
  margin: 0.75rem auto 1.5rem;
}
.error-page pre {
  padding: 1rem;
  overflow: auto;
  border-radius: 0.625rem;
  background: #fff0e8;
  text-align: left;
  white-space: pre-wrap;
}

.button-link {
  min-height: 2.75rem;
  padding: 0.75rem 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1), background 160ms cubic-bezier(0.2, 0, 0, 1), border-color 160ms cubic-bezier(0.2, 0, 0, 1);
  background: #ff7f6e;
  color: #ffffff;
}

@media (max-width: 51.249rem) {
  html:root, html:root body, html:root body * {
    scrollbar-width: none;
  }
  html:root::-webkit-scrollbar, html:root body::-webkit-scrollbar, html:root body *::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }
}
.btn--sold-out {
  background: #343438;
  color: #ffffff;
}

.product-card--sold-out .product-card__media img {
  opacity: 0.72;
  filter: saturate(0.65);
}
.product-card--sold-out:hover .product-card__media img {
  transform: scale(1.025);
}

.product-badge--sold-out {
  background: #343438;
  color: #ffffff;
}

.product-notice--sold-out {
  background: #f9e7ec;
}
.product-notice--sold-out > span {
  color: #e34f68;
}

.catalog-hero > .container {
  position: relative;
  z-index: 1;
}

.product-secondary-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
}

.product-preview-trigger {
  min-height: 2.75rem;
  padding: 0 0.9rem;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: #ff7f6e;
  font: inherit;
  font-size: 0.875rem;
  cursor: pointer;
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.product-preview-trigger:hover {
  border-color: rgba(255, 127, 110, 0.5);
  transform: translateY(-1px);
}
.product-preview-trigger:focus-visible {
  outline: 3px solid #ff7f6e;
  outline-offset: 3px;
}
.product-preview-trigger .material-symbols-outlined {
  font-size: 1.2rem;
}

.stl-preview-modal {
  width: min(76rem, 100vw - 2rem);
  max-height: calc(100dvh - 1rem);
  padding: 0.75rem;
  border-radius: 1.5rem;
}
.stl-preview-modal__title {
  padding: 0.35rem 3.25rem 0.85rem 0.25rem;
  color: #343438;
  font-size: clamp(1.35rem, 3vw, 2rem);
  line-height: 1.15;
  text-align: left;
}
.stl-preview-modal__content {
  margin: 0;
  padding: 0;
  overflow: visible;
}
.stl-preview-modal__close {
  top: 0.65rem;
  right: 0.65rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #fffaf4;
  color: #343438;
  font-size: 1.75rem;
  box-shadow: none;
  transition: background 160ms cubic-bezier(0.2, 0, 0, 1), color 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.stl-preview-modal__close:hover {
  background: #fff0e8;
  color: #ff7f6e;
  transform: scale(1.04);
}
.stl-preview-modal__close:focus-visible {
  outline: 3px solid rgba(255, 127, 110, 0.24);
  outline-offset: 2px;
  box-shadow: none;
}

.stl-preview {
  position: relative;
  width: 100%;
  height: min(72dvh, 46rem);
  min-height: 22rem;
  overflow: hidden;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: radial-gradient(circle at 28% 18%, rgba(233, 163, 183, 0.24), transparent 28%), radial-gradient(circle at 78% 75%, rgba(167, 217, 214, 0.25), transparent 30%), linear-gradient(145deg, #f7f2fb, #fffaf7);
  cursor: grab;
  touch-action: none;
}
.stl-preview:active {
  cursor: grabbing;
}
.stl-preview canvas {
  width: 100%;
  height: 100%;
  display: block;
}
.stl-preview__hint {
  position: absolute;
  right: 0.75rem;
  bottom: 0.75rem;
  left: 0.75rem;
  padding: 0.55rem 0.8rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.84);
  color: #6e6360;
  font-size: 0.75rem;
  font-weight: 700;
  text-align: center;
  pointer-events: none;
  backdrop-filter: blur(0.75rem);
}

@media (max-width: 35.99rem) {
  .stl-preview-modal {
    width: calc(100vw - 0.75rem);
    padding: 0.625rem;
    border-radius: 1rem;
  }
  .stl-preview-modal__title {
    padding: 0.25rem 2.85rem 0.7rem 0.15rem;
    font-size: 1.35rem;
  }
  .stl-preview-modal__close {
    top: 0.5rem;
    right: 0.5rem;
    width: 2.25rem;
    height: 2.25rem;
  }
  .stl-preview {
    height: min(74dvh, 39rem);
    min-height: 20rem;
    border-radius: 0.875rem;
  }
  .stl-preview__hint {
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
    padding: 0.45rem 0.65rem;
  }
}
.store-story-chapter {
  opacity: 0;
  transition: opacity 240ms ease;
}

.has-store-scroll-story .store-story-chapter,
.has-system-scroll-story .store-story-chapter {
  opacity: 1;
}

.layout-public,
.layout-account,
.layout-admin,
.layout-error {
  position: relative;
}

.system-ornaments {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  overflow: hidden;
  pointer-events: none;
}

.system-brand-waves {
  position: absolute;
  top: 7rem;
  right: -6rem;
  width: min(34vw, 29rem);
  height: auto;
  display: none;
  overflow: visible;
  visibility: hidden;
  opacity: 1;
  transform: rotate(-7deg);
  pointer-events: none;
}
.system-brand-waves path {
  fill: none;
  stroke-width: 17;
  stroke-linecap: round;
  opacity: 1;
}
.system-brand-waves path:nth-child(1) {
  stroke: #ff7f6e;
}
.system-brand-waves path:nth-child(2) {
  stroke: #ffc49d;
}
.system-brand-waves path:nth-child(3) {
  stroke: #e9a3b7;
}
.system-brand-waves path:nth-child(4) {
  stroke: #dcc6f4;
}
.system-brand-waves path:nth-child(5) {
  stroke: #a7d9d6;
}
.system-brand-waves.is-story-ready {
  visibility: visible;
}

.system-section-wave {
  --system-wave-height: clamp(4.75rem, 9vw, 8.75rem);
  --system-wave-color: #fffaf4;
  position: relative;
  z-index: 0;
  width: 100%;
  height: var(--system-wave-height);
  margin: calc(-1 * var(--system-wave-height)) 0 0;
  overflow: hidden;
  pointer-events: none;
  isolation: isolate;
}
.system-section-wave svg {
  position: absolute;
  inset: -1px 0 -3px;
  width: 100%;
  height: calc(100% + 4px);
  max-width: none;
  overflow: hidden;
}
.system-section-wave__shape {
  fill: var(--system-wave-color);
  stroke: none;
}
.system-section-wave--cream {
  --system-wave-color: #f7f3ee;
}
.system-section-wave--surface {
  --system-wave-color: #ffffff;
}
.system-section-wave--surface-soft {
  --system-wave-color: #fffaf4;
}
.system-section-wave--primary-soft {
  --system-wave-color: #fff0e8;
}
.system-section-wave--peach-soft {
  --system-wave-color: #fff0e8;
}
.system-section-wave--pink-soft {
  --system-wave-color: #f9e7ec;
}
.system-section-wave--mint-soft {
  --system-wave-color: #e8f5f4;
}

.mascot-peek {
  --mascot-peek-y: 55%;
  --mascot-peek-x: 50%;
  position: fixed;
  z-index: 50;
  top: var(--mascot-peek-y);
  left: 0;
  width: clamp(14.25rem, 24vw, 19.5rem);
  pointer-events: none;
  transform: translate3d(-105%, -50%, 0) rotate(90deg);
  filter: drop-shadow(0 0.75rem 1.25rem rgba(125, 95, 74, 0.16));
}
.mascot-peek img {
  width: 100%;
  height: auto;
}
.mascot-peek.is-left.is-peeking {
  animation: mascot-peek-left 3.6s ease-in-out both;
}
.mascot-peek.is-right {
  right: 0;
  left: auto;
  transform: translate3d(105%, -50%, 0) rotate(-90deg);
}
.mascot-peek.is-right.is-peeking {
  animation: mascot-peek-right 3.6s ease-in-out both;
}
.mascot-peek.is-top {
  top: 0;
  left: var(--mascot-peek-x);
  transform: translate3d(-50%, -105%, 0) rotate(180deg);
}
.mascot-peek.is-top.is-peeking {
  animation: mascot-peek-top 3.6s ease-in-out both;
}

@media (max-width: 36.249rem) {
  .mascot-peek {
    display: none;
  }
}
@keyframes mascot-peek-left {
  0%, 100% {
    transform: translate3d(-105%, -50%, 0) rotate(90deg);
  }
  25% {
    transform: translate3d(-48%, -50%, 0) rotate(94deg);
  }
  42% {
    transform: translate3d(-48%, -50%, 0) rotate(87deg);
  }
  59% {
    transform: translate3d(-48%, -50%, 0) rotate(93deg);
  }
  74% {
    transform: translate3d(-48%, -50%, 0) rotate(88deg);
  }
}
@keyframes mascot-peek-right {
  0%, 100% {
    transform: translate3d(105%, -50%, 0) rotate(-90deg);
  }
  25% {
    transform: translate3d(48%, -50%, 0) rotate(-94deg);
  }
  42% {
    transform: translate3d(48%, -50%, 0) rotate(-87deg);
  }
  59% {
    transform: translate3d(48%, -50%, 0) rotate(-93deg);
  }
  74% {
    transform: translate3d(48%, -50%, 0) rotate(-88deg);
  }
}
@keyframes mascot-peek-top {
  0%, 100% {
    transform: translate3d(-50%, -105%, 0) rotate(180deg);
  }
  25% {
    transform: translate3d(-50%, -48%, 0) rotate(184deg);
  }
  42% {
    transform: translate3d(-50%, -48%, 0) rotate(177deg);
  }
  59% {
    transform: translate3d(-50%, -48%, 0) rotate(183deg);
  }
  74% {
    transform: translate3d(-50%, -48%, 0) rotate(178deg);
  }
}
.auth-page > .system-section-wave,
.error-shell > .system-section-wave {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  opacity: 0.62;
}

.system-background-sphere {
  --system-sphere-y: 0px;
  position: absolute;
  display: block;
  border-radius: 50%;
  opacity: 0.42;
  transform: translate3d(0, var(--system-sphere-y), 0);
}
.system-background-sphere--mint {
  top: 31rem;
  left: 0;
  width: clamp(10rem, 15vw, 14rem);
  aspect-ratio: 1;
  background: radial-gradient(circle at 38% 34%, rgba(255, 255, 255, 0.52), rgba(167, 217, 214, 0.48) 72%);
}
.system-background-sphere--peach {
  top: 57%;
  right: 0;
  width: clamp(9rem, 13vw, 12rem);
  aspect-ratio: 1;
  background: radial-gradient(circle at 38% 34%, rgba(255, 255, 255, 0.46), rgba(255, 196, 157, 0.5) 72%);
}
.system-background-sphere--pink {
  right: 12%;
  bottom: 8%;
  width: clamp(5rem, 8vw, 7rem);
  aspect-ratio: 1;
  background: radial-gradient(circle at 38% 34%, rgba(255, 255, 255, 0.48), rgba(233, 163, 183, 0.42) 72%);
}

.system-support-shapes {
  --support-shift: 0;
  --support-parallax: -1.35;
  position: absolute;
  top: 73%;
  left: clamp(1.5rem, 5vw, 5rem);
  width: 10rem;
  height: 13rem;
  display: block;
  pointer-events: none;
}
.system-support-shapes::before, .system-support-shapes::after {
  content: "";
  position: absolute;
  border: 2px solid;
  background: transparent;
}
.system-support-shapes::before {
  top: 12%;
  right: 5%;
  width: 5rem;
  height: 7rem;
  border-color: #ff7f6e;
  border-radius: 1.75rem;
  opacity: 0.35;
  transform: translate3d(calc(var(--support-parallax) * -1.75rem), calc(var(--support-shift) * 4.375rem + var(--support-parallax) * 2.75rem), 0) rotate(calc(8deg + var(--support-shift) * 18deg));
}
.system-support-shapes::after {
  top: 17%;
  right: 10%;
  width: 3.875rem;
  height: 5.125rem;
  border-color: #a7d9d6;
  border-radius: 1.375rem;
  opacity: 0.45;
  transform: translate3d(calc(var(--support-parallax) * 1.375rem), calc(var(--support-shift) * -2.8125rem + var(--support-parallax) * -2.25rem), 0) rotate(calc(-5deg - var(--support-shift) * 12deg));
}

.has-system-scroll-story .system-brand-waves,
.has-system-brand-waves .system-brand-waves {
  display: block;
}

.has-system-scroll-story #main-content {
  position: relative;
  z-index: 1;
}
.has-system-scroll-story .system-story-item.product-card,
.has-system-scroll-story .system-story-item.category-card,
.has-system-scroll-story .system-story-item.card {
  transition-property: box-shadow, border-color, background-color;
}

.layout-admin .system-brand-waves {
  top: 4.5rem;
  right: -8rem;
  width: min(30vw, 24rem);
  opacity: 0.42;
}

.layout-admin .system-support-shapes {
  left: auto;
  right: 4%;
}

.layout-account .system-support-shapes {
  top: 66%;
}

.layout-error .system-support-shapes {
  top: auto;
  bottom: 8%;
}

@media (max-width: 51.24rem) {
  .system-brand-waves {
    top: 6rem;
    right: -7rem;
    width: 21rem;
    opacity: 0.5;
  }
  .layout-admin .system-brand-waves {
    opacity: 0.38;
  }
  .system-background-sphere--pink {
    display: none;
  }
}
@media (max-width: 36.24rem) {
  .system-support-shapes {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .has-system-scroll-story .system-story-item {
    opacity: 1;
    transform: none;
    will-change: auto;
  }
  .system-brand-waves path {
    opacity: 1;
    stroke-dasharray: none;
    stroke-dashoffset: 0;
    will-change: auto;
  }
  .system-support-shapes::before,
  .system-support-shapes::after {
    transform: none;
    will-change: auto;
  }
  .system-background-sphere {
    transform: none;
    will-change: auto;
  }
  .system-section-wave animate {
    display: none;
  }
}
.store-activity {
  position: fixed;
  z-index: 100;
  right: 1rem;
  bottom: calc(1rem + env(safe-area-inset-bottom));
  width: min(23rem, 100vw - 2rem);
  padding: 0.625rem 2.75rem 0.625rem 0.625rem;
  border: 1px solid rgba(255, 127, 110, 0.22);
  border-radius: 0.875rem;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
  opacity: 0;
  transform: translateY(0.75rem);
  transition: opacity 240ms cubic-bezier(0.2, 0, 0, 1), transform 240ms cubic-bezier(0.2, 0, 0, 1);
  backdrop-filter: blur(14px);
}
.store-activity[hidden] {
  display: none;
}
.store-activity.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.store-activity__link {
  min-width: 0;
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
  color: #343438;
  text-decoration: none;
}
.store-activity__media {
  width: 3.5rem;
  height: 3.5rem;
  overflow: hidden;
  border-radius: 0.625rem;
  background: #fff0e8;
}
.store-activity__media img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.store-activity__content {
  min-width: 0;
}
.store-activity__content small,
.store-activity__content strong,
.store-activity__content span {
  display: block;
}
.store-activity__content small {
  margin-bottom: 0.125rem;
  color: #ff7f6e;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.store-activity__content strong {
  overflow: hidden;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 0.925rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.store-activity__content > span {
  margin-top: 0.15rem;
  color: #6e6360;
  font-size: 0.75rem;
  line-height: 1.35;
}
.store-activity__close {
  position: absolute;
  top: 0.45rem;
  right: 0.45rem;
  width: 2rem;
  height: 2rem;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #6e6360;
  cursor: pointer;
  transition: color 160ms cubic-bezier(0.2, 0, 0, 1), background 160ms cubic-bezier(0.2, 0, 0, 1);
}
.store-activity__close:hover, .store-activity__close:focus-visible {
  background: #fff0e8;
  color: #ff7f6e;
}
.store-activity__close .material-symbols-outlined {
  font-size: 1.125rem;
}
@media (max-width: 36.24rem) {
  .store-activity {
    right: 0.75rem;
    bottom: calc(0.75rem + env(safe-area-inset-bottom));
    width: min(20rem, 100vw - 1.5rem);
    padding-right: 2.5rem;
  }
  .store-activity__link {
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: 0.625rem;
  }
  .store-activity__media {
    width: 3rem;
    height: 3rem;
  }
  .store-activity__content > span {
    font-size: 0.7rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .store-activity {
    transition: none;
  }
}
.notification-bell {
  position: relative;
  flex: 0 0 auto;
}

.favorite-shortcut {
  color: #ff7f6e;
}
.favorite-shortcut .material-symbols-outlined {
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;
}

.notification-count,
.nav-count {
  min-width: 1.15rem;
  height: 1.15rem;
  padding-inline: 0.2rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: #e34f68;
  color: #fff;
  font-size: 0.625rem;
  font-weight: 800;
  line-height: 1;
}

.notification-count {
  position: absolute;
  top: -0.2rem;
  right: -0.2rem;
  box-shadow: 0 0 0 0.15rem #ffffff;
}

.nav-count {
  margin-left: auto;
}

.admin-topbar__actions {
  grid-column: 3;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.admin-topbar__shortcut {
  display: none;
  color: #6e6360;
}
@media (min-width: 36.25rem) {
  .admin-topbar__shortcut {
    display: grid;
  }
}
.admin-topbar__shortcut:hover, .admin-topbar__shortcut:focus-visible, .admin-topbar__shortcut.is-active {
  background: #fff0e8;
  color: #ff7f6e;
}
.admin-topbar__shortcut.is-active {
  box-shadow: inset 0 0 0 1px rgba(255, 127, 110, 0.25);
}

.admin-topbar__notification {
  color: #6e6360;
}
.admin-topbar__notification:hover, .admin-topbar__notification:focus-visible, .admin-topbar__notification.is-active {
  background: #fff0e8;
  color: #ff7f6e;
}
.admin-topbar__notification.is-active {
  box-shadow: inset 0 0 0 1px rgba(255, 127, 110, 0.25);
}

.notification-list {
  display: grid;
  grid-auto-rows: max-content;
  align-content: start;
  gap: 0.75rem;
}

.notification-item {
  position: relative;
  padding: 1rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.85rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1), border-color 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1);
}
@media (min-width: 36.25rem) {
  .notification-item {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
  }
}
.notification-item:hover {
  transform: translateY(-0.125rem);
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
}
.notification-item.is-unread {
  border-color: rgba(255, 127, 110, 0.45);
  background: linear-gradient(120deg, #fff0e8, #ffffff 45%);
}
.notification-item__icon {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff0e8;
  color: #ff7f6e;
}
.notification-item__content {
  min-width: 0;
}
.notification-item__content p {
  margin: 0.35rem 0;
  color: #6e6360;
}
.notification-item__content small {
  color: #6e6360;
}
.notification-item__heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.notification-item form {
  grid-column: 2;
}
@media (min-width: 36.25rem) {
  .notification-item form {
    grid-column: auto;
  }
}

.notification-admin-grid {
  display: grid;
  align-items: stretch;
  gap: 1.25rem;
}

.notification-admin-card {
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.notification-admin-card__header {
  min-height: 5rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.25rem;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.notification-admin-card__header > div {
  min-width: 0;
}
.notification-admin-card__header h2 {
  margin-top: 0.5rem;
  font-size: clamp(1.55rem, 2.25vw, 2rem);
}
.notification-admin-card__header > form {
  margin-left: auto;
}
.notification-admin-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: #fff0e8;
  color: #ff7f6e;
  font-size: 1.35rem;
}
.notification-admin-card__content {
  min-height: 19rem;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}
.notification-admin-card__content .notification-list,
.notification-admin-card__content .notification-empty--embedded {
  min-height: 19rem;
}

.notification-compose-form {
  flex: 1 1 auto;
}
.notification-compose-form > .btn {
  width: 100%;
  margin-top: auto;
}

.notification-empty--embedded {
  min-height: 19rem;
  border: 1px dashed rgba(255, 127, 110, 0.3);
  background: linear-gradient(145deg, #fffaf4, #ffffff);
}

.push-preferences {
  margin-bottom: 1.25rem;
  padding: 1rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
  border-color: rgba(255, 127, 110, 0.28);
  background: linear-gradient(120deg, #fff0e8, #ffffff 55%);
}
@media (min-width: 36.25rem) {
  .push-preferences {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }
}
.push-preferences.is-active {
  border-color: rgba(32, 184, 159, 0.45);
  background: linear-gradient(120deg, #e8f5f4, #ffffff 55%);
}
.push-preferences__icon {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
  color: #ff7f6e;
}
.push-preferences p {
  margin: 0.25rem 0 0;
  color: #6e6360;
}
.push-preferences .btn {
  grid-column: 2;
}
@media (min-width: 36.25rem) {
  .push-preferences .btn {
    grid-column: auto;
  }
}

.notification-preferences-card {
  margin-bottom: 1.25rem;
}
.notification-preferences-card form {
  display: grid;
  gap: 0.75rem;
}
.notification-preferences-card .btn {
  width: -moz-fit-content;
  width: fit-content;
}

.notification-preference-option {
  min-width: 0;
  padding: 0.875rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.625rem;
  background: #fffaf4;
}
.notification-preference-option > .material-symbols-outlined {
  color: #ff7f6e;
}
.notification-preference-option strong,
.notification-preference-option small {
  display: block;
}
.notification-preference-option small {
  color: #6e6360;
}

[data-collection-theme] {
  --collection-background: #f7f3ee;
  --collection-surface: #ffffff;
  --collection-hero-copy: transparent;
  --collection-catalog: #fffaf4;
  --collection-text: #343438;
  --collection-muted: #6e6360;
  --collection-accent: #ff7f6e;
  --collection-accent-secondary: #f2aebe;
  --collection-card: #ffffff;
  --collection-accent-contrast: #ffffff;
  --collection-background-image: none;
  --collection-background-position: center;
  --collection-image-opacity: 0.35;
}

.collection-background-video {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  opacity: var(--collection-image-opacity, 0.55);
  pointer-events: none;
}
.collection-background-video[hidden] {
  display: none;
}
.collection-background-video iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  border: 0;
  transform: translate(-50%, -50%) scale(1.8);
  pointer-events: none;
}
.collection-background-video--preview {
  top: 2.5rem;
}
.collection-background-video--hero {
  container-type: size;
  transform: none;
  transform-origin: center;
}
.collection-background-video--hero iframe {
  width: max(100cqw, 177.7778cqh);
  height: max(100cqh, 56.25cqw);
  transform: translate(-50%, -50%);
}

.collection-video-sound {
  position: absolute;
  z-index: 5;
  top: 1rem;
  right: 1rem;
  min-height: 2.75rem;
  padding: 0.45rem 0.75rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border: none;
  border-radius: 0.625rem;
  background: color-mix(in srgb, var(--collection-surface) 76%, transparent);
  color: var(--collection-text);
  font: inherit;
  font-size: 0.75rem;
  font-weight: 800;
  cursor: pointer;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1), background 160ms cubic-bezier(0.2, 0, 0, 1), border-color 160ms cubic-bezier(0.2, 0, 0, 1);
}

.collection-video-sound:hover,
.collection-video-sound:focus-visible {
  border-color: var(--collection-accent);
  background: var(--collection-surface);
  transform: translateY(-0.1rem);
}

.collection-video-sound[aria-pressed=true] {
  color: var(--collection-accent);
}

.collection-video-sound .material-symbols-outlined {
  font-size: 1.1rem;
}

@media (max-width: 36.24rem) {
  .collection-video-sound {
    top: 0.75rem;
    right: 0.75rem;
    width: 2.75rem;
    padding: 0;
    justify-content: center;
  }
  .collection-video-sound > span:last-child {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
}
.collection-effect {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.collection-effect span {
  position: absolute;
  display: block;
}
.collection-effect--aurora {
  background: radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--collection-accent-secondary) 38%, transparent), transparent 32%), radial-gradient(circle at 84% 72%, color-mix(in srgb, var(--collection-accent) 30%, transparent), transparent 34%);
}
.collection-effect--aurora span:nth-child(1) {
  top: -20%;
  right: 12%;
  width: 44%;
  aspect-ratio: 1;
  border-radius: 44% 56% 62% 38%;
  background: color-mix(in srgb, var(--collection-accent-secondary) 24%, transparent);
  filter: blur(2.5rem);
  animation: collection-float 12s ease-in-out infinite alternate;
}
.collection-effect--grid {
  opacity: 0.7;
  background-image: linear-gradient(color-mix(in srgb, var(--collection-accent) 16%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--collection-accent) 16%, transparent) 1px, transparent 1px);
  background-size: 2.5rem 2.5rem;
  -webkit-mask-image: linear-gradient(to bottom, black, transparent 92%);
          mask-image: linear-gradient(to bottom, black, transparent 92%);
}
.collection-effect--orbits span {
  border: 1px solid color-mix(in srgb, var(--collection-accent) 32%, transparent);
  border-radius: 50%;
}
.collection-effect--orbits span:nth-child(1) {
  top: -14rem;
  right: -8rem;
  width: 32rem;
  height: 32rem;
}
.collection-effect--orbits span:nth-child(2) {
  right: 5%;
  bottom: -8rem;
  width: 18rem;
  height: 18rem;
}
.collection-effect--orbits span:nth-child(3) {
  top: 18%;
  left: 4%;
  width: 0.75rem;
  height: 0.75rem;
  border: 0;
  background: var(--collection-accent-secondary);
  box-shadow: 2.5rem 4rem 0 color-mix(in srgb, var(--collection-accent) 55%, transparent), 8rem -2rem 0 color-mix(in srgb, var(--collection-accent-secondary) 62%, transparent);
}
.collection-effect--none {
  display: none;
}

[data-collection-preset=gta_6] .collection-effect {
  background: radial-gradient(circle at 18% 20%, rgba(255, 79, 163, 0.32), transparent 30%), linear-gradient(155deg, #160d2e 3%, #55215f 48%, #ef4f8f 72%, #ff9b73 100%);
}

[data-collection-preset=gta_6] .collection-effect span:nth-child(2) {
  right: -10%;
  bottom: -30%;
  left: -10%;
  height: 55%;
  background-image: linear-gradient(rgba(67, 230, 208, 0.3) 1px, transparent 1px), linear-gradient(90deg, rgba(67, 230, 208, 0.26) 1px, transparent 1px);
  background-size: 2.75rem 2.75rem;
  transform: perspective(24rem) rotateX(58deg);
  transform-origin: top;
  opacity: 0.55;
}

[data-collection-preset=gta_6] .collection-effect span:nth-child(3) {
  right: 0;
  bottom: 22%;
  left: 0;
  height: 0.18rem;
  background: linear-gradient(90deg, transparent, #43e6d0 24%, #ff4fa3 70%, transparent);
  box-shadow: 0 0 1.5rem #43e6d0;
  opacity: 0.8;
}

[data-collection-preset=gta_6] .collection-public-hero__copy h1,
[data-collection-preset=gta_6].collection-discovery-card h3 {
  text-shadow: 0.04em 0.04em 0 rgba(255, 79, 163, 0.34), -0.025em -0.025em 0 rgba(67, 230, 208, 0.3);
}

[data-collection-preset=gta_6] .collection-public-hero__copy {
  position: relative;
  isolation: isolate;
}
[data-collection-preset=gta_6] .collection-public-hero__copy::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -1rem;
  border-radius: 1.5rem;
  background: var(--collection-surface);
  pointer-events: none;
}

@keyframes collection-float {
  to {
    transform: translate3d(8%, 12%, 0) rotate(12deg);
  }
}
.collection-admin-index {
  overflow: hidden;
}

.collection-admin-empty {
  margin-top: 1.25rem;
}

.collection-admin-grid {
  display: grid;
  gap: 1rem;
}
@media (min-width: 65rem) {
  .collection-admin-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.collection-admin-card {
  position: relative;
  isolation: isolate;
  min-width: 0;
  overflow: hidden;
  display: grid;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #ffffff;
  color: #343438;
}
@media (min-width: 36.25rem) {
  .collection-admin-card {
    grid-template-columns: 9rem minmax(0, 1fr);
  }
}
.collection-admin-card__visual.collection-effect {
  position: relative;
  inset: auto;
  z-index: 0;
  display: block;
  overflow: hidden;
  min-height: 8rem;
  background-color: var(--collection-background);
}
.collection-admin-card__visual.collection-effect::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background-image: var(--collection-background-image);
  background-position: var(--collection-background-position);
  background-size: cover;
  opacity: var(--collection-image-opacity);
  pointer-events: none;
}
.collection-admin-card__visual.collection-effect::after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0%;
  left: 50%;
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 9999px;
  background: linear-gradient(145deg, var(--collection-accent), var(--collection-accent-secondary));
  box-shadow: 0 1rem 2.5rem color-mix(in srgb, var(--collection-accent) 28%, transparent);
  transform: translate(-50%, -50%) rotate(12deg);
}
.collection-admin-card__content {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding: 1rem;
  background: #ffffff;
}
.collection-admin-card__content h2 {
  margin-top: 0.35rem;
  font-size: 1.35rem;
}
.collection-admin-card__content p {
  margin-top: 0.5rem;
  display: -webkit-box;
  overflow: hidden;
  color: #6e6360;
  font-size: 0.875rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.collection-admin-card__heading, .collection-admin-card__actions, .collection-admin-card__metrics {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.collection-admin-card__heading {
  margin-bottom: 0.75rem;
  justify-content: space-between;
}
.collection-admin-card__preset {
  color: #6e6360;
  font-size: 0.75rem;
  font-weight: 800;
}
.collection-admin-card__metrics {
  margin: 0.85rem 0;
}
.collection-admin-card__metrics div {
  min-width: 5.25rem;
  padding: 0.5rem 0.65rem;
  border-radius: 0.5rem;
  background: #fffaf4;
}
.collection-admin-card__metrics dt {
  color: #6e6360;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}
.collection-admin-card__metrics dd {
  margin: 0;
  color: #343438;
  font-weight: 900;
}
.collection-admin-card__actions form {
  margin: 0;
}
.collection-admin-card__actions .btn--ghost {
  border-color: rgba(255, 127, 110, 0.18);
  background: transparent;
  color: #343438;
}

.collection-form-heading__actions,
.collection-builder__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

@media (min-width: 36.25rem) {
  .collection-builder__delete {
    margin-left: auto;
  }
}

.collection-delete-form {
  display: none;
}

.collection-builder {
  display: grid;
  align-items: start;
  gap: 1.25rem;
}
@media (min-width: 73.75rem) {
  .collection-builder {
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 26rem);
  }
}
.collection-builder__form {
  min-width: 0;
}
.collection-builder__preview {
  min-width: 0;
}
@media (min-width: 73.75rem) {
  .collection-builder__preview {
    position: sticky;
    top: 6rem;
    align-self: start;
  }
}

@media (min-width: 73.75rem) {
  .layout-admin.has-global-announcement .collection-builder__preview {
    top: 8.75rem;
  }
}

.collection-theme-controls > .card__header > .material-symbols-outlined,
.collection-product-picker > .card__header > .material-symbols-outlined {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: 0.875rem;
  background: #fff0e8;
  color: #ff7f6e;
}

.collection-preset-library {
  display: grid;
  gap: 0.9rem;
}

.collection-preset-group {
  padding: 0.85rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #fffaf4;
}
.collection-preset-group > summary {
  min-height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  list-style: none;
}
.collection-preset-group > summary::-webkit-details-marker {
  display: none;
}
.collection-preset-group > summary:focus-visible {
  outline: 3px solid #ff7f6e;
  outline-offset: 3px;
}
.collection-preset-group > summary::after {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  flex: 0 0 auto;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}
.collection-preset-group > summary span {
  color: #343438;
  font-size: 0.875rem;
  font-weight: 900;
}
.collection-preset-group > summary small {
  margin-left: auto;
  color: #6e6360;
  font-size: 0.75rem;
}
.collection-preset-group[open] > summary {
  margin-bottom: 0.65rem;
}
.collection-preset-group[open] > summary::after {
  transform: rotate(225deg);
}
.collection-preset-group:has(.collection-preset.is-active) {
  border-color: #ff7f6e;
}

.collection-preset-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr));
  gap: 0.65rem;
}

.collection-preset {
  min-width: 0;
  padding: 0.75rem;
  display: grid;
  gap: 0.5rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.625rem;
  background: #ffffff;
  color: #343438;
  cursor: pointer;
  text-align: left;
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.collection-preset:hover {
  transform: translateY(-0.125rem);
}
.collection-preset.is-active {
  border-color: #ff7f6e;
  box-shadow: 0 0 0 0.2rem rgba(255, 127, 110, 0.12);
}
.collection-preset__swatches {
  display: flex;
  gap: 0.25rem;
}
.collection-preset__swatches i {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background: #ff7f6e;
}
.collection-preset[data-collection-preset=signature] i:nth-child(2) {
  background: #e9a3b7;
}
.collection-preset[data-collection-preset=signature] i:nth-child(3) {
  background: #a7d9d6;
}
.collection-preset[data-collection-preset=nocturne] i:nth-child(1) {
  background: #171321;
}
.collection-preset[data-collection-preset=nocturne] i:nth-child(2) {
  background: #a88be0;
}
.collection-preset[data-collection-preset=nocturne] i:nth-child(3) {
  background: #68d1bd;
}
.collection-preset[data-collection-preset=aurora] i:nth-child(1) {
  background: #e8f8f3;
}
.collection-preset[data-collection-preset=aurora] i:nth-child(2) {
  background: #3f8f7b;
}
.collection-preset[data-collection-preset=aurora] i:nth-child(3) {
  background: #ef9fb5;
}
.collection-preset[data-collection-preset=editorial] i:nth-child(1) {
  background: #f2ede4;
}
.collection-preset[data-collection-preset=editorial] i:nth-child(2) {
  background: #1f1b24;
}
.collection-preset[data-collection-preset=editorial] i:nth-child(3) {
  background: #c36d52;
}
.collection-preset[data-collection-preset=mothers_day] i:nth-child(1) {
  background: #fff5f7;
}
.collection-preset[data-collection-preset=mothers_day] i:nth-child(2) {
  background: #d76b94;
}
.collection-preset[data-collection-preset=mothers_day] i:nth-child(3) {
  background: #f3b2c8;
}
.collection-preset[data-collection-preset=fathers_day] i:nth-child(1) {
  background: #eef4f8;
}
.collection-preset[data-collection-preset=fathers_day] i:nth-child(2) {
  background: #2f6f9f;
}
.collection-preset[data-collection-preset=fathers_day] i:nth-child(3) {
  background: #d6a85f;
}
.collection-preset[data-collection-preset=valentines] i:nth-child(1) {
  background: #fff1f3;
}
.collection-preset[data-collection-preset=valentines] i:nth-child(2) {
  background: #c94764;
}
.collection-preset[data-collection-preset=valentines] i:nth-child(3) {
  background: #f2a6b6;
}
.collection-preset[data-collection-preset=easter] i:nth-child(1) {
  background: #f4f1ff;
}
.collection-preset[data-collection-preset=easter] i:nth-child(2) {
  background: #7657b5;
}
.collection-preset[data-collection-preset=easter] i:nth-child(3) {
  background: #f0b7cb;
}
.collection-preset[data-collection-preset=christmas] i:nth-child(1) {
  background: #f5f6f1;
}
.collection-preset[data-collection-preset=christmas] i:nth-child(2) {
  background: #b63a3a;
}
.collection-preset[data-collection-preset=christmas] i:nth-child(3) {
  background: #3f7a55;
}
.collection-preset[data-collection-preset=halloween] i:nth-child(1) {
  background: #1c1524;
}
.collection-preset[data-collection-preset=halloween] i:nth-child(2) {
  background: #ff8a2a;
}
.collection-preset[data-collection-preset=halloween] i:nth-child(3) {
  background: #8d5fc4;
}
.collection-preset[data-collection-preset=carnival] i:nth-child(1) {
  background: #fff8e8;
}
.collection-preset[data-collection-preset=carnival] i:nth-child(2) {
  background: #e34375;
}
.collection-preset[data-collection-preset=carnival] i:nth-child(3) {
  background: #2fa89b;
}
.collection-preset[data-collection-preset=black_friday] i:nth-child(1) {
  background: #111111;
}
.collection-preset[data-collection-preset=black_friday] i:nth-child(2) {
  background: #f1ca6c;
}
.collection-preset[data-collection-preset=black_friday] i:nth-child(3) {
  background: #8267b2;
}
.collection-preset[data-collection-preset=brazil_world_cup] i:nth-child(1) {
  background: #009c3b;
}
.collection-preset[data-collection-preset=brazil_world_cup] i:nth-child(2) {
  background: #ffdf00;
}
.collection-preset[data-collection-preset=brazil_world_cup] i:nth-child(3) {
  background: #002776;
}
.collection-preset[data-collection-preset=game_awards] i:nth-child(1) {
  background: #100e18;
}
.collection-preset[data-collection-preset=game_awards] i:nth-child(2) {
  background: #c9a45f;
}
.collection-preset[data-collection-preset=game_awards] i:nth-child(3) {
  background: #7548a8;
}
.collection-preset[data-collection-preset=gta_6] i:nth-child(1) {
  background: #160d2e;
}
.collection-preset[data-collection-preset=gta_6] i:nth-child(2) {
  background: #ff4fa3;
}
.collection-preset[data-collection-preset=gta_6] i:nth-child(3) {
  background: #43e6d0;
}

.collection-color-grid {
  margin-top: 1.25rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.65rem;
}

.collection-cursor-editor {
  margin-top: 1.25rem;
  padding: 1.25rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #fffaf4;
}
.collection-cursor-editor .card__header {
  margin-bottom: 1rem;
}
.collection-cursor-editor .card__header h3 {
  font-size: 1.25rem;
}
.collection-cursor-editor .card__header p {
  margin-top: 0.25rem;
  font-size: 0.75rem;
}

.collection-cursor-editor__preview {
  min-height: 8rem;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background-color: #ffffff;
  background-image: linear-gradient(45deg, #f7f3ee 25%, transparent 25%), linear-gradient(-45deg, #f7f3ee 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #f7f3ee 75%), linear-gradient(-45deg, transparent 75%, #f7f3ee 75%);
  background-position: 0 0, 0 0.5rem, 0.5rem -0.5rem, -0.5rem 0;
  background-size: 1rem 1rem;
}
.collection-cursor-editor__preview img {
  max-width: 8rem;
  max-height: 8rem;
  image-rendering: auto;
}
.collection-cursor-editor__preview > .material-symbols-outlined {
  color: #6e6360;
  font-size: 2.5rem;
}

.collection-background-editor {
  margin-top: 1.25rem;
  padding: 0.75rem;
  display: grid;
  gap: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #fffaf4;
}
.collection-background-editor__preview {
  position: relative;
  min-height: 13rem;
  padding: 1rem;
  overflow: hidden;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 0.35rem;
  border: 1px dashed rgba(255, 127, 110, 0.38);
  border-radius: 0.625rem;
  background: linear-gradient(145deg, #fff0e8, #ffffff);
  color: #ff7f6e;
  text-align: center;
}
.collection-background-editor__preview img {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.48;
}
.collection-background-editor__preview img[hidden] {
  display: none;
}
.collection-background-editor__preview .collection-background-video {
  opacity: 0.58;
}
.collection-background-editor__preview > span,
.collection-background-editor__preview > strong,
.collection-background-editor__preview > small {
  position: relative;
  z-index: 1;
}
.collection-background-editor__preview > span {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.88);
}
.collection-background-editor__preview > strong,
.collection-background-editor__preview > small {
  padding: 0.15rem 0.4rem;
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.84);
}
.collection-background-editor__preview > small {
  color: #6e6360;
  font-size: 0.75rem;
}
.collection-background-editor__controls {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .collection-background-video {
    display: none;
  }
}
.collection-background-opacity label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.collection-background-opacity output {
  color: #ff7f6e;
  font-weight: 900;
}
.collection-background-opacity input[type=range] {
  min-height: 2.75rem;
  padding: 0;
  accent-color: #ff7f6e;
}

.collection-color-control {
  min-width: 0;
  padding: 0.65rem 0.75rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.5rem 0.75rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.625rem;
  background: #fffaf4;
  font-size: 0.875rem;
  font-weight: 800;
}
.collection-color-control__value {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  justify-content: flex-end;
}
.collection-color-control__transparent {
  min-height: 2.75rem;
  grid-column: 1/-1;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #6e6360;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 800;
}
.collection-color-control__transparent input {
  width: 1rem;
  height: 1rem;
  padding: 0;
  border-radius: 0.3rem;
}
.collection-color-control.is-transparent {
  border-color: rgba(255, 127, 110, 0.35);
  background: linear-gradient(45deg, rgba(255, 127, 110, 0.08) 25%, transparent 25%) 0 0/0.75rem 0.75rem, linear-gradient(-45deg, rgba(255, 127, 110, 0.08) 25%, transparent 25%) 0 0/0.75rem 0.75rem, #fffaf4;
}
.collection-color-control__value input {
  width: 1.3rem;
  height: 1.3rem;
  min-height: 1.3rem;
  padding: 0;
  border-radius: 50%;
  overflow: hidden;
  cursor: pointer;
}
.collection-color-control__value input::-webkit-color-swatch-wrapper {
  padding: 0;
}
.collection-color-control__value input::-webkit-color-swatch {
  border: 0;
  border-radius: 50%;
}
.collection-color-control__value input::-moz-color-swatch {
  border: 0;
  border-radius: 50%;
}
.collection-color-control code {
  color: #6e6360;
  font-size: 0.75rem;
}

.collection-style-grid {
  margin-top: 1.25rem;
}

.collection-product-picker__search > span {
  position: relative;
  display: block;
}
.collection-product-picker__search > span > .material-symbols-outlined {
  position: absolute;
  top: 50%;
  left: 0.85rem;
  color: #6e6360;
  transform: translateY(-50%);
}
.collection-product-picker__search > span input {
  padding-left: 2.75rem;
}

.collection-product-list {
  max-height: 34rem;
  margin-top: 1rem;
  padding-right: 0.25rem;
  display: grid;
  gap: 0.5rem;
  overflow-y: auto;
}

.collection-product-option {
  min-width: 0;
  padding: 0.65rem;
  display: grid;
  grid-template-columns: auto 3rem minmax(0, 1fr);
  align-items: center;
  gap: 0.65rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.625rem;
  background: #ffffff;
  cursor: pointer;
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), background 160ms cubic-bezier(0.2, 0, 0, 1);
}
@media (min-width: 36.25rem) {
  .collection-product-option {
    grid-template-columns: auto 3rem minmax(0, 1fr) 4.5rem;
  }
}
.collection-product-option.is-selected {
  border-color: rgba(255, 127, 110, 0.55);
  background: #fff0e8;
}
.collection-product-option[hidden] {
  display: none;
}
.collection-product-option > img {
  width: 3rem;
  height: 3rem;
  border-radius: 0.5rem;
  background: #fffaf4;
  -o-object-fit: cover;
     object-fit: cover;
}
.collection-product-option__details {
  min-width: 0;
}
.collection-product-option__details strong,
.collection-product-option__details small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.collection-product-option__details small {
  margin-top: 0.15rem;
  color: #6e6360;
  font-size: 0.75rem;
}
.collection-product-option__order {
  grid-column: 2/-1;
  display: grid;
  grid-template-columns: auto 4.5rem;
  align-items: center;
  justify-content: end;
  gap: 0.5rem;
}
@media (min-width: 36.25rem) {
  .collection-product-option__order {
    grid-column: auto;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.25rem;
  }
}
.collection-product-option__order small {
  display: block;
  color: #6e6360;
  font-size: 0.75rem;
  text-align: center;
}
.collection-product-option__order input {
  min-height: 2.75rem;
  padding: 0.25rem;
  text-align: center;
}

.collection-product-picker__empty {
  margin-top: 1rem;
  padding: 1rem;
  border-radius: 0.625rem;
  background: #fffaf4;
  font-size: 0.875rem;
  text-align: center;
}

.collection-live-preview {
  position: relative;
  min-height: 34rem;
  overflow: hidden;
  border: 0.5rem solid #343438;
  border-radius: 1.5rem;
  background: var(--collection-background);
  color: var(--collection-text);
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
}
.collection-live-preview::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 2.5rem 0 0;
  background-image: var(--collection-background-image);
  background-position: var(--collection-background-position);
  background-size: cover;
  opacity: var(--collection-image-opacity);
  pointer-events: none;
}
.collection-live-preview__bar {
  position: relative;
  z-index: 3;
  min-height: 2.5rem;
  padding: 0 0.85rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: color-mix(in srgb, var(--collection-surface) 90%, transparent);
}
.collection-live-preview__bar span {
  display: flex;
  gap: 0.25rem;
}
.collection-live-preview__bar i {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--collection-accent-secondary);
}
.collection-live-preview__bar i:nth-child(2) {
  background: var(--collection-accent);
}
.collection-live-preview__bar i:nth-child(3) {
  background: var(--collection-muted);
}
.collection-live-preview__bar small {
  color: var(--collection-muted);
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
}
.collection-live-preview__hero {
  position: relative;
  z-index: 2;
  min-height: 20rem;
  padding: 1.5rem;
  display: grid;
  align-items: center;
  gap: 1.25rem;
}
.collection-live-preview__hero h2 {
  margin-top: 0.55rem;
  color: var(--collection-text);
  font-size: clamp(2rem, 6vw, 3.25rem);
}
.collection-live-preview__hero p {
  margin-top: 0.65rem;
  color: var(--collection-muted);
  font-size: 0.875rem;
}
.collection-live-preview__hero button {
  margin-top: 1rem;
  padding: 0.7rem 1rem;
  border: 0;
  border-radius: 999px;
  background: var(--collection-accent);
  color: var(--collection-accent-contrast);
  font-size: 0.75rem;
  font-weight: 900;
}
.collection-live-preview__art {
  min-width: 0;
  min-height: 8rem;
  padding: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.collection-live-preview__art span {
  width: clamp(3.5rem, 9vw, 4.75rem);
  aspect-ratio: 1;
  border: 0.3rem solid color-mix(in srgb, var(--collection-surface) 88%, transparent);
  border-radius: 50%;
  box-shadow: 0 0.9rem 2rem color-mix(in srgb, var(--collection-text) 18%, transparent);
}
.collection-live-preview__art span + span {
  margin-left: -1rem;
}
.collection-live-preview__art span:nth-child(1) {
  z-index: 1;
  background: var(--collection-accent);
}
.collection-live-preview__art span:nth-child(2) {
  z-index: 2;
  background: var(--collection-accent-secondary);
}
.collection-live-preview__art span:nth-child(3) {
  z-index: 3;
  background: linear-gradient(145deg, var(--collection-surface) 48%, var(--collection-background));
}
.collection-live-preview__cards {
  position: relative;
  z-index: 2;
  padding: 1rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  background: var(--collection-catalog);
}
.collection-live-preview__cards article {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid color-mix(in srgb, var(--collection-text) 12%, transparent);
  border-radius: 0.625rem;
  background: var(--collection-card);
}
.collection-live-preview__cards article > span {
  height: 4.5rem;
  display: block;
  border-radius: 0.5rem;
  background: linear-gradient(145deg, color-mix(in srgb, var(--collection-accent) 72%, white), color-mix(in srgb, var(--collection-accent-secondary) 65%, white));
}
.collection-live-preview__cards strong,
.collection-live-preview__cards small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.collection-live-preview__cards strong {
  margin-top: 0.5rem;
  font-size: 0.75rem;
}
.collection-live-preview__cards small {
  margin-top: 0.15rem;
  color: var(--collection-muted);
  font-size: 0.5625rem;
}

.collection-live-preview.collection-hero--centered .collection-live-preview__hero {
  text-align: center;
}

.collection-live-preview.collection-hero--immersive .collection-live-preview__hero {
  min-height: 24rem;
  align-content: end;
  background: linear-gradient(to top, color-mix(in srgb, var(--collection-background) 96%, transparent), transparent);
}
.collection-live-preview.collection-hero--immersive .collection-live-preview__hero > div:first-child {
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--collection-text) 12%, transparent);
  border-radius: 1rem;
  background: var(--collection-hero-copy);
  backdrop-filter: blur(1rem);
}
.collection-live-preview.collection-hero--immersive .collection-live-preview__hero > div:first-child.is-transparent {
  padding: 0;
  border: 0;
  border-radius: 0;
  backdrop-filter: none;
}

.collection-live-preview.collection-card-style--glass article {
  background: color-mix(in srgb, var(--collection-card) 74%, transparent);
  backdrop-filter: blur(1rem);
}

.collection-live-preview.collection-card-style--outline article {
  background: transparent;
  border-color: color-mix(in srgb, var(--collection-accent) 45%, transparent);
}

.collection-live-preview.collection-density--compact .collection-live-preview__hero {
  min-height: 17rem;
  padding: 1rem;
}
.collection-live-preview.collection-density--compact .collection-live-preview__cards {
  gap: 0.4rem;
}

.collections-index-hero {
  position: relative;
  min-height: 24rem;
  padding: 6rem 0 4rem;
  display: grid;
  align-items: center;
  overflow: hidden;
  background: radial-gradient(ellipse at 50% 8%, rgba(255, 250, 244, 0.8), transparent 64%), radial-gradient(ellipse at 100% 65%, rgba(233, 163, 183, 0.95), transparent 65%), radial-gradient(ellipse at 0% 100%, rgba(167, 217, 214, 0.7), transparent 55%), #dcc6f4;
}
.collections-index-hero .eyebrow, .collections-index-hero p {
  color: #343438;
}
.collections-index-hero .container {
  position: relative;
  z-index: 9;
  text-align: center;
}
.collections-index-hero h1 {
  max-width: 48rem;
  margin: 0.75rem auto 0;
  font-size: clamp(2.25rem, 5vw, 4.25rem);
}
.collections-index-hero p {
  max-width: 42rem;
  margin: 1rem auto 0;
  font-size: clamp(1rem, 2vw, 1.2rem);
}
.collections-index-hero__orb {
  position: absolute;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(1rem);
}
.collections-index-hero__orb--one {
  top: -5rem;
  left: -4rem;
  width: 14rem;
  height: 14rem;
}
.collections-index-hero__orb--two {
  right: -7rem;
  bottom: -8rem;
  width: 20rem;
  height: 20rem;
}

.collection-discovery-grid {
  display: grid;
  gap: 1.25rem;
}
@media (min-width: 51.25rem) {
  .collection-discovery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.collection-discovery-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--collection-text) 12%, transparent);
  border-radius: 1rem;
  background: var(--collection-card);
  color: var(--collection-text);
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1);
}
.collection-discovery-card:hover {
  transform: translateY(-0.25rem);
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
}
.collection-discovery-card__visual {
  position: relative;
  min-height: 16rem;
  padding: 1.25rem;
  display: flex;
  align-items: flex-start;
  background: var(--collection-background);
}
.collection-discovery-card__visual::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background-image: var(--collection-background-image);
  background-position: var(--collection-background-position);
  background-size: cover;
  opacity: var(--collection-image-opacity);
  pointer-events: none;
}
.collection-discovery-card__visual::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(to top, color-mix(in srgb, var(--collection-background) 42%, transparent), transparent 70%);
  pointer-events: none;
}
.collection-discovery-card__visual > .eyebrow {
  position: relative;
  z-index: 3;
  color: var(--collection-accent);
}
.collection-discovery-card__art {
  position: absolute;
  z-index: 2;
  right: 1.25rem;
  bottom: 1.25rem;
  left: 1.25rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: clamp(0.35rem, 2vw, 0.8rem);
}
.collection-discovery-card__art > a {
  position: relative;
  width: min(30%, 8.5rem);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--collection-text) 16%, transparent);
  border-radius: 1.2rem;
  background: var(--collection-card);
  box-shadow: 0 1.25rem 2.75rem color-mix(in srgb, var(--collection-text) 18%, transparent);
  transform: translateY(0.2rem) rotate(-5deg);
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1);
}
.collection-discovery-card__art > a:nth-child(2) {
  z-index: 2;
  width: min(34%, 9.25rem);
  transform: translateY(-0.65rem);
}
.collection-discovery-card__art > a:nth-child(3) {
  transform: translateY(0.2rem) rotate(5deg);
}
.collection-discovery-card__art > a:hover, .collection-discovery-card__art > a:focus-visible {
  z-index: 3;
  box-shadow: 0 1.6rem 3.5rem color-mix(in srgb, var(--collection-accent) 28%, transparent);
  transform: translateY(-1rem) rotate(0);
}
.collection-discovery-card__art img {
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  background: var(--collection-surface);
}
.collection-discovery-card__art > a > span {
  padding: 0.55rem 0.65rem;
  display: block;
  overflow: hidden;
  color: var(--collection-text);
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.collection-discovery-card__art-empty {
  min-height: 8.5rem;
  width: min(100%, 18rem);
  display: grid;
  place-items: center;
  align-content: center;
  gap: 0.45rem;
  border: 1px dashed color-mix(in srgb, var(--collection-accent) 45%, transparent);
  border-radius: 1.25rem;
  background: color-mix(in srgb, var(--collection-surface) 78%, transparent);
  color: var(--collection-accent);
  backdrop-filter: blur(0.75rem);
}
.collection-discovery-card__art-empty small {
  color: var(--collection-muted);
  font-weight: 800;
}
.collection-discovery-card__body {
  padding: 1.25rem;
}
.collection-discovery-card__body h2 {
  font-size: clamp(1.75rem, 4vw, 2.4rem);
}
.collection-discovery-card__body p {
  margin-top: 0.65rem;
  color: var(--collection-muted);
}
.collection-discovery-card__meta {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  color: var(--collection-muted);
  font-size: 0.75rem;
}
.collection-discovery-card__meta strong {
  color: var(--collection-text);
}
.collection-discovery-card__sold-out {
  position: relative;
  margin-top: 1rem;
  padding: 0.8rem 2.25rem 0.8rem 0.8rem;
  overflow: hidden;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.7rem;
  border: 1px dashed color-mix(in srgb, var(--collection-accent) 46%, transparent);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--collection-accent-secondary) 18%, var(--collection-surface));
  color: var(--collection-text);
}
.collection-discovery-card__sold-out::after {
  content: "✦";
  position: absolute;
  top: -0.3rem;
  right: 0.55rem;
  color: var(--collection-accent);
  font-size: 1.6rem;
  transform: rotate(12deg);
}
.collection-discovery-card__sold-out > .material-symbols-outlined {
  width: 2.35rem;
  height: 2.35rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--collection-accent);
  color: var(--collection-accent-contrast);
  font-size: 1.2rem;
  box-shadow: 0 0.65rem 1.4rem color-mix(in srgb, var(--collection-accent) 24%, transparent);
}
.collection-discovery-card__sold-out strong,
.collection-discovery-card__sold-out small {
  display: block;
}
.collection-discovery-card__sold-out strong {
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 0.9rem;
  line-height: 1.2;
}
.collection-discovery-card__sold-out small {
  margin-top: 0.2rem;
  color: var(--collection-muted);
  font-size: 0.65rem;
  line-height: 1.4;
}
.collection-discovery-card--sold-out .collection-discovery-card__art > a {
  filter: saturate(0.68);
}
.collection-discovery-card__link {
  margin-top: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--collection-accent);
  font-size: 0.875rem;
  font-weight: 900;
}
.collection-discovery-card__link .material-symbols-outlined {
  font-size: 1rem;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.collection-discovery-card:hover .collection-discovery-card__link .material-symbols-outlined {
  transform: translateX(0.2rem);
}
.collection-discovery-card.collection-card-style--glass {
  background: color-mix(in srgb, var(--collection-card) 78%, transparent);
  backdrop-filter: blur(1.25rem);
}
.collection-discovery-card.collection-card-style--outline {
  background: transparent;
  border-color: color-mix(in srgb, var(--collection-accent) 42%, transparent);
  box-shadow: none;
}

.collection-page {
  --collection-hero-catalog-overlap: clamp(1.5rem, 4vw, 3rem);
  --collection-wave-height: clamp(4.75rem, 9vw, 8.75rem);
  position: relative;
  min-height: 100vh;
  background: var(--collection-background);
  color: var(--collection-text);
}
.collection-page .eyebrow {
  color: var(--collection-accent);
}

.collection-public-hero {
  --collection-parallax-background-y: 0px;
  --collection-parallax-content-y: 0px;
  position: relative;
  min-height: 38rem;
  overflow: hidden;
}
.collection-public-hero::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background-image: var(--collection-background-image);
  background-position: var(--collection-background-position);
  background-size: cover;
  opacity: var(--collection-image-opacity);
  pointer-events: none;
  transform: translate3d(0, var(--collection-parallax-background-y), 0) scale(1.08);
  transform-origin: center;
}
.collection-public-hero__inner {
  position: relative;
  z-index: 2;
  min-height: 38rem;
  padding-top: 4rem;
  padding-bottom: calc(4rem + var(--collection-wave-height));
  display: grid;
  align-items: center;
  gap: 2.5rem;
  transform: translate3d(0, var(--collection-parallax-content-y), 0);
}
.collection-public-hero__copy {
  max-width: 44rem;
  background: var(--collection-hero-copy);
}
.collection-public-hero__copy h1 {
  margin-top: 0.75rem;
  color: var(--collection-text);
  font-size: clamp(2.25rem, 5vw, 4.25rem);
}
.collection-public-hero__copy > p {
  max-width: 40rem;
  margin-top: 1rem;
  color: var(--collection-muted);
  font-size: clamp(1rem, 2vw, 1.2rem);
}
.collection-public-hero__meta {
  margin-bottom: 1rem;
  display: grid;
  justify-items: start;
  gap: 0.75rem;
}
.collection-public-hero__back {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--collection-muted);
  font-size: 0.75rem;
  font-weight: 800;
}
.collection-public-hero__actions {
  margin-top: 1.5rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.85rem;
}
.collection-public-hero__followers {
  color: var(--collection-muted);
  font-size: 0.875rem;
}
.collection-public-hero__followers strong {
  color: var(--collection-text);
}

.collection-public-hero.is-parallax-ready {
  transform: translateY(var(--collection-parallax-y, 0px));
  z-index: 0;
}

.section-wave--collection {
  --wave-height: var(--collection-wave-height);
  margin-top: calc(-1 * var(--wave-height));
  background: transparent;
}
.section-wave--collection .section-wave__shape {
  fill: var(--collection-catalog);
}

.collection-hero--centered .collection-public-hero__inner {
  justify-items: center;
  grid-template-columns: 1fr;
  text-align: center;
}
.collection-hero--centered .collection-public-hero__copy > p {
  margin-inline: auto;
}
.collection-hero--centered .collection-public-hero__actions {
  justify-content: center;
}
.collection-hero--centered .collection-public-hero__meta {
  justify-items: center;
}

.collection-hero--immersive .collection-public-hero {
  min-height: 46rem;
}
.collection-hero--immersive .collection-public-hero__inner {
  min-height: 46rem;
  align-items: end;
}
.collection-hero--immersive .collection-public-hero__copy {
  padding: 2rem;
  border: 1px solid color-mix(in srgb, var(--collection-text) 12%, transparent);
  border-radius: 2rem;
  backdrop-filter: blur(1.5rem);
}
.collection-hero--immersive .collection-public-hero__copy.is-transparent {
  padding: 0;
  border: 0;
  border-radius: 0;
  backdrop-filter: none;
}

@media (max-width: 36.24rem) {
  .collection-public-hero__inner {
    padding-top: 2.5rem;
    padding-bottom: calc(2.5rem + var(--collection-wave-height));
  }
  .collection-hero--immersive .collection-public-hero,
  .collection-hero--immersive .collection-public-hero__inner {
    min-height: 40rem;
  }
  .collection-hero--immersive .collection-public-hero__copy {
    padding: 1.25rem;
    border-radius: 1.5rem;
  }
}
.collection-follow-button {
  min-height: 3rem;
  padding: 0 1.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: 1px solid var(--collection-accent);
  border-radius: 0.625rem;
  background: var(--collection-accent);
  color: var(--collection-accent-contrast);
  font-size: 0.875rem;
  font-weight: 900;
  cursor: pointer;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1);
}
.collection-follow-button:hover {
  transform: translateY(-0.125rem);
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
}
.collection-follow-button.is-following {
  background: transparent;
  color: var(--collection-accent);
}
.collection-follow-button--share {
  border-radius: 999px;
}

.collection-catalog-section {
  position: relative;
  z-index: 3;
  margin-top: 0;
  padding: clamp(2.5rem, 5vw, 4rem) 0 6rem;
  overflow: hidden;
  /*background:
    linear-gradient(
      to bottom,
      color-mix(in srgb, var(--collection-text) 10%, transparent),
      transparent 1.65rem
    ),
    var(--collection-catalog);*/
  background: var(--collection-catalog);
}

.collection-catalog-heading {
  margin-bottom: 1.5rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
.collection-catalog-heading h2 {
  margin-top: 0.4rem;
  color: var(--collection-text);
  font-size: clamp(2.2rem, 6vw, 3.75rem);
}
.collection-catalog-heading p {
  color: var(--collection-muted);
}
.collection-catalog-heading p strong {
  color: var(--collection-text);
}

.collection-page .product-card {
  border-color: color-mix(in srgb, var(--collection-text) 12%, transparent);
  background: var(--collection-card);
  color: var(--collection-text);
}
.collection-page .product-card .product-card__body,
.collection-page .product-card h3 a,
.collection-page .product-card .product-card__footer strong {
  color: var(--collection-text);
}
.collection-page .product-card .product-card__meta,
.collection-page .product-card .product-card__meta a,
.collection-page .product-card .product-card__footer small {
  color: var(--collection-muted);
}
.collection-page .product-card .product-card__link {
  background: var(--collection-accent);
  color: var(--collection-accent-contrast);
}

.collection-page.collection-card-style--glass .product-card {
  background: color-mix(in srgb, var(--collection-card) 76%, transparent);
  backdrop-filter: blur(1.25rem);
}

.collection-page.collection-card-style--outline .product-card {
  background: transparent;
  border-color: color-mix(in srgb, var(--collection-accent) 38%, transparent);
  box-shadow: none;
}

.collection-page.collection-density--compact .collection-product-grid {
  gap: 0.75rem;
}
@media (min-width: 65rem) {
  .collection-page.collection-density--compact .collection-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.collection-empty {
  min-height: 18rem;
  padding: 2rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 0.5rem;
  border: 1px dashed color-mix(in srgb, var(--collection-accent) 38%, transparent);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--collection-card) 65%, transparent);
  text-align: center;
}
.collection-empty .material-symbols-outlined {
  color: var(--collection-accent);
  font-size: 2rem;
}
.collection-empty h2 {
  color: var(--collection-text);
}
.collection-empty p {
  color: var(--collection-muted);
}

.collection-pagination {
  margin-top: 2rem;
}
.collection-pagination a {
  border-color: color-mix(in srgb, var(--collection-text) 15%, transparent);
  background: var(--collection-card);
  color: var(--collection-text);
}
.collection-pagination a[aria-current=page] {
  background: var(--collection-accent);
  color: var(--collection-accent-contrast);
}

.account-collection-list {
  display: grid;
  gap: 1rem;
}

.account-collection-item {
  position: relative;
  overflow: hidden;
  display: grid;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 65rem) {
  .account-collection-item {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}
.account-collection-item__accent {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0.35rem;
  background: #ff7f6e;
}
.account-collection-item h2 {
  margin-top: 0.3rem;
  font-size: 1.5rem;
}
.account-collection-item p {
  margin-top: 0.5rem;
}
.account-collection-item small {
  margin-top: 0.65rem;
  display: block;
  color: #6e6360;
}
.account-collection-item__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

@media (prefers-reduced-motion: reduce) {
  .collection-effect--aurora span,
  [data-collection-preset=gta_6] .collection-effect span,
  .collection-discovery-card,
  .collection-follow-button {
    animation: none;
    transition: none;
  }
  .collection-public-hero.is-parallax-ready,
  .collection-public-hero::before,
  .collection-public-hero__inner {
    transform: none;
    will-change: auto;
  }
}
.partners-intro {
  background: radial-gradient(ellipse at 12% 12%, rgba(232, 245, 244, 0.95), transparent 62%), radial-gradient(ellipse at 95% 0%, rgba(255, 196, 157, 0.65), transparent 52%), radial-gradient(ellipse at 90% 100%, rgba(220, 198, 244, 0.85), transparent 60%), #a7d9d6;
  padding-bottom: clamp(7rem, 10vw, 8.5rem);
}
.partners-intro .eyebrow, .partners-intro p {
  color: #343438;
}
.partners-intro .btn:focus-visible {
  outline: 2px solid #343438;
  outline-offset: 3px;
}

.partners-intro .section-heading {
  margin-bottom: 0;
  align-items: flex-start;
  flex-direction: column;
}

.partners-intro .section-heading > div:first-child {
  max-width: 46rem;
}

.partners-intro h1 {
  margin-top: 0.8rem;
  font-size: clamp(2.25rem, 5vw, 4.25rem);
}

.partners-intro p {
  margin-top: 1rem;
  font-size: clamp(1rem, 2vw, 1.2rem);
}

.partners-intro__actions {
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  flex: 0 0 auto;
}

.partners-hero {
  display: none;
}

.partners-hero .system-brand-waves {
  top: 3rem;
  right: -3rem;
  display: block;
  visibility: visible;
  opacity: 0.78;
}

.partners-hero .brand-support-shapes {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.45;
}

.partners-hero__inner {
  position: relative;
  z-index: 9;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.7fr);
  align-items: center;
  gap: clamp(2rem, 7vw, 6rem);
}

.partners-hero__copy {
  animation: partner-rise 0.7s ease both;
}

.partners-hero h1 {
  margin: 0.6rem 0 1.25rem;
  font-size: clamp(3.5rem, 8vw, 6.6rem);
}

.partners-hero h1 em {
  color: #ff7f6e;
  font-style: normal;
}

.partners-hero p {
  max-width: 43rem;
  font-size: clamp(1rem, 2vw, 1.2rem);
}

.partners-hero__visual {
  position: relative;
  width: min(100%, 25rem);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 46% 54% 58% 42%;
  background: #ffffff;
  box-shadow: 0 2rem 5rem rgba(52, 52, 56, 0.1);
  animation: partner-float 5s ease-in-out infinite;
}

.partners-hero__visual > span {
  color: #ff7f6e;
  font-size: clamp(7rem, 15vw, 12rem);
}

.partners-hero__visual i {
  position: absolute;
  width: 2.5rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #a7d9d6;
}

.partners-hero__visual i:nth-of-type(1) {
  top: 5%;
  left: 4%;
}

.partners-hero__visual i:nth-of-type(2) {
  right: -4%;
  bottom: 18%;
  background: #ffc49d;
  width: 4rem;
}

.partners-hero__visual i:nth-of-type(3) {
  bottom: -3%;
  left: 18%;
  background: #e9a3b7;
  width: 1.7rem;
}

.partners-benefits {
  position: relative;
  z-index: 9;
}

.partners-listing {
  background: #fffaf4;
}

.partners-listing__count {
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  background: #fff0e8;
  color: #ff7f6e;
  font-weight: 800;
}

.partner-filters {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: -0.5rem 0 2rem;
}

.partner-filters label {
  width: 100%;
  color: #343438;
  font-size: 0.86rem;
  font-weight: 800;
}

.partner-filters select {
  width: min(100%, 22rem);
}

.partner-filters .text-link {
  min-height: 2.75rem;
}

.partner-filters a,
.partner-tags span {
  flex: 0 0 auto;
  padding: 0.55rem 0.9rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.625rem;
  background: #ffffff;
  color: #6e6360;
  font-size: 0.86rem;
  font-weight: 700;
  transition: background 160ms cubic-bezier(0.2, 0, 0, 1), color 160ms cubic-bezier(0.2, 0, 0, 1), border-color 160ms cubic-bezier(0.2, 0, 0, 1);
}

.partner-filters a {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
}

.partner-filters a:hover,
.partner-filters a.is-active {
  border-color: #ff7f6e;
  background: #ff7f6e;
  color: #ffffff;
}

.partner-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
}
@media (min-width: 51.25rem) {
  .partner-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 65rem) {
  .partner-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.partner-card {
  --partner-accent: #ff7f6e;
  --partner-soft: #fff0e8;
  --partner-decor: #ffc49d;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  min-width: 0;
  min-height: 24rem;
  padding: 1.5rem;
  overflow: hidden;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: linear-gradient(145deg, #ffffff 18%, var(--partner-soft) 145%);
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  isolation: isolate;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1), border-color 160ms cubic-bezier(0.2, 0, 0, 1);
}

.partner-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: -3.75rem;
  bottom: -4.5rem;
  width: 11rem;
  aspect-ratio: 1;
  border-radius: 43% 57% 62% 38%;
  background: var(--partner-decor);
  opacity: 0.22;
  transform: rotate(-14deg);
  transition: transform 0.45s cubic-bezier(0.2, 0.75, 0.25, 1), opacity 0.3s ease;
}

.partner-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 1.25rem;
  right: 1.25rem;
  width: 2.2rem;
  aspect-ratio: 1;
  border: 0.42rem solid var(--partner-decor);
  border-radius: 50%;
  opacity: 0.3;
}

.partner-card:nth-child(3n+2) {
  --partner-accent: #20b89f;
  --partner-soft: #e8f5f4;
  --partner-decor: #a7d9d6;
}

.partner-card:nth-child(3n+3) {
  --partner-accent: #76509e;
  --partner-soft: #f2eafb;
  --partner-decor: #dcc6f4;
}

.partner-card:nth-child(6n+4) {
  --partner-accent: #f0a62b;
  --partner-soft: #fff0e8;
  --partner-decor: #ffc49d;
}

.partner-card:nth-child(6n+5) {
  --partner-accent: #9a4661;
  --partner-soft: #f9e7ec;
  --partner-decor: #e9a3b7;
}

.partner-card:nth-child(6n) {
  --partner-accent: #3498db;
  --partner-soft: #e8f5f4;
  --partner-decor: #a7d9d6;
}

.partner-card > * {
  position: relative;
  z-index: 1;
}

.partner-card:hover {
  border-color: color-mix(in srgb, var(--partner-accent) 35%, rgba(255, 127, 110, 0.18));
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
  transform: translateY(-0.125rem);
}

.partner-card:hover::before {
  opacity: 0.3;
  transform: translate(-0.5rem, -0.4rem) rotate(8deg) scale(1.08);
}

.partner-card__top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.partner-card__logo {
  width: 4.5rem;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 0.35rem solid rgba(255, 255, 255, 0.72);
  border-radius: 0.875rem;
  background: var(--partner-soft);
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  color: var(--partner-accent);
  font: 800 2rem "Nunito", "Nunito Rounded", sans-serif;
}

.partner-card__logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  background: #fff;
}

.partner-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.partner-card h3 {
  margin: 0.2rem 0;
  font-size: clamp(1.45rem, 2.5vw, 1.8rem);
}

.partner-card__body > .eyebrow {
  color: var(--partner-accent);
}

.partner-card__body > p:last-child {
  max-width: 29rem;
  font-size: 0.94rem;
  line-height: 1.65;
}

.partner-card__location {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0.25rem 0 0.7rem;
  font-size: 0.88rem;
}

.partner-card__location .material-symbols-outlined {
  color: var(--partner-accent);
  font-size: 1.1rem;
}

.partner-card__disclosure {
  padding: 0.4rem 0.65rem;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #6e6360;
  font-size: 0.75rem;
  font-weight: 700;
  white-space: nowrap;
}

.partner-card__disclosure .material-symbols-outlined {
  color: var(--partner-accent);
  font-size: 0.9rem;
}

.partner-card__link {
  min-height: 2.75rem;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  color: var(--partner-accent);
  font-size: 0.875rem;
  font-weight: 900;
}

.partner-card__link .material-symbols-outlined {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--partner-accent);
  color: #ffffff;
  font-size: 1.05rem;
  transition: transform 0.3s cubic-bezier(0.2, 0.75, 0.25, 1);
}

.partner-card__link:hover .material-symbols-outlined,
.partner-card__link:focus-visible .material-symbols-outlined {
  transform: translateX(0.125rem);
}

.partners-lead-section {
  background: #f7f3ee;
}

.partner-lead {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
}

.partner-lead__intro {
  position: sticky;
  top: 7rem;
}

.partner-lead__steps {
  display: grid;
  gap: 0.8rem;
  margin-top: 1.5rem;
}

.partner-lead__steps span {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 700;
}

.partner-lead__steps b {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ff7f6e;
  color: #ffffff;
}

.partner-lead__form {
  display: grid;
  gap: 1rem;
  padding: clamp(1.25rem, 4vw, 2rem);
}

.partners-faq {
  background: #fffaf4;
}

.partner-profile {
  position: relative;
  overflow: hidden;
  padding-bottom: clamp(7rem, 10vw, 9rem);
  background: #f7f3ee;
  isolation: isolate;
}

.partner-profile__decor {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  filter: blur(0.2px);
  opacity: 0.48;
  transform: translate3d(0, var(--system-sphere-y, 0), 0);
}

.partner-profile__decor--coral {
  top: 8rem;
  right: -7rem;
  width: 20rem;
  height: 20rem;
  background: color-mix(in srgb, var(--partner-theme-primary, #ff7f6e) 18%, #fff);
}

.partner-profile__decor--mint {
  bottom: 4rem;
  left: -8rem;
  width: 18rem;
  height: 18rem;
  background: color-mix(in srgb, var(--partner-theme-secondary, #ffc49d) 24%, #fff);
}

.partner-profile__sparkles {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
}

.partner-profile__sparkles span {
  position: absolute;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 0.22rem;
  background: var(--partner-theme-secondary, #ffc49d);
  opacity: 0.55;
  transform: rotate(45deg);
  animation: partner-sparkle 4.2s ease-in-out infinite;
}

.partner-profile__sparkles span:nth-child(1) {
  top: 15%;
  left: 7%;
}

.partner-profile__sparkles span:nth-child(2) {
  top: 29%;
  right: 9%;
  width: 0.5rem;
  height: 0.5rem;
  animation-delay: -1.1s;
}

.partner-profile__sparkles span:nth-child(3) {
  top: 58%;
  left: 5%;
  width: 1rem;
  height: 1rem;
  animation-delay: -2.4s;
}

.partner-profile__sparkles span:nth-child(4) {
  right: 6%;
  bottom: 12%;
  animation-delay: -3.2s;
}

@keyframes partner-sparkle {
  0%, 100% {
    opacity: 0.22;
    transform: translateY(0) rotate(45deg) scale(0.75);
  }
  50% {
    opacity: 0.75;
    transform: translateY(-0.8rem) rotate(135deg) scale(1.08);
  }
}
.partner-profile__back {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 1.5rem;
}

.partner-profile__back .material-symbols-outlined {
  font-size: 1.1rem;
  transition: transform 0.2s ease;
}

.partner-profile__back:hover .material-symbols-outlined {
  transform: translateX(-0.2rem);
}

.partner-profile__experience {
  position: relative;
  max-width: 70rem;
  margin: 0 auto;
  animation: partner-rise 0.7s ease both;
}

.partner-profile__hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(9rem, 13rem) minmax(0, 1fr);
  align-items: center;
  gap: clamp(1.75rem, 5vw, 4rem);
  padding: clamp(1.5rem, 5vw, 3.5rem);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--partner-theme-primary, #ff7f6e) 28%, transparent);
  border-radius: 1.5rem;
  background: linear-gradient(135deg, #ffffff 15%, color-mix(in srgb, var(--partner-theme-primary, #ff7f6e) 15%, #fff) 118%);
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
}

.partner-profile__hero::before,
.partner-profile__hero::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.partner-profile__hero::before {
  right: -4rem;
  bottom: -7rem;
  width: 18rem;
  aspect-ratio: 1;
  border-radius: 45% 55% 62% 38%;
  background: var(--partner-theme-secondary, #ffc49d);
  opacity: 0.22;
  transform: rotate(-12deg);
}

.partner-profile__hero::after {
  top: 2rem;
  right: 2rem;
  width: 2.5rem;
  aspect-ratio: 1;
  border: 0.48rem solid var(--partner-theme-primary, #ff7f6e);
  border-radius: 50%;
  opacity: 0.18;
}

.partner-profile__identity,
.partner-profile__intro {
  position: relative;
  z-index: 1;
}

.partner-profile__identity {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1rem;
  text-align: center;
}

.partner-profile__logo {
  width: 11.5rem;
  height: 11.5rem;
  -o-object-fit: contain;
     object-fit: contain;
  border: 0.65rem solid rgba(255, 255, 255, 0.82);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
}

.partner-profile__logo--initial {
  display: grid;
  place-items: center;
  color: var(--partner-theme-primary, #ff7f6e);
  font: 900 4rem "Nunito", sans-serif;
}

.partner-profile__partnership {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #6e6360;
  font-weight: 700;
}

.partner-profile__partnership .material-symbols-outlined {
  color: var(--partner-theme-primary, #ff7f6e);
  font-size: 1rem;
}

.partner-profile__intro h1 {
  max-width: 43rem;
  margin: 0.45rem 0 0.65rem;
  font-size: clamp(2.25rem, 5vw, 4.25rem);
  line-height: 0.98;
}

.partner-profile__lead {
  max-width: 42rem;
  color: #6e6360;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  line-height: 1.65;
}

.partner-profile__location {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 1rem;
  color: #343438;
  font-size: 0.9rem;
  font-weight: 700;
}

.partner-profile__location .material-symbols-outlined {
  color: var(--partner-theme-primary, #ff7f6e);
  font-size: 1.1rem;
}

.partner-profile__share {
  display: grid;
  justify-items: start;
  gap: 0.65rem;
  margin-top: 1.25rem;
}

.partner-profile__share > span {
  display: block;
  color: #6e6360;
  font-size: 0.72rem;
  font-weight: 700;
}

.partner-profile__share > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.partner-profile__share a,
.partner-profile__share button {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--partner-theme-primary, #ff7f6e) 22%, transparent);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.82);
  color: var(--partner-theme-primary, #ff7f6e);
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  transition: transform 0.22s ease, background 0.22s ease, color 0.22s ease;
}

.partner-profile__share a:hover,
.partner-profile__share a:focus-visible,
.partner-profile__share button:hover,
.partner-profile__share button:focus-visible {
  background: var(--partner-theme-primary, #ff7f6e);
  color: #fff;
  transform: translateY(-0.0625rem);
}

.partner-profile__share .material-symbols-outlined {
  font-size: 1.1rem;
}

.partner-profile__share > small {
  min-height: 1em;
  color: #20b89f;
  font-size: 0.68rem;
}

.partner-profile__body {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(20rem, 0.88fr);
  gap: 1rem;
  margin-top: 1rem;
}

.partner-profile__about,
.partner-profile__connect {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(52, 52, 56, 0.08);
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
}

.partner-profile__about {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border-radius: 1rem;
  background: linear-gradient(145deg, #ffffff 30%, #e8f5f4 150%);
}

.partner-profile__section-icon {
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border-radius: 0.625rem;
  background: #e8f5f4;
  color: #20b89f;
}

.partner-profile__about h2,
.partner-profile__connect h2 {
  margin: 0.35rem 0 0.7rem;
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  line-height: 1.08;
}

.partner-profile__description {
  color: #6e6360;
  font-size: 1rem;
  line-height: 1.75;
}

.partner-profile__specialties {
  margin-top: 1.35rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(32, 184, 159, 0.18);
}

.partner-profile__connect {
  padding: clamp(1.5rem, 4vw, 2.25rem);
  border-radius: 1rem;
  background: #ffffff;
}

.partner-profile__connect-heading > p {
  color: #6e6360;
  line-height: 1.6;
}

.partner-profile__links {
  display: grid;
  gap: 0.75rem;
  margin-top: 1.4rem;
}

.partner-profile__link {
  --profile-link-color: var(--partner-theme-primary, #ff7f6e);
  --profile-link-soft: color-mix(in srgb, var(--partner-theme-primary, #ff7f6e) 14%, #fff);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.85rem;
  min-height: 4.75rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid rgba(52, 52, 56, 0.08);
  border-radius: 0.625rem;
  background: linear-gradient(105deg, var(--profile-link-soft), #ffffff 68%);
  color: #343438;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  transition: transform 0.25s cubic-bezier(0.2, 0.75, 0.25, 1), box-shadow 0.25s ease, border-color 0.25s ease;
}

.partner-profile__link--instagram {
  --profile-link-color: #b65d79;
  --profile-link-soft: #f9e7ec ;
}

.partner-profile__link--whatsapp {
  --profile-link-color: #20b89f;
  --profile-link-soft: #e8f5f4 ;
}

.partner-profile__link--facebook {
  --profile-link-color: #5677b7;
  --profile-link-soft: #edf2fb ;
}

.partner-profile__link--tiktok {
  --profile-link-color: #343438;
  --profile-link-soft: #f1f1f3 ;
}

.partner-profile__link--pinterest {
  --profile-link-color: #c95d68;
  --profile-link-soft: #fbeaec ;
}

.partner-profile__link--youtube {
  --profile-link-color: #e05b55;
  --profile-link-soft: #fff0ec ;
}

.partner-profile__link:hover,
.partner-profile__link:focus-visible {
  border-color: var(--profile-link-color);
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  transform: translateX(0.125rem);
}

.partner-profile__link-icon {
  width: 2.85rem;
  height: 2.85rem;
  display: grid;
  place-items: center;
  border-radius: 1rem;
  background: var(--profile-link-color);
  color: #fff;
}

.partner-profile__link > span:nth-child(2) {
  min-width: 0;
  overflow-wrap: anywhere;
  display: grid;
  gap: 0.15rem;
}

.partner-profile__link small {
  color: #6e6360;
  font-size: 0.72rem;
  line-height: 1.35;
}

.partner-profile__link > .material-symbols-outlined:last-child {
  color: var(--profile-link-color);
  font-size: 1.15rem;
  transition: transform 0.25s ease;
}

.partner-profile__link:hover > .material-symbols-outlined:last-child,
.partner-profile__link:focus-visible > .material-symbols-outlined:last-child {
  transform: translate(0.15rem, -0.15rem);
}

.partner-profile__independent {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  margin-top: 1.25rem;
  color: #6e6360;
  font-size: 0.7rem;
  line-height: 1.5;
}

.partner-profile__independent .material-symbols-outlined {
  color: #20b89f;
  font-size: 1rem;
}

.partner-profile__no-links {
  padding: 1rem;
  border-radius: 1rem;
  background: #fff0e8;
  color: #6e6360;
}

.partner-related-products {
  background: #fffaf4;
}

.partner-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 1rem 0;
}

.partner-grid--product {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 1.25rem 0 2.75rem;
  scroll-padding-inline: 0;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
}

.partner-grid--product::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
  background: transparent;
}

.partner-grid--product::-webkit-scrollbar-track,
.partner-grid--product::-webkit-scrollbar-thumb,
.partner-grid--product::-webkit-scrollbar-button {
  display: none;
  background: transparent;
}

.partner-grid--product .partner-card {
  flex: 0 0 100%;
  min-height: 21rem;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.product-partner-teaser {
  margin-top: 1.25rem;
  padding: 0.9rem 1rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.9rem;
  overflow: hidden;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(255, 127, 110, 0.09), rgba(167, 217, 214, 0.2));
  color: #343438;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1), border-color 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1);
}

.product-partner-teaser:hover,
.product-partner-teaser:focus-visible {
  border-color: rgba(255, 127, 110, 0.42);
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
  transform: translateY(-0.125rem);
}

.product-partner-teaser:focus-visible {
  outline: 0.2rem solid rgba(255, 127, 110, 0.32);
  outline-offset: 0.2rem;
}

.product-partner-teaser__logos {
  display: flex;
  align-items: center;
  padding-left: 0.35rem;
}

.product-partner-teaser__logos i {
  width: 2.5rem;
  height: 2.5rem;
  margin-left: -0.35rem;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 0.18rem solid #ffffff;
  border-radius: 50%;
  background: #fff0e8;
  color: #ff7f6e;
  font-size: 0.8rem;
  font-style: normal;
  font-weight: 900;
}

.product-partner-teaser__logos img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.product-partner-teaser__copy {
  min-width: 0;
  display: grid;
  gap: 0.15rem;
}

.product-partner-teaser__copy small {
  color: #6e6360;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.35;
}

.product-partner-teaser__copy strong {
  color: #343438;
  font-size: 0.9rem;
  line-height: 1.35;
}

.product-partner-teaser > .material-symbols-outlined {
  width: 2.25rem;
  height: 2.25rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
  color: #ff7f6e;
  font-size: 1.15rem;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1);
}

.product-partner-teaser:hover > .material-symbols-outlined,
.product-partner-teaser:focus-visible > .material-symbols-outlined {
  transform: translateY(0.18rem);
}

@media (max-width: 36.24rem) {
  .partner-profile__about {
    grid-template-columns: minmax(0, 1fr);
  }
  .product-partner-teaser {
    padding: 0.85rem;
    gap: 0.7rem;
  }
  .product-partner-teaser__logos i {
    width: 2.2rem;
    height: 2.2rem;
  }
  .product-partner-teaser__copy strong {
    font-size: 0.82rem;
  }
}
.product-partners {
  --wave-height: clamp(4.75rem, 9vw, 8.75rem);
  position: relative;
  overflow: hidden;
  margin-top: calc(-1 * var(--wave-height));
  padding: calc(clamp(3.5rem, 6vw, 5.5rem) + var(--wave-height)) 0 clamp(3.5rem, 6vw, 5.5rem);
  background: #fff0e8;
  isolation: isolate;
}

.product-partners:has(+ .section-wave--product-related) {
  padding-bottom: calc(clamp(3.5rem, 6vw, 5.5rem) + var(--wave-height));
}

body:has(.product-partners) .mascot-peek {
  z-index: 0;
  opacity: 0.62;
}

.product-partners::before,
.product-partners::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
}

.product-partners::before {
  top: -8rem;
  right: -6rem;
  width: 22rem;
  height: 22rem;
  border: 2.5rem solid rgba(233, 163, 183, 0.18);
}

.product-partners::after {
  bottom: -8rem;
  left: -5rem;
  width: 17rem;
  height: 17rem;
  background: rgba(167, 217, 214, 0.2);
}

.product-partners__heading {
  position: relative;
  z-index: 1;
  margin-bottom: clamp(2rem, 4vw, 3rem);
  align-items: flex-end;
}

.product-partners__heading > div {
  max-width: 45rem;
}

.product-partners__heading h2 {
  margin-top: 0.55rem;
  font-size: clamp(2.25rem, 5vw, 3.65rem);
}

.product-partners__heading p {
  max-width: 42rem;
  margin-top: 0.75rem;
  font-size: 1rem;
}

.product-partners__heading .text-link {
  flex: 0 0 auto;
}

.product-partners__mobile-hint {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  color: #6e6360;
  font-size: 0.875rem;
}

.product-partners__carousel-bar {
  margin: -1.25rem 0 0.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.product-partners__controls {
  flex: 0 0 auto;
  margin-top: 0;
}

.product-partners__mobile-hint .material-symbols-outlined {
  color: #ff7f6e;
  font-size: 1.15rem;
}

.admin-stats--partners {
  margin-bottom: 1.5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-partner-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18rem;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}

.admin-partner-main {
  min-width: 0;
}

.admin-partner-guide ol {
  display: grid;
  gap: 1rem;
  list-style: none;
}

.admin-partner-guide__pricing {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
  min-width: 0;
}
.admin-partner-guide__pricing > p {
  margin-top: 1rem;
  color: #6e6360;
  font-size: 0.875rem;
  line-height: 1.6;
}

.admin-partner-guide li {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}

.admin-partner-guide li > span {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 0.7rem;
  background: #fff0e8;
  color: #ff7f6e;
  font-weight: 900;
}

.admin-partner-guide li div {
  display: grid;
}

.admin-partner-guide small {
  color: #6e6360;
}

.admin-partner-services {
  max-width: 20rem;
}

.admin-taxonomy-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.admin-taxonomy-form {
  display: grid;
  gap: 0.8rem;
  margin-top: 1.25rem;
}

.admin-form {
  display: grid;
  gap: 1rem;
}

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

.partner-taxonomies fieldset,
.partner-taxonomies > div {
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
}

.check-row,
.field label.check-row {
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  gap: 0.5rem;
}

.partner-contracts {
  margin-bottom: 1.25rem;
}

.partner-admin-form .admin-form-section + .admin-form-section {
  padding-top: clamp(1.25rem, 3vw, 2rem);
  border-top: 0;
}

.partner-contracts > .admin-form {
  padding: 0 1.5rem 1.5rem;
}

.partner-contracts > .table-wrap {
  border-top: 1px solid rgba(255, 127, 110, 0.18);
}

.partners-empty {
  display: grid;
  justify-items: center;
  gap: 0.5rem;
  padding: 4rem 1rem;
  border: 1px dashed rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #ffffff;
  text-align: center;
}

.partners-empty > span {
  font-size: 2rem;
  color: #ff7f6e;
}

.partners-empty strong {
  font-size: 1.05rem;
}

.partners-cta {
  padding: 1.5rem 0 8.5rem;
  background: #f7f3ee;
}

.partners-cta__card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1.5rem;
  background: #fff0e8;
}

.partners-cta__card h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin: 0.3rem 0;
}

.partners-cta__card p {
  max-width: 42rem;
}

.partner-interest {
  min-height: 70vh;
  background: #f7f3ee;
}

.partner-interest__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
  gap: clamp(2rem, 7vw, 6rem);
  align-items: start;
  margin-top: 2rem;
}

.partner-interest h1 {
  margin: 0.5rem 0 1rem;
}

.partner-interest h1 em {
  color: #ff7f6e;
  font-style: normal;
}

@keyframes partner-rise {
  from {
    opacity: 0;
    transform: translateY(1.5rem);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes partner-float {
  50% {
    transform: translateY(-0.75rem) rotate(1deg);
  }
}
@media (max-width: 64.999rem) {
  .admin-partner-grid {
    grid-template-columns: 1fr;
  }
  .admin-taxonomy-grid {
    grid-template-columns: 1fr;
  }
  .admin-stats--partners {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 51.249rem) {
  .partners-intro__actions {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }
  .partner-lead,
  .partner-interest__grid,
  .partner-profile__hero,
  .partner-profile__body {
    grid-template-columns: 1fr;
  }
  .partner-profile__hero {
    text-align: center;
  }
  .partner-profile__intro h1,
  .partner-profile__lead {
    margin-right: auto;
    margin-left: auto;
  }
  .partner-lead__intro {
    position: static;
  }
  .partner-grid--product {
    display: flex;
  }
  .partner-taxonomies {
    grid-template-columns: 1fr;
  }
  .partner-profile__logo {
    width: 8rem;
    height: 8rem;
  }
  .partner-profile__location {
    justify-content: center;
  }
  .admin-stats--partners {
    grid-template-columns: 1fr;
  }
  .partners-cta__card {
    align-items: flex-start;
    flex-direction: column;
  }
  .product-partners__heading {
    align-items: flex-start;
  }
}
.partner-taxonomies fieldset {
  display: grid;
  align-content: start;
  gap: 0.75rem;
}

.partner-taxonomies legend {
  margin-bottom: 0.25rem;
  font-weight: 800;
}

.partner-taxonomies .switch-field {
  justify-content: space-between;
}

.partner-admin-form {
  margin-bottom: 0;
}

.partner-contracts .admin-form > .btn {
  margin-top: 0.5rem;
}

.admin-tabs .admin-stats--partners {
  margin-bottom: 0;
}

.admin-tabs .admin-partner-guide ol {
  padding: 0 clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2rem);
}

@media (min-width: 65rem) {
  .admin-partner-filters {
    grid-template-columns: minmax(18rem, 2fr) minmax(12rem, 1fr) auto auto;
  }
  .admin-partner-taxonomy-filters {
    grid-template-columns: minmax(20rem, 1fr) auto auto;
  }
}
.admin-partner-taxonomy-tabs {
  margin-bottom: 1.25rem;
}

.admin-partner-taxonomy-tabs .admin-tabs__tab.is-active {
  border-color: rgba(255, 127, 110, 0.28);
  background: #fff0e8;
  color: #ff7f6e;
}

.admin-partner-taxonomy-table {
  min-width: 48rem;
}

.admin-partner-taxonomy-table code {
  padding: 0.25rem 0.5rem;
  border-radius: 0.45rem;
  background: #fffaf4;
  color: #6e6360;
  font-size: 0.78rem;
}

@media (prefers-reduced-motion: reduce) {
  .partners-hero__copy,
  .partners-hero__visual {
    animation: none;
  }
  .partner-card {
    transition: none;
  }
  .partner-card::before,
  .partner-card__logo,
  .partner-card__link .material-symbols-outlined {
    transition: none;
  }
  .partner-profile__experience {
    animation: none;
  }
  .partner-profile__logo,
  .partner-profile__share a,
  .partner-profile__share button,
  .partner-profile__link,
  .partner-profile__link .material-symbols-outlined {
    transition: none;
  }
  .partner-profile__decor {
    transform: none;
    will-change: auto;
  }
  .partner-profile__sparkles span {
    animation: none;
  }
}
:root {
  --motion-fast: 160ms;
  --motion-normal: 240ms;
  --motion-slow: 420ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-emphasized: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-decelerate: cubic-bezier(0, 0, 0.2, 1);
}

[data-page-parallax].is-parallax-ready {
  position: relative;
  z-index: 0;
  transform: translateY(var(--collection-parallax-y, 0px));
}

[data-page-parallax] + .section-wave + section {
  position: relative;
  z-index: 1;
}

.catalog-section, .collections-index-section {
  background-color: #f7f3ee;
}

[data-motion-scene] {
  --motion-progress: 1;
  --motion-shift: 0px;
}

.visual-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem 1rem;
}
.visual-heading__copy {
  min-width: 0;
  grid-column: 1/-1;
}
.visual-heading > .visual-accent {
  grid-column: 2;
  grid-row: 2;
  justify-self: end;
}
.visual-heading > .btn, .visual-heading__actions {
  min-width: 0;
  grid-column: 1;
  grid-row: 2;
  justify-self: start;
}
.visual-heading__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
@media (min-width: 65rem) {
  .visual-heading {
    grid-template-columns: minmax(0, 1fr) auto auto;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
  .visual-heading__copy {
    grid-column: 1;
  }
  .visual-heading > .visual-accent {
    grid-row: 1;
  }
  .visual-heading > .btn, .visual-heading__actions {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
  }
}

.visual-heading--editorial {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.5rem 1.5rem;
}
.visual-heading--editorial .visual-heading__copy {
  grid-column: 1;
  grid-row: 1;
}
.visual-heading--editorial > .visual-accent {
  width: 4.5rem;
  grid-column: 1;
  grid-row: 2;
  justify-self: start;
}
@media (min-width: 36.25rem) {
  .visual-heading--editorial {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .visual-heading--editorial > .visual-accent {
    width: clamp(4.5rem, 12vw, 12rem);
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }
  .visual-heading--editorial > .visual-accent--line {
    width: clamp(4.5rem, 10vw, 8rem);
  }
}

.visual-accent {
  width: clamp(4.5rem, 24vw, 6rem);
  max-width: 100%;
  display: block;
  flex: 0 0 auto;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.visual-accent svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}
.visual-accent__layer {
  transform-box: fill-box;
  transform-origin: center;
  opacity: calc(0.72 + var(--motion-progress, 1) * 0.28);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
}
.visual-accent__layer--back {
  display: none;
  fill: #f2eafb;
  stroke: rgba(220, 198, 244, 0.85);
  transform: translate(calc(var(--motion-shift, 0px) * -0.6), calc(var(--motion-shift, 0px) * -0.4));
}
.visual-accent__layer--middle {
  fill: #e8f5f4;
  stroke: rgba(32, 184, 159, 0.22);
  transform: translateX(calc(var(--motion-shift, 0px) * 0.35));
}
.visual-accent__layer--front {
  fill: #fff0e8;
  stroke: rgba(255, 127, 110, 0.24);
  transform: translate(calc(var(--motion-shift, 0px) * 0.65), calc(var(--motion-shift, 0px) * 0.4));
}
.visual-accent__detail {
  fill: none;
  stroke: rgba(255, 127, 110, 0.38);
}
.visual-accent--layers .visual-accent__layer--curves {
  fill: none;
  stroke: #ff7f6e;
  stroke-width: 10;
  transform: translateY(calc(var(--motion-shift, 0px) * -2));
}
.visual-accent--layers .visual-accent__layer--curves path:nth-child(2) {
  stroke: #ffc49d;
}
.visual-accent--layers .visual-accent__layer--curves path:nth-child(3) {
  stroke: #e9a3b7;
}
.visual-accent--layers .visual-accent__layer--curves path:nth-child(4) {
  stroke: #dcc6f4;
}
.visual-accent--layers .visual-accent__layer--curves path:nth-child(5) {
  stroke: #a7d9d6;
}
.visual-accent--line {
  width: clamp(4.5rem, 18vw, 8rem);
}
.visual-accent--line .visual-accent__layer {
  fill: none;
  stroke: #ff7f6e;
  stroke-width: 5;
}
.visual-accent--line .visual-accent__layer path:nth-child(2) {
  stroke: #ffc49d;
}
.visual-accent--line .visual-accent__layer path:nth-child(3) {
  stroke: #e9a3b7;
}
.visual-accent--line .visual-accent__layer path:nth-child(4) {
  stroke: #dcc6f4;
}
.visual-accent--line .visual-accent__layer path:nth-child(5) {
  stroke: #a7d9d6;
}
.visual-accent--line .visual-accent__detail {
  stroke: #a7d9d6;
  stroke-width: 2;
}
@media (min-width: 51.25rem) {
  .visual-accent__layer--back {
    display: block;
    transform: translate(calc(var(--motion-shift, 0px) * -0.6), calc(var(--motion-shift, 0px) * -0.4)) rotate(calc((1 - var(--motion-progress, 1)) * -1deg));
  }
  .visual-accent__layer--front {
    transform: translate(calc(var(--motion-shift, 0px) * 0.65), calc(var(--motion-shift, 0px) * 0.4)) rotate(calc((1 - var(--motion-progress, 1)) * 1deg));
  }
}
@media (min-width: 65rem) {
  .visual-accent {
    width: clamp(8rem, 14vw, 15rem);
  }
  .visual-accent--line {
    width: 8rem;
  }
}

[data-motion-scene].is-motion-active .visual-accent__layer {
  will-change: transform, opacity;
}

@media (prefers-reduced-motion: no-preference) {
  :where(.layout-public, .layout-account, .layout-admin) [data-motion-scene].is-motion-active .brand-waves--hero path {
    --wave-draw-progress: clamp(0, (var(--motion-progress, 1) - 0.26) * 2.8, 1);
  }
  :where(.layout-public, .layout-account, .layout-admin) [data-motion-scene].is-motion-active :is(.brand-waves--hero, .visual-accent) path {
    stroke-dasharray: 1;
    stroke-dashoffset: calc(1 - clamp(0, (var(--wave-draw-progress, var(--motion-progress, 1)) * 0.82 - var(--wave-order) * 0.08) / 0.5, 1));
  }
  :where(.layout-public, .layout-account, .layout-admin) [data-motion-scene].is-motion-active :is(.brand-waves--hero, .visual-accent) path:nth-child(1) {
    --wave-order: 0;
  }
  :where(.layout-public, .layout-account, .layout-admin) [data-motion-scene].is-motion-active :is(.brand-waves--hero, .visual-accent) path:nth-child(2) {
    --wave-order: 1;
  }
  :where(.layout-public, .layout-account, .layout-admin) [data-motion-scene].is-motion-active :is(.brand-waves--hero, .visual-accent) path:nth-child(3) {
    --wave-order: 2;
  }
  :where(.layout-public, .layout-account, .layout-admin) [data-motion-scene].is-motion-active :is(.brand-waves--hero, .visual-accent) path:nth-child(4) {
    --wave-order: 3;
  }
  :where(.layout-public, .layout-account, .layout-admin) [data-motion-scene].is-motion-active :is(.brand-waves--hero, .visual-accent) path:nth-child(5) {
    --wave-order: 4;
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  :where(.layout-public, .layout-account) .btn--primary {
    transition: background 240ms cubic-bezier(0.2, 0, 0, 1), box-shadow 240ms cubic-bezier(0.2, 0, 0, 1), transform 240ms cubic-bezier(0.2, 0, 0, 1);
  }
  :where(.layout-public, .layout-account) .btn--primary:hover:not(:disabled):not([aria-disabled=true]) {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
  }
  :where(.layout-public, .layout-account) .btn--primary:active:not(:disabled) {
    transform: none;
    box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-page-parallax].is-parallax-ready {
    transform: none;
  }
  .brand-waves--hero {
    transform: rotate(-8deg);
  }
  :where(.layout-public, .layout-account, .layout-admin) :is(.brand-waves--hero, .visual-accent) path {
    stroke-dasharray: none;
    stroke-dashoffset: 0;
  }
  .visual-accent__layer,
  [data-motion-scene].is-motion-active .visual-accent__layer {
    transform: none;
    opacity: 1;
    will-change: auto;
  }
}
.bancada-tools {
  background: #f2eafb;
}
.bancada-tools__heading {
  margin-bottom: clamp(1.75rem, 4vw, 3rem);
}
.bancada-tools__heading p {
  max-width: 43rem;
}

.bancada-print-context--full {
  padding-top: clamp(2.5rem, 6vw, 5rem);
  background: #e8f5f4;
}
.bancada-print-context__card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: start;
  border-color: rgba(255, 127, 110, 0.28);
  background: linear-gradient(125deg, rgb(255, 242.2, 240.5) 0%, #ffffff 55%);
}
.bancada-print-context__card::after {
  content: "";
  position: absolute;
  right: -4rem;
  bottom: -5rem;
  width: 14rem;
  aspect-ratio: 1;
  border: 2.25rem solid rgba(255, 127, 110, 0.07);
  border-radius: 50%;
  pointer-events: none;
}
.bancada-print-context__card > * {
  position: relative;
  z-index: 1;
}
.bancada-print-context__intro h2 {
  margin-top: 0.5rem;
  font-size: clamp(2rem, 4vw, 3rem);
}
.bancada-print-context__intro p {
  margin-top: 0.875rem;
  color: #6e6360;
}
.bancada-print-context__action {
  width: 100%;
}
.bancada-print-context__upload {
  margin: 0;
  border-color: rgba(255, 127, 110, 0.5);
  background: rgb(255, 247.32, 246.3);
}
.bancada-print-context__summary {
  width: 100%;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
}
.bancada-print-context__summary > div:first-child {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.bancada-print-context__summary > div:first-child .material-symbols-outlined {
  color: #ff7f6e;
}
.bancada-print-context__summary dl {
  margin: 1rem 0 1.25rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.bancada-print-context__summary dt {
  color: #6e6360;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.bancada-print-context__summary dd {
  max-width: 100%;
  margin: 0.2rem 0 0;
  overflow: hidden;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bancada-print-context__note {
  margin: -0.25rem 0 1rem;
  color: #6e6360;
  font-size: 0.875rem;
}
.bancada-print-context--compact {
  margin-bottom: clamp(1.25rem, 3vw, 2rem);
  padding: 0.875rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #ffffff;
}
.bancada-print-context--compact[hidden] {
  display: none;
}
.bancada-print-context--compact .button-row {
  margin: 0;
  flex-shrink: 0;
}
.bancada-print-context__compact-copy {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.bancada-print-context__compact-copy > .material-symbols-outlined {
  color: #ff7f6e;
}
.bancada-print-context__compact-copy > div {
  min-width: 0;
  display: grid;
}
.bancada-print-context__compact-copy small {
  color: #6e6360;
  font-size: 0.75rem;
}
.bancada-print-context__compact-copy strong,
.bancada-print-context__compact-copy span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bancada-print-context__compact-copy span {
  color: #6e6360;
  font-size: 0.75rem;
}
.bancada-print-context__compact-copy em {
  margin-top: 0.2rem;
  color: #6e6360;
  font-size: 0.75rem;
  font-style: normal;
  white-space: normal;
}

.bancada-tool-visits {
  margin-top: 0.35rem;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: #6e6360;
  font-size: 0.6875rem;
  font-weight: 600;
}
.bancada-tool-visits > .material-symbols-outlined {
  font-size: 0.875rem;
  font-variation-settings: "FILL" 0, "wght" 450, "GRAD" 0, "opsz" 20;
}

.bancada-tool-list {
  margin-top: clamp(2rem, 5vw, 4rem);
  padding-inline-start: 0;
  display: grid;
  -moz-column-gap: clamp(2rem, 5vw, 5rem);
       column-gap: clamp(2rem, 5vw, 5rem);
  list-style: none;
}
@media (min-width: 51.25rem) {
  .bancada-tool-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.bancada-tool-list > li {
  min-width: 0;
}
.bancada-tool-list__featured {
  grid-column: 1/-1;
}

.bancada-tool-item {
  min-width: 0;
  padding: 1.25rem 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
}
@media (min-width: 36.25rem) {
  .bancada-tool-item {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
  }
}
.bancada-tool-item .benefit-icon {
  font-weight: normal !important;
}
.bancada-tool-item h3 {
  font-size: 1.125rem;
}
.bancada-tool-item p {
  margin-top: 0.25rem;
  color: #6e6360;
  font-size: 0.875rem;
}
.bancada-tool-item__status {
  grid-column: 3;
  width: -moz-max-content;
  width: max-content;
  color: #6e6360;
  font-size: 0.75rem;
  font-weight: 800;
}
@media (min-width: 36.25rem) {
  .bancada-tool-item__status {
    grid-column: auto;
  }
}
.bancada-tool-item a.bancada-tool-item__status {
  color: #ff7f6e;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.bancada-calculator {
  background: #f7f3ee;
}

.tool-hero-back {
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  color: #ff7f6e;
  font-size: 0.75rem;
  font-weight: 800;
}
.tool-hero-back .material-symbols-outlined {
  font-size: 1.125rem;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.tool-hero-back:hover .tool-hero-back__label {
  text-decoration: underline;
}
.tool-hero-back:hover .material-symbols-outlined {
  transform: translateX(-0.2rem);
}

.bancada-calculator__layout {
  display: grid;
  gap: clamp(1.25rem, 2vw, 2rem);
  align-items: start;
}
@media (min-width: 51.25rem) {
  .bancada-calculator__layout {
    grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
  }
}

.bancada-form {
  margin-top: 0;
}
@media (min-width: 51.25rem) {
  .bancada-form {
    position: sticky;
    top: 7rem;
  }
}

.bancada-result-panel {
  min-width: 0;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1.5rem;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 52, 56, 0.04);
}
@media (min-width: 51.25rem) {
  .bancada-result-panel {
    position: sticky;
    top: 7rem;
  }
}
.bancada-result-panel > .eyebrow, .bancada-result-panel__intro > .eyebrow, .bancada-result-panel__content > .eyebrow {
  display: block;
}
.bancada-result-panel > h2, .bancada-result-panel__intro h2, .bancada-result-panel__content > h2 {
  margin-top: 0.35rem;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
}
.bancada-result-panel > p, .bancada-result-panel__intro p {
  margin-top: 0.75rem;
  color: #6e6360;
}

.bancada-clear {
  min-height: 2.75rem;
}

.bancada-stepper {
  margin: 0 0 1.5rem;
}
.bancada-stepper > p {
  color: #6e6360;
  font-size: 0.875rem;
  font-weight: 800;
}
.bancada-stepper ol {
  margin-top: 0.625rem;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.25rem;
  list-style: none;
}
.bancada-stepper li {
  overflow: hidden;
  border-top: 0.25rem solid rgba(255, 127, 110, 0.18);
  color: #6e6360;
  font-size: 0.75rem;
}
.bancada-stepper li[aria-current=step] {
  border-color: #ff7f6e;
  color: #343438;
  font-weight: 800;
}
.bancada-stepper button {
  width: 100%;
  padding: 0.5rem 0 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}
.bancada-stepper button:hover {
  color: #343438;
}
.bancada-stepper button:focus-visible {
  border-radius: 0.25rem;
  outline: 0.1875rem solid rgba(255, 127, 110, 0.3);
  outline-offset: 0.125rem;
}

.bancada-fieldset {
  min-width: 0;
  margin-top: 2rem;
  padding: 0;
  border: 0;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
}
.bancada-fieldset legend {
  width: 100%;
  padding-top: 1.25rem;
  display: flex;
  align-items: baseline;
  gap: 0.625rem;
  color: #343438;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 1.125rem;
  font-weight: 900;
}
.bancada-fieldset legend > span {
  color: #ff7f6e;
  font-size: 0.75rem;
}
.bancada-fieldset legend > small {
  margin-left: auto;
  color: #6e6360;
  font-family: "Poppins", sans-serif;
  font-size: 0.75rem;
}

.bancada-fields {
  margin-top: 1rem;
  display: grid;
  gap: 1rem;
}
@media (min-width: 36.25rem) {
  .bancada-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 51.25rem) {
  .bancada-fields--time, .bancada-fields--costs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.bancada-field {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 0.45rem;
  color: #343438;
  font-weight: 400;
}
.bancada-field > span:first-child {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.4rem;
  font-size: 0.875rem;
  font-weight: 600;
}
.bancada-field small {
  color: #6e6360;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.45;
}

.bancada-input {
  min-width: 0;
  min-height: 3rem;
  padding: 0 0.9375rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.375rem;
  border: 1px solid #8a7b77;
  border-radius: 0.625rem;
  background: #ffffff;
  transition: border-color 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1);
}
.bancada-input:focus-within {
  border-color: #343438;
  outline: 2px solid #343438;
  outline-offset: 2px;
}
.bancada-input:has(input[aria-invalid=true]) {
  border-color: #e34f68;
  background: #fff8f9;
}
.bancada-input input {
  min-width: 0;
  min-height: calc(3rem - 2px);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  outline: 0;
  box-shadow: none;
}
.bancada-input input:focus {
  border-color: transparent;
  outline: 0;
  box-shadow: none;
}
.bancada-input b {
  color: #6e6360;
  font-size: 0.875rem;
  white-space: nowrap;
}

.bancada-step-actions {
  justify-content: flex-end;
}

.bancada-xray {
  overflow: hidden;
}

.bancada-xray__content {
  padding: 0;
}

.bancada-breakdown {
  margin-top: 1.5rem;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
}
.bancada-breakdown > div {
  min-width: 0;
  padding: 0.625rem 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
}
.bancada-breakdown dt {
  color: #6e6360;
}
.bancada-breakdown dd {
  color: #343438;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.bancada-totals {
  margin-top: 1.5rem;
  display: grid;
  gap: 0.75rem;
}
.bancada-totals > div {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem 1rem;
}
.bancada-totals span {
  color: #6e6360;
  font-size: 0.875rem;
}
.bancada-totals strong {
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.bancada-totals__hero {
  padding: 1.25rem;
  display: grid !important;
  border-radius: 0.875rem;
  background: #ff7f6e;
  color: #343438;
}
.bancada-totals__hero span {
  color: #343438;
  font-weight: 800;
}
.bancada-totals__hero strong {
  font-size: clamp(2rem, 8vw, 3.5rem);
  line-height: 1;
}

.bancada-insight {
  margin-top: 1.5rem;
  padding: 1rem;
  border-radius: 0.875rem;
  background: #e8f5f4;
}

.bancada-insight strong {
  font-family: "Nunito", "Nunito Rounded", sans-serif;
}

.bancada-insight p {
  margin-top: 0.35rem;
  color: #6e6360;
  font-size: 0.875rem;
}

.bancada-simulation {
  min-width: 0;
  margin-top: 1.5rem;
  padding: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
}
.bancada-simulation legend {
  padding: 0 0.4rem;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-weight: 900;
}
.bancada-simulation .bancada-fields {
  grid-template-columns: 1fr;
}
.bancada-simulation > p {
  margin-top: 1rem;
  color: #6e6360;
  font-size: 0.875rem;
  font-weight: 700;
}

.bancada-disclaimer {
  margin-top: 1rem;
  color: #6e6360;
  font-size: 0.75rem;
  line-height: 1.5;
}

.bancada-simulation__error {
  display: block;
  margin-top: 0.75rem;
  color: #e34f68;
  font-size: 0.75rem;
  font-weight: 700;
}

.bancada-formulas {
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
}
.bancada-formulas__details {
  overflow: hidden;
  border-radius: 1rem;
  background: #ffffff;
}
.bancada-formulas__details[open] .bancada-formulas__chevron {
  transform: rotate(180deg);
}
.bancada-formulas summary {
  min-height: 3.75rem;
  padding: 0.9rem 1rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.65rem;
  color: #343438;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}
.bancada-formulas summary::-webkit-details-marker {
  display: none;
}
.bancada-formulas summary:focus-visible {
  outline: 3px solid rgba(255, 127, 110, 0.35);
  outline-offset: -3px;
}
.bancada-formulas summary > .material-symbols-outlined {
  color: #ff7f6e;
  font-size: 1.25rem;
}
.bancada-formulas__chevron {
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1);
}
.bancada-formulas__content {
  padding: 0 1rem 1.25rem;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
}
.bancada-formulas__content > p {
  margin-top: 1rem;
  color: #6e6360;
  font-size: 0.875rem;
}
.bancada-formulas__content dl {
  margin-top: 0.5rem;
}
.bancada-formulas__content dl > div {
  padding: 0.9rem 0;
  display: grid;
  gap: 0.35rem 1rem;
  border-bottom: 1px solid rgba(255, 127, 110, 0.18);
}
.bancada-formulas__content dl > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
@media (min-width: 36.25rem) {
  .bancada-formulas__content dl > div {
    grid-template-columns: minmax(8rem, 0.35fr) minmax(0, 1fr);
  }
}
.bancada-formulas__content dt {
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-weight: 900;
}
.bancada-formulas__content dd {
  min-width: 0;
  display: grid;
  gap: 0.25rem;
}
.bancada-formulas__content dd strong {
  color: #ff7f6e;
  font-size: 0.875rem;
  overflow-wrap: anywhere;
}
.bancada-formulas__content dd span {
  color: #6e6360;
  font-size: 0.75rem;
  line-height: 1.5;
}

.bancada-tool-like {
  margin-top: 0;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.65rem 0.9rem;
}
.bancada-tool-like__button {
  gap: 0.45rem;
}
.bancada-tool-like__button[hidden] {
  display: none;
}
.bancada-tool-like__button > .material-symbols-outlined {
  width: 1.75rem;
  height: 1.75rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #ff7f6e;
  font-size: 1.2rem;
  font-variation-settings: "FILL" 0, "wght" 600, "GRAD" 0, "opsz" 24;
  transition: background 160ms cubic-bezier(0.2, 0, 0, 1), color 160ms cubic-bezier(0.2, 0, 0, 1);
}
.bancada-tool-like__button:hover > .material-symbols-outlined, .bancada-tool-like__button:focus-visible > .material-symbols-outlined {
  background: #ffffff;
  color: #ff7f6e;
}
.bancada-tool-like__button[aria-pressed=true] {
  border-color: rgba(255, 127, 110, 0.42);
  background: #fff0e8;
  cursor: default;
}
.bancada-tool-like__button[aria-pressed=true] > .material-symbols-outlined {
  font-variation-settings: "FILL" 1, "wght" 600, "GRAD" 0, "opsz" 24;
}
.bancada-tool-like__copy {
  display: grid;
  gap: 0.15rem;
}
.bancada-tool-like__copy > p {
  margin: 0;
  color: #6e6360;
  font-size: 0.75rem;
}
.bancada-tool-like__copy > small {
  color: #6e6360;
  font-size: 0.6875rem;
  opacity: 0.82;
}
.bancada-tool-like > .bancada-tool-share {
  margin-left: 0;
}

.bancada-tool-report {
  margin-left: auto;
}

.bancada-quick {
  background: #f7f3ee;
}

.bancada-quick__layout {
  display: grid;
  gap: clamp(1.25rem, 2vw, 2rem);
  align-items: start;
}
@media (min-width: 51.25rem) {
  .bancada-quick__layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
  }
}

@media (min-width: 51.25rem) {
  .bancada-quick__form {
    position: sticky;
    top: 7rem;
  }
}

.bancada-quick__form .bancada-fields {
  margin-top: 2rem;
}

.bancada-quick__form .bancada-fieldset .bancada-fields {
  margin-top: 1rem;
}

.bancada-calculate {
  margin-top: 1.5rem;
}

.bancada-quick__numbers {
  margin-top: 1.5rem;
}
.bancada-quick__numbers > div {
  padding: 0.875rem 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
}
.bancada-quick__numbers dt {
  color: #6e6360;
}
.bancada-quick__numbers dd {
  min-width: 0;
  color: #343438;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
  text-align: right;
}
@media (max-width: 579px) {
  .bancada-quick__numbers > div {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
  .bancada-quick__numbers dd {
    text-align: left;
  }
}

.bancada-input--datetime {
  grid-template-columns: minmax(0, 1fr);
}

.bancada-quick__featured {
  margin-top: 0.5rem;
  padding: 1.25rem !important;
  grid-template-columns: 1fr !important;
  border: 0 !important;
  border-radius: 0.875rem;
  background: #ff7f6e;
}
.bancada-quick__featured dt {
  color: #343438;
  font-weight: 800;
}
.bancada-quick__featured dd {
  font-size: clamp(2rem, 8vw, 3.5rem);
  line-height: 1;
  text-align: left;
}

.bancada-quick__note {
  padding: 1rem;
  border-radius: 0.875rem;
  background: #e8f5f4;
  font-size: 0.875rem;
}

.bancada-mode {
  min-width: 0;
  margin-top: 2rem;
  padding: 0;
  border: 0;
}
.bancada-mode legend {
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-weight: 900;
}

.bancada-mode__options {
  margin-top: 0.75rem;
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 36.25rem) {
  .bancada-mode__options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.bancada-mode__options label {
  position: relative;
}
.bancada-mode__options input {
  position: absolute;
  opacity: 0;
}
.bancada-mode__options span {
  min-height: 3rem;
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.625rem;
  background: #ffffff;
  color: #343438;
  font-weight: 800;
  cursor: pointer;
}
.bancada-mode__options input:checked + span {
  border-color: #343438;
  background: #f2eafb;
  box-shadow: inset 0 0 0 1px #343438;
}
.bancada-mode__options input:focus-visible + span {
  outline: 3px solid #343438;
  outline-offset: 2px;
}

.bancada-mode__options--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bancada-tool-nav {
  padding: clamp(2.5rem, 4vw, 4rem) 0;
  background: #fffaf4;
}
.bancada-tool-nav__heading {
  display: grid;
  gap: 0.4rem;
}
.bancada-tool-nav__heading h2 {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
}
.bancada-tool-nav__heading p {
  max-width: 38rem;
  color: #6e6360;
}
.bancada-tool-nav ul {
  margin-top: 1.5rem;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.875rem;
  list-style: none;
}
@media (min-width: 36.25rem) {
  .bancada-tool-nav ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 65rem) {
  .bancada-tool-nav ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.bancada-tool-nav a {
  min-height: 4.5rem;
  padding: 0.75rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.875rem;
  color: #343438;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1), border-color 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 160ms cubic-bezier(0.2, 0, 0, 1);
}
.bancada-tool-nav a:hover {
  transform: translateY(-2px);
}
.bancada-tool-nav a:hover .bancada-tool-nav__arrow {
  transform: translateX(0.2rem);
}
.bancada-tool-nav a[aria-current=page] {
  background: #ff7f6e;
  box-shadow: inset 0 0 0 1px #ff7f6e;
  color: #ffffff;
  opacity: 0.5;
}
.bancada-tool-nav a[aria-current=page] .bancada-tool-nav__label small {
  color: #ffffff;
}
.bancada-tool-nav {
  /*&__icon {
    width: 2.5rem;
    height: 2.5rem;
    display: grid;
    place-items: center;
    border-radius: $radius-sm;
    background: $color-lilac-soft;
    color: $color-primary-ink;
    font-size: 1.25rem;
    font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24;
  }*/
}
.bancada-tool-nav__label {
  min-width: 0;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-weight: 800;
}
.bancada-tool-nav__label small {
  margin-top: 0.125rem;
  display: block;
  color: #6e6360;
  font-family: "Poppins", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
}
.bancada-tool-nav__arrow {
  color: #ff7f6e;
  font-size: 1.125rem;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1);
}

.bancada-support {
  position: fixed;
  z-index: 90;
  right: clamp(1rem, 3vw, 2rem);
  bottom: clamp(1rem, 3vw, 2rem);
}
.bancada-support__trigger {
  min-height: 3.25rem;
  padding: 0.7rem 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid rgba(255, 127, 110, 0.4);
  border-radius: 999px;
  background: #ff7f6e;
  color: #ffffff;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 800;
  box-shadow: 0 8px 24px rgba(52, 52, 56, 0.08);
  cursor: pointer;
}
.bancada-support__modal {
  position: fixed;
  z-index: 200;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 1rem;
}
.bancada-support__modal[hidden] {
  display: none;
}
.bancada-support__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(52, 52, 56, 0.52);
  cursor: default;
}
.bancada-support__dialog {
  position: relative;
  width: min(100%, 38rem);
  max-height: calc(100vh - 2rem);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  border: 1px solid rgba(255, 127, 110, 0.25);
  border-radius: 1.5rem;
  background: linear-gradient(145deg, #ffffff 0%, #fff0e8 100%);
  box-shadow: 0 16px 48px rgba(52, 52, 56, 0.12);
}
.bancada-support__dialog h2 {
  max-width: 18ch;
  margin-top: 0.4rem;
}
.bancada-support__dialog > p {
  margin-top: 0.75rem;
  color: #6e6360;
}
.bancada-support__dialog::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.bancada-support__hero {
  margin: calc(clamp(1.5rem, 4vw, 2.5rem) * -1) calc(clamp(1.5rem, 4vw, 2.5rem) * -1) 1.5rem;
  padding: 1.15rem clamp(3.75rem, 9vw, 5rem) 1.15rem clamp(1.5rem, 4vw, 2.5rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-radius: 1.5rem 1.5rem 0 0;
  background: linear-gradient(120deg, rgba(243, 200, 121, 0.42), #f2eafb);
}
.bancada-support__hero .brand__mark {
  width: 3rem;
  height: 3rem;
}
.bancada-support__hero-label {
  color: #6e6360;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.bancada-support__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #ffffff;
  color: #343438;
  cursor: pointer;
}
.bancada-support__step-title {
  margin-top: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.875rem;
}
.bancada-support__step-title span {
  width: 1.75rem;
  height: 1.75rem;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: #ff7f6e;
  color: #ffffff;
  font-size: 0.75rem;
}
.bancada-support__values {
  margin-top: 0.75rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.625rem;
}
.bancada-support__values button {
  min-width: 0;
  min-height: 5.25rem;
  padding: 0.8rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.25rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #ffffff;
  color: #343438;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.bancada-support__values button strong {
  color: #ff7f6e;
  font-family: "Nunito", "Nunito Rounded", sans-serif;
  white-space: nowrap;
}
.bancada-support__values button span {
  color: #6e6360;
  font-size: 0.75rem;
  line-height: 1.35;
}
.bancada-support__values button[aria-pressed=true] {
  border-color: #ff7f6e;
  background: #f2eafb;
  box-shadow: inset 0 0 0 1px #ff7f6e;
}
.bancada-support__values button:disabled {
  opacity: 0.58;
  cursor: not-allowed;
}
.bancada-support__payment {
  margin-top: 0.75rem;
  padding: clamp(1rem, 3vw, 1.5rem);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(1rem, 4vw, 1.75rem);
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 1rem;
  background: #ffffff;
}
.bancada-support__qr {
  display: grid;
  place-items: center;
  align-content: center;
  max-width: -moz-max-content;
  max-width: max-content;
  margin: 0 auto;
  padding: 0;
}
.bancada-support__qr small {
  color: #6e6360;
  font-size: 0.6875rem;
  text-align: center;
}
.bancada-support__qr-visual {
  position: relative;
  width: 9.25rem;
  aspect-ratio: 1;
}
.bancada-support__qr-code {
  width: 100%;
  height: 100%;
}
.bancada-support__qr-code svg {
  width: 100%;
  height: 100%;
  display: block;
}
.bancada-support__pix {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
}
.bancada-support__pix-logo {
  color: #32bcad;
  font-size: 1.9rem;
  line-height: 1;
}
.bancada-support__pix small,
.bancada-support__pix strong,
.bancada-support__pix span {
  display: block;
}
.bancada-support__pix small {
  color: #6e6360;
  font-size: 0.75rem;
}
.bancada-support__pix span {
  margin-top: 0.25rem;
  color: #6e6360;
  font-size: 0.75rem;
  line-height: 1.4;
}
.bancada-support__pix .btn {
  grid-column: 1/-1;
  width: 100%;
  margin-top: 0.25rem;
}
.bancada-support__status {
  min-height: 1.4em;
  font-size: 0.75rem;
  text-align: center;
}

body.has-bancada-support-modal {
  overflow: hidden;
}

@keyframes bancada-result-in {
  from {
    opacity: 0.72;
    transform: translateY(0.35rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.bancada-xray.is-updated,
.bancada-quick__result.is-updated {
  animation: bancada-result-in 240ms ease-out;
}

@media (prefers-reduced-motion: reduce) {
  .bancada-formulas__chevron {
    transition: none;
  }
  .bancada-tool-nav a {
    transition: none;
  }
  .bancada-tool-nav a:hover {
    transform: none;
  }
  .bancada-xray.is-updated,
  .bancada-quick__result.is-updated {
    animation: none;
  }
}
@media (max-width: 579px) {
  .bancada-print-context__summary dl {
    grid-template-columns: 1fr;
  }
  .bancada-print-context--compact {
    align-items: stretch;
    flex-direction: column;
  }
  .bancada-print-context--compact .button-row {
    width: 100%;
  }
  .bancada-print-context--compact .btn {
    flex: 1;
  }
  .bancada-tool-report {
    margin-left: 0;
  }
  .bancada-support {
    right: 0.75rem;
    bottom: 0.75rem;
  }
  .bancada-support__trigger > span:last-child {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }
  .bancada-support__trigger {
    width: 3.25rem;
    padding: 0;
    justify-content: center;
  }
  .bancada-support__payment {
    grid-template-columns: 1fr;
  }
  .bancada-support__qr-visual {
    width: 8rem;
  }
  .bancada-support__pix {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .bancada-support__pix .btn {
    grid-column: 1/-1;
    width: 100%;
  }
  .bancada-stepper li {
    font-size: 0;
  }
  .bancada-stepper li[aria-current=step] {
    font-size: 0.75rem;
  }
  .bancada-step-actions {
    flex-direction: column-reverse;
  }
  .bancada-step-actions .btn {
    width: 100%;
  }
}
@media (max-width: 430px) {
  .bancada-support__values {
    grid-template-columns: 1fr;
  }
  .bancada-support__values button {
    min-height: auto;
  }
}
.bancada-project-actions[hidden] {
  display: none;
}
.bancada-project-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 0.75rem 1rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 0.875rem;
  background: #fffaf4;
}
.bancada-project-actions p {
  margin-top: 0.25rem;
  color: #6e6360;
  font-size: 0.75rem;
}
.bancada-project-actions .btn {
  width: 100%;
  white-space: nowrap;
}
.bancada-project-actions__link {
  width: -moz-fit-content;
  width: fit-content;
  color: #e96858;
  font-size: 0.75rem;
  font-weight: 800;
}
@media (max-width: 579px) {
  .bancada-project-actions {
    gap: 0.75rem;
  }
}

.bancada-request {
  margin-bottom: 2rem;
}
.bancada-request h2 {
  overflow-wrap: anywhere;
}
.bancada-request .button-row {
  flex-wrap: wrap;
}

.institutional-hero::before,
.collections-index-hero::before,
.partners-intro::before,
.partners-hero::before,
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: url("../images/bg_hero_infinite.png") repeat;
  background-size: 10%;
  opacity: 0.2;
  pointer-events: none;
  z-index: 0;
}

.partner-profile__hero > .hero-texture {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: url("../images/bg_hero_infinite.png") repeat;
  background-size: 10%;
  opacity: 0.2;
  pointer-events: none;
  z-index: 0;
}

.catalog-hero::before {
  pointer-events: none;
}

.partners-hero, .partners-intro {
  position: relative;
}

.partners-intro > .container {
  position: relative;
  z-index: 1;
}

.hero > .container {
  position: relative;
  z-index: 1;
}

.store-hero__product-media {
  position: relative;
}

.store-hero__product-media:not(:has(.product-3d)),
.product-card__media:not(:has(.product-3d)),
.product-gallery__slide:not(:has(.product-3d)),
.product-3d,
.tools-page .model-viewer__stage,
.tools-page .adapter-editor__stage {
  isolation: isolate;
}
.store-hero__product-media:not(:has(.product-3d))::before,
.product-card__media:not(:has(.product-3d))::before,
.product-gallery__slide:not(:has(.product-3d))::before,
.product-3d::before,
.tools-page .model-viewer__stage::before,
.tools-page .adapter-editor__stage::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: url("../images/bg_hero_infinite.png") repeat;
  background-size: 10%;
  opacity: 0.2;
  pointer-events: none;
  z-index: -1;
  border-radius: inherit;
  background-size: 160px 160px;
  opacity: 0.2;
  animation: product-texture-diagonal 60s linear infinite;
}

.tools-page .audio-vase__waveform canvas,
.tools-page .shadow-sculpture__input canvas,
.tools-page .lithophane__photo canvas {
  background-color: #ffffff;
  background-image: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)), url("../images/bg_hero_infinite.png");
  background-size: 160px 160px;
  animation: product-texture-diagonal 60s linear infinite;
}

.tools-page .adapter-editor__stage {
  position: relative;
}

@keyframes product-texture-diagonal {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 160px 160px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .store-hero__product-media::before,
  .product-card__media::before,
  .product-gallery__slide::before,
  .product-3d::before,
  .tools-page .model-viewer__stage::before,
  .tools-page .adapter-editor__stage::before,
  .tools-page .audio-vase__waveform canvas,
  .tools-page .shadow-sculpture__input canvas,
  .tools-page .lithophane__photo canvas {
    animation: none;
  }
}
.market-page {
  padding-block: clamp(2rem, 5vw, 4rem);
}

.market-hero > .container {
  position: relative;
  z-index: 1;
}

.market-hero .market-actions {
  margin-top: 1.5rem;
}

.market-stack {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  min-width: 0;
}

.market-page header {
  display: grid;
  gap: 0.75rem;
}

.market-page h1 {
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.market-page h2 {
  font-size: 1.4rem;
  line-height: 1.3;
}

.market-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.market-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.market-card > p, .market-card h2 {
  margin-top: 0;
}

.market-card > section {
  display: grid;
  gap: 0.75rem;
}

.market-card h2 a {
  color: #343438;
  overflow-wrap: anywhere;
}

.market-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: #6e6360;
}

.market-card__link {
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.market-life {
  color: #28746b;
  font-size: 0.85rem;
}

.market-actions, .market-tabs, .market-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.market-pagination {
  justify-content: center;
  margin-top: 1rem;
}

.market-status-filter {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
}
.market-status-filter > label {
  grid-column: 1/-1;
}
.market-status-filter > select {
  min-width: 0;
  width: 100%;
}

.market-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

@media (min-width: 768px) {
  .market-detail > .market-stack {
    position: sticky;
    top: 7.5rem;
  }
  body.has-global-announcement .market-detail > .market-stack {
    top: 10.25rem;
  }
}
.market-detail h1 {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
}

.market-detail header .text-muted {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.market-contact {
  padding: clamp(1.25rem, 3vw, 2rem);
  gap: 1rem;
}

.market-contact > p {
  margin-top: 0;
}

.market-contact .market-facts {
  grid-template-columns: minmax(0, 1fr);
}

.market-contact form > .btn {
  width: 100%;
}

.market-contact__value, .market-description {
  overflow-wrap: anywhere;
}

.market-description {
  line-height: 1.8;
}

.market-disclaimer {
  font-size: 0.8rem;
  line-height: 1.65;
  color: #6e6360;
  border-top: 1px solid rgba(255, 127, 110, 0.18);
  padding-top: 1.25rem;
}

.market-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 12px;
  background: #fffaf4;
}

.market-facts dt {
  font-size: 0.8rem;
  color: #6e6360;
}

.market-facts dd {
  margin: 0.25rem 0 0;
  overflow-wrap: anywhere;
}

.market-form-shell {
  max-width: 780px;
}

.market-form-shell .form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.market-form-shell .field {
  min-width: 0;
}

.market-contact-fields {
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 16px;
  padding: 1.5rem;
}

.market-contact-fields legend {
  font-weight: 600;
  padding-inline: 0.5rem;
}

.market-contact-fields > p {
  margin-bottom: 1.25rem;
}

.market-optional, .market-report {
  border-top: 1px solid rgba(255, 127, 110, 0.18);
  padding-top: 1.25rem;
}

.market-optional summary, .market-report summary {
  cursor: pointer;
  padding-block: 0.75rem;
}

.market-optional[open] > .form-grid, .market-report[open] > form {
  margin-top: 1rem;
}

.market-owner-actions {
  padding: 1.5rem;
  background: #e8f5f4;
  border: 1px solid rgba(255, 127, 110, 0.18);
  border-radius: 16px;
  gap: 1rem;
}

.market-owner-actions h2 {
  margin-block: 0.5rem;
}

.market-owner-actions > form.market-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.market-owner-actions > form > .btn {
  width: 100%;
  min-width: 0;
  margin: 0;
  white-space: normal;
  justify-content: center;
  height: 100%;
}

@media (max-width: 374px) {
  .market-owner-actions > form.market-actions {
    grid-template-columns: 1fr;
  }
}
.market-page .btn {
  white-space: normal;
  text-align: center;
}

.market-page [data-market-form-status]:empty {
  display: none;
}

@media (max-width: 767px) {
  .market-grid, .market-detail {
    grid-template-columns: minmax(0, 1fr);
  }
  .market-contact {
    order: 0;
  }
}
@media (max-width: 430px) {
  .market-form-shell .form-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .market-facts {
    gap: 0.85rem;
  }
  .market-contact-fields {
    padding: 1rem;
  }
  .market-actions .btn {
    flex: 1 1 auto;
  }
}/*# sourceMappingURL=app.css.map */