/**
 * WooCommerce classic templates and block storefront components.
 *
 * This layer intentionally targets WooCommerce public component classes and
 * leaves checkout behaviour, validation, taxes, shipping and payments to Woo.
 */

.woocommerce-main {
  padding-block: clamp(7.5rem, 10vw, 9.5rem) clamp(5rem, 8vw, 8rem);
}

.helima-commerce-main {
  padding: 0;
}

.woocommerce-shell,
.helima-commerce-content,
.woocommerce-account .entry-content {
  width: min(100%, 1440px);
}

.woocommerce {
  color: var(--helima-ivory);
}

.woocommerce a {
  color: var(--helima-accent-soft);
}

.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce div.product .product_title,
.wc-block-cart__empty-cart__title,
.wc-block-components-title,
.wp-block-woocommerce-product-collection h2 {
  color: var(--helima-ivory);
  font-family: var(--helima-display);
  font-weight: 400;
  line-height: 1.2;
}

.helima-commerce-entry {
  position: relative;
}

.helima-commerce-hero {
  min-height: clamp(23rem, 42vw, 34rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(2rem, 7vw, 7rem);
  align-items: end;
  padding-block: clamp(9rem, 14vw, 12rem) clamp(2.25rem, 5vw, 4.5rem);
  border-bottom: 1px solid var(--helima-border);
  background:
    radial-gradient(circle at 82% 18%, rgba(104, 166, 132, 0.12), transparent 24rem),
    linear-gradient(145deg, transparent 55%, rgba(255, 255, 255, 0.018));
}

[dir="rtl"] .helima-commerce-hero {
  background:
    radial-gradient(circle at 18% 18%, rgba(104, 166, 132, 0.12), transparent 24rem),
    linear-gradient(215deg, transparent 55%, rgba(255, 255, 255, 0.018));
}

.helima-commerce-hero__copy {
  max-width: 52rem;
}

.helima-commerce-hero .display-title {
  margin-block: 0.65rem 1.25rem;
  font-size: clamp(3rem, 7vw, 6.7rem);
}

.helima-commerce-hero .lede {
  max-width: 45rem;
  margin: 0;
}

.helima-checkout-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(5rem, 1fr));
  min-width: min(30rem, 38vw);
  margin: 0;
  padding: 0;
  list-style: none;
}

.helima-checkout-progress li {
  position: relative;
  display: grid;
  gap: 0.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--helima-border);
  color: var(--helima-stone);
  font-size: 0.72rem;
}

.helima-checkout-progress li::before {
  content: "";
  position: absolute;
  inset-block-start: -3px;
  inset-inline-start: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--helima-stone);
}

.helima-checkout-progress li span {
  font-family: var(--helima-display);
  font-size: 1rem;
}

.helima-checkout-progress li.is-current,
.helima-checkout-progress li.is-complete {
  border-color: rgba(104, 166, 132, 0.7);
  color: var(--helima-accent-soft);
}

.helima-checkout-progress li.is-current::before,
.helima-checkout-progress li.is-complete::before {
  background: var(--helima-accent);
  box-shadow: 0 0 0 5px rgba(104, 166, 132, 0.11);
}

.helima-commerce-content {
  padding-block: clamp(2.5rem, 6vw, 5rem) clamp(5rem, 9vw, 8rem);
}

.helima-commerce-content.helima-shell {
  max-width: none;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  float: none;
  margin: 0;
  color: var(--helima-muted);
  font-size: 0.78rem;
}

.woocommerce .woocommerce-ordering select {
  min-width: 14rem;
  min-height: 46px;
  padding-inline: 1rem 2.6rem;
  border: 1px solid var(--helima-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.035);
  color: var(--helima-ivory);
}

/* Notices. */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
  margin-block: 0 1.5rem;
  padding: 1rem 1.25rem;
  border: 1px solid var(--helima-border);
  border-inline-start: 3px solid var(--helima-accent);
  border-radius: 0.9rem;
  background: var(--helima-charcoal);
  color: var(--helima-ivory);
  box-shadow: var(--helima-shadow);
}

.woocommerce-error,
.wc-block-components-notice-banner.is-error {
  border-inline-start-color: #cf706d;
}

.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--helima-accent);
}

.woocommerce-error::before {
  color: #cf706d;
}

/* Reserve a logical icon gutter in both LTR and RTL layouts. WooCommerce's
   default icon is absolutely positioned and otherwise overlaps custom text. */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
  position: relative;
  padding-block: 1rem;
  padding-inline: 3.4rem 1.25rem;
}

