:root {
  --gb-ink: #173d38;
  --gb-ink-soft: #54706c;
  --gb-accent: #74b83f;
  --gb-accent-dark: #4f8e2f;
  --gb-buy: #80be32;
  --gb-buy-text: #fdfdfd;
  --gb-surface: #ffffff;
  --gb-surface-soft: #f3f6f1;
  --gb-line: #dfe8dc;
  --gb-shadow: 0 22px 58px -40px rgba(27, 69, 58, 0.42);
  --gb-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

@media (max-width: 767px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden !important;
  }
}

/* One purchase color across the home page, catalog, carousels and product page. */
.btn-cart,
#button-cart,
.btn-cart:hover,
.btn-cart:focus,
.btn-cart:focus-visible,
#button-cart:hover,
#button-cart:focus,
#button-cart:focus-visible {
  color: var(--gb-buy-text) !important;
  background-color: var(--gb-buy) !important;
  border-color: var(--gb-buy) !important;
}

.btn-cart::before {
  color: var(--gb-buy-text) !important;
}

.btn-cart .btn-text {
  color: var(--gb-buy-text) !important;
}

html body .main-products-style.product-grid .product-thumb .btn-cart.btn,
html body .main-products-style.product-grid .product-thumb .btn-cart.btn:visited,
html body .main-products-style.product-grid .product-thumb .btn-cart.btn:hover,
html body .main-products-style.product-grid .product-thumb .btn-cart.btn:focus,
html body .main-products-style.product-grid .product-thumb .btn-cart.btn:focus-visible,
html body #button-cart.btn-cart,
html body #button-cart.btn-cart:visited,
html body #button-cart.btn-cart:hover,
html body #button-cart.btn-cart:focus,
html body #button-cart.btn-cart:focus-visible,
html body .main-products-style.product-grid .product-thumb .btn-cart.btn .btn-text,
html body #button-cart.btn-cart .btn-text {
  color: var(--gb-buy-text) !important;
}

html body .product-grid .product-layout .product-thumb .btn-cart.btn,
html body .product-grid .product-layout .product-thumb .btn-cart.btn:visited,
html body .product-grid .product-layout .product-thumb .btn-cart.btn:hover,
html body .product-grid .product-layout .product-thumb .btn-cart.btn:focus,
html body .product-grid .product-layout .product-thumb .btn-cart.btn:focus-visible,
html body .product-grid .product-layout .product-thumb .btn-cart.btn .btn-text {
  color: var(--gb-buy-text) !important;
}

.gb-lang-ru,
.gb-lang-en {
  display: none !important;
}

html[lang^="ru"] .gb-lang-ru,
html:not([lang^="ru"]) .gb-lang-en {
  display: inline !important;
}

html[lang^="ru"] .gb-account-eyebrow.gb-lang-ru,
html:not([lang^="ru"]) .gb-account-eyebrow.gb-lang-en,
html[lang^="ru"] .gb-account-help h2.gb-lang-ru,
html:not([lang^="ru"]) .gb-account-help h2.gb-lang-en,
html[lang^="ru"] .gb-account-help p.gb-lang-ru,
html:not([lang^="ru"]) .gb-account-help p.gb-lang-en,
html[lang^="ru"] .gb-account-section-heading p.gb-lang-ru,
html:not([lang^="ru"]) .gb-account-section-heading p.gb-lang-en,
html[lang^="ru"] .gb-account-hero p.gb-lang-ru,
html:not([lang^="ru"]) .gb-account-hero p.gb-lang-en {
  display: block !important;
}

/* Catalog */
html.gb-shop-page,
html.gb-account-page,
html.gb-login-page {
  scroll-behavior: smooth;
}

.gb-shop-page body,
.gb-account-page body,
.gb-login-page body {
  color: var(--gb-ink);
  background: var(--gb-surface-soft);
  font-family: "Outfit", "Avenir Next", "Segoe UI", sans-serif;
}

.gb-shop-page .breadcrumbs,
.gb-account-page .breadcrumbs,
.gb-login-page .breadcrumbs {
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px 34px 0;
  background: transparent;
}

.gb-shop-page #content {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 34px 96px;
}

/* The catalog opens directly with its product sections. The original H1 stays
   in the document for page structure, but the promotional header and the
   duplicate category rail are intentionally not rendered. */
