body.cngb-ux-polished {
  --cngb-brand-red: #e31b2f;
  --cngb-brand-red-dark: #b91524;
  --cngb-ink: #111111;
  --cngb-muted: #5f6670;
  --cngb-soft: #f6f7f9;
  --cngb-warm: #faf7f0;
  --cngb-gold: #f4c542;
  --cngb-border: #e5e7eb;
  color: var(--cngb-muted);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.cngb-ux-polished h1,
body.cngb-ux-polished h2,
body.cngb-ux-polished h3,
body.cngb-ux-polished h4,
body.cngb-ux-polished .woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--cngb-ink);
  letter-spacing: 0;
}

body.cngb-ux-polished a,
body.cngb-ux-polished .main-menu a,
body.cngb-ux-polished .haru-nav-menu a {
  text-underline-offset: 3px;
}

body.cngb-ux-polished .cngb-localization-trigger--desktop {
  background: rgba(255, 255, 255, .82) !important;
  border: 1px solid rgba(17, 17, 17, .1) !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 32px rgba(17, 24, 39, .1) !important;
  color: var(--cngb-ink) !important;
  font-weight: 800 !important;
  padding: 10px 16px !important;
}

body.cngb-ux-polished .cngb-localization-trigger--desktop:hover,
body.cngb-ux-polished .cngb-localization-trigger--desktop:focus {
  border-color: rgba(227, 27, 47, .35) !important;
  color: var(--cngb-brand-red) !important;
}

body.cngb-ux-polished.home h1:first-of-type {
  max-width: 1040px;
  margin-inline: auto;
  font-size: 52px;
  line-height: 1.08;
}

body.cngb-ux-polished .cngb-hero-service-copy {
  width: min(100%, 780px) !important;
  margin: 10px auto 18px;
  color: #343a40;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.55;
  text-align: center;
}

body.cngb-ux-polished .cngb-hero-service-copy p {
  margin: 0;
}

body.cngb-ux-polished input[type="text"],
body.cngb-ux-polished input[type="email"],
body.cngb-ux-polished input[type="password"],
body.cngb-ux-polished input[type="number"],
body.cngb-ux-polished input[type="search"],
body.cngb-ux-polished textarea,
body.cngb-ux-polished select {
  border-color: #d9dde3 !important;
}

body.cngb-ux-polished button,
body.cngb-ux-polished .button,
body.cngb-ux-polished input[type="submit"],
body.cngb-ux-polished .elementor-button,
body.cngb-ux-polished .single_add_to_cart_button {
  letter-spacing: 0;
}

body.cngb-ux-polished .single_add_to_cart_button,
body.cngb-ux-polished .woocommerce a.button,
body.cngb-ux-polished .woocommerce button.button,
body.cngb-ux-polished .woocommerce input.button,
body.cngb-ux-polished .woocommerce #respond input#submit {
  background: var(--cngb-brand-red) !important;
  border-color: var(--cngb-brand-red) !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(227, 27, 47, .2);
}

body.cngb-ux-polished .single_add_to_cart_button:hover,
body.cngb-ux-polished .woocommerce a.button:hover,
body.cngb-ux-polished .woocommerce button.button:hover,
body.cngb-ux-polished .woocommerce input.button:hover {
  background: var(--cngb-brand-red-dark) !important;
  border-color: var(--cngb-brand-red-dark) !important;
}

body.cngb-ux-polished .woocommerce ul.products {
  row-gap: 42px;
}

body.cngb-ux-polished .woocommerce ul.products li.product {
  text-align: left;
}

body.cngb-ux-polished .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.cngb-ux-polished .woocommerce ul.products li.product h2,
body.cngb-ux-polished .woocommerce ul.products li.product h3 {
  display: -webkit-box;
  min-height: 3.6em;
  margin-top: 14px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.2;
  text-align: left;
}

body.cngb-ux-polished .woocommerce ul.products li.product .price {
  display: block;
  margin-top: 9px;
  color: var(--cngb-brand-red) !important;
  font-size: 16px;
  font-weight: 850;
  text-align: left;
}

body.cngb-ux-polished .woocommerce ul.products li.product .price del {
  color: #9aa1aa !important;
  font-size: .9em;
  opacity: 1;
}

body.cngb-ux-polished .woocommerce span.onsale,
body.cngb-ux-polished .woocommerce ul.products li.product .onsale {
  min-width: 0;
  min-height: 0;
  padding: 5px 8px;
  border-radius: 5px;
  background: var(--cngb-brand-red);
  font-size: 12px;
  font-weight: 850;
  line-height: 1;
}

body.cngb-ux-polished .cngb-shop-note,
body.cngb-ux-polished .cngb-product-trust-strip,
body.cngb-ux-polished .cngb-empty-cart-helper,
body.cngb-ux-polished .cngb-about-trust-panel {
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(17, 24, 39, .07);
}

body.cngb-ux-polished .cngb-shop-note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 24px;
  padding: 12px 14px;
  color: #374151;
  font-size: 14px;
  font-weight: 650;
}

body.cngb-ux-polished .cngb-shop-note::before {
  content: "CNGB";
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--cngb-ink);
  color: #fff;
  padding: 4px 8px;
  font-size: 11px;
  letter-spacing: .04em;
}

body.cngb-ux-polished.single-product .product_title {
  max-width: 760px;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.18;
}

body.cngb-ux-polished.single-product .summary .price {
  color: var(--cngb-ink) !important;
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 850;
}

body.cngb-ux-polished.single-product .summary label {
  text-transform: none;
}