.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before {
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  inset-block-start: 1rem;
  inset-inline-start: 1.2rem;
  width: 1.5rem;
  height: 1.5rem;
  display: grid;
  place-items: center;
  margin: 0;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-family: Arial, sans-serif;
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.woocommerce .woocommerce-message::before {
  content: "\2713";
}

.woocommerce .woocommerce-info::before {
  content: "i";
}

.woocommerce .woocommerce-error::before {
  content: "!";
}

/* Buttons and form controls. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button,
.wp-block-button.wc-block-components-product-button .wp-block-button__link {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.8rem 1.35rem;
  border: 1px solid rgba(104, 166, 132, 0.28);
  border-radius: 999px;
  background: var(--helima-brand);
  color: var(--helima-ivory);
  box-shadow: 0 0.85rem 2.4rem rgba(20, 73, 49, 0.2);
  font-family: var(--helima-ui);
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1.2;
  text-decoration: none;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.wc-block-components-button:hover,
.wp-block-button.wc-block-components-product-button .wp-block-button__link:hover {
  border-color: rgba(104, 166, 132, 0.55);
  background: var(--helima-brand-hover);
  color: #fff;
  transform: translateY(-1px);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: var(--helima-brand);
  color: #fff;
}

.woocommerce a.button.disabled,
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.wc-block-components-button:disabled {
  opacity: 0.52;
  cursor: not-allowed;
  transform: none;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .quantity .qty,
.select2-container--default .select2-selection--single,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-address-form input,
.wc-block-components-address-form select,
.wc-block-components-validation-error input {
  min-height: 48px;
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--helima-border);
  border-radius: 0.7rem;
  background: rgba(255, 255, 255, 0.045);
  color: var(--helima-ivory);
  font-family: var(--helima-ui);
  box-shadow: none;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce .quantity .qty:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input:focus {
  border-color: var(--helima-accent);
  outline: 2px solid rgba(104, 166, 132, 0.2);
  outline-offset: 1px;
}

.woocommerce form .form-row label,
.wc-block-components-text-input label,
.wc-block-components-address-form label,
.wc-block-components-checkbox__label {
  color: var(--helima-muted);
  font-size: 0.76rem;
}

.woocommerce .password-input {
  position: relative;
  display: block;
}

.woocommerce .password-input .input-text {
  padding-inline-end: 3.35rem;
}

.woocommerce .show-password-input {
  position: absolute;
  top: 50%;
  right: auto;
  left: auto;
  inset-inline-end: 0.2rem;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  margin: 0;
  border-radius: 0.55rem;
  color: var(--helima-stone);
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
}

.woocommerce .show-password-input:hover,
.woocommerce .show-password-input:focus-visible {
  background: rgba(104, 166, 132, 0.1);
  color: var(--helima-accent-soft);
  outline: none;
}

.woocommerce .woocommerce-form-login__rememberme {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  cursor: pointer;
}

.woocommerce .woocommerce-form-login__rememberme input[type="checkbox"] {
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
  margin: 0;
  accent-color: var(--helima-accent);
}

.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--single .select2-selection__arrow,
.select2-dropdown,
.select2-search--dropdown .select2-search__field {
  color: var(--helima-ivory);
}

.select2-dropdown {
  border-color: var(--helima-border);
  background: var(--helima-charcoal);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: var(--helima-brand);
}

/* Product catalog and Product Collection block. */
.woocommerce-products-header {
  position: relative;
  min-height: clamp(19rem, 34vw, 29rem);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin-bottom: clamp(2rem, 5vw, 4rem);
  padding-block: 2rem clamp(2rem, 5vw, 4rem);
  padding-inline: clamp(1.25rem, 5vw, 5rem);
  overflow: hidden;
  border: 1px solid var(--helima-border);
  border-radius: clamp(1rem, 3vw, 2rem);
  background:
    radial-gradient(circle at 86% 18%, rgba(104, 166, 132, 0.17), transparent 25rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.012));
}

[dir="rtl"] .woocommerce-products-header {
  background:
    radial-gradient(circle at 14% 18%, rgba(104, 166, 132, 0.17), transparent 25rem),
    linear-gradient(225deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.012));
}

.woocommerce-products-header::after {
  content: "H";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: clamp(1rem, 5vw, 5rem);
  color: rgba(242, 238, 230, 0.035);
  font-family: var(--helima-display);
  font-size: clamp(10rem, 23vw, 23rem);
  line-height: 0.7;
  pointer-events: none;
  transform: translateY(-48%);
}

.woocommerce-products-header .woocommerce-products-header__title {
  position: relative;
  z-index: 1;
  order: 2;
  max-width: 55rem;
  margin: 0.55rem 0 1rem;
  font-size: clamp(2.8rem, 7vw, 6.5rem);
  letter-spacing: -0.04em;
}

.helima-shop-hero__kicker {
  position: relative;
  z-index: 1;
  order: 1;
  margin: 0;
  color: var(--helima-accent);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.helima-shop-hero__kicker::before {
  content: "";
  display: inline-block;
  width: 2.5rem;
  height: 1px;
  margin-inline-end: 0.8rem;
  vertical-align: middle;
  background: currentColor;
}

.helima-shop-hero__lede,
.term-description {
  position: relative;
  z-index: 1;
  order: 3;
  max-width: 48rem;
  margin: 0;
  color: var(--helima-muted);
  font-size: clamp(0.92rem, 1.5vw, 1.08rem);
  line-height: 1.9;
}

/* Main shop: editorial gateway to artwork, courses and learning editions. */
.woocommerce-shop .woocommerce-products-header {
  min-height: 0;
  display: block;
  margin-bottom: clamp(2rem, 5vw, 4.5rem);
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.woocommerce-shop .woocommerce-products-header::after {
  content: none;
}

.helima-shop-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(24rem, 1.08fr);
  min-height: clamp(34rem, 50vw, 46rem);
  overflow: hidden;
  border: 1px solid var(--helima-border);
  border-radius: clamp(1rem, 2.4vw, 2rem);
  background:
    radial-gradient(circle at 16% 16%, rgba(104, 166, 132, 0.16), transparent 26rem),
    linear-gradient(145deg, #111719, #090b0d 64%);
  box-shadow: 0 2.5rem 7rem rgba(0, 0, 0, 0.24);
}

[dir="rtl"] .helima-shop-hero {
  background:
    radial-gradient(circle at 84% 16%, rgba(104, 166, 132, 0.16), transparent 26rem),
    linear-gradient(215deg, #111719, #090b0d 64%);
}

.helima-shop-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 5vw, 5.5rem);
}

.helima-shop-hero__content::before {
  content: "01";
  position: absolute;
  inset-block-start: clamp(1.2rem, 2.5vw, 2.5rem);
  inset-inline-end: clamp(1.2rem, 2.5vw, 2.5rem);
  color: rgba(242, 238, 230, 0.16);
  font-family: var(--helima-display);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
}

.helima-shop-hero__content h1 {
  max-width: 12ch;
  margin: 0.85rem 0 1.35rem;
  color: var(--helima-ivory);
  font-family: var(--helima-display);
  font-size: clamp(3rem, 6vw, 6.4rem);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -0.055em;
}

.helima-shop-hero .helima-shop-hero__kicker,
.helima-shop-hero .helima-shop-hero__lede {
  order: initial;
}

.helima-shop-hero .helima-shop-hero__lede {
  max-width: 42rem;
  font-size: clamp(0.94rem, 1.45vw, 1.08rem);
}

.helima-shop-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1.4rem;
  align-items: center;
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

.woocommerce .helima-shop-hero__actions .button {
  min-width: 10.5rem;
  margin: 0;
}

.helima-shop-hero__text-link {
  position: relative;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding-inline: 0.15rem;
  color: var(--helima-ivory);
  font-size: 0.78rem;
  font-weight: 650;
}

.helima-shop-hero__text-link::after {
  content: "↗";
  margin-inline-start: 0.55rem;
  color: var(--helima-accent);
}

.helima-shop-hero__assurance {
  margin: 1.25rem 0 0;
  color: var(--helima-stone);
  font-size: 0.66rem;
  line-height: 1.8;
}

.helima-shop-hero__media {
  position: relative;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  background: #090b0d;
}

.helima-shop-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(9, 11, 13, 0.88), transparent 38%),
    linear-gradient(0deg, rgba(9, 11, 13, 0.7), transparent 38%);
  pointer-events: none;
}

