/* Shared controls, WooCommerce archive, product and cart styles.
   Source: assets/css/frontend.css lines 185-1422. Header-specific rules live in 60-header.css. */

.hwh-button,
.hwh-product-link,
.hwh-product-card .hwh-add-to-cart-button,
.hwh-cart-checkout .button,
.hwh-product-detail-premium .single_add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 12px 20px;
  border-radius: var(--hwh-button-radius, 6px);
  font-weight: 700;
  letter-spacing: 0;
  text-decoration: none !important;
  line-height: 1.1;
  transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease, opacity .2s ease;
}

.hwh-button-primary,
.hwh-product-card .hwh-add-to-cart-button,
.hwh-product-detail-premium .single_add_to_cart_button,
.hwh-cart-checkout .checkout-button,
.hwh-cart-checkout #place_order {
  color: var(--hwh-button-text) !important;
  background: var(--hwh-button-bg) !important;
  border: 1px solid var(--hwh-button-bg) !important;
}

.hwh-button-primary:hover,
.hwh-product-card .hwh-add-to-cart-button:hover,
.hwh-product-detail-premium .single_add_to_cart_button:hover,
.hwh-cart-checkout .checkout-button:hover,
.hwh-cart-checkout #place_order:hover {
  color: var(--hwh-button-hover-text) !important;
  background: var(--hwh-button-hover-bg) !important;
  border-color: var(--hwh-button-hover-bg) !important;
}

.hwh-button-secondary,
.hwh-product-link {
  color: var(--hwh-black) !important;
  background: #fff !important;
  border: 1px solid rgba(15, 15, 15, .24) !important;
}

.hwh-carousel button:disabled {
  opacity: .36;
  cursor: not-allowed;
  transform: none;
}

.hwh-product-media,
.hwh-product-card .product-image,
.hwh-product .product-image,
.hwh-cart-line-image,
.hwh-product-gallery-main,
.hwh-media-circle {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(135deg, #f7efe8, #fff);
}

.hwh-media-circle,
.hwh-cart-line-image {
  border-radius: 999px;
  aspect-ratio: 1 / 1;
}

.hwh-product-media img,
.hwh-product-card .product-image img,
.hwh-product .product-image img,
.hwh-cart-line-image img,
.hwh-product-gallery-main img,
.hwh-media-circle img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.hwh-carousel,
[data-hwh-carousel] {
  --hwh-carousel-gap: clamp(14px, 2vw, 24px);
  --hwh-card-height: auto;
  --hwh-card-padding: 18px 24px;
  --hwh-measured-card-height: auto;
}

.hwh-carousel .carousel-window,
[data-hwh-carousel] .carousel-window {
  height: var(--hwh-window-height, auto);
  min-height: var(--hwh-measured-card-height, auto);
  overflow: hidden;
  min-width: 0;
}

.hwh-carousel-track {
  gap: var(--hwh-carousel-gap);
  height: var(--hwh-track-height, var(--hwh-card-height, auto));
  min-height: var(--hwh-measured-card-height, auto);
  align-items: stretch;
  will-change: transform;
  touch-action: pan-y;
  transition: transform .32s cubic-bezier(.22, 1, .36, 1);
}

.hwh-carousel-track.is-dragging {
  transition: none;
  cursor: grabbing;
}

.hwh-carousel-card {
  box-sizing: border-box;
  border-radius: var(--hwh-card-radius);
  height: var(--hwh-card-height, auto);
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: manual;
}

[data-hwh-carousel] .hwh-carousel-card,
[data-hwh-card-height] .hwh-carousel-card,
[data-hwh-card-height] .review-card {
  overflow-y: auto;
}

.hwh-product-archive {
  padding: var(--hwh-section-padding, clamp(48px, 7vw, 88px) clamp(18px, 5vw, 72px));
}

.hwh-shop-filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 14px;
  align-items: end;
  margin: 0 auto 28px;
  padding: 18px;
  width: min(1180px, 100%);
  border: 1px solid rgba(15, 15, 15, .1);
  border-radius: var(--hwh-card-radius);
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 18px 44px rgba(15, 15, 15, .06);
}