.gb-shop-page .gb-shop-hero,
.gb-shop-page .gb-category-nav {
  display: none !important;
}

.gb-shop-page #content > .module-title-1291 {
  display: none;
}

.gb-shop-page #content > .module-grid-1289,
.gb-shop-page #content > .module-grid-1289 > .module-body,
.gb-shop-page #content > .module-grid-1289 > .module-body > .grid-rows,
.gb-shop-page #content > .module-grid-1289 .grid-items {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  transform: none !important;
}

.gb-shop-page #content > .module-grid-1289 .grid-item {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  transform: none !important;
}

.gb-shop-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.75fr) minmax(250px, 0.75fr);
  gap: 72px;
  align-items: end;
  padding: 66px 0 46px;
  border-bottom: 1px solid var(--gb-line);
}

.gb-shop-kicker,
.gb-account-eyebrow {
  display: block;
  margin-bottom: 16px;
  color: var(--gb-accent-dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.gb-shop-hero .page-title {
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0;
  padding: 0;
  color: var(--gb-ink);
  background: transparent;
  font-size: clamp(38px, 5vw, 68px);
  font-weight: 500;
  letter-spacing: -0.055em;
  line-height: 0.98;
  text-align: left;
}

.gb-shop-hero-copy > p {
  max-width: 640px;
  margin: 24px 0 0;
  color: var(--gb-ink-soft);
  font-size: 17px;
  line-height: 1.65;
}

.gb-shop-assurance {
  padding: 26px 0 4px 30px;
  border-left: 1px solid var(--gb-line);
}

.gb-shop-assurance svg {
  width: 28px;
  height: 28px;
  margin-bottom: 20px;
  fill: none;
  stroke: var(--gb-accent-dark);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gb-shop-assurance strong,
.gb-shop-assurance span {
  display: block;
}

.gb-shop-assurance strong {
  margin-bottom: 7px;
  color: var(--gb-ink);
  font-size: 16px;
  font-weight: 600;
}

.gb-shop-assurance span {
  color: var(--gb-ink-soft);
  font-size: 14px;
  line-height: 1.55;
}

.gb-category-nav {
  position: sticky;
  top: 78px;
  z-index: 4;
  display: flex;
  gap: 8px;
  max-width: 1400px;
  margin: 0 auto 62px;
  padding: 14px 0;
  overflow-x: auto;
  background: rgba(243, 246, 241, 0.92);
  border-bottom: 1px solid var(--gb-line);
  backdrop-filter: blur(14px) saturate(120%);
  scrollbar-width: none;
}

.gb-category-nav::-webkit-scrollbar {
  display: none;
}

.gb-category-nav a {
  flex: 0 0 auto;
  padding: 10px 15px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--gb-ink-soft);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: color 260ms var(--gb-ease), background-color 260ms var(--gb-ease), border-color 260ms var(--gb-ease), transform 260ms var(--gb-ease);
}

.gb-category-nav a:hover,
.gb-category-nav a:focus-visible {
  color: var(--gb-ink);
  background: var(--gb-surface);
  border-color: var(--gb-line);
  outline: none;
}

.gb-category-nav a[aria-current="true"] {
  color: #ffffff;
  background: var(--gb-ink);
  border-color: var(--gb-ink);
}

.gb-category-nav a:active {
  transform: translateY(1px) scale(0.98);
}

.gb-shop-page .gb-category-heading {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 44px 0 22px !important;
  opacity: 1 !important;
}

.gb-shop-page .gb-category-heading .module-body,
.gb-shop-page .gb-category-heading .module-item,
.gb-shop-page .gb-category-heading .text-content {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gb-shop-page .gb-category-heading h2,
.gb-shop-page .gb-category-heading h3,
.gb-shop-page .gb-category-heading h4,
.gb-shop-page .gb-category-heading p {
  max-width: 820px;
  margin: 0;
}

.gb-shop-page .gb-category-heading h2,
.gb-shop-page .gb-category-heading h3,
.gb-shop-page .gb-category-heading h4 {
  color: var(--gb-ink);
  font-size: clamp(27px, 3.1vw, 42px);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.08;
}

.gb-shop-page .gb-category-heading a,
.gb-shop-page .gb-category-heading .button,
.gb-shop-page .gb-category-heading [class*="more"] {
  display: none !important;
}

.gb-shop-page .gb-category-products {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 54px !important;
  opacity: 1 !important;
}

.gb-shop-page .module-products .module-body,
.gb-shop-page .module-products .module-item,
.gb-shop-page .module-products .product-grid,
.gb-shop-page .module-products .auto-grid-items {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
}

.gb-shop-page .module-products .product-grid {
  display: block !important;
  overflow: visible !important;
}

.gb-shop-page .module-products .auto-grid-items {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-flow: row !important;
  grid-auto-columns: minmax(0, 1fr) !important;
  gap: 18px;
  transform: none !important;
}

.gb-shop-page .module-products .auto-carousel-controls {
  display: none !important;
}

.gb-shop-page .module-products .product-layout {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0;
  transform: translateY(16px);
  animation: gb-card-in 620ms var(--gb-ease) forwards;
}

.gb-shop-page .module-products .product-layout:nth-child(2) { animation-delay: 70ms; }
.gb-shop-page .module-products .product-layout:nth-child(3) { animation-delay: 140ms; }
.gb-shop-page .module-products .product-layout:nth-child(4) { animation-delay: 210ms; }

@keyframes gb-card-in {
  to { opacity: 1; transform: translateY(0); }
}

.gb-shop-page .product-thumb {
  display: flex !important;
  min-height: 100%;
  overflow: hidden;
  background: var(--gb-surface);
  border: 1px solid var(--gb-line);
  border-radius: 24px;
  box-shadow: var(--gb-shadow);
  transition: border-color 320ms var(--gb-ease), transform 320ms var(--gb-ease), box-shadow 320ms var(--gb-ease);
}

.gb-shop-page .product-thumb:hover {
  border-color: #c9d9c5;
  box-shadow: 0 28px 70px -42px rgba(27, 69, 58, 0.55);
  transform: translateY(-4px);
}

.gb-shop-page .product-thumb .image-group,
.gb-shop-page .product-thumb .image {
  width: 100%;
}

.gb-shop-page .product-thumb .image {
  position: relative;
  aspect-ratio: 4 / 4.35;
  overflow: hidden;
  background: #f7f9f5;
}

.gb-shop-page .product-thumb .product-img,
.gb-shop-page .product-thumb .product-img > div {
  display: block;
  width: 100%;
  height: 100%;
}

.gb-shop-page .product-thumb .product-img img {
  width: 100% !important;
  height: 100% !important;
  padding: 18px;
  object-fit: contain;
  transform: scale(0.96);
  transition: transform 520ms var(--gb-ease);
}

.gb-shop-page .product-thumb:hover .product-img img {
  transform: scale(1.015);
}

.gb-shop-page .quickview-button {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 240ms var(--gb-ease), transform 240ms var(--gb-ease);
}

.gb-shop-page .product-thumb:hover .quickview-button,
.gb-shop-page .product-thumb:focus-within .quickview-button {
  opacity: 1;
  transform: translateY(0);
}

.gb-shop-page .product-labels {
  top: 14px !important;
  right: 14px !important;
  left: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  flex-wrap: wrap;
  gap: 6px;
  width: auto !important;
  max-width: calc(100% - 28px) !important;
  overflow: visible !important;
  box-sizing: border-box;
  pointer-events: none;
}

.gb-shop-page .product-label {
  width: max-content !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  line-height: 1 !important;
  text-transform: uppercase;
}

.gb-shop-page .product-label strong {
  min-height: 28px;
  align-items: center;
  padding: 6px 14px !important;
  color: #ffffff !important;
  line-height: 1 !important;
}

.gb-shop-page .product-label-29 strong {
  background: #72c936 !important;
}

.gb-shop-page .product-label-31 strong {
  background: #e6783d !important;
}

.gb-shop-page .product-thumb .caption {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: stretch !important;
  padding: 22px 20px 20px !important;
  text-align: left !important;
}

.gb-shop-page .product-thumb .stats,
.gb-shop-page .product-thumb .rating.no-rating,
.gb-shop-page .product-thumb .price-tax,
.gb-shop-page .product-thumb .btn-compare {
  display: none !important;
}

.gb-shop-page .main-products-style.product-grid .product-thumb .caption > .name {
  min-height: 0 !important;
  margin: 0 0 10px !important;
  order: 1 !important;
}

.gb-shop-page .product-thumb .name a {
  color: var(--gb-ink) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em;
  line-height: 1.28 !important;
  text-decoration: none;
}

.gb-shop-page .main-products-style.product-grid .product-thumb .caption > .description {
  display: -webkit-box !important;
  min-height: 0 !important;
  margin: 0 0 18px !important;
  overflow: hidden;
  order: 2 !important;
  color: var(--gb-ink-soft) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.gb-shop-page .main-products-style.product-grid .product-thumb .caption > .price {
  min-height: 0 !important;
  margin: auto 0 18px !important;
  padding-top: 4px;
  order: 3 !important;
  color: var(--gb-ink) !important;
  font-size: 19px !important;
  font-weight: 650 !important;
  letter-spacing: -0.025em;
}

.gb-shop-page .main-products-style.product-grid .product-thumb .caption > .buttons-wrapper {
  margin-top: 0 !important;
  order: 4 !important;
}

.gb-shop-page .product-thumb .button-group,
.gb-shop-page .product-thumb .cart-group {
  display: grid !important;
  grid-template-columns: 1fr auto;
  gap: 9px;
  width: 100%;
}

.gb-shop-page .product-thumb .stepper {
  display: none !important;
}

.gb-shop-page .main-products-style.product-grid .product-thumb .btn-cart.btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px !important;
  color: var(--gb-buy-text) !important;
  background: var(--gb-buy) !important;
  border: 1px solid var(--gb-buy) !important;
  border-radius: 13px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  line-height: 1 !important;
  text-transform: uppercase;
  transition: background-color 240ms var(--gb-ease), border-color 240ms var(--gb-ease), transform 160ms var(--gb-ease) !important;
}

.gb-shop-page .main-products-style.product-grid .product-thumb .btn-cart.btn::before {
  display: none !important;
  content: none !important;
}

.gb-shop-page .main-products-style.product-grid .product-thumb .btn-cart.btn .btn-text {
  display: inline !important;
  color: var(--gb-buy-text) !important;
}

.gb-shop-page .main-products-style.product-grid .product-thumb .btn-cart.btn:hover,
.gb-shop-page .main-products-style.product-grid .product-thumb .btn-cart.btn:focus-visible {
  color: var(--gb-buy-text) !important;
  background: var(--gb-buy) !important;
  border-color: var(--gb-buy) !important;
  outline: none;
}

.gb-shop-page .main-products-style.product-grid .product-thumb .btn-cart.btn:active {
  transform: translateY(1px) scale(0.98);
}

.gb-shop-page .product-thumb .wish-group {
  display: flex !important;
  width: auto !important;
}

.gb-shop-page .product-thumb .btn-wishlist {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 46px !important;
  height: 46px !important;
  padding: 0 !important;
  color: var(--gb-ink) !important;
  background: var(--gb-surface) !important;
  border: 1px solid var(--gb-line) !important;
  border-radius: 13px !important;
  transition: color 240ms var(--gb-ease), border-color 240ms var(--gb-ease), transform 160ms var(--gb-ease) !important;
}

.gb-shop-page .product-thumb .btn-wishlist:hover,
.gb-shop-page .product-thumb .btn-wishlist:focus-visible {
  color: var(--gb-accent-dark) !important;
  border-color: var(--gb-accent) !important;
  outline: none;
}

.gb-shop-page .main-products-wrapper:has(.main-products-empty) {
  padding: 54px;
  background: var(--gb-surface);
  border: 1px dashed var(--gb-line);
  border-radius: 22px;
  color: var(--gb-ink-soft);
  text-align: center;
}

.gb-shop-page .gb-category-heading {
  scroll-margin-top: 132px;
}

html[lang^="kk"] .module-slider-947 .module-item-1 .module-subitem-1 .slide-text-item > span {
  font-family: "Wix Madefor Display", sans-serif !important;
  font-size: clamp(17px, 4.8vw, 24px) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

/* Account */
.gb-account-page .page-title,
.gb-login-page > body > .page-title {
  text-align: left;
}

.gb-account {
  max-width: 1400px;
  padding: 30px 34px 104px;
}

.gb-account-shell {
  width: 100%;
}

.gb-account-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(220px, 0.6fr);
  gap: 64px;
  align-items: end;
  padding: 58px 0 48px;
  border-bottom: 1px solid var(--gb-line);
}

.gb-account-hero h1 {
  margin: 0;
  color: var(--gb-ink);
  font-size: clamp(38px, 5vw, 66px);
  font-weight: 500;
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.gb-account-hero p {
  max-width: 620px;
  margin: 22px 0 0;
  color: var(--gb-ink-soft);
  font-size: 16px;
  line-height: 1.65;
}

.gb-account-status {
  display: inline-flex;
  align-items: center;
  justify-self: end;
  gap: 10px;
  padding: 11px 15px;
  color: var(--gb-ink);
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--gb-line);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  font-size: 13px;
  font-weight: 600;
}

.gb-account-status-dot {
  width: 8px;
  height: 8px;
  background: var(--gb-accent);
  border-radius: 50%;
  animation: gb-status-breathe 2.8s ease-in-out infinite;
}

@keyframes gb-status-breathe {
  0%, 100% { opacity: 0.55; transform: scale(0.85); }
  50% { opacity: 1; transform: scale(1); }
}

.gb-account > .gb-account-shell > .alert {
  margin: 24px 0 0;
  border-radius: 14px;
}

.gb-account .row,
.gb-account #content {
  margin: 0 !important;
  padding: 0 !important;
}

.gb-account-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.55fr);
  gap: 24px;
  padding-top: 44px;
}