[dir="rtl"] .helima-shop-hero__media::after {
  background:
    linear-gradient(270deg, rgba(9, 11, 13, 0.88), transparent 38%),
    linear-gradient(0deg, rgba(9, 11, 13, 0.7), transparent 38%);
}

.helima-shop-hero__media img {
  width: 100%;
  height: 100%;
  min-height: clamp(34rem, 50vw, 46rem);
  display: block;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.82) contrast(1.04) brightness(0.82);
  transform: scale(1.01);
}

.helima-shop-hero__media figcaption {
  position: absolute;
  z-index: 2;
  inset-block-end: clamp(1.25rem, 3vw, 2.5rem);
  inset-inline: clamp(1.25rem, 3vw, 2.5rem);
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  color: var(--helima-ivory);
}

.helima-shop-hero__media figcaption span {
  color: var(--helima-accent-soft);
  font-size: 0.65rem;
  letter-spacing: 0.08em;
}

.helima-shop-hero__media figcaption strong {
  font-family: var(--helima-display);
  font-size: clamp(1.1rem, 2vw, 1.6rem);
  font-weight: 400;
}

.helima-shop-pathways {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(1rem, 2vw, 1.6rem);
  border-block: 1px solid var(--helima-border);
}

.helima-shop-pathways a {
  position: relative;
  min-height: 10rem;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.35rem 1rem;
  align-content: center;
  padding: clamp(1.2rem, 2.5vw, 2.2rem);
  border-inline-end: 1px solid var(--helima-border);
  color: var(--helima-muted);
  transition: background 220ms ease, color 220ms ease;
}

.helima-shop-pathways a:last-child {
  border-inline-end: 0;
}

.helima-shop-pathways a:hover,
.helima-shop-pathways a:focus-visible {
  background: rgba(104, 166, 132, 0.07);
  color: var(--helima-ivory);
}

.helima-shop-pathways__index {
  grid-row: 1 / span 2;
  color: var(--helima-accent);
  font-family: var(--helima-display);
  font-size: 0.72rem;
}

.helima-shop-pathways strong {
  color: var(--helima-ivory);
  font-family: var(--helima-display);
  font-size: clamp(1.05rem, 1.7vw, 1.35rem);
  font-weight: 400;
}

.helima-shop-pathways a > span:last-child {
  max-width: 24rem;
  font-size: 0.7rem;
  line-height: 1.75;
}

#helima-shop-catalog {
  scroll-margin-top: 7rem;
}

.helima-shop-toolbar {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
  padding: 0.75rem 0 1.25rem;
  border-bottom: 1px solid var(--helima-border);
}

.woocommerce ul.products,
.wc-block-grid__products,
.wp-block-woocommerce-product-template {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: clamp(1rem, 2.2vw, 2rem);
  margin: 0;
  padding: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none;
}

.woocommerce ul.products li.product,
.wc-block-grid__product,
.wp-block-woocommerce-product-template > li,
.wc-block-product {
  width: auto;
  margin: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0;
  border: 1px solid var(--helima-border);
  border-radius: var(--helima-radius);
  overflow: hidden;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.045), transparent 45%), var(--helima-charcoal);
  color: var(--helima-ivory);
  box-shadow: 0 1.4rem 4rem rgba(0, 0, 0, 0.12);
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.woocommerce ul.products li.product:hover,
.wc-block-grid__product:hover,
.wp-block-woocommerce-product-template > li:hover {
  border-color: rgba(104, 166, 132, 0.38);
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.24);
  transform: translateY(-4px);
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  color: inherit;
}

.woocommerce ul.products li.product a img,
.wc-block-grid__product-image img,
.wc-block-components-product-image img,
.wp-block-woocommerce-product-image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  margin: 0;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.025);
  object-fit: cover;
  transition: filter 260ms ease, transform 500ms cubic-bezier(0.2, 0.75, 0.2, 1);
}

.woocommerce ul.products li.product:hover a img {
  filter: saturate(1.05) contrast(1.03);
  transform: scale(1.018);
}

.helima-product-card__type {
  position: absolute;
  z-index: 2;
  inset-block-start: 0.85rem;
  inset-inline-start: 0.85rem;
  padding: 0.42rem 0.68rem;
  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 999px;
  background: rgba(8, 9, 11, 0.76);
  color: var(--helima-ivory);
  font-size: 0.64rem;
  font-weight: 650;
  line-height: 1;
  backdrop-filter: blur(12px);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wc-block-components-product-name,
.wp-block-woocommerce-product-template .wp-block-post-title {
  color: var(--helima-ivory);
  font-family: var(--helima-display);
  margin: 0;
  padding: 1.2rem 1.2rem 0.35rem;
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  font-weight: 400;
}

.helima-product-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.85rem;
  min-height: 1.8rem;
  padding-inline: 1.2rem;
  color: var(--helima-stone);
  font-size: 0.69rem;
}