.hwh-shop-filters label,
.hwh-coupon-form label {
  display: grid;
  gap: 7px;
  color: var(--hwh-muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.hwh-shop-filters input,
.hwh-shop-filters select,
.hwh-cart-checkout input,
.hwh-cart-checkout select,
.hwh-product-detail-premium input,
.hwh-product-detail-premium select {
  min-height: 44px;
  border: 1px solid rgba(15, 15, 15, .16);
  border-radius: 6px;
  background: #fff;
  color: var(--hwh-black);
  padding: 10px 12px;
}

.hwh-archive-status {
  width: min(1180px, 100%);
  margin: 0 auto 18px;
  color: var(--hwh-muted);
  font-size: 13px;
  font-weight: 700;
}

.hwh-product-archive.is-loading [data-hwh-product-results] {
  opacity: .48;
  pointer-events: none;
}

.hwh-product-card-actions {
  display: grid;
  gap: 10px;
  margin-top: auto;
}

.hwh-product-card .hwh-purchase-form {
  display: grid;
  gap: 10px;
}

.hwh-product-card .hwh-qty {
  justify-content: center;
}

.hwh-cart-feedback {
  min-height: 18px;
  margin: 0;
  color: var(--hwh-muted);
  font-size: 12px;
  text-align: center;
}

.hwh-cart-feedback.is-done {
  min-height: 26px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hwh-cart-done-icon {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  color: var(--hwh-black);
  background: var(--hwh-gold);
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(15, 15, 15, .14);
}

.hwh-cart-flyer {
  position: fixed;
  z-index: 99999;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
  pointer-events: none;
  box-shadow: 0 18px 40px rgba(15, 15, 15, .2);
  will-change: transform, opacity;
}

.hwh-cart-target-pulse {
  animation: hwh-cart-target-pulse .42s ease;
}

@keyframes hwh-cart-target-pulse {
  0% { transform: scale(1); }
  45% { transform: scale(1.12); }
  100% { transform: scale(1); }
}

.hwh-cart-feedback .hwh-cart-feedback-link {
  display: inline-block;
  margin-top: 6px;
  padding: 6px 16px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  transition: border-color .2s ease, background .2s ease;
}

.hwh-cart-feedback .hwh-cart-feedback-link:hover {
  border-color: var(--gold);
  background: var(--cream);
}

.hwh-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 28px;
}

.hwh-pagination a,
.hwh-pagination span {
  min-width: 42px;
  min-height: 42px;
  display: inline-grid;
  place-items: center;
  padding: 0 12px;
  border-radius: 999px;
  color: var(--hwh-black);
  background: #fff;
  border: 1px solid rgba(15, 15, 15, .12);
  text-decoration: none !important;
  font-weight: 700;
}

.hwh-pagination a[aria-current="page"] {
  color: #fff;
  background: var(--hwh-black);
  border-color: var(--hwh-black);
}

.hwh-product-detail-premium {
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: clamp(28px, 5vw, 68px);
  padding: var(--hwh-section-padding, clamp(56px, 8vw, 108px) clamp(18px, 5vw, 72px));
}

.hwh-product-detail-stacked {
  grid-template-columns: 1fr;
}

.hwh-product-gallery {
  display: grid;
  gap: 14px;
  align-content: start;
}

.hwh-product-gallery-main {
  aspect-ratio: 4 / 5;
  border-radius: var(--hwh-card-radius);
  box-shadow: 0 24px 70px rgba(15, 15, 15, .1);
}

.hwh-product-gallery-image {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(1.02);
  transition: opacity .24s ease, transform .24s ease;
}

.hwh-product-gallery-image.is-active {
  opacity: 1;
  transform: scale(1);
}

.hwh-product-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.hwh-product-thumbs button {
  width: 62px;
  min-width: 62px;
  height: 62px;
  min-height: 62px;
  border: 2px solid transparent;
  background: #fff;
  box-shadow: none;
}

.hwh-product-thumbs button.is-active {
  border-color: var(--hwh-gold);
}

.hwh-product-summary {
  border-radius: var(--hwh-card-radius);
}

.hwh-product-badges,
.hwh-product-attributes,
.hwh-payment-methods {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}

.hwh-product-badges span,
.hwh-product-attributes span,
.hwh-payment-badge,
.hwh-payment-label {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #f7efe8;
  color: var(--hwh-black);
  font-size: 12px;
  font-weight: 800;
}

.hwh-payment-badge.is-paypal {
  background: #003087;
  color: #fff;
}

.hwh-variable-cart-form table.variations {
  width: 100%;
  margin-bottom: 16px;
}

.hwh-variable-cart-form .variations label {
  color: var(--hwh-black);
}

.hwh-cart-checkout {
  display: grid;
  grid-template-columns: minmax(320px, .85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 48px);
  padding: var(--hwh-section-padding, clamp(48px, 7vw, 90px) clamp(18px, 5vw, 72px));
  background: var(--hwh-cream);
}

.hwh-cart-checkout-one-column,
.hwh-cart-checkout-compact {
  grid-template-columns: 1fr;
}

.hwh-cart-panel,
.hwh-checkout-panel {
  min-width: 0;
}

.hwh-cart-panel-inner,
.hwh-checkout-panel .woocommerce,
.hwh-checkout-empty {
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid rgba(15, 15, 15, .1);
  border-radius: var(--hwh-card-radius);
  background: #fff;
  box-shadow: 0 24px 70px rgba(15, 15, 15, .07);
}

.hwh-cart-summary-sticky .hwh-cart-panel-inner {
  position: sticky;
  top: 92px;
}

.hwh-cart-heading {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 12px;
  align-items: center;
  margin-bottom: 20px;
}

.hwh-cart-heading .hwh-eyebrow {
  grid-column: 1 / -1;
  margin: 0;
}

.hwh-cart-heading h2 {
  margin: 0;
  color: var(--hwh-black);
}

.hwh-cart-lines {
  display: grid;
  gap: 14px;
}

.hwh-cart-line {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 44px;
  gap: 14px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(15, 15, 15, .08);
  border-radius: var(--hwh-card-radius);
  background: #fff;
}

.hwh-cart-line-image {
  width: 72px;
  height: 72px;
}

.hwh-cart-line-copy h3 {
  margin: 0 0 4px;
  font-size: 15px;
}

.hwh-cart-line-copy a {
  color: var(--hwh-black);
  text-decoration: none !important;
}

.hwh-cart-line-price {
  color: var(--hwh-muted);
  font-weight: 700;
}

.hwh-cart-line-meta {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--hwh-muted);
}

.hwh-cart-line-meta dl,
.hwh-cart-line-meta p {
  margin: 0;
}

.hwh-cart-line-meta dt,
.hwh-cart-line-meta dd {
  display: inline;
  margin: 0;
}

.hwh-cart-line-meta dt {
  font-weight: 700;
  color: var(--hwh-black);
}

.hwh-cart-line-meta dt::after {
  content: ": ";
}

.hwh-cart-line-meta dd + dt::before {
  content: " · ";
  color: var(--hwh-muted);
  font-weight: 500;
}

.hwh-qty {
  display: inline-flex;
  align-items: center;
  gap: 0;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  overflow: hidden;
}

.hwh-qty button,
.hwh-qty input {
  height: 44px;
  min-height: 44px;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--ink);
  background: transparent;
  text-align: center;
}

