/**
 * CYRIL product presentation refinements.
 * Scope: homepage carousels, WooCommerce category archives, product B2B CTA.
 */

:root {
  --cyril-ink: #0a1929;
  --cyril-copper: #b84f0a;
  --cyril-paper: #f6f7f8;
  --cyril-surface: #ffffff;
  --cyril-line: #dce2e7;
  --cyril-muted: #607080;
  --cyril-radius-lg: 18px;
  --cyril-radius-md: 12px;
  --cyril-shadow: 0 18px 44px rgba(10, 25, 41, 0.1);
}

/* Shared product-card language */
body.home .l-main > .l-section:nth-of-type(2) .w-grid-item-h,
body.tax-product_cat .us_product_list .w-grid-item-h {
  background: var(--cyril-surface);
  border: 1px solid var(--cyril-line);
  border-radius: var(--cyril-radius-lg);
  height: 100%;
  overflow: hidden;
  padding: 0.75rem 0.75rem 1.1rem;
  transition:
    border-color 220ms ease,
    box-shadow 220ms ease,
    transform 220ms ease;
}

body.home .l-main > .l-section:nth-of-type(2) .w-grid-item-h:hover,
body.home .l-main > .l-section:nth-of-type(2) .w-grid-item-h:focus-within,
body.tax-product_cat .us_product_list .w-grid-item-h:hover,
body.tax-product_cat .us_product_list .w-grid-item-h:focus-within {
  border-color: rgba(184, 79, 10, 0.48);
  box-shadow: var(--cyril-shadow);
  transform: translateY(-4px);
}

body.home .l-main > .l-section:nth-of-type(2) .post_image,
body.tax-product_cat .us_product_list .post_image {
  background: transparent !important;
  border-radius: var(--cyril-radius-md) !important;
  overflow: hidden;
}

body.home .l-main > .l-section:nth-of-type(2) .post_image img,
body.tax-product_cat .us_product_list .post_image img {
  display: block;
  transition: transform 300ms cubic-bezier(0.2, 0.65, 0.3, 1);
}

body.home
  .l-main
  > .l-section:nth-of-type(2)
  .w-grid-item-h:hover
  .post_image
  img,
body.home
  .l-main
  > .l-section:nth-of-type(2)
  .w-grid-item-h:focus-within
  .post_image
  img,
body.tax-product_cat .us_product_list .w-grid-item-h:hover .post_image img,
body.tax-product_cat
  .us_product_list
  .w-grid-item-h:focus-within
  .post_image
  img {
  transform: scale(1.035);
}

body.home .l-main > .l-section:nth-of-type(2) .post_title,
body.tax-product_cat .us_product_list .post_title {
  color: var(--cyril-ink) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
  line-height: 1.35;
}

body.home .l-main > .l-section:nth-of-type(2) .price,
body.tax-product_cat .us_product_list .price {
  color: var(--cyril-muted) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}

/* Homepage featured products */
body.home .l-main > .l-section:nth-of-type(2) {
  background: var(--cyril-paper) !important;
}

body.home .l-main > .l-section:nth-of-type(2) > .l-section-h {
  max-width: 1280px;
}

body.home .l-main > .l-section:nth-of-type(2) h2 {
  color: var(--cyril-ink);
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  letter-spacing: -0.035em;
  line-height: 1.08;
  margin: 0;
}

body.home .l-main > .l-section:nth-of-type(2) h2::after {
  background: var(--cyril-copper);
  border-radius: 99px;
  content: "";
  display: block;
  height: 3px;
  margin: 0.75rem auto 0;
  width: 48px;
}

body.home .l-main > .l-section:nth-of-type(2) .w-grid {
  --gap: 1.25rem !important;
}

body.home .l-main > .l-section:nth-of-type(2) .w-grid-item-h {
  display: flex;
  flex-direction: column;
}

body.home .l-main > .l-section:nth-of-type(2) .post_title,
body.home .l-main > .l-section:nth-of-type(2) .price {
  margin-left: 0.4rem !important;
  margin-right: 0.4rem !important;
  text-align: center !important;
}

body.home .l-main > .l-section:nth-of-type(2) .w-btn-wrapper {
  margin-left: 0.4rem !important;
  margin-right: 0.4rem !important;
  margin-top: auto !important;
  padding-top: 0.8rem;
  text-align: center !important;
}

body.home .l-main > .l-section:nth-of-type(2) .post_title {
  margin-top: 1rem !important;
}

body.home .l-main > .l-section:nth-of-type(2) .w-btn-wrapper .button {
  align-items: center;
  background: transparent !important;
  border: 1px solid var(--cyril-line) !important;
  border-radius: 999px !important;
  color: var(--cyril-ink) !important;
  display: inline-flex;
  font-size: 0.78rem !important;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0.015em;
  min-height: 44px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0.65rem 1.15rem !important;
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease;
}

body.home .l-main > .l-section:nth-of-type(2) .w-btn-wrapper .button:hover,
body.home
  .l-main
  > .l-section:nth-of-type(2)
  .w-btn-wrapper
  .button:focus-visible {
  background: var(--cyril-ink) !important;
  border-color: var(--cyril-ink) !important;
  color: #ffffff !important;
}

body.home .l-main > .l-section:nth-of-type(2) .owl-nav button {
  background: var(--cyril-ink) !important;
  border: 0 !important;
  box-shadow: 0 8px 22px rgba(10, 25, 41, 0.18);
  color: #ffffff !important;
  height: 44px !important;
  width: 44px !important;
}

body.home .l-main > .l-section:nth-of-type(2) .owl-nav button:hover,
body.home .l-main > .l-section:nth-of-type(2) .owl-nav button:focus-visible {
  background: var(--cyril-copper) !important;
}

@media (min-width: 901px) {
  body.home .l-main > .l-section:nth-of-type(2) > .l-section-h {
    width: calc(100% - 7rem);
  }

  body.home
    .l-main
    > .l-section:nth-of-type(2)
    .owl-carousel.arrows-hor-pos_on_sides_outside
    .owl-prev {
    transform: translateX(calc(-100% - 32px)) !important;
  }

  body.home
    .l-main
    > .l-section:nth-of-type(2)
    .owl-carousel.arrows-hor-pos_on_sides_outside
    .owl-next {
    transform: translateX(calc(100% + 32px)) !important;
  }
}

body.home .l-main > .l-section:nth-of-type(2) .owl-dots {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
}

/* Product category archive */
body.tax-product_cat .l-main > .l-section:nth-of-type(2) {
  background: var(--cyril-paper);
}

body.tax-product_cat .l-main > .l-section:nth-of-type(2) > .l-section-h {
  max-width: 1380px;
}

body.tax-product_cat .l-main > .l-section:nth-of-type(2) .g-cols.cols_1-4 {
  --columns-gap: clamp(2rem, 4vw, 4.5rem) !important;
  grid-template-columns: minmax(220px, 0.26fr) minmax(0, 1fr);
}

body.tax-product_cat
  .l-main
  > .l-section:nth-of-type(2)
  .type_sticky
  > .vc_column-inner {
  background: var(--cyril-ink);
  border-radius: var(--cyril-radius-lg);
  box-shadow: 0 16px 38px rgba(10, 25, 41, 0.14);
  overflow: hidden;
  padding: 1.65rem;
  position: relative;
}