.helima-product-card__meta span + span::before {
  content: "·";
  margin-inline-end: 0.85rem;
  color: var(--helima-accent);
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.wc-block-grid__product-price,
.wc-block-components-product-price,
.wp-block-woocommerce-product-price {
  color: var(--helima-accent-soft);
  font-weight: 650;
}

.woocommerce ul.products li.product .price {
  margin: auto 0 0;
  padding: 0.8rem 1.2rem 0;
  font-size: 0.82rem;
}

.woocommerce ul.products li.product .button {
  width: calc(100% - 2.4rem);
  min-height: 44px;
  margin: 1rem 1.2rem 1.2rem;
  padding: 0.7rem 1rem;
  background: rgba(20, 73, 49, 0.68);
  box-shadow: none;
}

.woocommerce span.onsale,
.wc-block-components-product-sale-badge,
.wc-block-grid__product-onsale {
  min-width: 0;
  min-height: 0;
  padding: 0.4rem 0.7rem;
  border: 1px solid rgba(104, 166, 132, 0.35);
  border-radius: 999px;
  background: rgba(20, 73, 49, 0.92);
  color: #fff;
  font-size: 0.68rem;
  line-height: 1.2;
}

.woocommerce .star-rating,
.wc-block-components-product-rating-stars {
  color: #d3b774;
}

.woocommerce nav.woocommerce-pagination {
  margin-top: clamp(2rem, 5vw, 4rem);
}

.woocommerce nav.woocommerce-pagination ul {
  display: inline-flex;
  gap: 0.35rem;
  border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  min-width: 2.7rem;
  min-height: 2.7rem;
  display: grid;
  place-items: center;
  padding: 0.5rem;
  border: 1px solid var(--helima-border);
  border-radius: 50%;
  background: transparent;
  color: var(--helima-muted);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  border-color: var(--helima-accent);
  background: rgba(104, 166, 132, 0.11);
  color: var(--helima-ivory);
}

/* Single product and official Woo product gallery. */
.woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(22rem, 0.82fr);
  gap: clamp(2rem, 5vw, 5.5rem);
  align-items: start;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  float: none;
  width: auto;
  margin: 0;
}

.helima-product-route {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  margin-bottom: clamp(1.5rem, 4vw, 3rem);
  color: var(--helima-stone);
  font-size: 0.7rem;
}

.helima-product-route a {
  color: var(--helima-muted);
}

.helima-product-route a:hover {
  color: var(--helima-accent-soft);
}

.woocommerce div.product div.images {
  position: sticky;
  top: 7rem;
  padding: clamp(0.55rem, 1.5vw, 1rem);
  border: 1px solid var(--helima-border);
  border-radius: clamp(1rem, 2.5vw, 1.75rem);
  background: rgba(255, 255, 255, 0.025);
  box-shadow: var(--helima-shadow);
}

.woocommerce div.product div.summary {
  padding: clamp(1.4rem, 3.5vw, 2.75rem);
  border: 1px solid var(--helima-border);
  border-radius: clamp(1rem, 2.5vw, 1.75rem);
  background:
    radial-gradient(circle at 100% 0, rgba(104, 166, 132, 0.1), transparent 20rem),
    rgba(23, 24, 28, 0.7);
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce div.product div.images .flex-control-thumbs li img {
  border-radius: calc(var(--helima-radius) - 0.35rem);
  overflow: hidden;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img {
  width: 100%;
  border-radius: calc(var(--helima-radius) - 0.35rem);
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
  display: grid;
  place-items: center;
  border: 1px solid var(--helima-border);
  background: rgba(8, 9, 11, 0.78);
}

.woocommerce div.product div.images .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
  margin-top: 0.7rem;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  float: none;
  width: auto;
}

.helima-product-kicker {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin: 0 0 1rem;
}

.helima-product-kicker span {
  padding: 0.4rem 0.7rem;
  border: 1px solid rgba(104, 166, 132, 0.32);
  border-radius: 999px;
  color: var(--helima-accent-soft);
  font-size: 0.66rem;
  font-weight: 650;
}

.woocommerce div.product .product_title {
  max-width: 14ch;
  margin: 0 0 1rem;
  font-size: clamp(2.4rem, 5vw, 5.2rem);
  letter-spacing: -0.04em;
}

[dir="rtl"] .woocommerce div.product .product_title {
  letter-spacing: 0;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  display: block;
  margin: 0.3rem 0 1.25rem;
  font-size: clamp(1.25rem, 2.3vw, 1.75rem);
}

.woocommerce div.product .woocommerce-product-details__short-description {
  max-width: 46rem;
  color: var(--helima-muted);
  font-size: 0.95rem;
  line-height: 1.95;
}

.helima-product-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 1.5rem 0;
  padding-block: 1rem;
  border-block: 1px solid var(--helima-border);
}

.helima-product-facts > div {
  min-width: 0;
  padding-inline: 0.9rem;
  border-inline-end: 1px solid var(--helima-border);
}

.helima-product-facts > div:first-child {
  padding-inline-start: 0;
}

.helima-product-facts > div:last-child {
  padding-inline-end: 0;
  border-inline-end: 0;
}

.helima-product-facts dt {
  margin-bottom: 0.35rem;
  color: var(--helima-stone);
  font-size: 0.62rem;
}

.helima-product-facts dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--helima-ivory);
  font-size: 0.8rem;
  font-weight: 600;
}

.woocommerce div.product form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin-block: 1.25rem;
  padding: 0.75rem;
  border: 1px solid var(--helima-border);
  border-radius: 999px;
  background: rgba(8, 9, 11, 0.34);
}

.woocommerce div.product form.cart .quantity {
  flex: 0 0 auto;
}

.woocommerce div.product form.cart .quantity .qty {
  width: 4.5rem;
  min-height: 46px;
  border: 0;
  background: transparent;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
  flex: 1 1 13rem;
  min-height: 50px;
}

.woocommerce div.product form.cart .variations {
  width: 100%;
}

.woocommerce div.product .stock.in-stock {
  color: var(--helima-accent-soft);
}

.woocommerce div.product .stock.out-of-stock {
  color: #d99491;
}

.woocommerce div.product .product_meta {
  display: grid;
  gap: 0.35rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--helima-border);
  color: var(--helima-stone);
  font-size: 0.72rem;
}

.helima-product-assurances {
  display: grid;
  gap: 0.65rem;
  margin: 1.25rem 0 0;
  padding: 0;
  color: var(--helima-muted);
  font-size: 0.72rem;
  list-style: none;
}

.helima-product-assurances li {
  display: flex;
  gap: 0.6rem;
  align-items: center;
}

.helima-product-assurances svg {
  flex: 0 0 auto;
  color: var(--helima-accent);
}

.helima-product-waitlist {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--helima-border);
}

.helima-product-details,
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells {
  grid-column: 1 / -1;
  width: 100%;
  clear: both;
}

.helima-product-details {
  display: grid;
  grid-template-columns: minmax(15rem, 0.65fr) minmax(0, 1.35fr);
  gap: clamp(2rem, 6vw, 6rem);
  margin-top: clamp(2rem, 6vw, 5rem);
  padding: clamp(1.5rem, 5vw, 4rem);
  border-block: 1px solid var(--helima-border);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.028), transparent);
}