.hwh-qty button {
  display: inline-grid;
  place-items: center;
  width: 44px;
  padding: 0;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  color: var(--muted);
  transition: color .2s ease, background .2s ease;
}

.hwh-qty button:hover {
  color: var(--ink);
  background: var(--cream);
}

.hwh-qty input {
  width: 64px;
  appearance: textfield;
  font-size: 14px;
  font-weight: 600;
}

.hwh-qty input:focus {
  outline: none;
  box-shadow: inset 0 0 0 1px var(--gold);
}

.hwh-qty input::-webkit-outer-spin-button,
.hwh-qty input::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

.hwh-cart-remove {
  border: 0;
  color: #8b1a1a;
  background: #fff2f2;
}

.hwh-coupon-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: end;
  margin-top: 18px;
}

.hwh-cart-totals {
  display: grid;
  gap: 10px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(15, 15, 15, .1);
}

.hwh-cart-totals > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.hwh-cart-total {
  color: var(--hwh-black);
  font-size: 18px;
}

.hwh-checkout-panel .woocommerce form .form-row input.input-text,
.hwh-checkout-panel .woocommerce form .form-row textarea,
.hwh-checkout-panel .woocommerce form .form-row select {
  min-height: 44px;
  border: 1px solid rgba(15, 15, 15, .16);
  border-radius: 6px;
  padding: 10px 12px;
}