.gb-account-primary,
.gb-account-orders {
  padding: 34px;
  background: var(--gb-surface);
  border: 1px solid var(--gb-line);
  border-radius: 26px;
  box-shadow: var(--gb-shadow);
}

.gb-account-orders {
  grid-column: 1 / -1;
}

.gb-account-section-heading {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 28px;
}

.gb-account-section-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  color: var(--gb-accent-dark);
  background: var(--gb-surface-soft);
  border: 1px solid var(--gb-line);
  border-radius: 50%;
  font-family: "JetBrains Mono", "Cascadia Mono", monospace;
  font-size: 11px;
  font-weight: 600;
}

.gb-account-section-heading h2 {
  margin: 0 0 5px;
  color: var(--gb-ink);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.1;
}

.gb-account-section-heading p {
  margin: 0;
  color: var(--gb-ink-soft);
  font-size: 13px;
}

.gb-account .account-list {
  margin: 0 !important;
  padding: 0 !important;
}

.gb-account .account-list li {
  display: block !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gb-account .account-list a::before,
.gb-account .account-list a::after {
  display: none !important;
  content: none !important;
}

.gb-account-actions {
  display: grid !important;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 10px;
}

.gb-account-actions li:first-child {
  grid-row: span 2;
}

.gb-account-actions a,
.gb-account-order-actions a {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 14px;
  width: 100% !important;
  height: 100%;
  min-height: 82px;
  padding: 18px !important;
  color: var(--gb-ink) !important;
  background: var(--gb-surface-soft) !important;
  border: 1px solid transparent !important;
  border-radius: 17px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  text-decoration: none !important;
  transition: background-color 280ms var(--gb-ease), border-color 280ms var(--gb-ease), transform 180ms var(--gb-ease) !important;
}

.gb-account-actions li:first-child a {
  min-height: 174px;
  align-items: flex-end;
}

.gb-account-actions a:hover,
.gb-account-actions a:focus-visible,
.gb-account-order-actions a:hover,
.gb-account-order-actions a:focus-visible {
  background: #edf3e9 !important;
  border-color: #cfddc9 !important;
  outline: none;
}

.gb-account-actions a:active,
.gb-account-order-actions a:active,
.gb-account-help-link:active {
  transform: translateY(1px) scale(0.99);
}

.gb-account-action-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  color: var(--gb-accent-dark);
  background: var(--gb-surface);
  border: 1px solid var(--gb-line);
  border-radius: 12px;
}