.helima-product-details__header p {
  margin: 0 0 0.7rem;
  color: var(--helima-accent);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.helima-product-details__header h2 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(2rem, 4vw, 4rem);
}

.helima-product-specifications {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  margin: 0;
}

.helima-product-specifications > div {
  display: grid;
  gap: 0.35rem;
  padding: 1rem;
  border-bottom: 1px solid var(--helima-border);
}

.helima-product-specifications dt {
  color: var(--helima-stone);
  font-size: 0.66rem;
}

.helima-product-specifications dd {
  margin: 0;
  color: var(--helima-ivory);
  font-size: 0.92rem;
}

.helima-product-detail-lists {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: 1rem;
}

.helima-product-detail-lists section {
  padding: 1.25rem;
  border: 1px solid var(--helima-border);
  border-radius: 1rem;
  background: rgba(8, 9, 11, 0.28);
}

.helima-product-detail-lists h3 {
  margin: 0 0 1rem;
  font-size: 1.15rem;
}

.helima-product-detail-lists ul {
  display: grid;
  gap: 0.7rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.helima-product-detail-lists li {
  display: flex;
  gap: 0.6rem;
  color: var(--helima-muted);
  font-size: 0.78rem;
}

.helima-product-detail-lists svg {
  flex: 0 0 auto;
  color: var(--helima-accent);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 2rem;
  padding: 0;
}

.woocommerce div.product .woocommerce-tabs {
  margin-top: clamp(2rem, 6vw, 5rem);
  padding: clamp(1.25rem, 4vw, 3rem);
  border: 1px solid var(--helima-border);
  border-radius: var(--helima-radius);
  background: rgba(23, 24, 28, 0.42);
}

.woocommerce div.product .woocommerce-tabs .panel {
  max-width: 76rem;
  margin: 0;
  color: var(--helima-muted);
  line-height: 2;
}

.woocommerce div.product .woocommerce-tabs .panel > h2:first-child {
  margin-top: 0;
  font-size: clamp(1.7rem, 3vw, 2.7rem);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-color: var(--helima-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  margin: 0;
  padding-inline: 1rem;
  border: 1px solid var(--helima-border);
  border-radius: 999px;
  background: transparent;
  color: var(--helima-muted);
}

.woocommerce div.product .related,
.woocommerce div.product .upsells {
  margin-top: clamp(3rem, 7vw, 6rem);
}

.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 {
  margin-bottom: 1.75rem;
  font-size: clamp(2rem, 4vw, 3.8rem);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-color: var(--helima-accent);
  color: var(--helima-ivory);
}

/* Classic cart, checkout, orders and account tables. */
.woocommerce table.shop_table,
.woocommerce table.my_account_orders,
.woocommerce table.woocommerce-table--order-details {
  width: 100%;
  border: 1px solid var(--helima-border);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 1rem;
  overflow: hidden;
  background: rgba(23, 24, 28, 0.86);
  color: var(--helima-muted);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce table.my_account_orders th,
.woocommerce table.my_account_orders td {
  padding: 0.9rem 1rem;
  border-color: var(--helima-border);
}

.woocommerce table.shop_table th,
.woocommerce table.my_account_orders th {
  color: var(--helima-ivory);
  font-size: 0.76rem;
}

.woocommerce-cart table.cart img {
  width: 72px;
  border-radius: 0.65rem;
}

.woocommerce-cart table.cart td.actions .coupon {
  display: flex;
  gap: 0.5rem;
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #customer_details,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
  padding: clamp(1rem, 3vw, 1.75rem);
  border: 1px solid var(--helima-border);
  border-radius: var(--helima-radius);
  background: rgba(23, 24, 28, 0.82);
}

.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals,
.woocommerce-checkout form.checkout {
  margin-top: 0;
}

.woocommerce-cart .cart-collaterals .cart_totals {
  float: none;
  width: 100%;
}

.woocommerce-cart .cart-collaterals .cart_totals h2,
.woocommerce-checkout #order_review_heading {
  margin-top: 0;
  font-size: clamp(1.5rem, 2.6vw, 2.2rem);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order {
  width: 100%;
}

.helima-checkout-gift,
.helima-order-gift-details {
  margin-block: 1.25rem;
  padding: clamp(1rem, 2.6vw, 1.5rem);
  border: 1px solid var(--helima-border);
  border-radius: var(--helima-radius);
  background: rgba(23, 24, 28, 0.72);
}

.helima-checkout-gift > :first-child,
.helima-order-gift-details > :first-child {
  margin-top: 0;
}

.helima-checkout-gift > :last-child,
.helima-order-gift-details > :last-child {
  margin-bottom: 0;
}

.woocommerce-checkout #payment {
  border: 1px solid var(--helima-border);
  border-radius: 1rem;
  background: rgba(8, 9, 11, 0.32);
}

.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout #payment div.form-row {
  border-color: var(--helima-border);
}

.woocommerce-checkout #payment div.payment_box {
  border-radius: 0.8rem;
  background: rgba(255, 255, 255, 0.055);
  color: var(--helima-muted);
}

.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: rgba(255, 255, 255, 0.055);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 0.65rem 0.8rem;
  border-radius: 0.65rem;
  color: var(--helima-muted);
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: rgba(104, 166, 132, 0.11);
  color: var(--helima-ivory);
}

/* Cart and Checkout Blocks. */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-cart,
.wc-block-checkout {
  color: var(--helima-ivory);
  font-family: var(--helima-ui);
}

.wp-block-woocommerce-cart.alignwide,
.wp-block-woocommerce-checkout.alignwide {
  max-width: none;
  margin-inline: 0;
}

.wc-block-cart,
.wc-block-checkout {
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: start;
}

.wc-block-cart .wc-block-components-main,
.wc-block-checkout .wc-block-components-main {
  padding-inline-end: 0;
}

.wc-block-components-main,
.wc-block-components-sidebar,
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-components-checkout-step,
.wc-block-components-radio-control-accordion-option,
.wc-block-cart-items,
.wc-block-cart__totals-title {
  border-color: var(--helima-border);
}

.wc-block-components-sidebar,
.wc-block-components-order-summary,
.wc-block-components-checkout-step,
.wc-block-components-radio-control-accordion-option {
  border-radius: var(--helima-radius);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.035), transparent 55%),
    rgba(23, 24, 28, 0.72);
}