.hwh-checkout-panel #payment {
  border-radius: var(--hwh-card-radius);
  background: #f8f3ee;
}

.hwh-checkout-auth-gate {
  min-height: min(720px, 82vh);
  display: grid;
  place-items: center;
  padding: clamp(48px, 8vw, 108px) clamp(18px, 5vw, 72px);
  background: var(--hwh-cream);
}

.hwh-checkout-auth-card {
  width: min(760px, 100%);
  display: grid;
  gap: 18px;
  padding: clamp(26px, 5vw, 54px);
  text-align: center;
  background: #fff;
  border: 1px solid rgba(15, 15, 15, .1);
  border-radius: var(--hwh-card-radius);
  box-shadow: 0 24px 70px rgba(15, 15, 15, .08);
}

.hwh-checkout-auth-card h1 {
  margin: 0;
  color: var(--hwh-black);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 5vw, 62px);
  font-weight: 400;
  line-height: 1.04;
}

.hwh-checkout-auth-card p:not(.hwh-eyebrow) {
  max-width: 620px;
  margin: 0 auto;
  color: var(--hwh-muted);
  font-size: 16px;
  line-height: 1.65;
}

.hwh-checkout-auth-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 8px;
}

.hwh-auth-modal-open {
  overflow: hidden;
}

.hwh-checkout-auth-modal[hidden] {
  display: none !important;
}

.hwh-checkout-auth-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 18px;
}

.hwh-checkout-auth-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 15, 15, .58);
}

.hwh-checkout-auth-dialog {
  position: relative;
  z-index: 1;
  width: min(920px, 100%);
  max-height: min(760px, calc(100dvh - 36px));
  display: grid;
  gap: 18px;
  padding: clamp(22px, 4vw, 38px);
  overflow: auto;
  color: var(--hwh-black);
  background: #fff;
  border: 1px solid rgba(15, 15, 15, .12);
  border-radius: var(--hwh-card-radius);
  box-shadow: 0 34px 90px rgba(0, 0, 0, .28);
}

.hwh-checkout-auth-dialog h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 400;
}

.hwh-checkout-auth-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 40px;
  height: 40px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  color: var(--hwh-black);
  background: #fff;
  border: 1px solid rgba(15, 15, 15, .14);
  border-radius: 50%;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.hwh-checkout-auth-tabs {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  gap: 4px;
  padding: 4px;
  background: #f6f0eb;
  border: 1px solid rgba(15, 15, 15, .1);
  border-radius: 999px;
}

.hwh-checkout-auth-tabs button {
  min-height: 40px;
  padding: 9px 16px;
  color: var(--hwh-muted);
  background: transparent;
  border: 0;
  border-radius: 999px;
  font-weight: 800;
  cursor: pointer;
}

.hwh-checkout-auth-tabs button.is-active {
  color: var(--hwh-black);
  background: #fff;
  box-shadow: 0 6px 16px rgba(15, 15, 15, .08);
}