.gb-account-action-icon svg,
.gb-account-help-mark svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gb-account-arrow {
  margin-left: auto;
  color: var(--gb-accent-dark);
  font-size: 18px;
  font-weight: 400;
  transition: transform 240ms var(--gb-ease);
}

.gb-account a:hover .gb-account-arrow,
.gb-account a:focus-visible .gb-account-arrow {
  transform: translateX(3px);
}

.gb-account-help {
  position: relative;
  overflow: hidden;
  padding: 34px;
  color: #edf5eb;
  background: var(--gb-ink);
  border: 1px solid #2b504b;
  border-radius: 26px;
  box-shadow: 0 24px 60px -40px rgba(15, 52, 46, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.gb-account-help::after {
  position: absolute;
  right: -80px;
  bottom: -100px;
  width: 220px;
  height: 220px;
  background: var(--gb-accent);
  border-radius: 50%;
  content: "";
  opacity: 0.12;
  pointer-events: none;
}

.gb-account-help-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-bottom: 42px;
  color: #dff1d3;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px;
}

.gb-account-help .gb-account-eyebrow {
  color: #b9d9a5;
}

.gb-account-help h2 {
  margin: 0 0 14px;
  color: #ffffff;
  font-size: 31px;
  font-weight: 500;
  letter-spacing: -0.04em;
}

.gb-account-help p {
  margin: 0 0 32px;
  color: #c8d8d4;
  font-size: 14px;
  line-height: 1.65;
}

.gb-account-help-link {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 0 16px;
  color: var(--gb-ink) !important;
  background: #ffffff;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none !important;
  transition: background-color 240ms var(--gb-ease), transform 160ms var(--gb-ease);
}

.gb-account-help-link:hover,
.gb-account-help-link:focus-visible {
  color: var(--gb-ink) !important;
  background: #edf5eb;
  outline: none;
}

.gb-account-order-actions {
  display: grid !important;
  grid-template-columns: 1.6fr 0.8fr;
  gap: 10px;
}

.gb-account-order-actions a {
  min-height: 68px;
}

/* Login is part of the account experience. */
.gb-login-page .page-title {
  max-width: 1400px;
  margin: 0 auto;
  padding: 54px 34px 20px;
  color: var(--gb-ink);
  background: transparent;
  font-size: clamp(38px, 5vw, 64px);
  font-weight: 500;
  letter-spacing: -0.055em;
  line-height: 1;
}

.gb-login-page #account-login {
  max-width: 1400px;
  padding: 0 34px 100px;
}