.wc-block-components-sidebar {
  padding: clamp(1rem, 2.5vw, 1.5rem);
  border: 1px solid var(--helima-border);
  box-shadow: 0 1.8rem 5rem rgba(0, 0, 0, 0.16);
}

.wc-block-cart__totals-title,
.wc-block-components-checkout-order-summary__title {
  padding-block: 0 1rem;
  color: var(--helima-ivory);
  font-family: var(--helima-display);
  font-size: 1.25rem;
  font-weight: 400;
  text-transform: none;
}

.wc-block-components-order-summary,
.wc-block-components-checkout-step {
  padding: clamp(1rem, 2.6vw, 1.5rem);
}

.wc-block-components-checkout-step {
  margin-bottom: 1rem;
  border: 1px solid var(--helima-border);
}

.wc-block-components-checkout-step__heading {
  margin-bottom: 1.25rem;
}

.wc-block-components-checkout-step__title {
  color: var(--helima-ivory);
  font-family: var(--helima-display);
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
  font-weight: 400;
}

.wc-block-cart-items .wc-block-cart-items__row,
.wc-block-components-order-summary-item,
.wc-block-components-totals-item,
.wc-block-components-panel,
.wc-block-components-checkout-step__container {
  border-color: var(--helima-border);
}

.wc-block-cart-items {
  border-collapse: separate;
  border-spacing: 0 0.8rem;
}

.wc-block-cart-items .wc-block-cart-items__row {
  overflow: hidden;
  border: 1px solid var(--helima-border);
  border-radius: 1rem;
  background: rgba(23, 24, 28, 0.58);
}

.wc-block-cart-items .wc-block-cart-items__row td {
  padding-block: 1rem;
  border-top: 1px solid var(--helima-border);
  border-bottom: 1px solid var(--helima-border);
}

.wc-block-cart-items .wc-block-cart-items__row td:first-child {
  border-inline-start: 1px solid var(--helima-border);
  border-start-start-radius: 1rem;
  border-end-start-radius: 1rem;
}

.wc-block-cart-items .wc-block-cart-items__row td:last-child {
  border-inline-end: 1px solid var(--helima-border);
  border-start-end-radius: 1rem;
  border-end-end-radius: 1rem;
}

.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.035);
}

.wc-block-components-product-name {
  color: var(--helima-ivory);
  font-family: var(--helima-display);
  font-size: clamp(1rem, 2vw, 1.25rem);
}

.wc-block-cart-item__remove-link {
  color: #d99491;
  font-size: 0.7rem;
  text-decoration: none;
}

.wc-block-components-product-metadata,
.wc-block-components-product-details,
.wc-block-components-totals-item__description,
.wc-block-components-shipping-rates-control__package,
.wc-block-checkout__terms,
.wc-block-checkout__privacy-policy {
  color: var(--helima-stone);
}

.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-address-form input,
.wc-block-components-address-form select,
.wc-block-components-textarea {
  min-height: 52px;
  border: 1px solid var(--helima-border) !important;
  border-radius: 0.75rem !important;
  background: rgba(255, 255, 255, 0.045) !important;
  color: var(--helima-ivory) !important;
  box-shadow: none !important;
}

.wc-block-components-text-input input:-webkit-autofill,
.wc-block-components-address-form input:-webkit-autofill {
  -webkit-text-fill-color: var(--helima-ivory);
  box-shadow: 0 0 0 1000px var(--helima-charcoal) inset !important;
}

.wc-block-components-text-input label,
.wc-block-components-combobox .wc-block-components-combobox-control label {
  color: var(--helima-stone) !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input:focus,
.wc-block-components-address-form input:focus {
  border-color: var(--helima-accent) !important;
  outline: 2px solid rgba(104, 166, 132, 0.16);
  outline-offset: 1px;
}

.wc-block-components-quantity-selector {
  border: 1px solid var(--helima-border);
  border-radius: 999px;
  background: rgba(8, 9, 11, 0.35);
}

.wc-block-components-quantity-selector input,
.wc-block-components-quantity-selector button {
  color: var(--helima-ivory);
}

.wc-block-components-quantity-selector button:hover {
  color: var(--helima-accent);
}

.wc-block-components-radio-control .wc-block-components-radio-control__input:checked {
  border-color: var(--helima-accent);
  background: var(--helima-brand);
}

.wc-block-components-radio-control-accordion-option {
  margin-bottom: 0.65rem;
  border: 1px solid var(--helima-border);
}

.wc-block-components-radio-control__label,
.wc-block-components-checkbox__label,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
  color: var(--helima-muted);
}

.wc-block-components-totals-coupon__form {
  gap: 0.65rem;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-order-summary-item__total-price {
  color: var(--helima-accent-soft);
  font-weight: 700;
}

.wc-block-checkout__actions {
  padding-top: 1.25rem;
  border-top: 1px solid var(--helima-border);
}

.wc-block-cart__submit-button,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
  width: 100%;
  min-height: 56px;
  border-radius: 999px;
  font-weight: 700;
}

.wc-block-cart__submit-container {
  padding-top: 1rem;
}

.wc-block-components-totals-footer-item {
  padding-top: 1.2rem;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--helima-ivory);
  font-size: 1.15rem;
}

.wc-block-components-notice-banner {
  font-size: 0.82rem;
  line-height: 1.8;
}

/* Helima learning entitlement endpoint. */
.helima-account-learning > h2 {
  margin-top: 0;
}

.helima-account-learning__grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}

.helima-account-learning__item {
  display: grid;
  grid-template-columns: minmax(7rem, 0.4fr) minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--helima-border);
  border-radius: 1rem;
  background: rgba(8, 9, 11, 0.28);
}

.helima-account-learning__media img {
  width: 100%;
  height: 100%;
  min-height: 8rem;
  border-radius: 0.75rem;
  object-fit: cover;
}

.helima-account-learning__content h3 {
  margin: 0.35rem 0 0.6rem;
  color: var(--helima-ivory);
  font-family: var(--helima-display);
  font-size: 1.25rem;
  font-weight: 400;
}