.hwh-checkout-auth-panels {
  min-width: 0;
}

.hwh-checkout-auth-form {
  display: none;
  gap: 14px;
  margin: 0;
}

.hwh-checkout-auth-form.is-active {
  display: grid;
}

.hwh-checkout-auth-form p {
  margin: 0;
  color: var(--hwh-muted);
}

.hwh-checkout-auth-form label {
  display: grid;
  gap: 6px;
  color: var(--hwh-black);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.hwh-checkout-auth-form input:not([type="checkbox"]) {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  color: var(--hwh-black);
  background: #fff;
  border: 1px solid rgba(15, 15, 15, .16);
  border-radius: 6px;
  box-sizing: border-box;
}

.hwh-checkout-auth-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.hwh-checkout-auth-check {
  display: flex !important;
  align-items: center;
  gap: 8px;
  text-transform: none !important;
}

.hwh-checkout-auth-check input {
  width: 16px;
  height: 16px;
}

.hwh-checkout-auth-form > a,
.hwh-checkout-auth-note {
  color: var(--hwh-muted);
  font-size: 13px;
}

@media (max-width: 720px) {
  .hwh-checkout-auth-actions,
  .hwh-checkout-auth-grid {
    grid-template-columns: 1fr;
  }

  .hwh-checkout-auth-actions {
    display: grid;
  }

  .hwh-checkout-auth-tabs {
    width: 100%;
  }

  .hwh-checkout-auth-tabs button {
    flex: 1 1 0;
  }
}

html.hwh-theme-dark .hwh-button-secondary,
html.hwh-theme-dark .hwh-product-link,
html.hwh-theme-dark .hwh-shop-filters,
html.hwh-theme-dark .hwh-cart-panel-inner,
html.hwh-theme-dark .hwh-checkout-panel .woocommerce,
html.hwh-theme-dark .hwh-checkout-empty,
html.hwh-theme-dark .hwh-checkout-auth-card,
html.hwh-theme-dark .hwh-checkout-auth-dialog {
  color: var(--hwh-dark-text) !important;
  background: var(--hwh-dark-surface) !important;
  border-color: rgba(255, 255, 255, .14) !important;
}

@media (max-width: 1100px) {
.hwh-shop-filters,
  .hwh-product-detail-premium,
  .hwh-cart-checkout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
.hwh-shop-filters,
  .hwh-coupon-form,
  .hwh-cart-line {
    grid-template-columns: 1fr;
  }

  .hwh-cart-line {
    align-items: start;
  }

  .hwh-cart-remove {
    justify-self: start;
  }

  .hwh-product-gallery-main {
    aspect-ratio: 1 / 1.12;
  }
}

/* Secondary widgets, WooCommerce helpers and forms not covered by the homepage components. */
.hwh-page-hero,
.hwh-product-detail-premium,
.hwh-founder-story,
.hwh-contact-premium {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .86fr);
  gap: clamp(34px, 6vw, 88px);
  align-items: center;
  padding: clamp(58px, 8vw, 116px) clamp(22px, 6vw, 92px);
  background: var(--hwh-cream);
}

.hwh-page-hero h1,
.hwh-product-detail-premium h1,
.hwh-founder-story h2,
.hwh-contact-premium h2 {
  margin: 0 0 18px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 5.4vw, 82px);
  font-weight: 400;
  line-height: 1.04;
}

.hwh-page-hero-copy > p:not(.hwh-eyebrow),
.hwh-founder-story-copy > p,
.hwh-contact-premium p {
  max-width: 640px;
  color: #66605b;
  font-size: 17px;
  line-height: 1.7;
}

.hwh-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 26px;
  color: #66605b;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.hwh-breadcrumbs a {
  color: inherit;
  text-decoration: none;
}

.hwh-page-hero-media .hwh-skeleton {
  min-height: 420px;
}

.hwh-product-archive {
  padding: clamp(48px, 7vw, 88px) clamp(18px, 5vw, 72px);
}