body.tax-product_cat
  .l-main
  > .l-section:nth-of-type(2)
  .type_sticky
  > .vc_column-inner::before {
  background: var(--cyril-copper);
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

body.tax-product_cat .type_sticky .w-text {
  color: #ffffff;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

body.tax-product_cat .type_sticky .w-btn-wrapper {
  width: 100%;
}

body.tax-product_cat .type_sticky .w-btn {
  background: rgba(255, 255, 255, 0.07) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  color: rgba(255, 255, 255, 0.82) !important;
  display: flex;
  font-size: 0.9rem !important;
  font-weight: 700;
  justify-content: space-between;
  min-height: 48px;
  padding: 0.75rem 1rem !important;
  width: 100%;
}

body.tax-product_cat .type_sticky .w-btn::after {
  content: "\2192";
  font-size: 1.1rem;
  line-height: 1;
}

body.term-helmets .type_sticky .w-btn[href*="/product-category/helmets/"],
body.term-accessories
  .type_sticky
  .w-btn[href*="/product-category/accessories/"] {
  background: var(--cyril-copper) !important;
  border-color: var(--cyril-copper) !important;
  box-shadow: 0 8px 20px rgba(184, 79, 10, 0.28);
  color: #ffffff !important;
}

body.tax-product_cat .type_sticky .w-btn:hover,
body.tax-product_cat .type_sticky .w-btn:focus-visible {
  background: rgba(255, 255, 255, 0.15) !important;
  border-color: rgba(255, 255, 255, 0.38) !important;
  color: #ffffff !important;
}

body.tax-product_cat .type_sticky .w-separator {
  height: 0.65rem !important;
}

body.tax-product_cat .us_product_list {
  --gap: 1.25rem !important;
}

body.tax-product_cat .us_product_list .w-grid-item-h {
  padding-bottom: 1.25rem;
}

body.tax-product_cat .us_product_list .usg_vwrapper_1 {
  background: transparent !important;
  margin-bottom: 0.9rem !important;
}

body.tax-product_cat .us_product_list .usg_post_taxonomy_2 {
  color: var(--cyril-copper) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.13em;
  margin-bottom: 0.35rem !important;
  text-transform: uppercase;
}

body.tax-product_cat .us_product_list .post_title,
body.tax-product_cat .us_product_list .price {
  padding-left: 0.65rem;
  padding-right: 0.65rem;
}

body.tax-product_cat .us_product_list .price {
  margin-bottom: 0 !important;
  margin-top: 0.35rem !important;
}

body.tax-product_cat
  .l-main
  > .l-section:nth-of-type(2)
  .w-post-elm.post_title:not(.usg_post_title_1) {
  color: var(--cyril-ink);
  font-size: clamp(1.6rem, 2.4vw, 2.25rem);
  letter-spacing: -0.03em;
  margin-bottom: 0.25rem;
}

/* Unified product trade platform: B2B route and brand range in one section. */
body.single-product .l-main > .l-section.cyril-product-platform {
  background:
    radial-gradient(
      circle at 82% 18%,
      rgba(184, 79, 10, 0.22),
      transparent 28%
    ),
    linear-gradient(120deg, #071522 0%, var(--cyril-ink) 56%, #132d42 100%) !important;
  color: #ffffff;
  overflow: hidden;
  padding-bottom: clamp(4rem, 7vw, 6.5rem);
  padding-top: clamp(4rem, 7vw, 6.5rem);
  position: relative;
}

body.single-product .l-main > .l-section.cyril-product-platform::before {
  background: repeating-linear-gradient(
    115deg,
    transparent 0 22px,
    rgba(255, 255, 255, 0.025) 22px 24px
  );
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

body.single-product .l-main > .l-section.cyril-product-platform > .l-section-h {
  box-sizing: border-box;
  max-width: 1260px !important;
  padding-left: clamp(1.25rem, 3vw, 2.5rem) !important;
  padding-right: clamp(1.25rem, 3vw, 2.5rem) !important;
  position: relative;
}

body.single-product .cyril-product-platform .wpb_text_column {
  margin: 0;
}

.cyril-b2b-intro {
  align-items: center;
  border-bottom: 1px solid rgba(195, 206, 216, 0.2);
  display: grid;
  gap: clamp(2rem, 5vw, 5.5rem);
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 0 auto clamp(3.5rem, 7vw, 6rem);
  max-width: 1180px;
  padding: 0 0 clamp(3.5rem, 6vw, 5rem);
}

.cyril-b2b-intro__copy {
  max-width: 720px;
  padding-left: 1.35rem;
  position: relative;
  text-align: left;
}

.cyril-b2b-intro__copy::before {
  background: var(--cyril-copper);
  border-radius: 99px;
  content: "";
  left: 0;
  position: absolute;
  top: 0.15rem;
  bottom: 0.2rem;
  width: 4px;
}

.cyril-b2b-intro h2 {
  color: #ffffff;
  font-size: clamp(2rem, 4vw, 3.35rem);
  letter-spacing: -0.04em;
  line-height: 1.04;
  margin: 0 0 0.85rem;
}

.cyril-b2b-intro p {
  color: #c3ced8;
  font-size: clamp(1rem, 1.4vw, 1.1rem);
  line-height: 1.7;
  margin: 0;
  max-width: 650px;
}

.cyril-b2b-button {
  align-items: center;
  background: var(--cyril-copper);
  border: 1px solid var(--cyril-copper);
  border-radius: 999px;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
  color: #ffffff !important;
  display: inline-flex;
  font-size: 0.9rem;
  font-weight: 800;
  gap: 0.55rem;
  justify-content: center;
  letter-spacing: 0.01em;
  min-height: 54px;
  padding: 0.9rem 1.45rem;
  text-decoration: none !important;
  white-space: nowrap;
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.cyril-b2b-button:hover,
.cyril-b2b-button:focus-visible {
  background: #ffffff;
  border-color: #ffffff;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.28);
  color: var(--cyril-ink) !important;
  transform: translateY(-2px);
}

.cyril-b2b-button:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.38);
  outline-offset: 3px;
}

.cyril-capabilities {
  position: relative;
  text-align: center;
}

.cyril-capabilities__intro {
  margin: 0 auto clamp(2.5rem, 5vw, 4.5rem);
  max-width: 800px;
  text-align: center;
}

.cyril-capabilities__eyebrow,
.cyril-partnership__label {
  color: var(--cyril-copper);
  display: block;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  line-height: 1.3;
  margin-bottom: 0.8rem;
  text-transform: uppercase;
}

.cyril-capabilities__intro h2 {
  color: #ffffff;
  font-size: clamp(2.1rem, 4.5vw, 3.9rem);
  letter-spacing: -0.045em;
  line-height: 1.02;
  margin: 0 0 1rem;
  text-wrap: balance;
}

.cyril-capabilities__intro > p {
  color: #c3ced8;
  font-size: clamp(1rem, 1.5vw, 1.12rem);
  line-height: 1.7;
  margin: 0 auto;
  max-width: 660px;
}

.cyril-product-range {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  list-style: none;
  margin: 2.25rem auto 0;
  max-width: 1080px;
  padding: 0;
}

.cyril-product-range li {
  align-items: center;
  border-bottom: 1px solid rgba(195, 206, 216, 0.26);
  border-top: 1px solid rgba(195, 206, 216, 0.26);
  box-sizing: border-box;
  color: #ffffff;
  display: flex;
  font-size: 0.78rem;
  font-weight: 750;
  justify-content: center;
  letter-spacing: 0.015em;
  margin: 0;
  min-height: 42px;
  padding: 0.55rem 0.75rem;
  white-space: nowrap;
}

.cyril-product-range li + li {
  border-left: 1px solid rgba(195, 206, 216, 0.26);
}

.cyril-product-range li::before {
  background: var(--cyril-copper);
  border-radius: 50%;
  content: "";
  height: 6px;
  margin-right: 0.5rem;
  width: 6px;
}

.cyril-capabilities__section-head {
  display: block;
  margin: 0 auto 2rem;
  max-width: 780px;
  text-align: center;
}

.cyril-capabilities__section-head h3 {
  color: #ffffff;
  font-size: clamp(1.65rem, 3vw, 2.45rem);
  letter-spacing: -0.035em;
  line-height: 1.08;
  margin: 0;
}

.cyril-material-grid {
  display: grid;
  border-bottom: 1px solid rgba(195, 206, 216, 0.22);
  border-top: 1px solid rgba(195, 206, 216, 0.22);
  gap: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cyril-material-card {
  box-sizing: border-box;
  min-height: 0;
  padding: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 4vw, 4.5rem);
  position: relative;
}

.cyril-material-card--fiberglass {
  background: rgba(255, 255, 255, 0.025);
  border-right: 1px solid rgba(195, 206, 216, 0.22);
}

.cyril-material-card--carbon {
  background: rgba(255, 255, 255, 0.045);
  color: #c3ced8;
}

.cyril-material-card--carbon::after {
  border: 1px solid rgba(195, 206, 216, 0.18);
  border-radius: 50%;
  content: "";
  height: 180px;
  position: absolute;
  right: -92px;
  top: -84px;
  width: 180px;
}

.cyril-material-badge {
  background-color: #ffffff;
  display: block;
  height: 54px;
  margin: 0 auto 1.35rem;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  opacity: 0.96;
  width: 54px;
}

.cyril-material-badge--shield {
  mask-image: url("../img/cyril-shield-check.svg");
}

.cyril-material-badge--badge {
  mask-image: url("../img/cyril-badge-check.svg");
}

.cyril-material-card h3 {
  color: #ffffff;
  font-size: clamp(1.6rem, 2.5vw, 2.15rem);
  letter-spacing: -0.035em;
  line-height: 1.08;
  margin: 0 0 0.9rem;
}

.cyril-material-card--carbon h3 {
  color: #ffffff;
}

.cyril-material-card > p {
  color: #c3ced8;
  line-height: 1.7;
  margin: 0 auto;
  max-width: 29rem;
}

.cyril-material-card--carbon > p {
  color: #c3ced8;
}

.cyril-material-card ul {
  border-top: 1px solid rgba(195, 206, 216, 0.22);
  display: grid;
  gap: 0.7rem;
  list-style: none;
  margin: 1.7rem auto 0;
  max-width: 25rem;
  padding: 1.35rem 0 0;
}

.cyril-material-card--carbon ul {
  border-top-color: rgba(195, 206, 216, 0.22);
}

.cyril-material-card li {
  align-items: baseline;
  display: flex;
  font-size: 0.92rem;
  font-weight: 650;
  justify-content: center;
  line-height: 1.45;
}

.cyril-material-card li::before {
  color: var(--cyril-copper);
  content: "\2713";
  font-weight: 900;
  margin-right: 0.65rem;
}

.cyril-market-ready {
  margin-top: clamp(3rem, 6vw, 5.5rem);
}

.cyril-ready-grid {
  border-bottom: 1px solid rgba(195, 206, 216, 0.22);
  border-top: 1px solid rgba(195, 206, 216, 0.22);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cyril-ready-card {
  min-height: 0;
  padding: clamp(1.75rem, 3vw, 2.6rem) clamp(1.25rem, 3vw, 2.5rem);
  position: relative;
}

.cyril-ready-card + .cyril-ready-card {
  border-left: 1px solid rgba(195, 206, 216, 0.22);
}

.cyril-ready-card__topline {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  min-height: 38px;
  justify-content: center;
}

.cyril-standard-mark {
  background-color: #ffffff;
  display: block;
  height: 30px;
  mask: url("../img/cyril-certification-stamp.svg") center / contain no-repeat;
  opacity: 0.96;
  width: 30px;
}

.cyril-ready-card__topline:has(.cyril-standard-mark) {
  flex-direction: column;
  gap: 0.45rem;
  min-height: 72px;
}

.cyril-standard-badges {
  display: flex;
  gap: 0.5rem;
}

.cyril-standard-badge {
  align-items: center;
  background: transparent;
  border: 1px solid rgba(195, 206, 216, 0.48);
  border-radius: 2px;
  color: #ffffff;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 850;
  height: 34px;
  justify-content: center;
  letter-spacing: 0.08em;
  min-width: 54px;
  padding: 0 0.6rem;
}

.cyril-swatch {
  border: 2px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(195, 206, 216, 0.5);
  height: 24px;
  width: 24px;
}

.cyril-ready-card--colorways {
  padding-bottom: clamp(1.5rem, 2.5vw, 2.25rem);
  padding-top: clamp(1.5rem, 2.5vw, 2.25rem);
}

.cyril-ready-card--colorways h3 {
  margin-top: 0;
}

.cyril-colorway-groups {
  display: grid;
  gap: 0.7rem;
  margin-bottom: 1.15rem;
  min-height: 76px;
}

.cyril-colorway-group {
  display: block;
}

.cyril-colorway-group__label {
  color: #c3ced8;
  font-size: 0.61rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  display: block;
  margin-bottom: 0.42rem;
  line-height: 1.2;
  text-transform: uppercase;
}

.cyril-swatch-set {
  display: grid;
  gap: 0.35rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.cyril-swatch-set .cyril-swatch {
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 2px;
  box-shadow: inset 0 0 0 1px rgba(5, 21, 37, 0.16);
  box-sizing: border-box;
  height: 23px;
  width: 100%;
}

.cyril-swatch--graphite { background: #2a3038; }
.cyril-swatch--stone { background: #9a9b96; }
.cyril-swatch--ivory { background: #ede9dd; }
.cyril-swatch--navy { background: #1a304b; }
.cyril-swatch--burgundy { background: #6c2633; }
.cyril-swatch--sand { background: #b69165; }
.cyril-swatch--cobalt { background: linear-gradient(135deg, #071d53 0%, #1463cc 48%, #65def3 100%); }
.cyril-swatch--teal { background: linear-gradient(135deg, #004f61 0%, #00a6a1 48%, #8ee6c4 100%); }
.cyril-swatch--lime { background: linear-gradient(135deg, #4c7415 0%, #b9da34 48%, #eff55e 100%); }
.cyril-swatch--yellow { background: linear-gradient(135deg, #d45d09 0%, #f3bf1a 48%, #fff09a 100%); }
.cyril-swatch--coral { background: linear-gradient(135deg, #a52536 0%, #eb5f56 48%, #ffb06f 100%); }
.cyril-swatch--violet { background: linear-gradient(135deg, #342060 0%, #8556ba 48%, #ee82d4 100%); }

.single-product .cyril-product-summary > .vc_column-inner {
  background: #fbfcfe;
  border: 1px solid #e2e9f0;
  border-radius: 0.65rem;
  padding: clamp(1.35rem, 2.4vw, 2.25rem);
}

.single-product .cyril-product-summary .post_title {
  color: #102a43;
  font-size: clamp(1.75rem, 2.4vw, 2.4rem);
  letter-spacing: -0.03em;
  line-height: 1.05;
  margin-bottom: 0.6rem;
}

.single-product .cyril-product-summary .w-separator.size_small {
  height: 1.35rem;
}

.single-product .cyril-product-colors {
  align-items: stretch;
  background: #ffffff;
  border: 1px solid #e2e9f0;
  border-radius: 0.45rem;
  display: block;
  margin: 0;
  padding: 1rem;
  position: relative;
  width: 100%;
}

.single-product .cyril-product-colors > .wpb_text_column {
  margin: 0 0 0.75rem;
  min-width: 0 !important;
}

.single-product .cyril-product-picker-label {
  color: #102a43;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.single-product .cyril-product-picker-controls {
  display: none;
}

.single-product .cyril-product-colors #us_grid_1.w-grid {
  --columns: 7 !important;
  width: 100%;
}

.single-product .cyril-product-colors .w-grid-list {
  gap: 0.55rem;
}

.single-product .cyril-product-colors .w-grid-item-h {
  background: #ffffff;
  border: 1px solid #dce5ed;
  border-radius: 0.3rem;
  overflow: hidden;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.single-product .cyril-product-colors .w-grid-item-h:hover,
.single-product .cyril-product-colors .w-grid-item-h:focus-within {
  border-color: #ed6b24;
  box-shadow: 0 6px 16px rgba(16, 42, 67, 0.12);
  transform: translateY(-2px);
}

.single-product .cyril-product-colors .cyril-product-current .w-grid-item-h,
.cyril-helmet-picker-dialog .cyril-product-current .w-grid-item-h {
  border-color: #ed6b24 !important;
  box-shadow: inset 0 0 0 1px #ed6b24;
  position: relative;
}

.single-product .cyril-product-colors .cyril-product-current .w-grid-item-h::after,
.cyril-helmet-picker-dialog .cyril-product-current .w-grid-item-h::after {
  align-items: center;
  background: #ed6b24;
  border: 2px solid #ffffff;
  border-radius: 50%;
  color: #ffffff;
  content: "✓";
  display: flex;
  font-size: 0.62rem;
  font-weight: 900;
  height: 1.2rem;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 0.25rem;
  top: 0.25rem;
  width: 1.2rem;
  z-index: 2;
}

.single-product .cyril-product-colors .cyril-product-current .w-grid-item-h:hover,
.single-product .cyril-product-colors .cyril-product-current .w-grid-item-h:focus-within {
  transform: none;
}

.single-product .cyril-product-colors .usg_post_image_1 {
  border: 0 !important;
  padding: 0 !important;
}

.single-product .cyril-product-colors .usg_post_image_1 img {
  aspect-ratio: 1;
  display: block;
  object-fit: contain;
  width: 100%;
}

.cyril-helmet-picker-dialog {
  background: #fbfcfe;
  border: 0;
  border-radius: 0.65rem;
  box-shadow: 0 22px 70px rgba(4, 20, 37, 0.35);
  box-sizing: border-box;
  max-height: min(760px, calc(100vh - 2rem));
  max-width: min(760px, calc(100vw - 2rem));
  padding: 1rem;
  width: 100%;
}

.cyril-helmet-picker-dialog::backdrop {
  background: rgba(4, 20, 37, 0.68);
}

.cyril-helmet-picker-dialog__head {
  align-items: center;
  color: #102a43;
  display: flex;
  font-size: 0.9rem;
  justify-content: space-between;
  letter-spacing: 0.03em;
  margin-bottom: 0.85rem;
}

.cyril-helmet-picker-dialog__close {
  align-items: center;
  background: #ffffff;
  border: 1px solid #c7d3df;
  border-radius: 50%;
  color: #102a43;
  display: inline-flex;
  font-size: 1.4rem;
  height: 34px;
  justify-content: center;
  line-height: 1;
  padding: 0;
  width: 34px;
}

.cyril-helmet-picker-dialog__grid {
  max-height: calc(min(760px, 100vh - 2rem) - 5rem);
  overflow-y: auto;
}

.cyril-helmet-picker-dialog__grid .w-grid-list {
  display: grid !important;
  gap: 0.6rem;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.cyril-helmet-picker-dialog__grid .w-grid-item {
  display: block !important;
  width: auto !important;
}

.cyril-helmet-picker-dialog__grid .w-grid-item-h {
  border: 1px solid #dce5ed;
}

.cyril-helmet-picker-dialog__grid .usg_post_image_1 {
  border: 0 !important;
  padding: 0 !important;
}

.cyril-helmet-picker-dialog__grid .usg_post_image_1 img {
  aspect-ratio: 1;
  display: block;
  height: auto !important;
  max-width: none !important;
  object-fit: contain;
  width: 100% !important;
}

.single-product .cyril-product-summary .cyril-procurement-price {
  border-left: 3px solid #ed6b24;
  display: grid;
  gap: 0.2rem;
  margin: 0.35rem 0 1.4rem;
  padding: 0.2rem 0 0.25rem 0.9rem;
}

.single-product .cyril-procurement-price__label {
  color: #58708a;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  line-height: 1.25;
  text-transform: uppercase;
}

.single-product .cyril-procurement-price__value {
  color: #ed6b24;
  font-size: clamp(1.45rem, 2.5vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.05;
}

.single-product .cyril-procurement-price__value a {
  color: inherit;
  text-decoration: none;
}

.single-product .cyril-procurement-price__value a:hover,
.single-product .cyril-procurement-price__value a:focus-visible {
  color: #102a43;
}

body.home .product_field.price .cyril-card-quote-price,
body.tax-product_cat .product_field.price .cyril-card-quote-price {
  color: #ed6b24;
}

.single-product .cyril-procurement-price__value del {
  display: none;
}

.single-product .cyril-procurement-price__note {
  color: #6d7f91;
  font-size: 0.76rem;
  line-height: 1.35;
}

.single-product .cyril-product-actions {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: 1fr;
  margin-top: 0.85rem;
}

.single-product .cyril-product-quote,
.single-product .cyril-product-store {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 800;
  gap: 0.45rem;
  justify-content: center;
  letter-spacing: 0.01em;
  min-height: 48px;
  padding: 0 0.85rem;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
  width: 100%;
  white-space: nowrap;
}

.single-product .cyril-product-quote {
  background: #ed6b24;
  border: 1px solid #ed6b24;
  color: #ffffff !important;
}

.single-product .cyril-product-quote:hover,
.single-product .cyril-product-quote:focus-visible {
  background: #102a43;
  border-color: #102a43;
  color: #ffffff !important;
  transform: translateY(-1px);
}

.single-product .cyril-product-store {
  background: #ffffff;
  border: 1px solid #102a43;
  color: #102a43 !important;
}

.single-product .cyril-product-store:hover,
.single-product .cyril-product-store:focus-visible {
  background: #102a43;
  border-color: #102a43;
  color: #ffffff !important;
  transform: translateY(-1px);
}

.cyril-quality-mark {
  align-items: center;
  background: rgba(184, 79, 10, 0.2);
  border: 1px solid rgba(184, 79, 10, 0.78);
  border-radius: 50%;
  color: #ffffff;
  display: inline-flex;
  font-size: 1.1rem;
  font-weight: 900;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.cyril-ready-card h3 {
  color: #ffffff;
  font-size: 1.22rem;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 1.2rem 0 0.65rem;
}

.cyril-ready-card p {
  color: #c3ced8;
  font-size: 0.92rem;
  line-height: 1.65;
  margin: 0;
}

.cyril-partnership {
  align-items: center;
  background:
    radial-gradient(
      circle at 82% 18%,
      rgba(184, 79, 10, 0.22),
      transparent 28%
    ),
    rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(195, 206, 216, 0.18);
  border-radius: var(--cyril-radius-md);
  color: #ffffff;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
  margin-left: auto;
  margin-right: auto;
  margin-top: clamp(3rem, 6vw, 5.5rem);
  max-width: 960px;
  overflow: hidden;
  padding: clamp(2rem, 4vw, 3.5rem);
  position: relative;
  text-align: center;
}

.cyril-partnership__label {
  margin-bottom: 0.75rem;
}

.cyril-partnership h3 {
  color: #ffffff;
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  letter-spacing: -0.035em;
  line-height: 1.08;
  margin: 0 0 0.85rem;
}

.cyril-partnership p {
  color: #c3ced8;
  line-height: 1.7;
  margin: 0 auto;
  max-width: 690px;
}

.cyril-inventory-note {
  background: rgba(255, 255, 255, 0.075);
  border: 1px solid rgba(195, 206, 216, 0.18);
  border-radius: 2px;
  margin: 0 auto;
  max-width: 720px;
  padding: 1.25rem;
}

.cyril-inventory-note__title {
  color: #ffffff;
  display: block;
  font-size: 0.9rem;
  margin-bottom: 0.45rem;
}

.cyril-inventory-note p {
  font-size: 0.86rem;
  line-height: 1.6;
}

.cyril-partnership__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: center;
  margin-top: 1.35rem;
}

.cyril-story-button {
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 999px;
  color: #ffffff !important;
  display: inline-flex;
  font-size: 0.84rem;
  font-weight: 750;
  justify-content: center;
  min-height: 46px;
  padding: 0.65rem 1.15rem;
  text-decoration: none !important;
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.cyril-story-button--primary {
  background: var(--cyril-copper);
  border-color: var(--cyril-copper);
  color: #ffffff !important;
}

.cyril-story-button:hover,
.cyril-story-button:focus-visible {
  background: #ffffff;
  border-color: #ffffff;
  color: var(--cyril-ink) !important;
  transform: translateY(-1px);
}

.cyril-story-button:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.38);
  outline-offset: 3px;
}

/* Restore the image-backed inner-page hero used by the product archive. */
body.page-id-28 {
  --cyril-inner-hero-image: url("https://www.cyrilhelmet.com/wp-content/uploads/2024/01/company-1600x1050.webp");
}

body.page-id-27,
body.page-id-1225 {
  --cyril-inner-hero-image: url("https://www.cyrilhelmet.com/wp-content/uploads/2023/05/2022-09-27-123647-scaled.webp");
}

body:is(.page-id-27, .page-id-28, .page-id-1225)
  .l-main
  > .l-section:first-child {
  background-image: var(--cyril-inner-hero-image) !important;
  background-position: center 44% !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* Single articles use their featured image as a resilient, full-bleed hero. */
body.single-post .l-main > .l-section:first-child {
  background-color: var(--cyril-ink) !important;
  background-image: var(--cyril-post-hero-image) !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  isolation: isolate;
  min-height: clamp(24rem, 34vw, 34rem);
}

body.single-post .l-main > .l-section:first-child > .l-section-overlay {
  background: linear-gradient(
    110deg,
    rgba(6, 20, 33, 0.9) 0%,
    rgba(10, 25, 41, 0.72) 52%,
    rgba(10, 25, 41, 0.82) 100%
  ) !important;
}

body.single-post .l-main > .l-section:first-child .post_title {
  color: #ffffff !important;
  font-size: clamp(2.15rem, 4vw, 3.8rem);
  letter-spacing: -0.035em;
  line-height: 1.08;
  margin-left: auto;
  margin-right: auto;
  max-width: 62rem;
  text-shadow: 0 3px 24px rgba(0, 0, 0, 0.38);
  text-wrap: balance;
}

/* Keyboard and responsive safeguards */
body.home .l-main > .l-section:nth-of-type(2) a:focus-visible,
body.tax-product_cat .l-main a:focus-visible,
body.single-product
  .l-main
  > .l-section.cyril-product-platform
  a:focus-visible {
  outline: 3px solid rgba(184, 79, 10, 0.48);
  outline-offset: 3px;
}

/* Header navigation: restrained motion and clear current location */
.l-header .ush_cart_1 {
  display: none !important;
}

.l-header .ush_menu_1 .w-nav-anchor.level_1 {
  text-transform: none !important;
}

@media (min-width: 901px) {
  .ush_menu_1 .w-nav-anchor.level_1:not(.w-btn) {
    padding-left: 0.9rem;
    padding-right: 0.9rem;
  }

  .no-touch
    .ush_menu_1.w-nav.type_desktop
    .hover_underline
    .w-nav-anchor.level_1
    .w-nav-title::after {
    background: var(--cyril-copper);
    border-radius: 99px;
    bottom: -0.65rem !important;
    height: 2px;
    opacity: 0;
    transform: scaleX(0.25);
    transform-origin: center;
    transition:
      opacity 180ms ease,
      transform 220ms ease,
      bottom 220ms ease;
  }

  .no-touch
    .ush_menu_1.w-nav.type_desktop
    .hover_underline
    .w-nav-item.level_1:hover
    > .w-nav-anchor
    .w-nav-title::after,
  .ush_menu_1.w-nav.type_desktop
    .current-menu-item
    > .w-nav-anchor
    .w-nav-title::after,
  .ush_menu_1.w-nav.type_desktop
    .current-menu-parent
    > .w-nav-anchor
    .w-nav-title::after,
  .ush_menu_1.w-nav.type_desktop
    .current-product-ancestor
    > .w-nav-anchor
    .w-nav-title::after,
  body.term-accessories
    .ush_menu_1.w-nav.type_desktop
    #menu-item-1240
    > .w-nav-anchor
    .w-nav-title::after {
    bottom: -0.42rem !important;
    opacity: 1;
    transform: scaleX(1);
  }

  .ush_menu_1 .w-nav-anchor.level_1:not(.w-btn) .w-nav-title {
    transition: color 180ms ease;
  }

  .ush_menu_1 .w-nav-anchor.w-btn {
    border-radius: 999px !important;
    box-shadow: 0 8px 20px rgba(184, 79, 10, 0.16);
    transition:
      box-shadow 180ms ease,
      transform 180ms ease;
  }

  .ush_menu_1 .w-nav-anchor.w-btn:hover,
  .ush_menu_1 .w-nav-anchor.w-btn:focus-visible {
    box-shadow: 0 11px 25px rgba(184, 79, 10, 0.25);
    transform: translateY(-1px);
  }
}

/* Footer accordion shell is inert on desktop. */
.cyril-footer-toggle {
  appearance: none;
  background: none;
  border: 0;
  color: inherit;
  cursor: default;
  font: inherit;
  margin: 0;
  padding: 0;
  text-align: inherit;
  width: 100%;
}

.cyril-footer-toggle-icon {
  display: none;
}

@media (max-width: 1024px) {
  body.tax-product_cat .l-main > .l-section:nth-of-type(2) .g-cols.cols_1-4 {
    grid-template-columns: minmax(190px, 0.3fr) minmax(0, 1fr);
  }

  .cyril-b2b-intro {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .cyril-b2b-button {
    justify-self: start;
    margin-left: 1.35rem;
  }
}

body.tax-product_cat .w-grid.us_product_list[class*="cols_"] > .pagination .nav-links,
body.page-id-27 .w-grid.us_post_list[class*="cols_"] > .pagination .nav-links {
  justify-content: center !important;
}

@media (max-width: 767px) {
  .single-product .cyril-product-summary > .vc_column-inner {
    border-radius: 0;
    border-width: 1px 0;
    padding: 1.25rem 1rem;
  }

  .single-product .cyril-product-summary .post_title {
    font-size: clamp(1.4rem, 6vw, 1.8rem);
    letter-spacing: -0.02em;
  }

  .single-product .cyril-product-colors {
    display: grid;
    gap: 0.7rem;
    grid-template-columns: minmax(0, 1fr);
    padding: 0.9rem;
    width: 100%;
  }

  .single-product .cyril-product-colors > .wpb_text_column {
    display: none;
  }

  .single-product .cyril-product-picker-controls {
    align-items: flex-start;
    display: flex;
    justify-content: flex-start;
  }

  .single-product .cyril-product-picker-open {
    background: #ffffff;
    border: 1px solid #c7d3df;
    border-radius: 0.25rem;
    color: #102a43;
    font: inherit;
    font-weight: 800;
    min-height: 36px;
    padding: 0 0.9rem;
    font-size: 0.68rem;
    letter-spacing: 0.01em;
  }

  .single-product .cyril-product-colors #us_grid_1.w-grid {
    display: block;
    grid-column: 1 / -1;
    width: 100%;
  }

  .single-product .cyril-product-colors .w-grid-list {
    display: grid !important;
    gap: 0.55rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .single-product .cyril-product-colors .w-grid-item {
    display: block !important;
    width: auto !important;
  }

  /* 手机首屏固定三行、每行四个；其余型号由 View all 展开。 */
  .single-product .cyril-product-colors .w-grid-item:nth-of-type(n + 13) {
    display: none !important;
  }

  .cyril-helmet-picker-dialog {
    max-height: calc(100vh - 1rem);
    max-width: calc(100vw - 1rem);
    padding: 0.85rem;
  }

  /* 弹窗只作为完整选择器：固定四列，避免被主题的七列栅格挤成不可辨认的图标。 */
  .cyril-helmet-picker-dialog__grid .w-grid-list {
    display: grid !important;
    gap: 0.65rem !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
  }

  .cyril-helmet-picker-dialog__grid .w-grid-item,
  .cyril-helmet-picker-dialog__grid .w-grid-item:nth-of-type(n + 9) {
    display: block !important;
    max-width: none !important;
    min-width: 0 !important;
    width: auto !important;
  }

  .cyril-helmet-picker-dialog__grid .w-grid-item-h {
    border-radius: 0.35rem;
  }

  .cyril-helmet-picker-dialog__grid .usg_post_image_1 img {
    min-height: 0 !important;
    width: 100% !important;
  }

  body.home .l-main > .l-section:nth-of-type(2) {
    padding-bottom: 4rem;
    padding-top: 4rem;
  }

  body.home .l-main > .l-section:nth-of-type(2) .w-grid-item-h:hover,
  body.home .l-main > .l-section:nth-of-type(2) .w-grid-item-h:focus-within,
  body.tax-product_cat .us_product_list .w-grid-item-h:hover,
  body.tax-product_cat .us_product_list .w-grid-item-h:focus-within {
    transform: none;
  }

  body.tax-product_cat .l-main > .l-section:nth-of-type(2) .g-cols.cols_1-4 {
    grid-template-columns: 1fr;
  }

  body.tax-product_cat
    .l-main
    > .l-section:nth-of-type(2)
    .type_sticky
    > .vc_column-inner {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: 1fr 1fr;
    padding: 1.15rem;
  }

  body.tax-product_cat .type_sticky .w-text {
    grid-column: 1 / -1;
    margin-bottom: 0.2rem;
  }

  body.tax-product_cat .type_sticky .w-separator {
    display: none;
  }

  body.tax-product_cat .type_sticky .w-btn {
    justify-content: center;
  }

  body.tax-product_cat .type_sticky .w-btn::after {
    display: none;
  }

  .cyril-b2b-intro {
    grid-template-columns: 1fr;
  }

  .cyril-b2b-intro__copy {
    padding-left: 0;
    padding-top: 1.25rem;
  }

  .cyril-b2b-intro__copy::before {
    bottom: auto;
    height: 4px;
    right: auto;
    top: 0;
    width: 48px;
  }

  .cyril-b2b-button {
    margin-left: 0;
    width: 100%;
    white-space: normal;
  }

  .cyril-product-range {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cyril-capabilities__section-head,
  .cyril-partnership {
    grid-template-columns: 1fr;
  }

  .cyril-ready-grid {
    grid-template-columns: 1fr;
  }

  .cyril-ready-card + .cyril-ready-card {
    border-left: 0;
    border-top: 1px solid rgba(195, 206, 216, 0.22);
  }

  /* Mobile footer: show only centered top-level labels until requested. */
  .l-footer .line4 {
    display: block !important;
    margin-top: 1.5rem;
  }

  .l-footer .cyril-footer-group {
    border-top: 1px solid rgba(255, 255, 255, 0.13);
  }

  .l-footer .cyril-footer-group:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.13);
  }

  .l-footer h6.cyril-footer-heading {
    margin: 0 !important;
  }

  .l-footer .cyril-footer-toggle {
    align-items: center;
    color: #ffffff;
    cursor: pointer;
    display: flex;
    font-size: 0.92rem;
    font-weight: 700;
    justify-content: center;
    min-height: 54px;
    padding: 0.7rem 2.75rem;
    position: relative;
    text-align: center;
    touch-action: manipulation;
  }

  .l-footer .cyril-footer-toggle-icon {
    border-bottom: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    display: block;
    height: 8px;
    position: absolute;
    right: 1.2rem;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 180ms ease;
    width: 8px;
  }

  .l-footer
    .cyril-footer-toggle[aria-expanded="true"]
    .cyril-footer-toggle-icon {
    transform: rotate(225deg) translate(-2px, -2px);
  }

  .l-footer .cyril-footer-toggle:hover,
  .l-footer .cyril-footer-toggle:focus-visible {
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff;
  }

  .l-footer .cyril-footer-toggle:focus-visible {
    outline: 2px solid var(--cyril-copper);
    outline-offset: -2px;
  }

  .l-footer .cyril-footer-panel {
    padding: 0.1rem 1rem 1.25rem;
    text-align: center;
  }

  .l-footer .cyril-footer-panel[hidden] {
    display: none !important;
  }

  body .l-footer .cyril-footer-panel .menu {
    align-items: center;
    display: flex !important;
    flex-wrap: wrap;
    gap: 0.35rem 1rem;
    justify-content: center;
  }

  body .l-footer .cyril-footer-panel .menu > li {
    margin: 0 !important;
  }

  .l-footer .cyril-footer-panel .menu a {
    display: inline-flex;
    line-height: 1.45;
    min-height: 44px;
    padding: 0.65rem 0.2rem;
  }

  .l-footer .cyril-footer-panel .w-iconbox {
    align-items: center;
    justify-content: center;
    margin: 0 auto 0.8rem;
    max-width: 290px;
    text-align: left;
  }

  .l-footer .cyril-footer-panel .w-iconbox:last-child {
    margin-bottom: 0;
  }

  .l-footer .cyril-footer-group:last-child .cyril-footer-panel {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    text-align: left;
  }

  .l-footer .cyril-footer-group:last-child .cyril-footer-panel .w-iconbox {
    justify-content: flex-start;
    margin-left: 0;
    margin-right: 0;
    max-width: none;
    text-align: left;
  }

  .l-footer .link1,
  .l-footer .us_custom_2774bef1 {
    justify-content: center;
    text-align: center !important;
  }

  .l-footer .us_custom_2774bef1 p {
    text-align: center !important;
  }
}

@media (max-width: 900px) {
  /* Compact, balanced mobile header. */
  .l-header .l-subheader.at_middle,
  .l-header .l-subheader.at_middle .l-subheader-h {
    height: 64px !important;
    min-height: 64px !important;
  }

  .l-header .l-subheader.at_middle .l-subheader-h {
    align-items: center !important;
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) 56px;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }

  .l-header .l-subheader.at_middle .l-subheader-cell {
    align-items: center !important;
    height: 64px !important;
    min-width: 0;
  }

  .l-header .l-subheader.at_middle .l-subheader-cell.at_left {
    grid-column: 1;
    justify-content: center !important;
    justify-self: center;
    width: 56px;
  }

  .l-header .l-subheader.at_middle .l-subheader-cell.at_center {
    grid-column: 2;
    justify-content: center !important;
    justify-self: center;
  }

  .l-header .l-subheader.at_middle .l-subheader-cell.at_right {
    grid-column: 3;
    justify-content: center !important;
    justify-self: center;
    width: 56px;
  }

  .l-header .ush_image_1 {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    flex: 0 0 72px;
    height: 44px !important;
    justify-content: center;
    margin: 0 !important;
    max-width: 72px !important;
    min-height: 44px !important;
    position: relative !important;
    transform: none !important;
    width: 72px !important;
  }

  .l-header .ush_image_1 .w-image-h {
    align-items: center;
    display: flex;
    height: 44px !important;
    justify-content: center;
    line-height: 0;
    overflow: visible;
    width: 72px !important;
  }

  .l-header .ush_image_1 img {
    display: block;
    height: auto !important;
    margin: 0 auto !important;
    max-height: 36px !important;
    max-width: 64px !important;
    object-fit: contain !important;
    width: auto !important;
  }

  .l-header .ush_menu_1,
  .l-header .ush_search_1 {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    flex: 0 0 44px;
    height: 44px !important;
    justify-content: center;
    line-height: 1 !important;
    margin: 0 !important;
    min-height: 44px !important;
    min-width: 44px !important;
    position: relative !important;
    transform: none !important;
    width: 44px !important;
  }

  .l-header .w-nav-control,
  .l-header .w-search-open {
    align-items: center;
    display: inline-flex;
    height: 44px;
    justify-content: center;
    line-height: 1 !important;
    margin: 0 !important;
    max-height: none;
    min-width: 44px;
    padding: 0 !important;
  }

  /* The theme makes the search wrapper 0x0 on mobile. Restore a real
     44px box and keep its trigger in normal flow so it shares the axis. */
  .l-header .ush_search_1 .w-search-open {
    bottom: auto !important;
    display: flex !important;
    inset-inline-end: auto !important;
    inset-inline-start: auto !important;
    position: relative !important;
    top: auto !important;
    transform: none !important;
    width: 44px !important;
  }

  .l-header .w-nav-icon,
  .l-header .w-search-open i {
    font-size: 22px;
    line-height: 1 !important;
  }

  .l-header .w-search-open i {
    align-items: center;
    display: flex;
    height: 22px;
    justify-content: center;
    margin: 0 !important;
    transform: none !important;
    vertical-align: middle;
    width: 22px;
  }

  /* This B2B site does not need mobile search in the primary header.
     Keep the empty third grid track so the logo remains screen-centered. */
  .l-header .ush_search_1 {
    display: none !important;
  }

  body.header_hor
    .ush_menu_1.w-nav.type_mobile.m_layout_dropdown
    .w-nav-list.level_1 {
    background:
      radial-gradient(
        circle at 85% 8%,
        rgba(184, 79, 10, 0.17),
        transparent 30%
      ),
      var(--cyril-ink) !important;
    box-sizing: border-box;
    border-radius: 0 18px 0 0;
    bottom: 0 !important;
    box-shadow: 18px 18px 42px rgba(4, 14, 24, 0.32) !important;
    height: calc(100dvh - 64px) !important;
    left: 0 !important;
    max-height: none !important;
    max-width: 340px;
    padding: 1.25rem 1.25rem 1.5rem !important;
    position: fixed !important;
    right: auto !important;
    top: 64px !important;
    width: 86vw !important;
    z-index: 4 !important;
  }

  .l-header:has(.ush_menu_1 .w-nav-control.active)::after {
    backdrop-filter: blur(3px);
    background: rgba(4, 14, 24, 0.48);
    content: "";
    inset: 64px 0 0;
    position: fixed;
    z-index: 3;
  }

  body:has(.ush_menu_1 .w-nav-control.active) {
    overflow: hidden;
  }

  .ush_menu_1.w-nav.type_mobile .w-nav-control.active + .w-nav-list.level_1 {
    animation: cyril-drawer-in 220ms cubic-bezier(0.2, 0.7, 0.3, 1);
    display: flex !important;
    flex-direction: column;
  }

  .ush_menu_1.w-nav.type_mobile #menu-item-1098 {
    margin-top: auto;
  }

  .ush_menu_1.w-nav.type_mobile .w-nav-close {
    display: none !important;
  }

  @keyframes cyril-drawer-in {
    from {
      opacity: 0;
      transform: translateX(-18px);
    }

    to {
      opacity: 1;
      transform: translateX(0);
    }
  }

  .ush_menu_1.w-nav.type_mobile .w-nav-item.level_1 {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .ush_menu_1.w-nav.type_mobile .w-nav-item.level_1:last-of-type {
    border-bottom: 0;
  }

  .ush_menu_1.w-nav.type_mobile .w-nav-anchor.level_1:not(.w-btn) {
    border-left: 3px solid transparent;
    color: rgba(255, 255, 255, 0.84) !important;
    font-size: 1rem !important;
    font-weight: 650;
    margin: 0 !important;
    min-height: 52px;
    padding: 0.85rem 1rem !important;
    transition:
      background-color 180ms ease,
      border-color 180ms ease,
      color 180ms ease;
  }

  .ush_menu_1.w-nav.type_mobile .w-nav-anchor.level_1:not(.w-btn):hover,
  .ush_menu_1.w-nav.type_mobile
    .w-nav-anchor.level_1:not(.w-btn):focus-visible {
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff !important;
  }

  .ush_menu_1.w-nav.type_mobile
    :is(.current-menu-item, .current-menu-parent, .current-product-ancestor)
    > .w-nav-anchor.level_1:not(.w-btn),
  body.term-accessories
    .ush_menu_1.w-nav.type_mobile
    #menu-item-1240
    > .w-nav-anchor.level_1:not(.w-btn) {
    background: rgba(184, 79, 10, 0.18);
    border-left-color: var(--cyril-copper);
    color: #ffffff !important;
  }

  .ush_menu_1.w-nav.type_mobile .w-nav-anchor.w-btn {
    background: var(--cyril-copper) !important;
    border-color: var(--cyril-copper) !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    display: flex;
    justify-content: center;
    margin: 1.15rem 0 0;
    min-height: 50px;
    width: 100%;
  }

  .ush_menu_1.w-nav.type_mobile .w-nav-anchor:focus-visible,
  .l-header .w-nav-control:focus-visible,
  .l-header .w-search-open:focus-visible {
    outline: 2px solid var(--cyril-copper);
    outline-offset: 2px;
  }

  /* Smart Slider mobile hero: one compact poster, stable two-line title and CTAs. */
  body.home .l-main > .l-section:first-child,
  body.home .l-main > .l-section:first-child > .l-section-h,
  body.home .l-main > .l-section:first-child .g-cols,
  body.home .l-main > .l-section:first-child .wpb_column,
  body.home .l-main > .l-section:first-child .vc_column-inner,
  body.home .l-main > .l-section:first-child .wpb_wrapper,
  body.home .l-main > .l-section:first-child .n2_clear,
  body.home .l-main > .l-section:first-child ss3-force-full-width,
  body.home .l-main > .l-section:first-child ss3-fullpage,
  body.home #n2-ss-2-align,
  body.home #n2-ss-2-align > .n2-padding,
  body.home #n2-ss-2,
  body.home #n2-ss-2 .n2-ss-slider-wrapper-inside,
  body.home #n2-ss-2 .n2-ss-slider-1,
  body.home #n2-ss-2 .n2-ss-slider-2,
  body.home #n2-ss-2 .n2-ss-slider-3,
  body.home #n2-ss-2 .n2-ss-slider-4,
  body.home #n2-ss-2 .n2-ss-slide,
  body.home #n2-ss-2 .n2-ss-slide-backgrounds {
    height: clamp(560px, 78svh, 680px) !important;
    max-height: 680px !important;
    min-height: 560px !important;
  }

  body.home #n2-ss-2 .n2-ss-section-main-content {
    box-sizing: border-box;
    justify-content: center !important;
    margin: 0 auto;
    max-width: 390px;
    padding: 5rem 1.35rem 2.5rem !important;
    text-align: center !important;
  }

  body.home #n2-ss-2item1 {
    font-size: 0.72rem !important;
    letter-spacing: 0.22em !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }

  body.home #n2-ss-2item2 {
    font-size: clamp(2.15rem, 10.5vw, 2.8rem) !important;
    letter-spacing: 0.035em !important;
    line-height: 1.02 !important;
    text-align: center !important;
    white-space: nowrap;
  }

  body.home #n2-ss-2 .n-uc-165ed8afda5f4 {
    --margin-bottom: 0.7rem !important;
  }

  body.home #n2-ss-2 .n-uc-1031ff0ce0390 {
    --margin-bottom: 1.55rem !important;
    width: 100% !important;
  }

  body.home #n2-ss-2 .n-uc-1dfd1bdc7e39e-inner > .n2-ss-layer-row-inner {
    align-items: center !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 0.7rem;
    margin: 0 !important;
    width: 100% !important;
  }

  body.home #n2-ss-2 .n-uc-1cb53941c1780,
  body.home #n2-ss-2 .n-uc-1f773f88e72bf {
    margin: 0 !important;
    width: 100% !important;
  }

  body.home #n2-ss-2 .n-uc-1cb53941c1780-inner,
  body.home #n2-ss-2 .n-uc-1f773f88e72bf-inner,
  body.home #n2-ss-2 .n-uc-18e0fcddfbec1,
  body.home #n2-ss-2 .n-uc-1f5b63dba28d9 {
    align-items: center !important;
    align-self: center !important;
    justify-content: center !important;
    width: 100% !important;
  }

  body.home #n2-ss-2 .n2-ss-button-container,
  body.home #n2-ss-2 .n2-ss-button-container a {
    display: flex !important;
    justify-content: center;
    width: 100% !important;
  }

  body.home #n2-ss-2 .n2-ss-button-container a {
    border-radius: 999px !important;
    box-sizing: border-box;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    min-height: 48px;
    padding: 0.75rem 1.25rem !important;
  }

  body.home #n2-ss-2 .n-uc-1cb53941c1780 .n2-ss-button-container a {
    background: var(--cyril-copper) !important;
    border-color: var(--cyril-copper) !important;
    color: #ffffff !important;
  }

  body.home #n2-ss-2 .n-uc-1f773f88e72bf .n2-ss-button-container a {
    background: rgba(7, 21, 34, 0.45) !important;
    border-color: rgba(255, 255, 255, 0.78) !important;
    color: #ffffff !important;
  }

  body.home #n2-ss-2 .n2-ss-control-bullet .n2-bullet {
    height: 2px !important;
    margin: 4px !important;
    padding: 0 !important;
    width: 22px !important;
  }
}

/* Impreza keeps the Logo and Menu in the same cell from 601–900px.
   Promote both controls into the header grid while the empty third track
   keeps the logo centered on tablet and landscape layouts. */
@media (min-width: 601px) and (max-width: 900px) {
  .l-header .l-subheader.at_middle .l-subheader-cell {
    display: contents !important;
  }

  .l-header .ush_menu_1 {
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
  }

  .l-header .ush_image_1 {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
  }
}

@media (max-width: 600px) {
  body.single-product .l-main > .l-section.cyril-product-platform {
    padding-bottom: 3.5rem;
    padding-top: 3.5rem;
  }

  .cyril-product-range {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cyril-material-grid {
    grid-template-columns: 1fr;
  }

  .cyril-material-card {
    min-height: 0;
    padding: 1.4rem;
  }

  .cyril-ready-card {
    min-height: 0;
  }

  .cyril-partnership {
    border-radius: var(--cyril-radius-md);
    padding: 1.5rem;
  }

  .cyril-partnership__actions,
  .cyril-story-button {
    width: 100%;
  }

  body.single-post .l-main > .l-section:first-child {
    background-position: center center !important;
    min-height: clamp(20rem, 92vw, 27rem);
  }

  body.single-post .l-main > .l-section:first-child .post_title {
    font-size: clamp(1.85rem, 8vw, 2.65rem);
    line-height: 1.12;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home .l-main > .l-section:nth-of-type(2) *,
  body.tax-product_cat .us_product_list *,
  body.single-product .l-main > .l-section.cyril-product-platform * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