.helima-account-learning__type {
  color: var(--helima-stone);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.helima-account-learning__price {
  color: var(--helima-accent-soft);
  font-size: 0.78rem;
}

.helima-account-learning__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

/* Native Helima My Account workflows. */
.helima-account-shortcuts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.65rem;
  margin-top: 1.5rem;
}

.woocommerce .helima-account-shortcuts .button {
  width: 100%;
  min-height: 3.25rem;
  text-align: center;
}

.helima-account-panel {
  min-width: 0;
}

.helima-account-panel__header,
.helima-account-card__header {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-start;
  justify-content: space-between;
}

.helima-account-panel__header {
  margin-bottom: 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--helima-border);
}

.helima-account-panel__header h2,
.helima-account-card__header h3 {
  margin: 0;
}

.helima-account-panel__header p {
  max-width: 48rem;
  margin: 0.45rem 0 0;
  color: var(--helima-muted);
  line-height: 1.9;
}

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

.helima-account-card {
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid var(--helima-border);
  border-radius: 1rem;
  background: rgba(8, 9, 11, 0.28);
}

.helima-account-card__eyebrow {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--helima-accent-soft);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.helima-account-card__body {
  margin-top: 1rem;
  color: var(--helima-muted);
  line-height: 1.9;
}

.helima-account-card__body > :last-child,
.helima-account-submission > :last-child,
.helima-account-feedback > :last-child {
  margin-bottom: 0;
}

.helima-account-card__hint,
.helima-account-form small {
  color: var(--helima-stone);
  font-size: 0.72rem;
  line-height: 1.7;
}

.helima-account-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  margin: 1rem 0;
}

.helima-account-meta > div {
  display: flex;
  gap: 0.4rem;
}

.helima-account-meta dt {
  color: var(--helima-stone);
}

.helima-account-meta dd {
  margin: 0;
  color: var(--helima-ivory);
}

.helima-account-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: 0.25rem 0.65rem;
  border: 1px solid rgba(104, 166, 132, 0.28);
  border-radius: 999px;
  background: rgba(104, 166, 132, 0.1);
  color: var(--helima-accent-soft);
  font-size: 0.68rem;
  white-space: nowrap;
}

.helima-account-status--success {
  border-color: rgba(104, 166, 132, 0.42);
  background: rgba(104, 166, 132, 0.15);
  color: #a9d4bc;
}

.helima-account-status--warning {
  border-color: rgba(211, 183, 116, 0.38);
  background: rgba(211, 183, 116, 0.1);
  color: #ddc98f;
}

.helima-account-status--muted {
  border-color: var(--helima-border);
  background: rgba(255, 255, 255, 0.035);
  color: var(--helima-stone);
}

.helima-account-submission,
.helima-account-feedback {
  margin-top: 1rem;
  padding: 1rem;
  border-inline-start: 3px solid var(--helima-border);
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.025);
  color: var(--helima-muted);
}

.helima-account-feedback {
  border-inline-start-color: var(--helima-accent);
  background: rgba(104, 166, 132, 0.07);
}

.helima-account-submission strong,
.helima-account-feedback strong {
  color: var(--helima-ivory);
}

.helima-account-form {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--helima-border);
}

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

.helima-account-form .form-row {
  width: 100%;
  margin: 0 0 1rem;
  padding: 0;
}

.helima-account-form input[readonly] {
  opacity: 0.72;
}

.helima-account-form input[type="file"] {
  width: 100%;
  padding: 0.65rem;
  border: 1px dashed var(--helima-border);
  border-radius: 0.7rem;
  color: var(--helima-muted);
  background: rgba(255, 255, 255, 0.025);
}

.helima-account-support > h3 {
  margin: 1.5rem 0 0.75rem;
  font-size: 1.15rem;
}

.helima-account-support__form {
  margin-top: 1.75rem;
}

.helima-account-certificate-table .button {
  min-height: 2.5rem;
  padding: 0.55rem 0.9rem;
}

.helima-account-session-list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.helima-account-session {
  display: flex;
  flex-direction: column;
}

.helima-account-session__location {
  margin: 0.25rem 0 0;
  color: var(--helima-muted);
}

.helima-account-session__location strong {
  color: var(--helima-ivory);
}

.helima-account-session__attendance {
  margin: 0.25rem 0 0;
  color: var(--helima-muted);
}

.helima-account-session__attendance strong {
  color: var(--helima-ivory);
}

.helima-account-session__action {
  margin: auto 0 0;
  padding-top: 1rem;
}

.helima-account-session__action .button {
  width: 100%;
  text-align: center;
}

.helima-account-announcements,
.helima-account-progress {
  margin-top: clamp(2rem, 5vw, 3.5rem);
}

.helima-account-announcement time {
  color: var(--helima-stone);
  font-size: 0.72rem;
}

.helima-account-progress__grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.helima-account-progress-card {
  display: flex;
  flex-direction: column;
}

.helima-account-progress-card__percent {
  color: var(--helima-accent-soft);
  font-size: 1.4rem;
}

.helima-account-progress-bar {
  height: 0.5rem;
  margin: 1rem 0;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}

.helima-account-progress-bar > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--helima-accent);
}

.helima-account-progress-card__action {
  margin: auto 0 0;
  padding-top: 1rem;
}

@media (min-width: 620px) {
  .woocommerce ul.products,
  .wc-block-grid__products,
  .wp-block-woocommerce-product-template {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .helima-account-learning__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 980px) {
  .woocommerce ul.products,
  .wc-block-grid__products,
  .wp-block-woocommerce-product-template {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .helima-commerce-page .wc-block-components-sidebar-layout.wc-block-cart.is-large,
  .helima-commerce-page .wc-block-components-sidebar-layout.wc-block-checkout.is-large {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.4fr) !important;
    grid-template-areas: "main sidebar" !important;
    gap: clamp(2rem, 5vw, 4.5rem) !important;
  }

  .wc-block-cart__main,
  .wc-block-checkout__main,
  .wc-block-cart__sidebar,
  .wc-block-checkout__sidebar,
  .wc-block-components-main,
  .wc-block-components-sidebar {
    float: none;
    width: 100% !important;
    max-width: none;
    margin: 0;
    padding-inline: 0 !important;
  }

  .wc-block-cart__main,
  .wc-block-checkout__main {
    grid-area: main !important;
  }

  .wc-block-cart__sidebar,
  .wc-block-checkout__sidebar {
    grid-area: sidebar !important;
    align-self: start;
  }

  .woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: minmax(13rem, 0.28fr) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
  }

  .woocommerce-account .woocommerce-notices-wrapper,
  .woocommerce-account .woocommerce > h2,
  .woocommerce-account .woocommerce > form,
  .woocommerce-account .woocommerce > .u-columns,
  .woocommerce-account .woocommerce > #customer_login {
    grid-column: 1 / -1;
    width: 100%;
  }

  .woocommerce-account .woocommerce-MyAccount-content,
  .woocommerce-account .woocommerce-MyAccount-navigation {
    float: none;
    width: auto;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation,
  .wc-block-components-sidebar {
    position: sticky;
    top: 7rem;
  }
}