.hwh-shop-filters {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, minmax(120px, .7fr)) auto;
  gap: 12px;
  align-items: end;
  margin-bottom: 34px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--hwh-line);
}

.hwh-shop-filters label,
.hwh-contact-form label {
  display: grid;
  gap: 8px;
  color: #66605b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.hwh-shop-filters select,
.hwh-shop-filters input,
.hwh-contact-form input,
.hwh-contact-form textarea {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  color: var(--hwh-black);
  background: #fff;
  border: 1px solid var(--hwh-line);
  border-radius: 4px;
}

.hwh-product-card {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.hwh-product-card a {
  color: inherit;
  text-decoration: none;
}

.hwh-product-card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: var(--hwh-nude);
}

.hwh-product-card h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.12;
}

.hwh-price,
.hwh-product-price {
  color: #66605b;
  font-weight: 700;
}

.hwh-product-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.hwh-product-gallery img,
.hwh-product-placeholder {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  background: var(--hwh-nude);
  border: 1px solid var(--hwh-line);
}

.hwh-product-gallery img:first-child {
  grid-column: 1 / -1;
}

.hwh-product-summary {
  align-self: start;
  padding: clamp(28px, 4vw, 46px);
  background: #fff;
  border: 1px solid var(--hwh-line);
}

.hwh-product-description {
  margin: 20px 0;
  color: #66605b;
  line-height: 1.7;
}

.hwh-product-description-read-more {
  position: relative;
}

.hwh-product-description-read-more .hwh-product-description-content {
  overflow: hidden;
}

.hwh-product-description-read-more.is-collapsed .hwh-product-description-content {
  max-height: 220px;
}

.hwh-product-description-read-more.is-collapsed::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 44px;
  left: 0;
  height: 56px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), var(--hwh-paper, #fff));
}

.hwh-product-description-read-more.is-expanded .hwh-product-description-content {
  max-height: none;
}

.hwh-product-description-content h2,
.hwh-product-description-content h3,
.hwh-product-description-content h4 {
  margin: 18px 0 8px;
  color: var(--hwh-ink);
  font-size: 15px;
  line-height: 1.35;
}

.hwh-product-description-content p {
  margin: 0 0 12px;
}