.gb-login-page #account-login > .row,
.gb-login-page #account-login #content,
.gb-login-page #account-login .login-box {
  margin: 0;
  padding: 0;
}

.gb-login-page .login-box {
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  gap: 18px;
}

.gb-login-page .login-box > [class*="col-"] {
  width: auto;
  padding: 0;
}

.gb-login-page .login-box .well {
  min-height: 100%;
  margin: 0;
  padding: 38px;
  background: var(--gb-surface);
  border: 1px solid var(--gb-line);
  border-radius: 26px;
  box-shadow: var(--gb-shadow);
}

.gb-login-page .login-box > :first-child .well {
  color: #edf5eb;
  background: var(--gb-ink);
  border-color: #2b504b;
  box-shadow: 0 24px 60px -40px rgba(15, 52, 46, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.gb-login-page .login-box .title {
  margin: 0 0 26px;
  color: var(--gb-ink);
  font-size: 26px;
  font-weight: 550;
  letter-spacing: -0.035em;
  line-height: 1.15;
}

.gb-login-page .login-box > :first-child .title,
.gb-login-page .login-box > :first-child p {
  color: #ffffff;
}

.gb-login-page .login-box p {
  color: var(--gb-ink-soft);
  font-size: 14px;
  line-height: 1.65;
}

.gb-login-page .login-form .form-group {
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
}

.gb-login-page .login-form .control-label {
  color: var(--gb-ink);
  font-size: 13px;
  font-weight: 600;
  text-align: left;
}

.gb-login-page .login-form .form-control {
  width: 100%;
  height: 52px;
  padding: 0 15px;
  color: var(--gb-ink);
  background: var(--gb-surface-soft);
  border: 1px solid var(--gb-line);
  border-radius: 13px;
  box-shadow: none;
  font-size: 15px;
  transition: background-color 220ms var(--gb-ease), border-color 220ms var(--gb-ease), box-shadow 220ms var(--gb-ease);
}

.gb-login-page .login-form .form-control:focus {
  background: #ffffff;
  border-color: var(--gb-accent);
  box-shadow: 0 0 0 3px rgba(116, 184, 63, 0.12);
}

.gb-login-page .forgot-password {
  display: inline-block;
  margin: 0 0 22px;
  color: var(--gb-accent-dark);
  font-size: 13px;
  font-weight: 600;
}

.gb-login-page .login-box .buttons,
.gb-login-page .login-box .pull-right {
  float: none !important;
  margin: 24px 0 0;
}

.gb-login-page .login-box .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  color: #ffffff;
  background: var(--gb-ink);
  border: 1px solid var(--gb-ink);
  border-radius: 13px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: background-color 240ms var(--gb-ease), border-color 240ms var(--gb-ease), transform 160ms var(--gb-ease);
}

.gb-login-page .login-box > :first-child .btn-primary {
  color: var(--gb-ink);
  background: #ffffff;
  border-color: #ffffff;
}

.gb-login-page .login-box .btn-primary:hover,
.gb-login-page .login-box .btn-primary:focus-visible {
  background: var(--gb-accent-dark);
  border-color: var(--gb-accent-dark);
  outline: none;
}

.gb-login-page .login-box .btn-primary:active {
  transform: translateY(1px) scale(0.98);
}

@media (max-width: 1024px) {
  .gb-shop-page .module-products .auto-grid-items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .gb-shop-hero,
  .gb-account-hero {
    gap: 36px;
  }

  .gb-account-layout {
    grid-template-columns: minmax(0, 1.35fr) minmax(250px, 0.65fr);
  }
}

@media (max-width: 767px) {
  .gb-shop-page .breadcrumbs,
  .gb-account-page .breadcrumbs,
  .gb-login-page .breadcrumbs {
    padding: 14px 18px 0;
  }

  .gb-shop-page #content,
  .gb-account,
  .gb-login-page #account-login {
    padding-right: 18px;
    padding-left: 18px;
  }

  .gb-shop-page #content {
    padding-bottom: 68px;
  }

  .gb-shop-hero,
  .gb-account-hero {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 38px 0 32px;
  }

  .gb-shop-hero .page-title,
  .gb-account-hero h1,
  .gb-login-page .page-title {
    font-size: 41px;
    letter-spacing: -0.05em;
  }

  .gb-shop-assurance {
    padding: 22px 0 0;
    border-top: 1px solid var(--gb-line);
    border-left: 0;
  }

  .gb-category-nav {
    top: 64px;
    margin-right: -18px;
    margin-bottom: 36px;
    margin-left: -18px;
    padding: 11px 18px;
  }

  .gb-shop-page .gb-category-heading {
    padding-top: 32px !important;
  }

  .gb-shop-page .module-products .auto-grid-items {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: minmax(0, 1fr) !important;
    gap: 14px;
    overflow: visible !important;
  }

  .gb-shop-page .module-products .auto-grid-items::before,
  .gb-shop-page .module-products .auto-grid-items::after {
    display: none !important;
  }

  .gb-shop-page .product-thumb {
    border-radius: 20px;
  }

  .gb-shop-page .product-thumb .image {
    aspect-ratio: 4 / 3.8;
  }

  .gb-shop-page .quickview-button {
    display: none;
  }

  .gb-account {
    padding-top: 18px;
    padding-bottom: 76px;
  }

  .gb-account-status {
    justify-self: start;
  }

  .gb-account-layout,
  .gb-login-page .login-box {
    grid-template-columns: 1fr;
  }

  .gb-account-primary,
  .gb-account-orders,
  .gb-account-help,
  .gb-login-page .login-box .well {
    padding: 24px;
    border-radius: 21px;
  }

  .gb-account-orders {
    grid-column: auto;
  }

  .gb-account-actions,
  .gb-account-order-actions {
    grid-template-columns: 1fr;
  }

  .gb-account-actions li:first-child {
    grid-row: auto;
  }

  .gb-account-actions li:first-child a,
  .gb-account-actions a,
  .gb-account-order-actions a {
    min-height: 72px;
    align-items: center;
  }

  .gb-login-page .page-title {
    padding: 38px 18px 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gb-shop-page *,
  .gb-account-page *,
  .gb-login-page * {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