body.cngb-ux-polished .cngb-product-trust-strip {
  display: grid;
  gap: 10px;
  margin: 18px 0 22px;
  padding: 14px;
}

body.cngb-ux-polished .cngb-product-trust-strip span {
  position: relative;
  padding-left: 22px;
  color: #374151;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.35;
}

body.cngb-ux-polished .cngb-product-trust-strip span::before {
  content: "";
  position: absolute;
  left: 0;
  top: .35em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--cngb-gold);
  box-shadow: 0 0 0 4px rgba(244, 197, 66, .18);
}

body.cngb-ux-polished .woocommerce-product-gallery {
  position: relative;
  min-height: 420px;
}

body.cngb-ux-polished .cngb-product-media-fallback {
  display: none;
}

body.cngb-ux-polished .woocommerce-product-gallery.cngb-product-gallery--empty .cngb-product-media-fallback {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  min-height: 320px;
  padding: 28px;
  border: 1px dashed #d6dbe2;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(250, 247, 240, .95), rgba(246, 247, 249, .95)),
    repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(17, 24, 39, .03) 10px, rgba(17, 24, 39, .03) 20px);
  color: #374151;
  text-align: center;
}

body.cngb-ux-polished .cngb-product-media-fallback strong {
  display: block;
  margin-bottom: 6px;
  color: var(--cngb-ink);
  font-size: 18px;
}

body.cngb-ux-polished .woocommerce-tabs ul.tabs li a {
  letter-spacing: 0;
  text-transform: none;
}

body.cngb-ux-polished .cngb-manual-order .cngb-manual-order__header {
  border-bottom: 1px solid var(--cngb-border);
  background: #fffdf8;
  color: var(--cngb-ink);
}

body.cngb-ux-polished .cngb-manual-order .cngb-manual-order__header h2 {
  color: var(--cngb-ink) !important;
  text-shadow: none;
}

body.cngb-ux-polished .cngb-manual-order .cngb-manual-order__header .cngb-manual-order__eyebrow {
  color: #9b6b00 !important;
}

body.cngb-ux-polished .cngb-manual-order .cngb-manual-order__header .cngb-manual-order__subtitle {
  color: var(--cngb-muted) !important;
}

body.cngb-ux-polished .cngb-manual-order .cngb-manual-order__header .cngb-manual-order__steps li {
  border: 1px solid var(--cngb-border);
  background: #ffffff;
  color: var(--cngb-ink) !important;
}

body.cngb-ux-polished .cngb-about-trust-panel {
  width: calc(100% - 30px);
  max-width: 1170px;
  margin: 34px auto 56px;
  padding: 24px;
  border: 1px solid var(--cngb-border);
  background: #fffdf8;
  color: var(--cngb-ink);
}

body.cngb-ux-polished .cngb-about-trust-panel h2 {
  margin: 0 0 16px;
  color: var(--cngb-ink);
  font-size: clamp(26px, 3vw, 38px);
}

body.cngb-ux-polished .cngb-about-trust-panel ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.cngb-ux-polished .cngb-about-trust-panel li {
  border: 1px solid var(--cngb-border);
  border-radius: 8px;
  padding: 12px;
  background: #ffffff;
  color: var(--cngb-ink);
  font-weight: 650;
}

body.cngb-ux-polished .cngb-empty-cart-helper {
  max-width: 760px;
  margin: 18px auto 26px;
  padding: 18px 20px;
  text-align: left;
}

body.cngb-ux-polished .cngb-empty-cart-helper strong {
  display: block;
  margin-bottom: 8px;
  color: var(--cngb-ink);
  font-size: 18px;
}

body.cngb-ux-polished .cngb-empty-cart-helper ol {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 20px;
  color: #4b5563;
}

body.cngb-ux-polished .cngb-size-comparison,
body.cngb-ux-polished .entry-content .cngb-size-comparison {
  color: #374151;
}

body.cngb-ux-polished .cngb-size-comparison h1,
body.cngb-ux-polished .cngb-size-comparison h2,
body.cngb-ux-polished .cngb-size-comparison h3,
body.cngb-ux-polished.page-id .entry-content h1,
body.cngb-ux-polished.page-id .entry-content h2,
body.cngb-ux-polished.page-id .entry-content h3 {
  font-family: Jost, sans-serif;
}

body.cngb-ux-polished.page-template-default .entry-content p,
body.cngb-ux-polished.page-template-default .entry-content li {
  color: #4b5563;
}

@media (max-width: 767px) {
  body.cngb-ux-polished.home h1:first-of-type {
    font-size: 34px;
    line-height: 1.12;
  }

  body.cngb-ux-polished .cngb-hero-service-copy {
    width: min(100%, 92vw) !important;
    padding: 0 14px;
    font-size: 15px;
    line-height: 1.5;
  }

  body.cngb-ux-polished .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.cngb-ux-polished .woocommerce ul.products li.product h2,
  body.cngb-ux-polished .woocommerce ul.products li.product h3 {
    min-height: auto;
    font-size: 14px;
    -webkit-line-clamp: 2;
  }

  body.cngb-ux-polished .woocommerce-product-gallery {
    min-height: 300px;
  }

  body.cngb-ux-polished .cngb-product-trust-strip {
    margin: 14px 0 18px;
  }

  body.cngb-ux-polished .cngb-about-trust-panel {
    margin: 24px auto 38px;
    padding: 18px;
  }

  body.cngb-ux-polished .cngb-about-trust-panel ul {
    grid-template-columns: 1fr;
  }
}