@media (max-width: 979px) {
  .helima-commerce-hero {
    grid-template-columns: 1fr;
    align-content: end;
  }

  .helima-checkout-progress {
    min-width: 0;
    width: min(100%, 34rem);
  }

  .woocommerce div.product {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .woocommerce div.product div.images {
    position: relative;
    top: auto;
  }

  .helima-product-details {
    grid-template-columns: 1fr;
  }

  .helima-product-details__header h2 {
    max-width: 18ch;
  }

  .wc-block-cart,
  .wc-block-checkout {
    gap: 2rem;
  }

  .wc-block-components-sidebar {
    position: relative;
    top: auto;
  }
}

@media (max-width: 781px) {
  .woocommerce-main {
    padding-block: 6.5rem 4.5rem;
  }

  .helima-commerce-hero {
    min-height: 27rem;
    gap: 2rem;
    padding-block: 7.5rem 2rem;
  }

  .helima-commerce-hero .display-title {
    font-size: clamp(2.7rem, 14vw, 4.5rem);
  }

  .helima-checkout-progress {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .helima-checkout-progress li {
    font-size: 0.62rem;
  }

  .woocommerce-products-header {
    min-height: 22rem;
    margin-bottom: 2rem;
    padding-inline: 1.25rem;
  }

  .woocommerce-products-header .woocommerce-products-header__title {
    font-size: clamp(2.5rem, 13vw, 4rem);
  }

  .woocommerce-products-header::after {
    font-size: 13rem;
  }

  .woocommerce-shop .woocommerce-products-header {
    min-height: 0;
    padding-inline: 0;
  }

  .woocommerce-shop .woocommerce-products-header::after {
    content: none;
  }

  .helima-shop-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .helima-shop-hero__content {
    padding: clamp(1.5rem, 7vw, 2.25rem);
  }

  .helima-shop-hero__content h1 {
    max-width: 10ch;
    font-size: clamp(2.65rem, 13vw, 4rem);
  }

  .helima-shop-hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .woocommerce .helima-shop-hero__actions .button,
  .helima-shop-hero__text-link {
    width: 100%;
    justify-content: center;
  }

  .helima-shop-hero__media {
    min-height: 18rem;
  }

  .helima-shop-hero__media img {
    min-height: 18rem;
    max-height: 24rem;
  }

  .helima-shop-pathways {
    grid-template-columns: 1fr;
  }

  .helima-shop-pathways a {
    min-height: 8rem;
    border-inline-end: 0;
    border-block-end: 1px solid var(--helima-border);
  }

  .helima-shop-pathways a:last-child {
    border-block-end: 0;
  }

  .helima-shop-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .woocommerce .woocommerce-ordering,
  .woocommerce .woocommerce-ordering select {
    width: 100%;
  }

  .woocommerce div.product div.summary {
    padding: 1.25rem;
  }

  .woocommerce div.product .product_title {
    font-size: clamp(2.3rem, 12vw, 3.5rem);
  }

  .helima-product-facts {
    grid-template-columns: 1fr;
    padding-block: 0.35rem;
  }

  .helima-product-facts > div,
  .helima-product-facts > div:first-child,
  .helima-product-facts > div:last-child {
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.75rem 0;
    border: 0;
    border-bottom: 1px solid var(--helima-border);
  }

  .helima-product-facts > div:last-child {
    border-bottom: 0;
  }

  .helima-product-facts dt {
    margin: 0;
  }

  .woocommerce div.product form.cart {
    border-radius: 1rem;
  }

  .helima-product-details {
    margin-inline: calc(-1 * var(--helima-gutter));
    padding-inline: var(--helima-gutter);
  }

  .helima-product-specifications {
    grid-template-columns: 1fr;
  }

  .woocommerce div.product .woocommerce-tabs {
    padding: 1.1rem;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs {
    gap: 0.35rem;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li,
  .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    padding-inline: 0.75rem;
  }

  .wc-block-components-sidebar {
    padding: 1rem;
  }

  .wc-block-cart-items .wc-block-cart-items__row {
    border-radius: 0.85rem;
  }

  .woocommerce table.shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr {
    margin-bottom: 1rem;
    border: 1px solid var(--helima-border);
    border-radius: 0.8rem;
  }

  .woocommerce-cart table.cart td.actions .coupon,
  .helima-account-learning__item {
    grid-template-columns: 1fr;
  }

  .helima-account-form__grid {
    grid-template-columns: 1fr;
  }

  .helima-account-panel__header > .button {
    width: 100%;
  }

  .wc-block-cart__submit-container {
    border-top: 1px solid var(--helima-border);
    background: rgba(8, 9, 11, 0.94);
    backdrop-filter: blur(16px);
  }
}

@media (max-width: 619px) {
  .woocommerce ul.products,
  .wc-block-grid__products,
  .wp-block-woocommerce-product-template {
    gap: 1rem;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    padding-inline: 1rem;
  }

  .helima-product-card__meta,
  .woocommerce ul.products li.product .price {
    padding-inline: 1rem;
  }

  .woocommerce ul.products li.product .button {
    width: calc(100% - 2rem);
    margin-inline: 1rem;
  }

  .helima-commerce-content {
    padding-top: 2rem;
  }

  .wc-block-components-main,
  .wc-block-components-sidebar {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .woocommerce a.button,
  .woocommerce button.button,
  .wc-block-components-button,
  .woocommerce ul.products li.product,
  .woocommerce ul.products li.product a img {
    transition: none;
  }
}