.hwh-product-description-content a {
  color: var(--hwh-gold);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.hwh-product-description-toggle {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  margin-top: 8px;
  padding: 0;
  color: var(--hwh-ink);
  background: none;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.hwh-product-description-toggle:hover,
.hwh-product-description-toggle:focus-visible {
  color: var(--hwh-gold);
}

.hwh-purchase-form,
.hwh-qty,
.hwh-checkout-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.hwh-qty {
  flex-wrap: nowrap;
  border: 1px solid var(--hwh-line);
}

.hwh-qty button,
.hwh-qty input {
  width: 42px;
  height: 46px;
  text-align: center;
  background: #fff;
  border: 0;
}

.hwh-payment-panel,
.hwh-checkout-strip {
  margin-top: 20px;
  padding: 18px;
  color: #fff;
  background: var(--hwh-black);
}

.hwh-payment-panel {
  display: grid;
  gap: 6px;
}

.hwh-payment-panel a,
.hwh-checkout-strip a {
  color: var(--hwh-gold);
}

.hwh-checkout-strip {
  justify-content: center;
  margin: 0;
}

.hwh-checkout-strip-stacked {
  display: grid;
  text-align: center;
}

.hwh-checkout-strip-compact {
  padding: 12px 16px;
  font-size: 13px;
}

.hwh-founder-story {
  background: var(--hwh-nude);
}

.hwh-founder-story .hwh-founder-art {
  min-height: 620px;
}

.hwh-founder-story .hwh-founder-art svg {
  inset: 2% 0 4%;
  fill: #fff;
  stroke: var(--hwh-gold);
  stroke-width: 1.2;
}

.hwh-founder-story .hwh-founder-photo {
  left: 8%;
  bottom: -2%;
  width: 82%;
  overflow: visible;
}

.hwh-timeline {
  display: grid;
  gap: 14px;
  margin: 26px 0;
}

.hwh-timeline article {
  padding-left: 18px;
  border-left: 1px solid var(--hwh-gold);
}

.hwh-timeline span {
  color: var(--hwh-gold);
  font-size: 12px;
  font-weight: 900;
}

.hwh-timeline h3 {
  margin: 4px 0;
}

.hwh-contact-premium {
  align-items: start;
}

.hwh-contact-links,
.hwh-contact-form form {
  display: grid;
  gap: 14px;
}

.hwh-contact-links a {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  color: var(--hwh-black);
  text-decoration: none;
}

.hwh-contact-form {
  padding: clamp(24px, 4vw, 42px);
  background: #fff;
  border: 1px solid var(--hwh-line);
}

.hwh-contact-form textarea {
  min-height: 150px;
  resize: vertical;
}

.hwh-form-note {
  margin: 0;
  color: var(--hwh-gold);
  font-weight: 800;
}

.hwh-faq {
  display: grid;
  gap: 10px;
  padding: clamp(40px, 7vw, 82px) clamp(18px, 5vw, 72px);
}

.hwh-faq details {
  background: #fff;
  border: 1px solid var(--hwh-line);
}

.hwh-faq summary {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  cursor: pointer;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
}

.hwh-faq summary::after {
  content: "+";
  color: var(--hwh-gold);
}

.hwh-faq details[open] summary::after {
  content: "-";
}

.hwh-faq p {
  margin: 0;
  padding: 0 20px 20px;
  color: #66605b;
}

.hwh-trust-badges {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  padding: clamp(36px, 6vw, 72px) clamp(18px, 5vw, 72px);
  background: var(--hwh-line);
}

.hwh-trust-badges article {
  min-height: 190px;
  padding: 24px;
  background: #fff;
}

.hwh-trust-badges i {
  color: var(--hwh-gold);
  font-size: 24px;
}

.hwh-trust-badges h3 {
  margin: 22px 0 8px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 400;
}

.hwh-trust-badges p {
  margin: 0;
  color: #66605b;
}

.hwh-empty,
.hwh-notice {
  padding: 18px;
  background: #fff;
  border: 1px solid var(--hwh-line);
}

.hwh-woo-premium .products,
.hwh-woo-premium ul.products {
  gap: 24px;
}

.hwh-woo-premium ul.products li.product {
  padding: 18px;
  background: #fff;
  border: 1px solid var(--hwh-line);
}

.hwh-woo-badge,
.hwh-woo-trust-note span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 10px;
  color: #fff;
  background: var(--hwh-black);
  border-radius: 4px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.hwh-woo-trust-note {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

/* Native dark-mode support for Elementor, Astra and WooCommerce. */
html.hwh-theme-dark,
body.hwh-theme-dark {
  color: var(--hwh-dark-text);
  background: var(--hwh-dark-bg);
}

html.hwh-theme-dark .hwh-hero,
html.hwh-theme-dark .hwh-page-hero,
html.hwh-theme-dark .hwh-product-detail-premium,
html.hwh-theme-dark .hwh-contact-premium,
html.hwh-theme-dark .hwh-newsletter-block,
html.hwh-theme-dark .hwh-premium-experience {
  color: var(--hwh-dark-text);
  background: var(--hwh-dark-bg);
}

html.hwh-theme-dark.hwh-native-dark,
html.hwh-theme-dark.hwh-native-dark body,
html.hwh-theme-dark.hwh-native-dark .site,
html.hwh-theme-dark.hwh-native-dark #page,
html.hwh-theme-dark.hwh-native-dark .site-content,
html.hwh-theme-dark.hwh-native-dark .ast-container,
html.hwh-theme-dark.hwh-native-dark .entry-content,
html.hwh-theme-dark.hwh-native-dark .elementor,
html.hwh-theme-dark.hwh-native-dark .elementor-section,
html.hwh-theme-dark.hwh-native-dark .elementor-container,
html.hwh-theme-dark.hwh-native-dark .elementor-widget-wrap,
html.hwh-theme-dark.hwh-native-dark .elementor-element:not(.elementor-widget-button):not(.elementor-widget-image) {
  color: var(--hwh-dark-text);
  background-color: var(--hwh-dark-bg);
}

html.hwh-theme-dark.hwh-native-dark .elementor-widget-container,
html.hwh-theme-dark.hwh-native-dark .wp-block-group,
html.hwh-theme-dark.hwh-native-dark .wp-block-column,
html.hwh-theme-dark.hwh-native-dark article,
html.hwh-theme-dark.hwh-native-dark aside,
html.hwh-theme-dark.hwh-native-dark .card,
html.hwh-theme-dark.hwh-native-dark .woocommerce ul.products li.product,
html.hwh-theme-dark.hwh-native-dark .woocommerce div.product .summary,
html.hwh-theme-dark.hwh-native-dark .woocommerce-cart-form,
html.hwh-theme-dark.hwh-native-dark .cart_totals,
html.hwh-theme-dark.hwh-native-dark .woocommerce-checkout-review-order,
html.hwh-theme-dark.hwh-native-dark .woocommerce-MyAccount-navigation,
html.hwh-theme-dark.hwh-native-dark .woocommerce-MyAccount-content {
  color: var(--hwh-dark-text);
  background-color: var(--hwh-dark-surface);
  border-color: rgba(248,244,239,.14);
}

html.hwh-theme-dark.hwh-native-dark h1,
html.hwh-theme-dark.hwh-native-dark h2,
html.hwh-theme-dark.hwh-native-dark h3,
html.hwh-theme-dark.hwh-native-dark h4,
html.hwh-theme-dark.hwh-native-dark h5,
html.hwh-theme-dark.hwh-native-dark h6,
html.hwh-theme-dark.hwh-native-dark p,
html.hwh-theme-dark.hwh-native-dark li,
html.hwh-theme-dark.hwh-native-dark label,
html.hwh-theme-dark.hwh-native-dark .elementor-heading-title,
html.hwh-theme-dark.hwh-native-dark .elementor-icon-list-text,
html.hwh-theme-dark.hwh-native-dark .woocommerce-loop-product__title,
html.hwh-theme-dark.hwh-native-dark .woocommerce div.product .product_title {
  color: inherit;
}

html.hwh-theme-dark.hwh-native-dark a:not(.elementor-button):not(.button):not(.hwh-button) {
  color: var(--hwh-dark-text);
  text-decoration: none;
}

html.hwh-theme-dark.hwh-native-dark a:not(.elementor-button):not(.button):not(.hwh-button):hover {
  color: var(--hwh-gold);
}

html.hwh-theme-dark.hwh-native-dark input,
html.hwh-theme-dark.hwh-native-dark select,
html.hwh-theme-dark.hwh-native-dark textarea,
html.hwh-theme-dark.hwh-native-dark .select2-selection,
html.hwh-theme-dark.hwh-native-dark .woocommerce form .form-row input.input-text {
  color: var(--hwh-dark-text);
  background: #101010;
  border-color: rgba(248,244,239,.18);
}

html.hwh-theme-dark.hwh-native-dark table,
html.hwh-theme-dark.hwh-native-dark th,
html.hwh-theme-dark.hwh-native-dark td,
html.hwh-theme-dark.hwh-native-dark .woocommerce table.shop_table {
  color: var(--hwh-dark-text);
  background: var(--hwh-dark-surface);
  border-color: rgba(248,244,239,.14);
}

html.hwh-theme-dark.hwh-native-dark .elementor-button,
html.hwh-theme-dark.hwh-native-dark .woocommerce a.button,
html.hwh-theme-dark.hwh-native-dark .woocommerce button.button,
html.hwh-theme-dark.hwh-native-dark .woocommerce input.button {
  color: #fff;
  background: var(--hwh-black);
  border-color: var(--hwh-gold);
}
