/* EC Match Slugs — Final storefront refinement, v0.9.0 */

:root {
  --ecms-final-red: #e31825;
  --ecms-final-red-dark: #b90f19;
  --ecms-final-black: #0b0d10;
  --ecms-final-ink: #111317;
  --ecms-final-muted: #5e646b;
  --ecms-final-line: #dedfe2;
  --ecms-final-surface: #f3f4f5;
  --ecms-final-white: #fff;
  --ecms-final-radius: 24px;
  --ecms-final-shadow: 0 22px 60px rgba(14, 16, 19, .08);
}

html {
  scroll-behavior: smooth;
}

a,
button,
summary,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(227, 24, 37, .42);
  outline-offset: 4px;
}

.button,
button,
input[type="button"],
input[type="submit"] {
  min-height: 46px;
}

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 900;
  border-top: 3px solid var(--ecms-final-red);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  background: rgba(11, 13, 16, .965);
  backdrop-filter: blur(18px);
  transition: box-shadow .22s ease, background-color .22s ease;
}

.admin-bar .site-header {
  top: 32px;
}

.site-header.is-scrolled {
  background: rgba(8, 10, 12, .985);
  box-shadow: 0 14px 38px rgba(0, 0, 0, .24);
}

.site-header__inner {
  min-height: 90px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(1.2rem, 2.4vw, 2.8rem);
  transition: min-height .22s ease;
}

.site-header.is-scrolled .site-header__inner {
  min-height: 76px;
}

.site-branding,
.site-branding__logo {
  display: flex;
  align-items: center;
  line-height: 0;
}

.site-branding__logo img,
.custom-logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 196px;
  max-height: 80px;
  object-fit: contain;
  background: transparent !important;
  filter: none !important;
  transition: max-width .22s ease, max-height .22s ease;
}

.site-header.is-scrolled .site-branding__logo img,
.site-header.is-scrolled .custom-logo {
  max-width: 178px;
  max-height: 72px;
}

.primary-navigation {
  justify-self: end;
}

.primary-navigation ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(1rem, 1.7vw, 1.85rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.primary-navigation li {
  position: relative;
}

.primary-navigation a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: rgba(255, 255, 255, .86);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .075em;
  text-transform: uppercase;
  text-decoration: none;
  transition: color .18s ease;
}

.primary-navigation a:hover,
.primary-navigation .current-menu-item > a,
.primary-navigation .current_page_item > a {
  color: #fff;
}

.primary-navigation .current-menu-item::after,
.primary-navigation .current_page_item::after {
  position: absolute;
  right: 0;
  bottom: 1px;
  left: 0;
  height: 3px;
  border-radius: 999px;
  background: var(--ecms-final-red);
  content: "";
}

.site-header__actions {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding-left: 1.1rem;
  border-left: 1px solid rgba(255, 255, 255, .1);
}

.social-links {
  display: flex;
  align-items: center;
  gap: .45rem;
}

.social-links a {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 50%;
  color: rgba(255, 255, 255, .72);
  transition: transform .18s ease, color .18s ease, border-color .18s ease, background-color .18s ease;
}

.social-links a:hover {
  border-color: var(--ecms-final-red);
  background: var(--ecms-final-red);
  color: #fff;
  transform: translateY(-2px);
}

.social-links svg {
  width: 16px;
  height: 16px;
}

.header-cart {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  gap: .55rem;
  padding: .5rem .9rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 999px;
  background: rgba(255, 255, 255, .035);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, background-color .18s ease;
}

.header-cart:hover {
  border-color: rgba(255, 255, 255, .28);
  background: rgba(255, 255, 255, .075);
  color: #fff;
  transform: translateY(-1px);
}

.header-cart__count {
  display: inline-grid;
  min-width: 24px;
  min-height: 30px;
  place-items: center;
  border-radius: 999px;
  background: var(--ecms-final-red);
  font-size: .78rem;
}

/* Shared headings */
.section {
  padding-block: clamp(4.8rem, 8vw, 7.5rem);
}

.section--muted {
  background: var(--ecms-final-surface);
}

.section--dark {
  background: var(--ecms-final-black);
  color: #fff;
}

.section-heading {
  margin-bottom: clamp(2rem, 4vw, 3.2rem);
}

.section-heading--split {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
}

.section-heading--aligned {
  padding-bottom: 1.4rem;
  border-bottom: 1px solid rgba(17, 19, 23, .12);
}

.section-heading--light {
  border-bottom-color: rgba(255, 255, 255, .12);
}

.section-heading h2,
.spec-guide h2,
.faq-layout h2,
.final-cta h2 {
  max-width: 830px;
  margin: .45rem 0 0;
  color: var(--ecms-final-ink);
  font-size: clamp(2.25rem, 4.8vw, 4.75rem);
  line-height: .98;
  letter-spacing: -.055em;
}

.section-heading--light h2 {
  color: #fff;
}

.section-heading__copy {
  max-width: 410px;
  margin: 0;
  color: var(--ecms-final-muted);
  font-size: 1rem;
}

.section-heading--light .section-heading__copy {
  color: rgba(255, 255, 255, .64);
}

.eyebrow {
  margin: 0;
  color: var(--ecms-final-red);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.text-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: var(--ecms-final-red-dark);
  font-weight: 850;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.text-link--arrow::after {
  margin-left: .55rem;
  content: "→";
  transition: transform .18s ease;
}

.text-link--arrow:hover::after {
  transform: translateX(3px);
}

/* Hero */
.hero {
  --hero-x: 72%;
  --hero-y: 44%;
  position: relative;
  overflow: hidden;
  min-height: calc(100svh - 90px);
  background:
    radial-gradient(circle at 74% 24%, rgba(227, 24, 37, .22) 0, rgba(227, 24, 37, 0) 26%),
    linear-gradient(180deg, #0f1215 0%, #080a0d 100%);
}

.hero__background {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.hero__background::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(8, 10, 13, .88) 0%, rgba(8, 10, 13, .78) 28%, rgba(8, 10, 13, .45) 48%, rgba(8, 10, 13, 0) 76%);
  content: "";
}

.hero__grid-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px),
    linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px);
  background-size: 72px 72px;
  opacity: .72;
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .08) 16%, rgba(0, 0, 0, .65) 46%, #000 100%);
}

.hero__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(48px);
  transition: transform .16s ease-out;
}

.hero__glow--one {
  top: calc(var(--hero-y) - 190px);
  left: calc(var(--hero-x) - 190px);
  width: 420px;
  height: 420px;
  background: rgba(227, 24, 37, .22);
}

.hero__glow--two {
  right: 3%;
  bottom: -3%;
  width: 320px;
  height: 320px;
  background: rgba(255, 255, 255, .055);
}

.hero__grid--solo {
  position: relative;
  z-index: 3;
  min-height: calc(100svh - 90px);
  display: flex;
  align-items: center;
  padding-block: clamp(4.5rem, 8vw, 7rem);
}

.hero__content {
  max-width: 680px;
}

.hero h1 {
  max-width: 680px;
  margin: .9rem 0 0;
  color: #fff;
  font-size: clamp(3.25rem, 6.8vw, 6.25rem);
  line-height: .94;
  letter-spacing: -.068em;
}

.hero__lead {
  max-width: 595px;
  margin: 1.45rem 0 0;
  color: rgba(255, 255, 255, .82);
  font-size: clamp(1rem, 1.35vw, 1.16rem);
  line-height: 1.62;
}

.hero__actions,
.final-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  margin-top: 2rem;
}

.button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: .78rem 1.35rem;
  border-radius: 999px;
  font-size: .92rem;
  font-weight: 850;
  text-decoration: none;
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}

.button--primary {
  border: 1px solid var(--ecms-final-red);
  background: var(--ecms-final-red);
  color: #fff;
  box-shadow: 0 16px 34px rgba(227, 24, 37, .22);
}

.button--primary::after {
  margin-left: .55rem;
  content: "→";
}

.button--primary:hover {
  border-color: var(--ecms-final-red-dark);
  background: var(--ecms-final-red-dark);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 20px 42px rgba(227, 24, 37, .28);
}

.button--secondary {
  border: 1px solid rgba(255, 255, 255, .34);
  background: rgba(255, 255, 255, .05);
  color: #fff;
}

.button--secondary:hover {
  border-color: rgba(255, 255, 255, .64);
  background: rgba(255, 255, 255, .1);
  color: #fff;
  transform: translateY(-2px);
}

.button--dark {
  border: 1px solid var(--ecms-final-ink);
  background: var(--ecms-final-ink);
  color: #fff;
}

.button--dark:hover {
  background: #000;
  color: #fff;
  transform: translateY(-2px);
}

.hero__scope {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: clamp(270px, 28vw, 420px);
  aspect-ratio: 1;
  border-radius: 50%;
  transform: translate3d(calc(-50% + var(--scope-offset-x, 0px)), calc(-50% + var(--scope-offset-y, 0px)), 0);
  pointer-events: none;
  will-change: transform;
}

.hero__scope::before,
.hero__scope::after {
  position: absolute;
  top: 50%;
  left: 50%;
  background: rgba(255, 255, 255, .14);
  content: "";
  transform: translate(-50%, -50%);
}

.hero__scope::before {
  width: 130vw;
  height: 1px;
}

.hero__scope::after {
  width: 1px;
  height: 130vh;
}

.hero__scope-ring,
.hero__scope-line,
.hero__scope-center,
.hero__scope-tick {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.hero__scope-ring {
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 50%;
  box-shadow: 0 0 26px rgba(227, 24, 37, .08);
}

.hero__scope-ring--outer {
  width: 100%;
  height: 100%;
}

.hero__scope-ring--middle {
  width: 72%;
  height: 72%;
  border-style: dashed;
  border-color: rgba(255, 255, 255, .11);
}

.hero__scope-ring--inner {
  width: 48%;
  height: 48%;
  border-color: rgba(255, 255, 255, .34);
}

.hero__scope-line--horizontal {
  width: 26%;
  height: 1px;
  background: rgba(255, 255, 255, .42);
}

.hero__scope-line--vertical {
  width: 1px;
  height: 26%;
  background: rgba(255, 255, 255, .42);
}

.hero__scope-tick {
  width: 18px;
  height: 2px;
  background: rgba(255, 255, 255, .45);
}

.hero__scope-tick--top {
  top: 5%;
  transform: translate(-50%, -50%) rotate(90deg);
}

.hero__scope-tick--right {
  left: 95%;
}

.hero__scope-tick--bottom {
  top: 95%;
  transform: translate(-50%, -50%) rotate(90deg);
}

.hero__scope-tick--left {
  left: 5%;
}

.hero__scope-center {
  width: 18px;
  height: 18px;
  border: 3px solid rgba(255, 255, 255, .8);
  border-radius: 50%;
  background: var(--ecms-final-red);
  box-shadow: 0 0 0 11px rgba(227, 24, 37, .08), 0 0 36px rgba(227, 24, 37, .44);
  animation: ecms-final-scope-pulse 2.8s ease-in-out infinite;
}

.hero.is-active .hero__scope {
  filter: brightness(1.08);
}

@keyframes ecms-final-scope-pulse {
  0%, 100% { box-shadow: 0 0 0 9px rgba(227, 24, 37, .07), 0 0 28px rgba(227, 24, 37, .36); }
  50% { box-shadow: 0 0 0 16px rgba(227, 24, 37, .025), 0 0 46px rgba(227, 24, 37, .55); }
}

/* Caliber cards */
.caliber-grid--visual {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.caliber-card--visual {
  display: grid;
  grid-template-columns: minmax(230px, 43%) minmax(0, 1fr);
  align-items: stretch;
  overflow: hidden;
  border: 1px solid var(--ecms-final-line);
  border-radius: var(--ecms-final-radius);
  background: #fff;
  color: var(--ecms-final-ink);
  text-decoration: none;
  box-shadow: var(--ecms-final-shadow);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.caliber-card--visual:hover {
  border-color: rgba(227, 24, 37, .26);
  color: var(--ecms-final-ink);
  transform: translateY(-5px);
  box-shadow: 0 30px 80px rgba(14, 16, 19, .13);
}

.caliber-card__media {
  min-height: 320px;
  overflow: hidden;
  background: #0d1014;
}

.caliber-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s cubic-bezier(.2, .7, .2, 1);
}

.caliber-card--visual:hover .caliber-card__media img {
  transform: scale(1.035);
}

.caliber-card__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.7rem, 3vw, 2.5rem);
}

.caliber-card__kicker {
  margin: 0;
  color: var(--ecms-final-red);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.caliber-card__body h3 {
  margin: .4rem 0 .8rem;
  color: var(--ecms-final-ink);
  font-size: clamp(3.3rem, 5vw, 5.5rem);
  line-height: .9;
  letter-spacing: -.075em;
}

.caliber-card__body p:not(.caliber-card__kicker) {
  margin: 0;
  color: var(--ecms-final-muted);
  line-height: 1.62;
}

.caliber-card__link {
  display: inline-flex;
  align-items: center;
  margin-top: 1.5rem;
  color: var(--ecms-final-red-dark);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.caliber-card__link::after {
  margin-left: .5rem;
  content: "→";
}

/* Product cards */
.ecms-home-products ul.products,
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  margin: 0 !important;
}

.ecms-home-products ul.products::before,
.ecms-home-products ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none !important;
}

.ecms-product-card {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ecms-product-card__inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--ecms-final-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(14, 16, 19, .07);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.ecms-product-card:hover .ecms-product-card__inner {
  border-color: rgba(227, 24, 37, .25);
  transform: translateY(-5px);
  box-shadow: 0 28px 64px rgba(14, 16, 19, .13);
}

.ecms-product-card__image-link {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  margin: 0;
  padding: 1rem;
  background: #f7f7f6;
}

.ecms-product-card__image-link img {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: contain;
  border-radius: 16px;
  background: #fff;
  transition: transform .42s cubic-bezier(.2, .7, .2, 1);
}

.ecms-product-card:hover .ecms-product-card__image-link img {
  transform: scale(1.025);
}

.ecms-product-card__badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
  padding: .45rem .7rem;
  border-radius: 999px;
  background: var(--ecms-final-red);
  color: #fff;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ecms-product-card__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 1.2rem;
}

.ecms-product-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: .85rem;
}

.ecms-product-card__chips span {
  padding: .38rem .58rem;
  border: 1px solid #e4e5e7;
  border-radius: 999px;
  background: #f7f7f7;
  color: #4a4f55;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1;
}

.ecms-product-card__title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ecms-final-ink) !important;
  font-size: 1rem !important;
  line-height: 1.38 !important;
  letter-spacing: -.02em;
}

.ecms-product-card__title a {
  color: inherit;
  text-decoration: none;
}

.ecms-product-card__price {
  margin-top: 1rem;
  color: var(--ecms-final-red-dark);
  font-size: 1.2rem;
  font-weight: 900;
}

.ecms-product-card__price del {
  color: #8a8f95;
  font-size: .85rem;
  opacity: 1;
}

.ecms-product-card__price ins {
  text-decoration: none;
}

.ecms-product-card__actions {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .65rem;
  align-items: center;
  margin-top: auto;
  padding-top: 1.1rem;
}

.ecms-product-card__details {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: var(--ecms-final-ink);
  font-size: .82rem;
  font-weight: 850;
  text-decoration: underline;
  text-decoration-color: rgba(17, 19, 23, .28);
  text-underline-offset: 4px;
}

.ecms-product-card__actions .button {
  width: 100%;
  min-height: 46px;
  margin: 0 !important;
  padding: .72rem .9rem !important;
  border: 1px solid var(--ecms-final-red) !important;
  border-radius: 999px !important;
  background: var(--ecms-final-red) !important;
  color: #fff !important;
  font-size: .78rem !important;
  font-weight: 850 !important;
  text-align: center;
  box-shadow: none !important;
}

.ecms-product-card__actions .button:hover {
  border-color: var(--ecms-final-red-dark) !important;
  background: var(--ecms-final-red-dark) !important;
}

/* Styles */
.style-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .85rem;
}

.style-card {
  min-height: 290px;
  display: flex;
  flex-direction: column;
  padding: 1.35rem;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 20px;
  background:
    radial-gradient(circle at 85% 12%, rgba(227, 24, 37, .18), transparent 34%),
    rgba(255, 255, 255, .035);
  color: #fff;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, background-color .2s ease;
}

.style-card:hover {
  border-color: rgba(227, 24, 37, .55);
  background-color: rgba(255, 255, 255, .06);
  color: #fff;
  transform: translateY(-4px);
}

.style-card__index {
  color: var(--ecms-final-red);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .14em;
}

.style-card h3 {
  margin: auto 0 .8rem;
  color: #fff;
  font-size: clamp(1.4rem, 2vw, 2rem);
  line-height: 1;
  letter-spacing: -.04em;
}

.style-card p {
  margin: 0;
  color: rgba(255, 255, 255, .62);
  font-size: .86rem;
  line-height: 1.55;
}

.style-card__link {
  display: inline-flex;
  margin-top: 1.1rem;
  color: #fff;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.style-card__link::after {
  margin-left: .45rem;
  content: "→";
}

/* Specification guide */
.spec-guide {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: start;
}

.spec-guide__intro {
  position: sticky;
  top: 130px;
}

.spec-guide__intro > p:not(.eyebrow) {
  max-width: 590px;
  margin: 1.35rem 0 0;
  color: var(--ecms-final-muted);
  line-height: 1.7;
}

.spec-guide__intro .button {
  margin-top: 1.6rem;
}

.spec-guide__list {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--ecms-final-line);
  list-style: none;
}

.spec-guide__list li {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 1rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--ecms-final-line);
}

.spec-guide__list > li > span {
  color: var(--ecms-final-red);
  font-size: .8rem;
  font-weight: 900;
  letter-spacing: .12em;
}

.spec-guide__list h3 {
  margin: 0;
  color: var(--ecms-final-ink);
  font-size: 1.35rem;
  letter-spacing: -.03em;
}

.spec-guide__list p {
  margin: .35rem 0 0;
  color: var(--ecms-final-muted);
}

/* FAQ */
.faq-layout {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: clamp(3rem, 7vw, 7rem);
}

.faq-layout__intro > p:not(.eyebrow) {
  margin: 1.2rem 0 1.1rem;
  color: var(--ecms-final-muted);
}

.faq-list {
  border-top: 1px solid rgba(17, 19, 23, .16);
}

.faq-list details {
  border-bottom: 1px solid rgba(17, 19, 23, .16);
}

.faq-list summary {
  position: relative;
  min-height: 72px;
  display: flex;
  align-items: center;
  padding: 1rem 3.2rem 1rem 0;
  color: var(--ecms-final-ink);
  font-size: 1.1rem;
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}

.faq-list summary::-webkit-details-marker {
  display: none;
}

.faq-list summary::after {
  position: absolute;
  right: .3rem;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(17, 19, 23, .18);
  border-radius: 50%;
  content: "+";
  font-size: 1.25rem;
  transition: transform .2s ease, border-color .2s ease;
}

.faq-list details[open] summary::after {
  border-color: rgba(227, 24, 37, .4);
  transform: rotate(45deg);
}

.faq-list details p {
  max-width: 720px;
  margin: 0;
  padding: 0 3.2rem 1.4rem 0;
  color: var(--ecms-final-muted);
  line-height: 1.68;
}

/* Final CTA */
.final-cta {
  background: #15181c;
  color: #fff;
}

.final-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3rem;
  align-items: center;
  padding: clamp(2.2rem, 4vw, 4rem);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 28px;
  background:
    radial-gradient(circle at 88% 15%, rgba(227, 24, 37, .24), transparent 32%),
    #0c0f12;
}

.final-cta h2 {
  max-width: 780px;
  color: #fff;
}

.final-cta p:not(.eyebrow) {
  max-width: 680px;
  margin: 1.2rem 0 0;
  color: rgba(255, 255, 255, .66);
}

.final-cta__actions {
  margin-top: 0;
  justify-content: flex-end;
}

.button--secondary-light {
  border-color: rgba(255, 255, 255, .34);
}

/* Footer */
.site-footer {
  border-top: 3px solid var(--ecms-final-red);
  background: #090b0d;
  color: rgba(255, 255, 255, .66);
}

.site-footer__grid--final {
  display: grid;
  grid-template-columns: minmax(250px, 1.3fr) minmax(150px, .68fr) minmax(190px, .9fr) minmax(230px, 1fr);
  gap: clamp(2rem, 4vw, 4.5rem);
  padding-block: clamp(4rem, 7vw, 6rem);
}

.site-footer__logo {
  display: inline-flex;
  line-height: 0;
}

.site-footer__logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 230px;
  max-height: 112px;
  object-fit: contain;
  background: transparent !important;
}

.site-footer__identity > p,
.site-footer__note p {
  margin: 1.35rem 0 0;
  color: rgba(255, 255, 255, .62);
  line-height: 1.7;
}

.site-footer .social-links {
  margin-top: 1.4rem;
}

.site-footer__links h2,
.site-footer__note h2 {
  margin: 0 0 1.15rem;
  color: #fff;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.site-footer__links ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__links li + li {
  margin-top: .72rem;
}

.site-footer__links a,
.site-footer__contact-link {
  color: rgba(255, 255, 255, .68);
  text-decoration: none;
  transition: color .18s ease;
}

.site-footer__links a:hover,
.site-footer__contact-link:hover {
  color: #fff;
}

.site-footer__contact-link {
  display: inline-flex;
  margin-top: 1.2rem;
  color: #fff;
  font-weight: 850;
  text-decoration: underline;
  text-decoration-color: rgba(227, 24, 37, .65);
  text-underline-offset: 5px;
}

.site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-block: 1.35rem;
  border-top: 1px solid rgba(255, 255, 255, .09);
  color: rgba(255, 255, 255, .52);
  font-size: .82rem;
}

.site-footer__credit a {
  color: #fff;
  font-weight: 800;
  text-decoration-color: var(--ecms-final-red);
  text-underline-offset: 4px;
}

.empty-state {
  padding: 3rem;
  border: 1px dashed rgba(17, 19, 23, .2);
  border-radius: var(--ecms-final-radius);
  text-align: center;
}

/* Responsive */
@media (max-width: 1180px) {
  .site-header__inner {
    grid-template-columns: auto auto minmax(0, 1fr) auto;
  }

  .menu-toggle {
    display: inline-flex;
    justify-self: end;
  }

  .primary-navigation {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    padding: 1rem max(1.25rem, calc((100vw - 1180px) / 2));
    border-top: 1px solid rgba(255, 255, 255, .08);
    background: #0b0d10;
  }

  .primary-navigation.is-open {
    display: block;
  }

  .primary-navigation ul {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .primary-navigation a {
    width: 100%;
    min-height: 50px;
  }

  .primary-navigation .current-menu-item::after,
  .primary-navigation .current_page_item::after {
    right: auto;
    width: 44px;
  }

  .site-header__actions {
    grid-column: 4;
  }

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

  .style-card:nth-child(4),
  .style-card:nth-child(5) {
    min-height: 240px;
  }

  .site-footer__grid--final {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  .admin-bar .site-header {
    top: 46px;
  }

  .site-header__actions .social-links--header {
    display: none;
  }

  .caliber-grid--visual,
  .spec-guide,
  .faq-layout {
    grid-template-columns: 1fr;
  }

  .caliber-card--visual {
    grid-template-columns: minmax(220px, 40%) minmax(0, 1fr);
  }

  .ecms-home-products ul.products,
  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .spec-guide__intro {
    position: static;
  }

  .final-cta__inner {
    grid-template-columns: 1fr;
  }

  .final-cta__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .site-header__inner {
    min-height: 76px;
    grid-template-columns: auto auto auto;
    gap: .75rem;
  }

  .site-branding__logo img,
  .custom-logo {
    max-width: 138px;
    max-height: 68px;
  }

  .site-header__actions {
    grid-column: auto;
    padding-left: 0;
    border-left: 0;
  }

  .header-cart__label {
    display: none;
  }

  .header-cart {
    min-width: 48px;
    justify-content: center;
  }

  .hero,
  .hero__grid--solo {
    min-height: auto;
  }

  .hero__grid--solo {
    padding-block: 5.2rem 6rem;
  }

  .hero h1 {
    font-size: clamp(3rem, 15vw, 4.65rem);
  }

  .hero__scope {
    width: 190px;
    opacity: .28;
  }

  .section-heading--split {
    display: block;
  }

  .section-heading__copy,
  .section-heading--split .text-link {
    margin-top: 1rem;
  }

  .caliber-card--visual {
    grid-template-columns: 1fr;
  }

  .caliber-card__media {
    min-height: 260px;
  }

  .ecms-home-products ul.products,
  .woocommerce ul.products,
  .style-grid,
  .site-footer__grid--final {
    grid-template-columns: 1fr;
  }

  .style-card {
    min-height: 220px;
  }

  .ecms-product-card__actions {
    grid-template-columns: 1fr;
  }

  .site-footer__bottom {
    display: grid;
    justify-items: start;
  }
}

@media (max-width: 430px) {
  .container {
    width: min(100% - 1.5rem, 1180px);
  }

  .site-header__inner {
    gap: .5rem;
  }

  .site-branding__logo img,
  .custom-logo {
    max-width: 118px;
    max-height: 58px;
  }

  .menu-toggle__label {
    display: none;
  }

  .hero h1 {
    font-size: clamp(2.7rem, 15.5vw, 4rem);
  }

  .hero__actions .button,
  .final-cta__actions .button {
    width: 100%;
  }

  .caliber-card__body h3 {
    font-size: 4rem;
  }

  .site-footer__logo img {
    max-width: 200px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

/* EC Match Slugs — corrective refinement, v0.9.1 */

/* Keep only one active-menu indicator. main.css also defines an anchor pseudo-element. */
.primary-navigation a::after {
  display: none !important;
  content: none !important;
}

.primary-navigation .current-menu-item::after,
.primary-navigation .current_page_item::after {
  right: 50%;
  bottom: 3px;
  left: auto;
  width: 28px;
  height: 2px;
  transform: translateX(50%);
}

/* Restore the reticle as a true full-hero background effect. */
.hero__scope {
  top: var(--hero-y, 44%);
  left: var(--hero-x, 70%);
  transform: translate(-50%, -50%);
  transition: opacity .18s ease, filter .18s ease;
}

.hero.is-active .hero__scope {
  transform: translate(-50%, -50%);
}

.hero__background::before {
  background: linear-gradient(90deg, rgba(8, 10, 13, .74) 0%, rgba(8, 10, 13, .64) 28%, rgba(8, 10, 13, .30) 52%, rgba(8, 10, 13, 0) 78%);
}

.hero__grid-overlay {
  mask-image: linear-gradient(90deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.42) 32%, rgba(0,0,0,.86) 62%, #000 100%);
}

/* Cleaner section rhythm. */
.home-section-heading {
  max-width: 820px;
  margin-bottom: clamp(2rem, 3.5vw, 2.8rem);
}

.home-featured-products .home-section-heading {
  max-width: none;
}

.home-calibers,
.home-featured-products {
  padding-block: clamp(4.5rem, 7vw, 6.5rem);
}

/* Caliber cards: less oversized, better proportion. */
.caliber-card--visual {
  grid-template-columns: minmax(190px, 38%) minmax(0, 1fr);
}

.caliber-card__media {
  min-height: 270px;
}

.caliber-card__body {
  padding: clamp(1.5rem, 2.5vw, 2.1rem);
}

.caliber-card__body h3 {
  font-size: clamp(3rem, 4.4vw, 4.7rem);
}

/* Product cards: reduce visual bulk and properly center the purchase action. */
.ecms-product-card__image-link {
  aspect-ratio: 4 / 3;
  padding: .8rem;
}

.ecms-product-card__content {
  padding: 1.05rem 1.05rem 1rem;
}

.ecms-product-card__chips {
  margin-bottom: .65rem;
}

.ecms-product-card__chips span {
  padding: .34rem .54rem;
  font-size: .66rem;
}

.ecms-product-card__title {
  font-size: .96rem !important;
  line-height: 1.34 !important;
}

.ecms-product-card__price {
  margin-top: .75rem;
  font-size: 1.12rem;
}

.ecms-product-card__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  padding-top: .9rem;
}

.ecms-product-card__details {
  min-height: 40px;
  flex: 0 0 auto;
  font-size: .78rem;
}

.ecms-product-card__actions .button,
.ecms-product-card__actions .added_to_cart {
  width: auto !important;
  min-width: 128px;
  min-height: 40px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: .55rem .95rem !important;
  line-height: 1.15 !important;
  text-align: center !important;
  white-space: nowrap;
}

/* Compact style navigation instead of another oversized content block. */
.home-styles--compact {
  padding-block: clamp(3.8rem, 6vw, 5.5rem);
}

.text-link--light {
  color: rgba(255,255,255,.82);
}

.text-link--light:hover {
  color: #fff;
}

.style-grid--compact {
  gap: .75rem;
}

.style-card--compact {
  min-height: 132px;
  justify-content: flex-end;
  padding: 1.2rem;
}

.style-card--compact h3 {
  margin: 0 0 .55rem;
  font-size: clamp(1.15rem, 1.7vw, 1.55rem);
}

.style-card--compact .style-card__link {
  margin-top: 0;
}

/* Final call-to-action remains useful but should not overpower the page. */
.final-cta {
  padding-block: clamp(3.2rem, 5vw, 4.5rem);
}

.final-cta__inner {
  padding: clamp(2rem, 3.2vw, 3rem);
}

.final-cta h2 {
  font-size: clamp(2rem, 3.7vw, 3.6rem);
}

/* Footer readability and spacing. */
.site-footer__grid--final {
  padding-block: clamp(3.5rem, 6vw, 5rem);
}

.site-footer__identity > p,
.site-footer__note p,
.site-footer__links a,
.site-footer__contact-link {
  font-size: .94rem;
}

@media (max-width: 1180px) {
  .primary-navigation .current-menu-item::after,
  .primary-navigation .current_page_item::after {
    right: auto;
    left: 0;
    width: 28px;
    transform: none;
  }
}

@media (max-width: 960px) {
  .caliber-card--visual {
    grid-template-columns: minmax(210px, 40%) minmax(0, 1fr);
  }

  .style-grid--compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .caliber-card--visual,
  .style-grid--compact {
    grid-template-columns: 1fr;
  }

  .caliber-card__media {
    min-height: 235px;
  }

  .ecms-product-card__actions {
    align-items: stretch;
  }

  .ecms-product-card__actions .button,
  .ecms-product-card__actions .added_to_cart {
    min-width: 0;
    flex: 1 1 auto;
  }
}

@media (max-width: 430px) {
  .ecms-product-card__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .ecms-product-card__details,
  .ecms-product-card__actions .button,
  .ecms-product-card__actions .added_to_cart {
    width: 100% !important;
    justify-content: center;
  }
}

/* ================================================================
   EC Match Slugs finishing pass — v0.9.2
   Scope: every storefront area except the hero scope/crosshair effect.
   ================================================================ */

/* Header: stronger presence and improved readability. */
.site-header__inner {
  min-height: 94px;
  gap: clamp(1.35rem, 2.6vw, 3rem);
}

.site-header.is-scrolled .site-header__inner {
  min-height: 80px;
}

.site-branding__logo img,
.custom-logo {
  max-width: 218px;
  max-height: 88px;
}

.site-header.is-scrolled .site-branding__logo img,
.site-header.is-scrolled .custom-logo {
  max-width: 194px;
  max-height: 78px;
}

.primary-navigation ul {
  gap: clamp(1.15rem, 1.9vw, 2.05rem);
}

.primary-navigation a {
  font-size: .88rem;
  letter-spacing: .065em;
}

.primary-navigation .current-menu-item::after,
.primary-navigation .current_page_item::after {
  right: auto;
  left: 0;
  width: 28px;
  height: 2px;
}

.site-header__actions {
  gap: .95rem;
  padding-left: 1.25rem;
}

.social-links a {
  width: 40px;
  height: 40px;
}

.social-links svg {
  width: 17px;
  height: 17px;
}

.header-cart {
  min-height: 48px;
  padding-inline: 1rem;
}

/* Hero typography/buttons only. The scope animation and movement remain untouched. */
.hero .eyebrow {
  font-size: .84rem;
}

.hero__lead {
  max-width: 620px;
  color: rgba(255, 255, 255, .86);
  font-size: clamp(1.04rem, 1.35vw, 1.17rem);
  line-height: 1.72;
}

.hero__actions .button {
  min-height: 48px;
  padding-inline: 1.15rem;
}

.hero__actions .button--secondary {
  border-color: rgba(255, 255, 255, .46);
  background: rgba(255, 255, 255, .065);
}

/* Caliber section: clearer hierarchy and better use of card space. */
.home-calibers .home-section-heading {
  max-width: 860px;
}

.caliber-grid--visual {
  gap: 1.7rem;
}

.caliber-card--visual {
  grid-template-columns: minmax(205px, 39%) minmax(0, 1fr);
  border-radius: 22px;
}

.caliber-card__media {
  min-height: 282px;
}

.caliber-card__body {
  padding: clamp(1.65rem, 2.7vw, 2.3rem);
}

.caliber-card__body h3 {
  margin-block: .42rem .72rem;
  font-size: clamp(3.15rem, 4.6vw, 4.85rem);
}

.caliber-card__body p:not(.caliber-card__kicker) {
  color: #4c5259;
  font-size: 1rem;
  line-height: 1.62;
}

.caliber-card__link {
  margin-top: 1.25rem;
  font-size: .84rem;
  letter-spacing: .07em;
}

/* Product section and cards. */
.home-featured-products .section-heading--split {
  align-items: center;
}

.home-featured-products .text-link {
  padding-inline: .2rem;
  font-size: .94rem;
}

.ecms-home-products ul.products,
.woocommerce ul.products {
  gap: 1.65rem;
}

.ecms-product-card__inner {
  border-radius: 20px;
}

.ecms-product-card__image-link {
  aspect-ratio: 6 / 5;
  padding: .65rem;
  background: #f2f3f4;
}

.ecms-product-card__image-link img {
  border-radius: 14px;
}

.ecms-product-card__content {
  padding: 1.15rem 1.15rem 1.1rem;
}

.ecms-product-card__brand {
  margin: 0 0 .42rem;
  color: var(--ecms-final-red-dark);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ecms-product-card__title {
  min-height: 2.7em;
  font-size: 1.06rem !important;
  line-height: 1.32 !important;
}

.ecms-product-card__title a:hover {
  color: var(--ecms-final-red-dark);
}

.ecms-product-card__meta {
  min-height: 2.9em;
  margin: .58rem 0 0;
  color: #656b72;
  font-size: .78rem;
  font-weight: 650;
  line-height: 1.45;
}

.ecms-product-card__price {
  margin-top: .82rem;
  font-size: 1.22rem;
}

.ecms-product-card__actions {
  gap: .7rem;
  padding-top: 1rem;
}

.ecms-product-card__details {
  min-height: 42px;
  padding-inline: .1rem;
  font-size: .83rem;
  text-decoration-thickness: 1px;
}

.ecms-product-card__actions .button,
.ecms-product-card__actions .added_to_cart {
  min-width: 124px;
  min-height: 42px;
  padding: .6rem .92rem !important;
  font-size: .8rem !important;
}

/* Style selector: more useful without becoming another oversized section. */
.home-styles--compact {
  padding-block: clamp(3.9rem, 6vw, 5.4rem);
}

.home-styles--compact .section-heading--split {
  align-items: center;
}

.style-grid--compact {
  gap: .85rem;
}

.style-card--compact {
  position: relative;
  min-height: 178px;
  justify-content: flex-start;
  padding: 1.25rem;
  overflow: hidden;
}

.style-card--compact::after {
  position: absolute;
  right: -30px;
  bottom: -50px;
  width: 125px;
  height: 125px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
  content: "";
}

.style-card--compact .style-card__index {
  display: block;
  margin-bottom: 1.2rem;
}

.style-card--compact h3 {
  margin: 0 0 .55rem;
  font-size: clamp(1.2rem, 1.7vw, 1.55rem);
}

.style-card--compact p {
  max-width: 19rem;
  color: rgba(255, 255, 255, .64);
  font-size: .82rem;
  line-height: 1.48;
}

.style-card--compact .style-card__link {
  margin-top: auto;
  padding-top: .95rem;
}

/* Final CTA: tighter composition and clearer actions. */
.final-cta__inner {
  grid-template-columns: minmax(0, 1fr) minmax(250px, auto);
  gap: clamp(2rem, 4vw, 4rem);
}

.final-cta h2 {
  max-width: 720px;
  font-size: clamp(2.15rem, 3.6vw, 3.55rem);
}

.final-cta p:not(.eyebrow) {
  color: rgba(255, 255, 255, .72);
  font-size: 1rem;
  line-height: 1.65;
}

.final-cta__actions {
  gap: .75rem;
}

.final-cta__actions .button {
  min-height: 46px;
}

.final-cta .button--secondary-light {
  border-color: rgba(255, 255, 255, .46);
  background: rgba(255, 255, 255, .045);
}

/* Footer: final readability and alignment. */
.site-footer__grid--final {
  grid-template-columns: minmax(270px, 1.25fr) minmax(155px, .66fr) minmax(205px, .9fr) minmax(250px, 1fr);
  gap: clamp(2.25rem, 4vw, 4.25rem);
}

.site-footer__logo img {
  max-width: 246px;
  max-height: 118px;
}

.site-footer__identity > p,
.site-footer__note p {
  max-width: 36rem;
  color: rgba(255, 255, 255, .69);
  font-size: .98rem;
}

.site-footer__links h2,
.site-footer__note h2 {
  margin-bottom: 1.2rem;
  font-size: .82rem;
  letter-spacing: .11em;
}

.site-footer__links li + li {
  margin-top: .78rem;
}

.site-footer__links a,
.site-footer__contact-link {
  font-size: .96rem;
}

.site-footer__contact-link {
  min-height: 42px;
  align-items: center;
  padding: .15rem 0;
}

.site-footer__bottom {
  padding-block: 1.5rem;
  font-size: .88rem;
}

.site-footer__credit a:hover {
  color: var(--ecms-final-red);
}

@media (max-width: 1180px) {
  .site-branding__logo img,
  .custom-logo {
    max-width: 194px;
    max-height: 80px;
  }

  .primary-navigation a {
    font-size: .84rem;
  }

  .site-footer__grid--final {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  .caliber-card--visual {
    grid-template-columns: minmax(215px, 41%) minmax(0, 1fr);
  }

  .style-grid--compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .final-cta__inner {
    grid-template-columns: 1fr;
  }

  .final-cta__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .site-branding__logo img,
  .custom-logo {
    max-width: 164px;
    max-height: 72px;
  }

  .caliber-card--visual,
  .style-grid--compact,
  .site-footer__grid--final {
    grid-template-columns: 1fr;
  }

  .caliber-card__media {
    min-height: 250px;
  }

  .ecms-product-card__title,
  .ecms-product-card__meta {
    min-height: 0;
  }

  .site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 430px) {
  .ecms-product-card__actions {
    grid-template-columns: 1fr;
  }

  .ecms-product-card__details,
  .ecms-product-card__actions .button,
  .ecms-product-card__actions .added_to_cart {
    width: 100% !important;
    justify-content: center;
  }
}

/* ================================================================
   EC Match Slugs header spacing refinement — v0.9.3
   Scope: vertical breathing room around the header logo only.
   ================================================================ */
.site-header__inner {
  min-height: 112px;
  padding-block: 12px;
}

.site-header.is-scrolled .site-header__inner {
  min-height: 92px;
  padding-block: 8px;
}

@media (max-width: 720px) {
  .site-header__inner {
    min-height: 84px;
    padding-block: 8px;
  }

  .site-header.is-scrolled .site-header__inner {
    min-height: 76px;
    padding-block: 6px;
  }
}

/* ================================================================
   EC Match Slugs product-card refinement — v0.9.4
   Scope: eliminate wasted space and make product photography full bleed.
   ================================================================ */

.home-featured-products .ecms-product-card__inner,
.archive.woocommerce .ecms-product-card__inner,
.post-type-archive-product .ecms-product-card__inner,
.tax-product_cat .ecms-product-card__inner {
  height: auto;
}

.ecms-product-card__image-link {
  aspect-ratio: 3 / 2;
  padding: 0;
  border-bottom: 1px solid var(--ecms-final-line);
  background: #fff;
}

.ecms-product-card__image-link img {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border-radius: 0;
  object-fit: cover;
  object-position: center;
  background: #fff;
}

.ecms-product-card:hover .ecms-product-card__image-link img {
  transform: scale(1.012);
}

.ecms-product-card__badge {
  top: .75rem;
  left: .75rem;
}

.ecms-product-card__content {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: .6rem;
  padding: 1rem 1.05rem 1.05rem;
}

.ecms-product-card__brand,
.ecms-product-card__title,
.ecms-product-card__meta,
.ecms-product-card__price,
.ecms-product-card__actions {
  margin: 0 !important;
}

.ecms-product-card__brand {
  line-height: 1.2;
}

.ecms-product-card__title {
  min-height: 0;
  font-size: 1.02rem !important;
  line-height: 1.3 !important;
}

.ecms-product-card__meta {
  min-height: 0;
  color: #626870;
  font-size: .8rem;
  line-height: 1.42;
}

.ecms-product-card__price {
  padding-top: .28rem;
  font-size: 1.2rem;
  line-height: 1.15;
}

.ecms-product-card__actions {
  margin-top: .25rem !important;
  padding-top: .35rem;
}

.ecms-product-card__details {
  min-height: 38px;
  font-size: .8rem;
}

.ecms-product-card__actions .button,
.ecms-product-card__actions .added_to_cart {
  min-width: 120px;
  min-height: 38px;
  padding: .52rem .86rem !important;
  font-size: .77rem !important;
}

@media (max-width: 720px) {
  .ecms-product-card__content {
    padding: .95rem;
  }

  .ecms-product-card__actions {
    gap: .6rem;
  }
}

@media (max-width: 430px) {
  .ecms-product-card__image-link {
    aspect-ratio: 3 / 2;
  }
}

/* ================================================================
   Footer policy links and highlighted product notice — v0.9.8
   ================================================================ */
.site-footer__note {
  position: relative;
  align-self: start;
  padding: 1.35rem 1.4rem 1.45rem;
  overflow: hidden;
  border: 1px solid rgba(227, 24, 37, .34);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(227, 24, 37, .16), transparent 46%),
    linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.015));
  box-shadow: inset 3px 0 0 var(--ecms-final-red), 0 18px 44px rgba(0,0,0,.20);
}

.site-footer__note::after {
  position: absolute;
  top: -42px;
  right: -42px;
  width: 120px;
  height: 120px;
  border: 1px solid rgba(227,24,37,.18);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.site-footer__note-heading {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: .8rem;
}

.site-footer__note-icon {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(227,24,37,.42);
  border-radius: 13px;
  background: rgba(227,24,37,.12);
  color: #ff4651;
}

.site-footer__note-kicker {
  display: block;
  margin-bottom: .2rem;
  color: #ff4651;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.site-footer__note .site-footer__note-heading h2 {
  margin: 0;
  font-size: .9rem;
  letter-spacing: .1em;
}

.site-footer__note p {
  position: relative;
  z-index: 1;
  margin-top: 1.05rem;
  color: rgba(255,255,255,.78);
  line-height: 1.72;
}

.site-footer__note .site-footer__contact-link {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  min-height: 42px;
  margin-top: 1.05rem;
  padding: .62rem .9rem;
  border: 1px solid rgba(227,24,37,.42);
  border-radius: 999px;
  background: rgba(227,24,37,.11);
  color: #fff;
  font-size: .86rem;
  font-weight: 850;
  text-decoration: none;
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
}

.site-footer__note .site-footer__contact-link:hover,
.site-footer__note .site-footer__contact-link:focus-visible {
  border-color: var(--ecms-final-red);
  background: var(--ecms-final-red);
  color: #fff;
  transform: translateY(-1px);
}

.site-footer__note .site-footer__contact-link span {
  transition: transform .18s ease;
}

.site-footer__note .site-footer__contact-link:hover span,
.site-footer__note .site-footer__contact-link:focus-visible span {
  transform: translateX(2px);
}

@media (max-width: 1180px) {
  .site-footer__note {
    max-width: 620px;
  }
}

/* ================================================================
   Footer notice refinement — v0.9.9
   ================================================================ */
.site-footer__links li + li {
  margin-top: .62rem;
}

.site-footer__note {
  padding: 1.08rem 1.15rem 1.14rem;
  border-color: rgba(227, 24, 37, .22);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0%, rgba(227, 24, 37, .09), transparent 48%),
    linear-gradient(145deg, rgba(255,255,255,.03), rgba(255,255,255,.012));
  box-shadow: inset 2px 0 0 rgba(227,24,37,.85), 0 12px 30px rgba(0,0,0,.16);
}

.site-footer__note::after {
  top: -48px;
  right: -48px;
  width: 108px;
  height: 108px;
  border-color: rgba(227,24,37,.10);
}

.site-footer__note-heading {
  gap: .72rem;
}

.site-footer__note-icon {
  width: 42px;
  height: 42px;
  border-color: rgba(227,24,37,.30);
  border-radius: 12px;
  background: rgba(227,24,37,.08);
}

.site-footer__note-kicker {
  margin-bottom: .12rem;
  font-size: .66rem;
  letter-spacing: .11em;
}

.site-footer__note .site-footer__note-heading h2 {
  font-size: .87rem;
  letter-spacing: .085em;
}

.site-footer__note p {
  margin-top: .82rem;
  line-height: 1.58;
}

.site-footer__note .site-footer__contact-link {
  min-height: 40px;
  margin-top: .82rem;
  padding: .58rem .92rem;
  border-color: var(--ecms-final-red);
  background: var(--ecms-final-red);
  box-shadow: 0 10px 22px rgba(227,24,37,.18);
}

.site-footer__note .site-footer__contact-link:hover,
.site-footer__note .site-footer__contact-link:focus-visible {
  border-color: #ff3944;
  background: #ff3944;
  box-shadow: 0 12px 26px rgba(227,24,37,.25);
}

.site-footer__credit a {
  position: relative;
  display: inline-block;
  color: #fff;
  text-decoration: none;
  transition: color .18s ease, transform .18s ease;
}

.site-footer__credit a::after {
  position: absolute;
  right: 0;
  bottom: -.18rem;
  left: 0;
  height: 1px;
  background: var(--ecms-final-red);
  content: "";
  transform: scaleX(.68);
  transform-origin: center;
  transition: transform .18s ease, opacity .18s ease;
}

.site-footer__credit a:hover,
.site-footer__credit a:focus-visible {
  color: #fff;
  transform: translateY(-1px);
}

.site-footer__credit a:hover::after,
.site-footer__credit a:focus-visible::after {
  transform: scaleX(1);
}

/* ================================================================
   Footer notice alignment and border refinement — v0.9.10
   ================================================================ */
.site-footer__note-column {
  min-width: 0;
}

.site-footer__column-title {
  margin: 0 0 .85rem;
  color: #fff;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.site-footer__note {
  border: 1px solid rgba(227, 24, 37, .22);
  box-shadow: 0 12px 30px rgba(0,0,0,.16);
}

.site-footer__note-heading {
  align-items: center;
}

.site-footer__note-kicker {
  margin: 0;
}

/* ================================================================
   Footer notice title placement — v0.9.11
   ================================================================ */
.site-footer__note-kicker {
  color: #fff;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .14em;
  line-height: 1.2;
}

.site-footer__note-heading {
  align-items: flex-start;
}

@media (min-width: 1181px) {
  .site-footer__note-column {
    margin-top: -1.4rem;
  }

  .site-footer__note {
    padding-top: 1.4rem;
  }
}


/* ================================================================
   Footer notice icon alignment — v0.9.12
   ================================================================ */
.site-footer__note-heading {
  align-items: center;
}

.site-footer__note-icon {
  margin-top: -1px;
}

@media (min-width: 1181px) {
  .site-footer__note-column {
    margin-top: -1.55rem;
  }

  .site-footer__note {
    padding-top: 1.55rem;
  }
}


/* ================================================================
   Footer notice vertical alignment — v0.9.13
   ================================================================ */
@media (min-width: 1181px) {
  .site-footer__note-column {
    margin-top: -2.35rem;
  }

  .site-footer__note {
    padding-top: 2.1rem;
  }
}


/* ================================================================
   Footer notice title alignment — v0.9.14
   ================================================================ */
@media (min-width: 1181px) {
  .site-footer__note-column {
    margin-top: -3.1rem;
  }

  .site-footer__note {
    padding-top: 2.05rem;
  }
}


/* ================================================================
   Footer notice fine alignment — v0.9.15
   ================================================================ */
@media (min-width: 1181px) {
  .site-footer__note-column {
    margin-top: -2.72rem;
  }

  .site-footer__note {
    padding-top: 2.05rem;
  }
}


/* ================================================================
   Footer payment methods — v0.9.16
   Integrated payment marks under the brand / social area.
   ================================================================ */
.site-footer__payments {
  margin-top: 1.35rem;
}

.site-footer__payments-label {
  display: block;
  margin-bottom: .78rem;
  color: rgba(255, 255, 255, .52);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.site-footer__payments-list {
  display: flex;
  flex-wrap: wrap;
  gap: .62rem;
  align-items: center;
}

.site-footer__payment-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: .56rem .72rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.site-footer__payment-chip img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.site-footer__payment-chip--paypal-button {
  padding: 0;
  overflow: hidden;
  border-color: rgba(0, 112, 224, .26);
  background: rgba(0, 112, 224, .06);
}

.site-footer__payment-chip--paypal-button img {
  width: 164px;
}

.site-footer__payment-chip--paypal img {
  width: 116px;
}

.site-footer__payment-chip--athmovil img {
  width: 134px;
}

@media (max-width: 720px) {
  .site-footer__payments {
    margin-top: 1.15rem;
  }

  .site-footer__payments-list {
    gap: .55rem;
  }

  .site-footer__payment-chip {
    min-height: 42px;
  }

  .site-footer__payment-chip--paypal-button img {
    width: 150px;
  }
}


/* ================================================================
   Footer payment rail — v0.9.17
   Discreet centered payment marks above the copyright line.
   ================================================================ */
.site-footer__payment-rail-wrap {
  width: max-content;
  max-width: calc(100% - 2.5rem);
  margin-top: -1.05rem;
  margin-right: auto;
  margin-bottom: .22rem;
  margin-left: auto;
}

.site-footer__payment-rail {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: .3rem 0 .22rem;
}

.site-footer__payment-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: .88;
  filter: saturate(.98);
  transition: opacity .18s ease, transform .18s ease;
}

.site-footer__payment-logo:hover,
.site-footer__payment-logo:focus-within {
  opacity: 1;
  transform: translateY(-1px);
}

.site-footer__payment-logo img {
  display: block;
  width: auto;
  height: 28px;
  max-width: 100%;
}

@media (max-width: 1180px) {
  .site-footer__payment-rail-wrap {
    width: max-content;
    max-width: calc(100% - 2rem);
    margin-top: .25rem;
  }
}

@media (max-width: 720px) {
  .site-footer__payment-rail-wrap {
    width: 100%;
    max-width: calc(100% - 1.5rem);
    margin-top: .55rem;
    margin-bottom: .35rem;
  }

  .site-footer__payment-rail {
    gap: .72rem .85rem;
    padding-bottom: .15rem;
  }

  .site-footer__payment-logo img {
    height: 22px;
    width: auto;
  }
}

/* ================================================================
   Mobile alignment pass — v0.9.26
   Center the complete mobile presentation from header through footer.
   Desktop and tablet layouts remain unchanged.
   ================================================================ */
@media (max-width: 720px) {
  /* Header: preserve a truly centered logo with controls at each side. */
  .site-header__inner,
  .site-header.is-scrolled .site-header__inner {
    position: relative;
    display: flex;
    min-height: 92px;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding-block: 10px;
  }

  .site-branding,
  .site-branding__logo {
    justify-content: center;
    margin-inline: auto;
  }

  .site-branding__logo img,
  .custom-logo,
  .site-header.is-scrolled .site-branding__logo img,
  .site-header.is-scrolled .custom-logo {
    max-width: 150px;
    max-height: 72px;
    margin-inline: auto;
  }

  .menu-toggle {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 2;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: .55rem;
    transform: translateY(-50%);
  }

  .menu-toggle__label {
    display: none;
  }

  .site-header__actions {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 2;
    justify-content: center;
    transform: translateY(-50%);
  }

  .header-cart {
    min-width: 44px;
    min-height: 44px;
    padding: .45rem .55rem;
  }

  .primary-navigation {
    text-align: center;
  }

  .primary-navigation ul {
    align-items: center;
  }

  .primary-navigation li,
  .primary-navigation a {
    width: 100%;
    text-align: center;
  }

  .primary-navigation a {
    justify-content: center;
  }

  .primary-navigation .current-menu-item::after,
  .primary-navigation .current_page_item::after {
    right: auto;
    left: 50%;
    width: 28px;
    transform: translateX(-50%);
  }

  /* Homepage and shared marketing content. */
  .hero__content,
  .hero h1,
  .hero__lead,
  .section-heading h2,
  .section-heading__copy,
  .final-cta h2,
  .final-cta p:not(.eyebrow) {
    margin-right: auto;
    margin-left: auto;
  }

  .hero__content,
  .section-heading,
  .home-section-heading,
  .caliber-card__body,
  .style-card,
  .final-cta__inner,
  .empty-state {
    text-align: center;
  }

  .hero__actions,
  .final-cta__actions {
    justify-content: center;
  }

  .section-heading--split {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .section-heading--split > div,
  .section-heading--split .text-link,
  .section-heading__copy {
    margin-right: auto;
    margin-left: auto;
  }

  .text-link,
  .caliber-card__link {
    justify-content: center;
  }

  .caliber-card__body {
    align-items: center;
  }

  .caliber-card__body p,
  .style-card p {
    max-width: 34rem;
    margin-right: auto;
    margin-left: auto;
  }

  .ecms-product-card__content,
  .ecms-product-card__title,
  .ecms-product-card__meta,
  .ecms-product-card__price,
  .ecms-product-card__details {
    text-align: center;
  }

  .ecms-product-card__chips,
  .ecms-product-card__actions {
    justify-content: center;
  }

  .ecms-product-card__actions {
    grid-template-columns: 1fr;
  }

  .ecms-product-card__details,
  .ecms-product-card__actions .button,
  .ecms-product-card__actions .added_to_cart {
    width: 100% !important;
    justify-content: center;
  }

  .style-card {
    align-items: center;
  }

  .style-card h3 {
    margin-right: auto;
    margin-left: auto;
  }

  .style-card__link {
    justify-content: center;
  }

  .final-cta__inner {
    justify-items: center;
  }

  /* Generic page and WooCommerce headings. */
  .page-header,
  .entry-header,
  .archive-header,
  .woocommerce-products-header,
  .woocommerce-notices-wrapper,
  .woocommerce .woocommerce-breadcrumb {
    text-align: center;
  }

  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering {
    float: none;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }

  .woocommerce .woocommerce-ordering select {
    margin-inline: auto;
  }

  body.single-product div.product .product_title,
  body.single-product div.product .price,
  body.single-product div.product .woocommerce-product-details__short-description,
  body.single-product div.product .product_meta,
  body.single-product div.product .stock {
    text-align: center;
  }

  body.single-product div.product form.cart {
    justify-content: center;
  }

  /* Footer: center every column, notice, payments, and legal row. */
  .site-footer__grid--final {
    justify-items: center;
    text-align: center;
  }

  .site-footer__identity,
  .site-footer__links,
  .site-footer__note-column {
    width: 100%;
    max-width: 620px;
    text-align: center;
  }

  .site-footer__logo {
    justify-content: center;
  }

  .site-footer__logo img {
    margin-inline: auto;
  }

  .site-footer__identity > p,
  .site-footer__note p {
    margin-right: auto;
    margin-left: auto;
  }

  .site-footer .social-links {
    justify-content: center;
  }

  .site-footer__links ul {
    text-align: center;
  }

  .site-footer__note {
    margin-inline: auto;
    text-align: center;
  }

  .site-footer__note-heading,
  .site-footer__contact-link {
    justify-content: center;
  }

  .site-footer__payment-rail-wrap,
  .site-footer__payment-rail {
    justify-content: center;
  }

  .site-footer__bottom {
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .site-footer__bottom > span,
  .site-footer__credit {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 430px) {
  .site-header__inner,
  .site-header.is-scrolled .site-header__inner {
    min-height: 86px;
    padding-block: 8px;
  }

  .site-branding__logo img,
  .custom-logo,
  .site-header.is-scrolled .site-branding__logo img,
  .site-header.is-scrolled .custom-logo {
    max-width: 128px;
    max-height: 62px;
  }

  .hero__actions,
  .final-cta__actions {
    width: 100%;
  }

  .hero__actions .button,
  .final-cta__actions .button {
    max-width: 330px;
    margin-inline: auto;
  }
}


/* Payment logos normalized raster assets — v0.9.30 */
.site-footer__payment-logo {
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.site-footer__payment-logo img {
  display: block;
  width: auto !important;
  height: 32px !important;
  max-height: 32px !important;
  object-fit: contain;
}
@media (max-width: 720px) {
  .site-footer__payment-logo { height: 27px; }
  .site-footer__payment-logo img { height: 27px !important; max-height: 27px !important; }
}


/* ================================================================
   Unified payment strip — v0.9.31
   One normalized image guarantees identical top/bottom alignment.
   ================================================================ */
.site-footer__payment-rail-wrap {
  width: 100%;
  max-width: var(--ecms-container, 1320px);
  display: flex;
  justify-content: center;
}

.site-footer__payment-rail {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.site-footer__payment-strip {
  display: block;
  width: min(100%, 760px);
  height: auto;
  margin: 0 auto;
}

@media (max-width: 720px) {
  .site-footer__payment-strip {
    width: min(100%, 620px);
  }
}


/* ================================================================
   Product photography full-bleed correction — v0.9.32
   Force WooCommerce thumbnails to occupy the complete media panel.
   ================================================================ */
.ecms-product-card__image-link {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 3 / 2 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
  background: #fff !important;
}

.ecms-product-card__image-link > img,
.woocommerce ul.products li.product .ecms-product-card__image-link > img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: #fff !important;
  transform: scale(1.018);
  transform-origin: center center;
}

.ecms-product-card:hover .ecms-product-card__image-link > img,
.woocommerce ul.products li.product:hover .ecms-product-card__image-link > img {
  transform: scale(1.035);
}

@media (max-width: 720px) {
  .ecms-product-card__image-link {
    aspect-ratio: 3 / 2 !important;
  }
}


/* ================================================================
   Product label image integrity — v0.9.33
   Match each media panel to the original image ratio and show the
   uncropped source edge-to-edge, without zooming or clipping.
   ================================================================ */
.ecms-product-card__image-link,
.woocommerce ul.products li.product .ecms-product-card__image-link {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: var(--ecms-product-image-ratio, 3 / 2) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
  background: #fff !important;
}

.ecms-product-card__image-link > img,
.woocommerce ul.products li.product .ecms-product-card__image-link > img,
.ecms-product-card__image-link > .ecms-product-card__image {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #fff !important;
  transform: none !important;
}

.ecms-product-card:hover .ecms-product-card__image-link > img,
.woocommerce ul.products li.product:hover .ecms-product-card__image-link > img {
  transform: none !important;
}

@media (max-width: 720px) {
  .ecms-product-card__image-link,
  .woocommerce ul.products li.product .ecms-product-card__image-link {
    aspect-ratio: var(--ecms-product-image-ratio, 3 / 2) !important;
  }
}


/* ================================================================
   Product card final polish — v0.9.34
   Normalized square media, tighter hierarchy and balanced controls.
   ================================================================ */
.ecms-product-card__image-link,
.woocommerce ul.products li.product .ecms-product-card__image-link {
  aspect-ratio: 1 / 1 !important;
  border-bottom: 1px solid var(--ecms-final-line) !important;
}

.ecms-product-card__image-link > img,
.woocommerce ul.products li.product .ecms-product-card__image-link > img,
.ecms-product-card__image-link > .ecms-product-card__image {
  object-fit: fill !important;
  width: 100% !important;
  height: 100% !important;
}

.ecms-product-card__content {
  flex: 0 0 auto !important;
  display: grid !important;
  align-content: start !important;
  gap: .42rem !important;
  padding: 1rem 1.08rem 1.08rem !important;
}

.ecms-product-card__brand,
.ecms-product-card__title,
.ecms-product-card__meta,
.ecms-product-card__price,
.ecms-product-card__actions {
  min-height: 0 !important;
  margin: 0 !important;
}

.ecms-product-card__brand {
  margin-bottom: .04rem !important;
  font-size: .66rem !important;
  line-height: 1.2 !important;
}

.ecms-product-card__title {
  font-size: 1.28rem !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
}

.ecms-product-card__meta {
  margin-top: .16rem !important;
  font-size: .78rem !important;
  line-height: 1.38 !important;
}

.ecms-product-card__price {
  margin-top: .28rem !important;
  padding-top: 0 !important;
  font-size: 1.18rem !important;
  line-height: 1.1 !important;
}

.ecms-product-card__actions {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: .7rem !important;
  align-items: center !important;
  margin-top: .58rem !important;
  padding-top: .12rem !important;
}

.ecms-product-card__details {
  min-height: 40px !important;
  padding: 0 !important;
  font-size: .8rem !important;
}

.ecms-product-card__actions .button,
.ecms-product-card__actions .added_to_cart {
  width: auto !important;
  min-width: 112px !important;
  min-height: 40px !important;
  padding: .55rem .88rem !important;
  font-size: .76rem !important;
  line-height: 1.1 !important;
  white-space: nowrap;
}

@media (max-width: 720px) {
  .ecms-product-card__content {
    gap: .4rem !important;
    padding: .95rem !important;
  }

  .ecms-product-card__actions {
    grid-template-columns: 1fr !important;
    margin-top: .5rem !important;
  }

  .ecms-product-card__details,
  .ecms-product-card__actions .button,
  .ecms-product-card__actions .added_to_cart {
    width: 100% !important;
    justify-content: center !important;
  }
}


/* ================================================================
   Product card content separation — v0.9.36
   A cooler neutral panel now contrasts with both the white image and
   the warmer page background, while remaining understated.
   ================================================================ */
.ecms-product-card__content,
.woocommerce ul.products li.product .ecms-product-card__content {
  background: linear-gradient(180deg, #f1f2f4 0%, #e9ebee 100%) !important;
  border-top: 1px solid rgba(17, 20, 24, .10) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .72),
    inset 0 2px 0 rgba(227, 24, 37, .045) !important;
}


/* ================================================================
   Product card unified white treatment — v0.9.39
   Keep image and information on one clean white surface, separated by
   structure rather than a competing panel color.
   ================================================================ */
.ecms-product-card__content,
.woocommerce ul.products li.product .ecms-product-card__content {
  background: #ffffff !important;
  border-top: 1px solid rgba(17, 20, 24, .12) !important;
  box-shadow:
    inset 0 8px 12px -14px rgba(17, 20, 24, .42),
    inset 0 1px 0 rgba(255, 255, 255, .96) !important;
  padding-top: 1.12rem !important;
}

.ecms-product-card__brand {
  display: flex !important;
  align-items: center !important;
  gap: .46rem !important;
}

.ecms-product-card__brand::before {
  content: "";
  display: inline-block;
  flex: 0 0 18px;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: var(--ecms-red, #e31825);
}

@media (max-width: 720px) {
  .ecms-product-card__content,
  .woocommerce ul.products li.product .ecms-product-card__content {
    padding-top: 1rem !important;
  }

  .ecms-product-card__brand {
    width: fit-content;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}


/* Calibre title emphasis — v0.9.39 */
@media (max-width: 767px) {
  .ecms-product-card__title {
    font-size: 1.30rem !important;
    line-height: 1.16 !important;
    font-weight: 800 !important;
  }
}


/* Homepage style-lines section moved under hero and redesigned light — v0.9.40 */
.home-styles--light {
  padding-block: clamp(4.1rem, 6vw, 5.6rem);
  background: #fff;
}

.home-styles--light .home-section-heading {
  max-width: none;
}

.style-grid--light {
  gap: 1rem;
}

.style-card--light {
  min-height: 170px;
  justify-content: flex-start;
  padding: 1.3rem;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 20px;
  background:
    radial-gradient(circle at 92% 10%, rgba(227, 24, 37, .08), transparent 26%),
    linear-gradient(180deg, #ffffff 0%, #fbfbfc 100%);
  color: #111827;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .05);
}

.style-card--light:hover {
  color: #111827;
  border-color: rgba(227, 24, 37, .25);
  background:
    radial-gradient(circle at 92% 10%, rgba(227, 24, 37, .10), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f8f8fa 100%);
  box-shadow: 0 18px 40px rgba(15, 23, 42, .08);
}

.style-card--light::after {
  border-color: rgba(15, 23, 42, .06);
}

.style-card--light .style-card__index {
  color: var(--ecms-final-red-dark);
}

.style-card--light h3 {
  color: #111827;
  margin: 0 0 .6rem;
}

.style-card--light p {
  max-width: 19rem;
  color: #5b6472;
  font-size: .84rem;
  line-height: 1.5;
}

.style-card--light .style-card__link {
  margin-top: auto;
  padding-top: .95rem;
  color: var(--ecms-final-red-dark);
}

@media (max-width: 767px) {
  .home-styles--light {
    padding-block: 3.5rem;
  }

  .style-card--light {
    min-height: 154px;
  }
}


/* Homepage catalog-line refinement — v0.9.42
   Tighter heading, clearer hierarchy, lighter navigation cards and
   responsive grouping without the previous oversized empty space. */
.home-styles--light {
  padding-block: clamp(3.8rem, 5.2vw, 5rem) !important;
  background: #f6f6f4 !important;
}

.home-styles--light .container {
  width: min(100% - 2rem, 1440px);
}

.home-styles__heading {
  max-width: 1040px !important;
  margin-bottom: clamp(2rem, 3vw, 2.7rem) !important;
}

.home-styles__heading h2 {
  max-width: 1040px;
  margin-top: .7rem;
  font-size: clamp(3rem, 4.2vw, 4.25rem) !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
  text-wrap: balance;
}

.home-styles__intro {
  max-width: 720px;
  margin: 1.15rem 0 0;
  color: #5f6671;
  font-size: 1rem;
  line-height: 1.6;
}

.home-styles__catalog-link {
  margin-top: 1rem;
  width: fit-content;
}

.style-grid--light {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}

.style-card--light {
  position: relative;
  min-height: 194px !important;
  justify-content: flex-start;
  padding: 1.4rem 1.45rem 1.3rem !important;
  overflow: hidden;
  border: 1px solid #dfe2e6 !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: #111827 !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .055) !important;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}

.style-card--light::before {
  position: absolute;
  top: 0;
  left: 1.45rem;
  width: 40px;
  height: 3px;
  border-radius: 0 0 999px 999px;
  background: var(--ecms-final-red);
  content: "";
  transition: width .2s ease;
}

.style-card--light::after {
  display: none !important;
}

.style-card--light:hover {
  border-color: rgba(227, 24, 37, .32) !important;
  background: #fff !important;
  color: #111827 !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .09) !important;
  transform: translateY(-4px);
}

.style-card--light:hover::before {
  width: 64px;
}

.style-card--light .style-card__index {
  width: 36px;
  height: 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: .2rem 0 1.15rem;
  border-radius: 999px;
  background: rgba(227, 24, 37, .08);
  color: var(--ecms-final-red-dark) !important;
  font-size: .72rem;
  line-height: 1;
  letter-spacing: .11em;
}

.style-card--light h3 {
  margin: 0 0 .55rem !important;
  color: #111827 !important;
  font-size: clamp(1.2rem, 1.45vw, 1.48rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em;
}

.style-card--light p {
  max-width: none !important;
  margin: 0 !important;
  color: #626b78 !important;
  font-size: .82rem !important;
  line-height: 1.48 !important;
}

.style-card--light .style-card__link {
  margin-top: auto !important;
  padding-top: 1rem !important;
  color: var(--ecms-final-red-dark) !important;
  font-size: .72rem;
}

@media (max-width: 1180px) {
  .style-grid--light {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }

  .style-card--light {
    grid-column: span 2;
  }

  .style-card--light:nth-child(4) {
    grid-column: 2 / span 2;
  }

  .style-card--light:nth-child(5) {
    grid-column: 4 / span 2;
  }
}

@media (max-width: 760px) {
  .home-styles--light {
    padding-block: 3.1rem !important;
  }

  .home-styles__heading h2 {
    font-size: clamp(2.45rem, 12vw, 3.35rem) !important;
    line-height: 1 !important;
  }

  .home-styles__intro {
    font-size: .95rem;
  }

  .style-grid--light {
    grid-template-columns: 1fr !important;
  }

  .style-card--light,
  .style-card--light:nth-child(4),
  .style-card--light:nth-child(5) {
    grid-column: auto;
    min-height: 178px !important;
  }
}


/* Homepage style-lines refresh — v0.9.43
   Restores the cleaner white layout, removes the numeric chips,
   adds a real catalog button and makes hover states more premium. */
.home-styles--light {
  background: #f6f6f4 !important;
}

.home-styles__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 1rem 2rem;
  max-width: none !important;
}

.home-styles__heading .eyebrow,
.home-styles__heading h2 {
  grid-column: 1;
}

.home-styles__heading h2 {
  max-width: 760px;
  margin-bottom: 0 !important;
  font-size: clamp(2.85rem, 4vw, 4.35rem) !important;
}

.home-styles__intro {
  display: none !important;
}

.home-styles__catalog-link {
  display: none !important;
}

.home-styles__catalog-button {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  justify-self: end;
  margin-top: 0;
  white-space: nowrap;
  text-decoration: none;
}

.style-grid--light {
  margin-top: .4rem;
}

.style-card--light {
  min-height: 188px !important;
  padding: 1.5rem 1.5rem 1.35rem !important;
  border: 1px solid #e2e4e8 !important;
  background: #ffffff !important;
  color: #111827 !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .05) !important;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease !important;
}

.style-card--light::before {
  left: 1.5rem;
  width: 36px;
  background: var(--ecms-final-red);
  transition: width .22s ease, background-color .22s ease;
}

.style-card--light h3 {
  margin-top: .1rem !important;
}

.style-card--light p {
  color: #616a77 !important;
}

.style-card--light .style-card__link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: var(--ecms-final-red-dark) !important;
}

.style-card--light .style-card__link::after {
  content: '→';
  font-size: .95em;
}

.style-card--light:hover,
.style-card--light:focus-visible {
  border-color: var(--ecms-final-red) !important;
  background: linear-gradient(135deg, #ef2331 0%, #c8101e 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 38px rgba(227, 24, 37, .24) !important;
  transform: translateY(-4px);
  outline: none;
}

.style-card--light:hover::before,
.style-card--light:focus-visible::before {
  width: 60px;
  background: rgba(255, 255, 255, .96);
}

.style-card--light:hover h3,
.style-card--light:hover p,
.style-card--light:hover .style-card__link,
.style-card--light:focus-visible h3,
.style-card--light:focus-visible p,
.style-card--light:focus-visible .style-card__link {
  color: #ffffff !important;
}

.style-card--light:hover p,
.style-card--light:focus-visible p {
  color: rgba(255, 255, 255, .88) !important;
}

@media (max-width: 980px) {
  .home-styles__heading {
    grid-template-columns: 1fr;
  }

  .home-styles__catalog-button {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
    align-self: start;
    margin-top: .5rem;
  }
}

@media (max-width: 760px) {
  .home-styles__heading h2 {
    max-width: 100%;
    font-size: clamp(2.35rem, 11vw, 3.2rem) !important;
  }

  .home-styles__catalog-button {
    width: 100%;
  }

  .style-card--light {
    min-height: 168px !important;
  }
}


/* Homepage style-line refinements — v0.9.43 */
.home-styles--light .container {
  width: min(calc(100% - 2rem), var(--ecms-container)) !important;
}

.home-styles__heading {
  display: block !important;
  max-width: 860px !important;
}

.home-styles__heading .eyebrow,
.home-styles__heading h2 {
  grid-column: auto !important;
}

.home-styles__heading h2 {
  max-width: 820px;
}

.home-styles__catalog-button {
  display: none !important;
}

.style-card--light::before {
  top: .9rem !important;
  left: 1.5rem !important;
  width: 40px !important;
  height: 3px !important;
  border-radius: 999px !important;
}

.style-card--light h3 {
  margin-top: 1.15rem !important;
}

.style-card--light:hover,
.style-card--light:focus-visible {
  border-color: #c8101e !important;
  background: linear-gradient(135deg, #e91f2b 0%, #bd0e1a 100%) !important;
  color: #fff !important;
  box-shadow: 0 16px 34px rgba(200, 16, 30, .22) !important;
  transform: translateY(-3px);
}

.style-card--light:hover::before,
.style-card--light:focus-visible::before {
  width: 52px !important;
  background: #fff !important;
}

.style-card--light:hover h3,
.style-card--light:focus-visible h3,
.style-card--light:hover .style-card__link,
.style-card--light:focus-visible .style-card__link {
  color: #fff !important;
}

.style-card--light:hover p,
.style-card--light:focus-visible p {
  color: rgba(255, 255, 255, .88) !important;
}

.style-card--light:focus-visible {
  outline: 3px solid rgba(227, 24, 37, .28);
  outline-offset: 4px;
}


/* Section background separation — v0.9.53 */
.home-styles--light {
  background: #ffffff !important;
  border-bottom: 1px solid #e3e6e9;
  box-shadow: none !important;
}

.home-calibers.section--muted {
  background: #eef1f3 !important;
  box-shadow: inset 0 1px 0 rgba(17, 19, 23, .035);
}


/* Refined line-card states — v0.9.51
   Default cards are clean and light with a subtle red border.
   Hover and keyboard focus activate the stronger brand-red treatment. */
.style-card--light {
  border: 1px solid rgba(227, 24, 37, .20) !important;
  background: #ffffff !important;
  color: #111827 !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .06) !important;
}

.style-card--light::before {
  width: 46px !important;
  background: var(--ecms-final-red) !important;
}

.style-card--light h3 {
  color: #111827 !important;
}

.style-card--light p {
  color: #616a77 !important;
}

.style-card--light .style-card__link {
  color: var(--ecms-final-red-dark) !important;
}

.style-card--light:hover,
.style-card--light:focus-visible {
  border-color: #c8101e !important;
  background: linear-gradient(135deg, #e91f2b 0%, #bd0e1a 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 36px rgba(200, 16, 30, .22) !important;
  transform: translateY(-3px);
}

.style-card--light:hover::before,
.style-card--light:focus-visible::before {
  width: 46px !important;
  background: rgba(255, 255, 255, .96) !important;
}

.style-card--light:hover h3,
.style-card--light:focus-visible h3,
.style-card--light:hover .style-card__link,
.style-card--light:focus-visible .style-card__link {
  color: #ffffff !important;
}

.style-card--light:hover p,
.style-card--light:focus-visible p {
  color: rgba(255, 255, 255, .88) !important;
}

.style-card--light:focus-visible {
  outline: 3px solid rgba(227, 24, 37, .28);
  outline-offset: 4px;
}


/* Featured-products catalog button — v0.9.48 */
.home-featured-products__catalog-button {
  flex: 0 0 auto;
  min-height: 48px;
  padding: .72rem 1.35rem;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .home-featured-products__catalog-button {
    width: 100%;
  }
}


/* Exact homepage section-background correction — v0.9.54
   The slug-lines section now matches the warm-white background inherited by
   Products Recommended, while the caliber section remains light gray. */
body.home .home-styles.home-styles--light,
body.home .home-featured-products {
  background-color: var(--ecms-warm-white, #fbfaf8) !important;
  background-image: none !important;
}

body.home .home-styles.home-styles--light {
  border-bottom: 1px solid #e3e6e9 !important;
  box-shadow: none !important;
}

body.home .home-calibers.section--muted {
  background-color: #eef1f3 !important;
  background-image: none !important;
}


/* Mobile homepage compact cards and two-column products — v0.9.55 */
@media (max-width: 720px) {
  /* Slug-line cards: preserve desktop styling while removing excess mobile height. */
  body.home .home-styles .style-grid--light {
    grid-template-columns: 1fr !important;
    gap: .65rem !important;
  }

  body.home .home-styles .style-card--light,
  body.home .home-styles .style-card--light:nth-child(4),
  body.home .home-styles .style-card--light:nth-child(5) {
    grid-column: auto !important;
    min-height: 0 !important;
    padding: 1rem 1rem .9rem !important;
    border-radius: 14px !important;
  }

  body.home .home-styles .style-card--light::before {
    left: 1rem !important;
    width: 34px !important;
  }

  body.home .home-styles .style-card--light h3 {
    margin: .28rem 0 .28rem !important;
    font-size: 1.08rem !important;
    line-height: 1.15 !important;
  }

  body.home .home-styles .style-card--light p {
    margin: 0 !important;
    font-size: .78rem !important;
    line-height: 1.38 !important;
  }

  body.home .home-styles .style-card--light .style-card__link {
    margin-top: .65rem !important;
    padding-top: 0 !important;
    font-size: .68rem !important;
  }

  /* Recommended products: two cards per row only on the homepage mobile view. */
  body.home .home-featured-products .ecms-home-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .75rem !important;
  }

  body.home .home-featured-products .ecms-product-card__inner {
    border-radius: 14px !important;
  }

  body.home .home-featured-products .ecms-product-card__image-link {
    padding: .3rem !important;
  }

  body.home .home-featured-products .ecms-product-card__image-link img {
    border-radius: 10px !important;
  }

  body.home .home-featured-products .ecms-product-card__content,
  body.home .home-featured-products .woocommerce ul.products li.product .ecms-product-card__content {
    gap: .28rem !important;
    padding: .68rem .62rem .72rem !important;
  }

  body.home .home-featured-products .ecms-product-card__brand {
    gap: .25rem !important;
    font-size: .48rem !important;
    line-height: 1.15 !important;
    letter-spacing: .08em !important;
  }

  body.home .home-featured-products .ecms-product-card__brand::before {
    flex-basis: 10px !important;
    width: 10px !important;
  }

  body.home .home-featured-products .ecms-product-card__title {
    font-size: .84rem !important;
    line-height: 1.2 !important;
  }

  body.home .home-featured-products .ecms-product-card__meta {
    margin-top: .08rem !important;
    font-size: .58rem !important;
    line-height: 1.35 !important;
  }

  body.home .home-featured-products .ecms-product-card__price {
    margin-top: .16rem !important;
    font-size: .95rem !important;
  }

  body.home .home-featured-products .ecms-product-card__actions {
    grid-template-columns: 1fr !important;
    gap: .32rem !important;
    margin-top: .35rem !important;
    padding-top: 0 !important;
  }

  body.home .home-featured-products .ecms-product-card__details {
    min-height: 28px !important;
    font-size: .62rem !important;
  }

  body.home .home-featured-products .ecms-product-card__actions .button,
  body.home .home-featured-products .ecms-product-card__actions .added_to_cart {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 34px !important;
    padding: .43rem .3rem !important;
    font-size: .62rem !important;
    white-space: normal !important;
  }
}


/* Mobile slug-line typography emphasis — v0.9.57 */
@media (max-width: 720px) {
  body.home .home-styles .style-grid--light {
    grid-template-columns: 1fr !important;
  }

  body.home .home-styles .style-card--light,
  body.home .home-styles .style-card--light:nth-child(4),
  body.home .home-styles .style-card--light:nth-child(5) {
    min-height: 148px !important;
    padding: 1.15rem 1.15rem 1.05rem !important;
  }

  body.home .home-styles .style-card--light h3 {
    margin: .28rem 0 .42rem !important;
    font-size: 1.72rem !important;
    line-height: 1.1 !important;
    letter-spacing: -.035em !important;
  }

  body.home .home-styles .style-card--light p {
    font-size: 1.08rem !important;
    line-height: 1.42 !important;
  }

  body.home .home-styles .style-card--light .style-card__link {
    margin-top: .82rem !important;
    font-size: .9rem !important;
    line-height: 1.2 !important;
    letter-spacing: .11em !important;
  }
}


/* Mobile caliber heading parity — v0.9.58 */
@media (max-width: 720px) {
  body.home .home-calibers .home-section-heading h2 {
    max-width: 100% !important;
    font-size: clamp(2.35rem, 11vw, 3.2rem) !important;
    line-height: 1 !important;
    letter-spacing: -.055em !important;
  }
}


/* Mobile section-title parity test — v0.9.59 */
@media (max-width: 720px) {
  body.home .home-featured-products .home-section-heading h2,
  body.home .final-cta h2 {
    max-width: 100% !important;
    font-size: clamp(2.35rem, 11vw, 3.2rem) !important;
    line-height: 1 !important;
    letter-spacing: -.055em !important;
  }
}


/* Mobile footer notice and payment layout — v0.9.61 */
.site-footer__payment-mobile {
  display: none;
}

@media (max-width: 720px) {
  /* Restore the compact notice title, with a modest readability increase. */
  .site-footer__note-heading {
    align-items: center;
    justify-content: center;
    gap: .82rem;
  }

  .site-footer__note-kicker {
    max-width: calc(100% - 58px);
    margin: 0 !important;
    color: #ff4651;
    font-size: clamp(1.05rem, 4.6vw, 1.28rem) !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
    line-height: 1.12 !important;
    text-align: left;
    text-transform: uppercase;
  }

  /* Add breathing room between the notice copy and its action. */
  .site-footer__note .site-footer__contact-link {
    margin-top: 1.45rem !important;
  }

  /* Desktop payment artwork, split into two centered mobile rows. */
  .site-footer__payment-strip {
    display: none !important;
  }

  .site-footer__payment-mobile {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: .35rem .75rem .25rem;
  }

  .site-footer__payment-mobile-strip {
    display: block;
    width: auto;
    height: auto;
    object-fit: contain;
  }

  .site-footer__payment-mobile-strip--primary {
    width: min(100%, 510px);
  }

  .site-footer__payment-mobile-strip--secondary {
    width: min(73%, 365px);
  }
}


/* Footer back-to-top control — v0.9.63 */
.site-footer__back-to-top-wrap {
  display: flex;
  justify-content: flex-end;
  padding-top: clamp(1rem, 2vw, 1.5rem);
  padding-bottom: .2rem;
}

.site-footer__back-to-top {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  padding: .52rem .82rem;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  background: rgba(255, 255, 255, .035);
  color: #fff;
  font: inherit;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
  transition: transform .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.site-footer__back-to-top svg {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  transition: transform .18s ease;
}

.site-footer__back-to-top:hover,
.site-footer__back-to-top:focus-visible {
  border-color: var(--ecms-final-red);
  background: var(--ecms-final-red);
  color: #fff;
  box-shadow: 0 12px 26px rgba(227, 24, 37, .22);
  transform: translateY(-2px);
}

.site-footer__back-to-top:hover svg,
.site-footer__back-to-top:focus-visible svg {
  transform: translateY(-2px);
}

.site-footer__back-to-top:focus-visible {
  outline: 3px solid rgba(227, 24, 37, .28);
  outline-offset: 3px;
}

.site-footer__back-to-top:active {
  transform: translateY(0);
}

@media (max-width: 760px) {
  .site-footer__back-to-top-wrap {
    justify-content: center;
    padding-top: 1rem;
    padding-bottom: .1rem;
  }

  .site-footer__back-to-top {
    width: auto;
    min-height: 40px;
    padding: .6rem .95rem;
    font-size: .78rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-footer__back-to-top,
  .site-footer__back-to-top svg {
    transition: none;
  }
}

/* Compatibility prompts on product and cart — v0.9.65 */
.ecms-product-compatibility-prompt {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .85rem 1rem;
  align-items: center;
  margin: 1.15rem 0 0;
  padding: 1rem;
  border: 1px solid rgba(227, 24, 37, .16);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0%, rgba(227, 24, 37, .08), transparent 34%),
    #fafafa;
}

.ecms-product-compatibility-prompt__icon,
.ecms-cart-compatibility-prompt__icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(227, 24, 37, .2);
  border-radius: 13px;
  background: rgba(227, 24, 37, .06);
  color: var(--ecms-final-red);
}

.ecms-product-compatibility-prompt__content {
  min-width: 0;
}

.ecms-product-compatibility-prompt__kicker,
.ecms-cart-compatibility-prompt__content > span {
  display: block;
  margin-bottom: .2rem;
  color: var(--ecms-final-red-dark);
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.ecms-product-compatibility-prompt h2,
.ecms-cart-compatibility-prompt h2 {
  margin: 0;
  color: #111317;
  font-size: 1rem;
  line-height: 1.25;
  letter-spacing: -.02em;
}

.ecms-product-compatibility-prompt p,
.ecms-cart-compatibility-prompt p {
  margin: .3rem 0 0;
  color: #626a74;
  font-size: .78rem;
  line-height: 1.5;
}

.ecms-product-compatibility-prompt__link {
  grid-column: 1 / -1;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
  min-height: 42px;
  padding: .65rem .82rem;
  border-radius: 11px;
  background: #111317;
  color: #fff;
  font-size: .76rem;
  font-weight: 850;
  text-decoration: none;
  transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.ecms-product-compatibility-prompt__link:hover,
.ecms-product-compatibility-prompt__link:focus-visible {
  background: var(--ecms-final-red);
  color: #fff;
  box-shadow: 0 12px 24px rgba(227, 24, 37, .2);
  transform: translateY(-2px);
}

.ecms-cart-compatibility-prompt {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  margin: 1.25rem 0 0;
  padding: 1.2rem 1.3rem;
  border: 1px solid rgba(227, 24, 37, .16);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(227, 24, 37, .08), transparent 30%),
    #fff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .055);
}

.ecms-cart-compatibility-prompt__button {
  min-height: 46px !important;
  padding: .7rem 1.05rem !important;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .ecms-product-compatibility-prompt {
    padding: .95rem;
  }

  .ecms-product-compatibility-prompt__link {
    min-height: 44px;
  }

  .ecms-cart-compatibility-prompt {
    grid-template-columns: auto minmax(0, 1fr);
    padding: 1rem;
  }

  .ecms-cart-compatibility-prompt__button {
    grid-column: 1 / -1;
    width: 100%;
  }
}


/* WooCommerce pagination refinement — v0.9.66 */
.woocommerce nav.woocommerce-pagination,
.woocommerce-pagination {
  clear: both;
  margin: clamp(2.5rem, 4vw, 3.5rem) 0 clamp(3rem, 5vw, 4.5rem) !important;
  padding: 0;
  text-align: center;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce-pagination ul.page-numbers {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  margin: 0 !important;
  padding: .45rem !important;
  border: 1px solid rgba(17, 19, 23, .09) !important;
  border-radius: 999px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
  list-style: none;
}

.woocommerce nav.woocommerce-pagination ul li,
.woocommerce-pagination ul.page-numbers li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  margin: 0 !important;
  padding: 0 .7rem !important;
  border: 1px solid transparent !important;
  border-radius: 999px;
  background: transparent !important;
  color: #333842 !important;
  font-size: .95rem;
  font-weight: 800;
  line-height: 1 !important;
  text-decoration: none;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus-visible,
.woocommerce-pagination ul.page-numbers li a:hover,
.woocommerce-pagination ul.page-numbers li a:focus-visible {
  border-color: rgba(227, 24, 37, .16) !important;
  background: rgba(227, 24, 37, .075) !important;
  color: var(--ecms-final-red-dark) !important;
  outline: none;
  transform: translateY(-1px);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce-pagination ul.page-numbers li span.current {
  border-color: var(--ecms-final-red) !important;
  background: var(--ecms-final-red) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(227, 24, 37, .22);
}

.woocommerce nav.woocommerce-pagination ul li a.next,
.woocommerce nav.woocommerce-pagination ul li a.prev,
.woocommerce-pagination ul.page-numbers li a.next,
.woocommerce-pagination ul.page-numbers li a.prev {
  min-width: 48px;
  border-color: rgba(17, 19, 23, .10) !important;
  background: #111317 !important;
  color: #fff !important;
  font-size: 1.15rem;
}

.woocommerce nav.woocommerce-pagination ul li a.next:hover,
.woocommerce nav.woocommerce-pagination ul li a.next:focus-visible,
.woocommerce nav.woocommerce-pagination ul li a.prev:hover,
.woocommerce nav.woocommerce-pagination ul li a.prev:focus-visible,
.woocommerce-pagination ul.page-numbers li a.next:hover,
.woocommerce-pagination ul.page-numbers li a.next:focus-visible,
.woocommerce-pagination ul.page-numbers li a.prev:hover,
.woocommerce-pagination ul.page-numbers li a.prev:focus-visible {
  border-color: var(--ecms-final-red) !important;
  background: var(--ecms-final-red) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(227, 24, 37, .20);
}

@media (max-width: 760px) {
  .woocommerce nav.woocommerce-pagination,
  .woocommerce-pagination {
    margin-top: 2.1rem !important;
    margin-bottom: 3rem !important;
  }

  .woocommerce nav.woocommerce-pagination ul,
  .woocommerce-pagination ul.page-numbers {
    gap: .3rem;
    padding: .35rem !important;
  }

  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span,
  .woocommerce-pagination ul.page-numbers li a,
  .woocommerce-pagination ul.page-numbers li span {
    min-width: 40px;
    height: 40px;
    padding: 0 .55rem !important;
    font-size: .88rem;
  }

  .woocommerce nav.woocommerce-pagination ul li a.next,
  .woocommerce nav.woocommerce-pagination ul li a.prev,
  .woocommerce-pagination ul.page-numbers li a.next,
  .woocommerce-pagination ul.page-numbers li a.prev {
    min-width: 42px;
  }
}

/* Product-card image breathing room — v0.9.68
   The previous version used intrinsic auto sizing on an absolutely
   positioned image, which pushed most of the artwork outside the panel.
   This version keeps the full image centered and gives it a predictable
   white inset without cropping, stretching or changing the card height. */
.ecms-product-card__image-link,
.woocommerce ul.products li.product .ecms-product-card__image-link {
  --ecms-product-image-inset: 1.75rem;
  --ecms-product-image-reduction: 3.5rem;
  box-sizing: border-box !important;
  background: #ffffff !important;
}

.ecms-product-card__image-link > img,
.woocommerce ul.products li.product .ecms-product-card__image-link > img,
.ecms-product-card__image-link > .ecms-product-card__image {
  position: absolute !important;
  top: var(--ecms-product-image-inset) !important;
  left: var(--ecms-product-image-inset) !important;
  right: auto !important;
  bottom: auto !important;
  width: calc(100% - var(--ecms-product-image-reduction)) !important;
  max-width: calc(100% - var(--ecms-product-image-reduction)) !important;
  height: calc(100% - var(--ecms-product-image-reduction)) !important;
  max-height: calc(100% - var(--ecms-product-image-reduction)) !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #ffffff !important;
  transform: none !important;
}

.ecms-product-card:hover .ecms-product-card__image-link > img,
.woocommerce ul.products li.product:hover .ecms-product-card__image-link > img {
  transform: none !important;
}

@media (max-width: 760px) {
  .ecms-product-card__image-link,
  .woocommerce ul.products li.product .ecms-product-card__image-link {
    --ecms-product-image-inset: .8rem;
    --ecms-product-image-reduction: 1.6rem;
  }
}

/* Caliber-card visual refinement — v0.9.70
   Show the complete caliber artwork, rebalance the card proportions,
   reduce the oversized caliber value and give the action a clearer hover. */
.caliber-card--visual {
  grid-template-columns: minmax(260px, 42%) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: clamp(1.25rem, 2.4vw, 2rem) !important;
  min-height: 0 !important;
  padding: clamp(1rem, 1.6vw, 1.35rem) !important;
}

.caliber-card__media {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  min-height: 0 !important;
  aspect-ratio: 1.34 / 1 !important;
  padding: clamp(.75rem, 1.25vw, 1rem) !important;
  border-radius: 18px !important;
  background: #0d1014 !important;
}

.caliber-card__media img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

.caliber-card--visual:hover .caliber-card__media img {
  transform: translateY(-2px) !important;
}

.caliber-card__body {
  padding: clamp(.75rem, 1.6vw, 1.35rem) clamp(.8rem, 1.8vw, 1.5rem) clamp(.75rem, 1.6vw, 1.35rem) 0 !important;
}

.caliber-card__body h3 {
  font-size: clamp(2.8rem, 4vw, 4.2rem) !important;
}

.caliber-card__link {
  position: relative;
  padding-bottom: .28rem;
  background-image: linear-gradient(var(--ecms-final-red), var(--ecms-final-red));
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 2px;
  transition: color .2s ease, background-size .25s ease, transform .2s ease;
}

.caliber-card--visual:hover .caliber-card__link,
.caliber-card--visual:focus-visible .caliber-card__link {
  background-size: 100% 2px;
  transform: translateX(2px);
}

@media (max-width: 960px) {
  .caliber-card--visual {
    grid-template-columns: minmax(230px, 41%) minmax(0, 1fr) !important;
  }
}

@media (max-width: 720px) {
  .caliber-card--visual {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: .85rem !important;
  }

  .caliber-card__media {
    aspect-ratio: 1.5 / 1 !important;
    padding: .65rem !important;
  }

  .caliber-card__body {
    padding: 1.3rem .8rem 1.15rem !important;
  }

  .caliber-card__body h3 {
    font-size: clamp(3.3rem, 16vw, 4rem) !important;
  }
}

/* ================================================================
   Mobile shop density and logged-in sticky-header correction — v0.9.71
   Scope: mobile product archives only. Desktop card layout is unchanged.
   ================================================================ */

/* The visible portion of the WordPress admin bar is measured in JS.
   On mobile the admin bar scrolls away; the sticky header must reclaim
   that space instead of preserving a permanent 46px gap. */
.admin-bar .site-header {
  top: var(--ecms-admin-bar-offset, 32px) !important;
}

@media (max-width: 960px) {
  .admin-bar .site-header {
    top: var(--ecms-admin-bar-offset, 46px) !important;
  }
}

@media (max-width: 720px) {
  /* Use more of the available phone width and keep a restrained center gap. */
  body.post-type-archive-product .site-main--shop > .container,
  body.tax-product_cat .site-main--shop > .container,
  body.tax-product_tag .site-main--shop > .container,
  body.woocommerce-shop .site-main--shop > .container {
    width: calc(100% - 1rem) !important;
    max-width: none !important;
  }

  body.post-type-archive-product .site-main--shop .woocommerce ul.products,
  body.tax-product_cat .site-main--shop .woocommerce ul.products,
  body.tax-product_tag .site-main--shop .woocommerce ul.products,
  body.woocommerce-shop .site-main--shop .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: .65rem !important;
    row-gap: 1rem !important;
  }

  /* The source artwork already contains white breathing room. Keep only a
     minimal CSS inset so the label is larger without cropping or stretching. */
  body.post-type-archive-product .ecms-product-card__image-link,
  body.tax-product_cat .ecms-product-card__image-link,
  body.tax-product_tag .ecms-product-card__image-link,
  body.woocommerce-shop .ecms-product-card__image-link {
    --ecms-product-image-inset: .2rem !important;
    --ecms-product-image-reduction: .4rem !important;
  }

  /* Compact the information panel while preserving readable hierarchy. */
  body.post-type-archive-product .ecms-product-card__content,
  body.tax-product_cat .ecms-product-card__content,
  body.tax-product_tag .ecms-product-card__content,
  body.woocommerce-shop .ecms-product-card__content {
    gap: .24rem !important;
    padding: .72rem .58rem .68rem !important;
  }

  body.post-type-archive-product .ecms-product-card__brand,
  body.tax-product_cat .ecms-product-card__brand,
  body.tax-product_tag .ecms-product-card__brand,
  body.woocommerce-shop .ecms-product-card__brand {
    gap: .25rem !important;
    font-size: .54rem !important;
    line-height: 1.15 !important;
    letter-spacing: .08em !important;
  }

  body.post-type-archive-product .ecms-product-card__brand::before,
  body.tax-product_cat .ecms-product-card__brand::before,
  body.tax-product_tag .ecms-product-card__brand::before,
  body.woocommerce-shop .ecms-product-card__brand::before {
    flex-basis: 12px !important;
    width: 12px !important;
  }

  body.post-type-archive-product .ecms-product-card__title,
  body.tax-product_cat .ecms-product-card__title,
  body.tax-product_tag .ecms-product-card__title,
  body.woocommerce-shop .ecms-product-card__title {
    font-size: .95rem !important;
    line-height: 1.2 !important;
  }

  body.post-type-archive-product .ecms-product-card__meta,
  body.tax-product_cat .ecms-product-card__meta,
  body.tax-product_tag .ecms-product-card__meta,
  body.woocommerce-shop .ecms-product-card__meta {
    margin-top: .05rem !important;
    font-size: .67rem !important;
    line-height: 1.3 !important;
  }

  body.post-type-archive-product .ecms-product-card__price,
  body.tax-product_cat .ecms-product-card__price,
  body.tax-product_tag .ecms-product-card__price,
  body.woocommerce-shop .ecms-product-card__price {
    margin-top: .12rem !important;
    font-size: 1.05rem !important;
  }

  body.post-type-archive-product .ecms-product-card__actions,
  body.tax-product_cat .ecms-product-card__actions,
  body.tax-product_tag .ecms-product-card__actions,
  body.woocommerce-shop .ecms-product-card__actions {
    grid-template-columns: 1fr !important;
    gap: .28rem !important;
    margin-top: .28rem !important;
    padding-top: 0 !important;
  }

  body.post-type-archive-product .ecms-product-card__details,
  body.tax-product_cat .ecms-product-card__details,
  body.tax-product_tag .ecms-product-card__details,
  body.woocommerce-shop .ecms-product-card__details {
    min-height: 30px !important;
    font-size: .68rem !important;
  }

  body.post-type-archive-product .ecms-product-card__actions .button,
  body.post-type-archive-product .ecms-product-card__actions .added_to_cart,
  body.tax-product_cat .ecms-product-card__actions .button,
  body.tax-product_cat .ecms-product-card__actions .added_to_cart,
  body.tax-product_tag .ecms-product-card__actions .button,
  body.tax-product_tag .ecms-product-card__actions .added_to_cart,
  body.woocommerce-shop .ecms-product-card__actions .button,
  body.woocommerce-shop .ecms-product-card__actions .added_to_cart {
    min-width: 0 !important;
    min-height: 36px !important;
    padding: .46rem .38rem !important;
    font-size: .68rem !important;
    line-height: 1.12 !important;
    white-space: normal !important;
  }
}

/* Mobile homepage product-grid width correction — v0.9.72
   Force WooCommerce cards to fill each grid track instead of retaining
   legacy percentage widths that create an oversized center gutter. */
@media (max-width: 720px) {
  body.home .home-featured-products > .container {
    width: calc(100% - 2rem) !important;
    max-width: none !important;
  }

  body.home .home-featured-products .ecms-home-products,
  body.home .home-featured-products .ecms-home-products ul.products {
    width: 100% !important;
    max-width: none !important;
  }

  body.home .home-featured-products .ecms-home-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: .75rem !important;
    row-gap: 1.75rem !important;
    justify-items: stretch !important;
    align-items: stretch !important;
  }

  body.home .home-featured-products .ecms-home-products ul.products > li.product,
  body.home .home-featured-products .ecms-home-products ul.products > li.ecms-product-card,
  body.home .home-featured-products .woocommerce ul.products > li.product {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    justify-self: stretch !important;
  }

  body.home .home-featured-products .ecms-product-card__inner {
    width: 100% !important;
    max-width: none !important;
  }
}



/* Mobile homepage product-card track fill — v0.9.73
   main.css applies 1rem !important padding to WooCommerce product items with
   a more specific selector. That padding kept the visible card narrower than
   its grid track and created the false oversized center gutter. */
@media (max-width: 720px) {
  body.home .home-featured-products .ecms-home-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: .75rem !important;
    row-gap: 1.75rem !important;
    padding: 0 !important;
  }

  body.home .home-featured-products .ecms-home-products ul.products > li.product.ecms-product-card {
    display: flex !important;
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    align-self: stretch !important;
    justify-self: stretch !important;
  }

  body.home .home-featured-products .ecms-home-products ul.products > li.product.ecms-product-card > .ecms-product-card__inner {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
}


/* Product-card add-to-cart typography — v0.9.74
   Increase the label size on product-card purchase buttons across desktop
   and mobile while preserving the existing responsive card layouts. */
.ecms-product-card__actions .button,
.ecms-product-card__actions .added_to_cart,
.woocommerce ul.products li.product .ecms-product-card__actions .button,
.woocommerce ul.products li.product .ecms-product-card__actions .added_to_cart {
  font-size: .88rem !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
}

@media (max-width: 720px) {
  body.home .home-featured-products .ecms-product-card__actions .button,
  body.home .home-featured-products .ecms-product-card__actions .added_to_cart,
  body.post-type-archive-product .ecms-product-card__actions .button,
  body.post-type-archive-product .ecms-product-card__actions .added_to_cart,
  body.tax-product_cat .ecms-product-card__actions .button,
  body.tax-product_cat .ecms-product-card__actions .added_to_cart,
  body.tax-product_tag .ecms-product-card__actions .button,
  body.tax-product_tag .ecms-product-card__actions .added_to_cart,
  body.woocommerce-shop .ecms-product-card__actions .button,
  body.woocommerce-shop .ecms-product-card__actions .added_to_cart {
    font-size: .82rem !important;
    line-height: 1.15 !important;
  }
}

/* Product-card caliber title typography — v0.9.75
   Give the caliber/weight title stronger prominence on desktop and mobile.
   Mobile values are scoped separately to preserve the two-column layouts. */
.ecms-product-card__title,
.woocommerce ul.products li.product .ecms-product-card__title {
  font-size: 1.42rem !important;
  line-height: 1.14 !important;
  font-weight: 850 !important;
  letter-spacing: -.025em !important;
}

@media (max-width: 720px) {
  body.home .home-featured-products .ecms-product-card__title,
  body.home .home-featured-products .woocommerce ul.products li.product .ecms-product-card__title {
    font-size: 1.08rem !important;
    line-height: 1.16 !important;
  }

  body.post-type-archive-product .ecms-product-card__title,
  body.tax-product_cat .ecms-product-card__title,
  body.tax-product_tag .ecms-product-card__title,
  body.woocommerce-shop .ecms-product-card__title {
    font-size: 1.12rem !important;
    line-height: 1.16 !important;
  }
}



.mobile-menu-overlay {
  display: none;
}

/* ================================================================
   Mobile off-canvas navigation — v0.9.77
   Correctly separates the label from the icon, uses distinct MENÚ/CERRAR
   states, keeps the panel fixed below the visible header and avoids mobile
   admin-bar layout gaps. Desktop and tablet navigation remain unchanged.
   ================================================================ */
@media (max-width: 720px) {
  /* Do not change document flow when the menu opens. The fixed overlay and
     panel capture interaction while JS prevents background movement. */
  html.ecms-menu-open,
  body.ecms-menu-open {
    overscroll-behavior: none;
  }

  .site-header__inner,
  .site-header.is-scrolled .site-header__inner {
    position: relative !important;
  }

  .menu-toggle {
    position: absolute !important;
    top: 50% !important;
    left: max(14px, env(safe-area-inset-left)) !important;
    display: inline-flex !important;
    width: 64px !important;
    min-width: 64px !important;
    min-height: 64px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 5px 4px !important;
    color: #ffffff;
    transform: translateY(-50%) !important;
  }

  .menu-toggle__label {
    display: block !important;
    width: 100%;
    margin: 0 !important;
    color: rgba(255, 255, 255, .86);
    font-size: .64rem !important;
    font-weight: 850;
    line-height: 1 !important;
    letter-spacing: .13em;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
  }

  /* Fixed-size icon stage keeps the hamburger and X on the same axis and
     prevents either state from colliding with the label. */
  .menu-toggle__icon {
    position: relative !important;
    display: block !important;
    width: 32px !important;
    height: 24px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  .menu-toggle__icon::before,
  .menu-toggle__icon::after,
  .menu-toggle__icon {
    transition: transform .2s ease, opacity .15s ease, background-color .15s ease;
  }

  .menu-toggle__icon::before,
  .menu-toggle__icon::after {
    position: absolute !important;
    left: 0 !important;
    display: block !important;
    width: 32px !important;
    height: 3px !important;
    border-radius: 999px;
    background: currentColor !important;
    content: "";
  }

  .menu-toggle__icon::before {
    top: 3px !important;
    box-shadow: 0 9px 0 currentColor;
  }

  .menu-toggle__icon::after {
    top: 21px !important;
  }

  .menu-toggle[aria-expanded="true"] .menu-toggle__icon::before {
    top: 10px !important;
    box-shadow: none;
    transform: rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] .menu-toggle__icon::after {
    top: 10px !important;
    transform: rotate(-45deg);
  }

  .primary-navigation {
    position: fixed !important;
    top: var(--ecms-mobile-menu-top, 92px) !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 899;
    display: block !important;
    width: min(85vw, 390px) !important;
    height: auto !important;
    max-height: none !important;
    padding: 1rem 1.15rem calc(1.5rem + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-top: 1px solid rgba(255, 255, 255, .08);
    border-right: 1px solid rgba(255, 255, 255, .08);
    background: rgba(8, 10, 12, .995) !important;
    box-shadow: 22px 0 50px rgba(0, 0, 0, .28);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    text-align: left !important;
    transform: translate3d(-102%, 0, 0);
    transition: transform .24s cubic-bezier(.22, .78, .24, 1), opacity .18s ease, visibility 0s linear .24s;
  }

  .primary-navigation.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
    transition-delay: 0s;
  }

  .primary-navigation ul,
  .primary-navigation .menu {
    display: flex !important;
    width: 100%;
    flex-direction: column;
    align-items: stretch !important;
    justify-content: flex-start;
    gap: 0 !important;
    margin: 0;
    padding: 0;
  }

  .primary-navigation li,
  .primary-navigation a {
    width: 100% !important;
    text-align: left !important;
  }

  .primary-navigation li {
    border-bottom: 1px solid rgba(255, 255, 255, .085);
  }

  .primary-navigation a {
    min-height: 58px !important;
    justify-content: flex-start !important;
    padding: .82rem .5rem !important;
    font-size: .92rem !important;
    letter-spacing: .1em;
  }

  .primary-navigation .current-menu-item::after,
  .primary-navigation .current_page_item::after {
    right: auto !important;
    bottom: -1px;
    left: .5rem !important;
    width: 44px !important;
    transform: none !important;
  }

  .mobile-menu-overlay {
    position: fixed;
    top: var(--ecms-mobile-menu-top, 92px);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 895;
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: rgba(0, 0, 0, .58);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    touch-action: none;
    backdrop-filter: blur(2px);
    transition: opacity .2s ease, visibility 0s linear .2s;
  }

  html.ecms-menu-open .mobile-menu-overlay,
  body.ecms-menu-open .mobile-menu-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }
}

@media (prefers-reduced-motion: reduce) and (max-width: 720px) {
  .primary-navigation,
  .mobile-menu-overlay,
  .menu-toggle__icon,
  .menu-toggle__icon::before,
  .menu-toggle__icon::after {
    transition-duration: .01ms !important;
  }
}

/* ================================================================
   Mobile off-canvas navigation corrections — v0.9.78
   The navigation is mounted under <body> on mobile so the header's
   backdrop-filter cannot constrain the fixed panel. The panel fills the
   remaining viewport, starts promptly below the header, and all links remain
   available. The MENÚ label and hamburger share the exact same visual width.
   ================================================================ */
@media (max-width: 720px) {
  .menu-toggle {
    width: max-content !important;
    min-width: 0 !important;
    min-height: 64px !important;
    gap: 7px !important;
    padding: 5px 0 !important;
  }

  .menu-toggle__label {
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    align-self: center !important;
    text-align: left !important;
  }

  .menu-toggle__icon {
    width: var(--ecms-menu-toggle-icon-width, 38px) !important;
    min-width: 0 !important;
    max-width: none !important;
    align-self: center !important;
  }

  .menu-toggle__icon::before,
  .menu-toggle__icon::after {
    width: 100% !important;
  }

  .menu-toggle[aria-expanded="true"] .menu-toggle__icon::before,
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon::after {
    left: 50% !important;
    width: 30px !important;
  }

  .menu-toggle[aria-expanded="true"] .menu-toggle__icon::before {
    transform: translateX(-50%) rotate(45deg) !important;
  }

  .menu-toggle[aria-expanded="true"] .menu-toggle__icon::after {
    transform: translateX(-50%) rotate(-45deg) !important;
  }

  body > .primary-navigation {
    position: fixed !important;
    top: var(--ecms-mobile-menu-top, 92px) !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 899 !important;
    display: block !important;
    width: min(85vw, 390px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 26px 18px calc(24px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    border-top: 1px solid rgba(255, 255, 255, .08);
    border-right: 1px solid rgba(255, 255, 255, .08);
    background: rgba(8, 10, 12, .995) !important;
    box-shadow: 18px 0 42px rgba(0, 0, 0, .32) !important;
  }

  body > .primary-navigation ul,
  body > .primary-navigation .menu {
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body > .primary-navigation li {
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  body > .primary-navigation a {
    display: flex !important;
    width: 100% !important;
    min-height: 58px !important;
  }

  .mobile-menu-overlay {
    background: rgba(0, 0, 0, .64) !important;
    -webkit-backdrop-filter: blur(1px) !important;
    backdrop-filter: blur(1px) !important;
  }
}

/* Mobile slug-line title underline — v0.9.79
   Move the decorative red rule from the card corner to directly beneath
   each line title. Desktop retains the existing card-corner treatment. */
@media (max-width: 720px) {
  body.home .home-styles .style-card--light::before {
    display: none !important;
  }

  body.home .home-styles .style-card--light h3 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
  }

  body.home .home-styles .style-card--light h3::after {
    display: block;
    width: 42px;
    height: 4px;
    margin-top: .52rem;
    border-radius: 999px;
    background: var(--ecms-final-red, #e31825);
    content: "";
    transition: width .2s ease, background-color .2s ease;
  }

  body.home .home-styles .style-card--light:hover h3::after,
  body.home .home-styles .style-card--light:focus-visible h3::after,
  body.home .home-styles .style-card--light:active h3::after {
    width: 52px;
    background: rgba(255, 255, 255, .96);
  }
}

/* ================================================================
   Desktop header balance correction — v0.9.84
   Restore the original 1200px centered header canvas so the logo returns to
   its established position. Fit the longer optional account action by
   redistributing only the remaining navigation/action space. The logo size,
   logo column and mobile presentation remain unchanged.
   ================================================================ */
@media (min-width: 1181px) {
  .site-header__inner.container,
  .site-header.is-scrolled .site-header__inner.container {
    width: min(calc(100% - 2rem), var(--ecms-container)) !important;
    grid-template-columns: auto minmax(0, 1fr) auto;
    column-gap: clamp(.7rem, .9vw, 1rem) !important;
  }

  .site-branding,
  .site-branding__logo {
    min-width: 0;
    justify-self: start;
  }

  .primary-navigation {
    min-width: 0;
    justify-self: end;
  }

  .primary-navigation ul {
    flex-wrap: nowrap !important;
    gap: clamp(.72rem, .9vw, 1rem) !important;
  }

  .primary-navigation li {
    flex: 0 0 auto;
  }

  .primary-navigation a {
    font-size: .84rem;
    letter-spacing: .058em;
    white-space: nowrap !important;
  }

  .site-header__actions {
    min-width: 0;
    flex: 0 0 auto;
    gap: .55rem;
    padding-left: .75rem;
    white-space: nowrap;
  }

  .site-header__actions .social-links {
    gap: .32rem;
  }

  .site-header__actions .social-links a {
    width: 38px;
    height: 38px;
  }

  .header-cart {
    padding-inline: .78rem;
  }
}

/* Switch to the existing compact navigation before any desktop element has
   to wrap or displace the branding. This extends only the established tablet
   dropdown behavior; the mobile off-canvas drawer remains unchanged. */
@media (min-width: 1181px) and (max-width: 1240px) {
  .site-header__inner,
  .site-header.is-scrolled .site-header__inner {
    grid-template-columns: auto auto minmax(0, 1fr) auto;
  }

  .menu-toggle {
    display: inline-flex;
    justify-self: end;
  }

  .primary-navigation {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    padding: 1rem max(1.25rem, calc((100vw - 1180px) / 2));
    border-top: 1px solid rgba(255, 255, 255, .08);
    background: #0b0d10;
  }

  .primary-navigation.is-open {
    display: block;
  }

  .primary-navigation ul {
    flex-direction: column;
    align-items: stretch;
    gap: 0 !important;
  }

  .primary-navigation a {
    width: 100%;
    min-height: 50px;
  }

  .primary-navigation .current-menu-item::after,
  .primary-navigation .current_page_item::after {
    right: auto;
    width: 44px;
  }

  .site-header__actions {
    grid-column: 4;
  }
}


/* ================================================================
   Desktop header spacing refinement — v0.9.85
   Keep the established logo position while using the unused middle-column
   space more effectively. The primary navigation moves closer to the logo,
   its links regain breathing room, and the social/account/cart utilities are
   separated more clearly. At narrower desktop widths the existing compact
   navigation now activates before the header needs to feel compressed.
   ================================================================ */
@media (min-width: 1321px) {
  .site-header__inner.container,
  .site-header.is-scrolled .site-header__inner.container {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    column-gap: 0 !important;
  }

  .site-branding,
  .site-branding__logo {
    justify-self: start !important;
  }

  .primary-navigation {
    min-width: 0;
    justify-self: start !important;
    margin-left: clamp(2rem, 2.7vw, 3.15rem) !important;
  }

  .primary-navigation ul {
    flex-wrap: nowrap !important;
    gap: clamp(1.12rem, 1.35vw, 1.55rem) !important;
  }

  .primary-navigation a {
    white-space: nowrap !important;
  }

  .site-header__actions {
    min-width: max-content;
    gap: clamp(.72rem, .85vw, .95rem) !important;
    padding-left: clamp(1rem, 1.15vw, 1.25rem) !important;
  }

  .site-header__actions .social-links {
    gap: .42rem !important;
  }

  .site-header__actions .ecms-ca-header-entry {
    margin-left: .12rem;
    padding-inline: 1rem;
  }

  .site-header__actions .header-cart {
    margin-left: .12rem;
    padding-inline: .95rem;
  }
}

/* Preserve comfortable spacing on medium desktop screens. Rather than
   shrinking every control, use the established compact navigation sooner. */
@media (min-width: 1181px) and (max-width: 1320px) {
  .site-header__inner,
  .site-header.is-scrolled .site-header__inner {
    grid-template-columns: auto auto minmax(0, 1fr) auto !important;
    gap: .9rem !important;
  }

  .menu-toggle {
    display: inline-flex !important;
    justify-self: end;
  }

  .primary-navigation {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    left: 0 !important;
    display: none !important;
    margin-left: 0 !important;
    padding: 1rem max(1.25rem, calc((100vw - 1180px) / 2)) !important;
    border-top: 1px solid rgba(255, 255, 255, .08);
    background: #0b0d10;
  }

  .primary-navigation.is-open {
    display: block !important;
  }

  .primary-navigation ul {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  .primary-navigation a {
    width: 100% !important;
    min-height: 50px !important;
  }

  .site-header__actions {
    grid-column: 4 !important;
    gap: .72rem !important;
  }
}

/* ================================================================
   Desktop navigation-to-utility balance — v0.9.86
   Keep the logo fixed while anchoring the primary navigation to the
   utility divider. Contact-to-divider and divider-to-Facebook spacing now
   stay visually equal whether the customer is logged in or logged out.
   ================================================================ */
@media (min-width: 1321px) {
  .site-header__inner.container,
  .site-header.is-scrolled .site-header__inner.container {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  }

  .primary-navigation {
    justify-self: end !important;
    margin-left: 0 !important;
    margin-right: clamp(1rem, 1.15vw, 1.25rem) !important;
  }

  .site-header__actions {
    min-width: max-content;
    padding-left: clamp(1rem, 1.15vw, 1.25rem) !important;
  }

  /* Reserve the same account-control width in both session states so the
     divider and primary navigation do not shift after login or logout. */
  .site-header__actions .ecms-ca-header-entry {
    box-sizing: border-box;
    width: 216px;
    min-width: 216px;
    justify-content: center;
    margin-left: .12rem;
  }
}


/* ================================================================
   Centered desktop navigation underline + hover animation — v0.9.87
   Center the active indicator beneath each label and reveal the same
   indicator on hover/focus without affecting the mobile navigation drawer.
   ================================================================ */
@media (min-width: 1321px) {
  /* Retire the older list-item indicator on full desktop to prevent a
     duplicate or left-aligned line. */
  .primary-navigation .current-menu-item::after,
  .primary-navigation .current_page_item::after {
    display: none !important;
    content: none !important;
  }

  .primary-navigation a {
    position: relative;
  }

  .primary-navigation a::after {
    position: absolute;
    bottom: 2px;
    left: 50%;
    display: block !important;
    width: 28px;
    height: 2px;
    border-radius: 999px;
    background: var(--ecms-final-red);
    content: "" !important;
    opacity: 0;
    transform: translateX(-50%) scaleX(0);
    transform-origin: center;
    transition: transform .2s ease, opacity .2s ease;
    pointer-events: none;
  }

  .primary-navigation a:hover::after,
  .primary-navigation a:focus-visible::after,
  .primary-navigation .current-menu-item > a::after,
  .primary-navigation .current_page_item > a::after {
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
  }
}

/* ================================================================
   Compact in-image product-gallery zoom control — v0.9.89
   Keep the trigger fully inside the product image, prevent it from
   interrupting either rounded border, and avoid changing gallery sizing.
   ================================================================ */
.ecms-product-gallery-card .woocommerce-product-gallery {
  position: relative !important;
}

.ecms-product-gallery-card .woocommerce-product-gallery__trigger {
  position: absolute !important;
  inset: 12px auto auto 12px !important;
  z-index: 12 !important;
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(18, 20, 23, .16) !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 6px 18px rgba(13, 14, 16, .13) !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-decoration: none !important;
  text-indent: 0 !important;
  text-shadow: none !important;
  transform: none !important;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.ecms-product-gallery-card .woocommerce-product-gallery__trigger::before {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 18px !important;
  height: 18px !important;
  margin: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #15181c !important;
  content: "" !important;
  transform: none !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.25'/%3E%3Cpath d='m15.25 15.25 4.25 4.25'/%3E%3Cpath d='M10.5 7.6v5.8M7.6 10.5h5.8'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.25'/%3E%3Cpath d='m15.25 15.25 4.25 4.25'/%3E%3Cpath d='M10.5 7.6v5.8M7.6 10.5h5.8'/%3E%3C/svg%3E") center / contain no-repeat;
  opacity: 1 !important;
  transition: background-color .18s ease, transform .18s ease !important;
}

.ecms-product-gallery-card .woocommerce-product-gallery__trigger::after {
  display: none !important;
  content: none !important;
}

.ecms-product-gallery-card .woocommerce-product-gallery__trigger:hover,
.ecms-product-gallery-card .woocommerce-product-gallery__trigger:focus-visible {
  border-color: #15181c !important;
  background: #15181c !important;
  box-shadow: 0 8px 22px rgba(13, 14, 16, .2) !important;
  transform: translateY(-1px) !important;
}

.ecms-product-gallery-card .woocommerce-product-gallery__trigger:hover::before,
.ecms-product-gallery-card .woocommerce-product-gallery__trigger:focus-visible::before {
  background: #fff !important;
  transform: scale(1.04) !important;
}

.ecms-product-gallery-card .woocommerce-product-gallery__trigger:focus-visible {
  outline: 3px solid rgba(237, 28, 36, .28) !important;
  outline-offset: 2px !important;
}

@media (max-width: 720px) {
  .ecms-product-gallery-card .woocommerce-product-gallery__trigger {
    inset: 10px auto auto 10px !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
  }

  .ecms-product-gallery-card .woocommerce-product-gallery__trigger::before {
    width: 17px !important;
    height: 17px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ecms-product-gallery-card .woocommerce-product-gallery__trigger,
  .ecms-product-gallery-card .woocommerce-product-gallery__trigger::before {
    transition: none !important;
  }
}

/* ================================================================
   About page editorial layout — v0.9.90
   Replace the provisional narrow page with a complete branded story,
   representative product image, clear value pillars and responsive CTAs.
   ================================================================ */
.ecms-about {
  overflow: hidden;
  background: #f7f6f3;
  color: #111317;
}

.ecms-about .eyebrow {
  margin: 0 0 .9rem;
  color: var(--ecms-final-red);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .2em;
  line-height: 1.3;
  text-transform: uppercase;
}

.ecms-about h1,
.ecms-about h2,
.ecms-about h3 {
  color: inherit;
}

.ecms-about-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(5.5rem, 8vw, 8.5rem) 0;
  background: #0b0d10;
  color: #fff;
}

.ecms-about-hero__background,
.ecms-about-hero__grid,
.ecms-about-hero__glow,
.ecms-about-hero__ring {
  position: absolute;
  pointer-events: none;
}

.ecms-about-hero__background {
  inset: 0;
  z-index: -1;
  overflow: hidden;
}

.ecms-about-hero__grid {
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to right, transparent 4%, #000 38%, #000 100%);
}

.ecms-about-hero__glow {
  top: -24%;
  right: -7%;
  width: 62%;
  height: 125%;
  background: radial-gradient(circle at center, rgba(237,28,36,.34), rgba(237,28,36,.09) 38%, transparent 70%);
  filter: blur(18px);
}

.ecms-about-hero__ring {
  right: 7%;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 50%;
}

.ecms-about-hero__ring--one {
  top: 7%;
  width: 440px;
  height: 440px;
}

.ecms-about-hero__ring--two {
  top: 20%;
  right: 14%;
  width: 230px;
  height: 230px;
}

.ecms-about-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, .78fr);
  gap: clamp(3rem, 6vw, 7rem);
  align-items: center;
}

.ecms-about-hero__content h1 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(3.1rem, 5.6vw, 6.35rem);
  line-height: .94;
  letter-spacing: -.06em;
}

.ecms-about-hero__lead {
  max-width: 720px;
  margin: 2rem 0 0;
  color: #fff;
  font-size: clamp(1.15rem, 1.5vw, 1.5rem);
  font-weight: 600;
  line-height: 1.55;
}

.ecms-about-hero__content > p:not(.eyebrow):not(.ecms-about-hero__lead) {
  max-width: 720px;
  margin: 1rem 0 0;
  color: rgba(255,255,255,.68);
  font-size: 1.03rem;
  line-height: 1.72;
}

.ecms-about-hero__actions,
.ecms-about-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  margin-top: 2rem;
}

.ecms-about-hero__actions .button,
.ecms-about-cta__actions .button {
  gap: .75rem;
}

.ecms-about-hero__visual {
  position: relative;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.035));
  box-shadow: 0 34px 80px rgba(0,0,0,.38);
  backdrop-filter: blur(14px);
}

.ecms-about-hero__visual::before {
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background: linear-gradient(140deg, rgba(237,28,36,.78), transparent 24%, transparent 76%, rgba(237,28,36,.26));
  content: "";
  opacity: .72;
  pointer-events: none;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 1px;
}

.ecms-about-hero__visual-topline {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .2rem .35rem .85rem;
  color: rgba(255,255,255,.64);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.ecms-about-hero__image-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  border-radius: 22px;
  background: #fff;
}

.ecms-about-hero__image-wrap::after {
  position: absolute;
  inset: auto 0 0;
  height: 34%;
  background: linear-gradient(to top, rgba(12,14,17,.19), transparent);
  content: "";
  pointer-events: none;
}

.ecms-about-hero__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s ease;
}

.ecms-about-hero__visual:hover img {
  transform: scale(1.025);
}

.ecms-about-hero__caption {
  margin: .9rem .35rem .15rem;
  color: rgba(255,255,255,.58);
  font-size: .77rem;
  line-height: 1.55;
}

.ecms-about-pillars {
  padding-block: clamp(4.5rem, 7vw, 7.25rem);
}

.ecms-about-section-heading {
  max-width: 850px;
  margin-bottom: clamp(2rem, 4vw, 3.25rem);
}

.ecms-about-section-heading h2,
.ecms-about-lines__content h2,
.ecms-about-commitment h2,
.ecms-about-cta h2 {
  margin: 0;
  font-size: clamp(2.25rem, 4.5vw, 4.8rem);
  line-height: 1;
  letter-spacing: -.055em;
}

.ecms-about-pillars__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}

.ecms-about-pillar {
  position: relative;
  min-height: 310px;
  padding: 1.7rem;
  overflow: hidden;
  border: 1px solid rgba(17,19,23,.1);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 45px rgba(18,20,24,.06);
}

.ecms-about-pillar::after {
  position: absolute;
  inset: auto -18% -52% auto;
  width: 220px;
  height: 220px;
  border: 1px solid rgba(237,28,36,.13);
  border-radius: 50%;
  content: "";
}

.ecms-about-pillar__icon {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border: 1px solid rgba(237,28,36,.3);
  border-radius: 15px;
  background: rgba(237,28,36,.055);
  color: var(--ecms-final-red);
}

.ecms-about-pillar__icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ecms-about-pillar__number {
  margin: 1.8rem 0 .55rem;
  color: var(--ecms-final-red);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .15em;
}

.ecms-about-pillar h3 {
  margin: 0;
  font-size: 1.55rem;
  letter-spacing: -.035em;
}

.ecms-about-pillar > p:last-child {
  position: relative;
  z-index: 1;
  margin: .85rem 0 0;
  color: #646b75;
  line-height: 1.65;
}

.ecms-about-lines {
  padding-block: clamp(4.5rem, 7vw, 7.5rem);
}

.ecms-about-lines__layout {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(420px, 1fr);
  gap: clamp(3rem, 8vw, 8.5rem);
  align-items: start;
}

.ecms-about-lines__content {
  position: sticky;
  top: calc(var(--ecms-header-height, 92px) + 2rem);
}

.ecms-about-lines__content > p:not(.eyebrow) {
  margin: 1.4rem 0 0;
  color: #646b75;
  font-size: 1.05rem;
  line-height: 1.72;
}

.ecms-about-lines__content .button {
  margin-top: 1.8rem;
}

.ecms-about-lines__list {
  overflow: hidden;
  border-top: 1px solid rgba(17,19,23,.15);
}

.ecms-about-line {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 1.1rem;
  align-items: center;
  min-height: 95px;
  padding: 1rem .2rem;
  border-bottom: 1px solid rgba(17,19,23,.15);
  color: #111317;
  text-decoration: none;
}

.ecms-about-line__number {
  color: var(--ecms-final-red);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.ecms-about-line strong {
  font-size: clamp(1.45rem, 2.2vw, 2.15rem);
  letter-spacing: -.04em;
}

.ecms-about-line__arrow {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(17,19,23,.16);
  border-radius: 50%;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.ecms-about-line:hover .ecms-about-line__arrow,
.ecms-about-line:focus-visible .ecms-about-line__arrow {
  background: var(--ecms-final-red);
  color: #fff;
  transform: rotate(8deg);
}

.ecms-about-commitment {
  padding-block: clamp(4.5rem, 7vw, 7.5rem);
  background: #f7f6f3;
}

.ecms-about-commitment__card {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(460px, 1fr);
  gap: clamp(3rem, 7vw, 7rem);
  padding: clamp(2rem, 5vw, 5.2rem);
  border: 1px solid rgba(237,28,36,.24);
  border-radius: 30px;
  background:
    radial-gradient(circle at 92% 0%, rgba(237,28,36,.21), transparent 34%),
    linear-gradient(145deg, #0d0f12, #151014 70%, #241113);
  box-shadow: 0 28px 70px rgba(13,15,18,.2);
  color: #fff;
}

.ecms-about-commitment__intro {
  align-self: start;
}

.ecms-about-commitment__items {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(255,255,255,.13);
}

.ecms-about-commitment__item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 1rem;
  padding: 1.35rem 0;
  border-bottom: 1px solid rgba(255,255,255,.13);
}

.ecms-about-commitment__item > span {
  padding-top: .18rem;
  color: #ff6870;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.ecms-about-commitment__item h3 {
  margin: 0;
  color: #fff;
  font-size: 1.15rem;
}

.ecms-about-commitment__item p {
  margin: .35rem 0 0;
  color: rgba(255,255,255,.63);
  line-height: 1.6;
}

.ecms-about-cta {
  padding-block: clamp(4rem, 7vw, 7rem);
  background: #0b0d10;
  color: #fff;
}

.ecms-about-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3rem;
  align-items: end;
}

.ecms-about-cta__inner > div:first-child {
  max-width: 850px;
}

.ecms-about-cta__inner > div:first-child > p:last-child {
  max-width: 740px;
  margin: 1.2rem 0 0;
  color: rgba(255,255,255,.65);
  line-height: 1.7;
}

.ecms-about-cta__actions {
  justify-content: flex-end;
  margin: 0;
}

@media (max-width: 1100px) {
  .ecms-about-hero__layout,
  .ecms-about-lines__layout,
  .ecms-about-commitment__card {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }

  .ecms-about-hero__content h1 {
    font-size: clamp(3rem, 6vw, 4.8rem);
  }

  .ecms-about-pillars__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .ecms-about-hero {
    padding-block: 4.5rem;
  }

  .ecms-about-hero__layout,
  .ecms-about-lines__layout,
  .ecms-about-commitment__card,
  .ecms-about-cta__inner {
    grid-template-columns: 1fr;
  }

  .ecms-about-hero__visual {
    width: min(100%, 620px);
  }

  .ecms-about-pillars__grid {
    grid-template-columns: 1fr;
  }

  .ecms-about-pillar {
    min-height: 0;
  }

  .ecms-about-lines__content {
    position: static;
  }

  .ecms-about-commitment__card {
    padding: 2rem;
  }

  .ecms-about-cta__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .ecms-about-hero {
    padding-block: 3.25rem 4rem;
  }

  .ecms-about-hero__layout {
    gap: 2.5rem;
  }

  .ecms-about-hero__content h1 {
    font-size: clamp(2.7rem, 14vw, 4rem);
  }

  .ecms-about-hero__lead {
    margin-top: 1.5rem;
    font-size: 1.06rem;
  }

  .ecms-about-hero__actions,
  .ecms-about-cta__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .ecms-about-hero__actions .button,
  .ecms-about-cta__actions .button {
    width: 100%;
    justify-content: center;
  }

  .ecms-about-hero__visual {
    padding: .75rem;
    border-radius: 23px;
  }

  .ecms-about-hero__image-wrap {
    border-radius: 17px;
  }

  .ecms-about-pillar {
    padding: 1.35rem;
    border-radius: 20px;
  }

  .ecms-about-line {
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    gap: .65rem;
    min-height: 80px;
  }

  .ecms-about-line__arrow {
    width: 36px;
    height: 36px;
  }

  .ecms-about-commitment__card {
    padding: 1.35rem;
    border-radius: 22px;
  }

  .ecms-about-commitment__item {
    grid-template-columns: 30px minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ecms-about-hero__image-wrap img,
  .ecms-about-line__arrow {
    transition: none !important;
  }
}

/* ========================================================================
   About page identity and editorial refinement — v0.9.91
   ======================================================================== */
.ecms-about-story {
  position: relative;
  padding-block: clamp(4.75rem, 8vw, 8.25rem);
  overflow: hidden;
  background: #fff;
}

.ecms-about-story::before {
  position: absolute;
  inset: 12% auto auto 4%;
  width: 340px;
  height: 340px;
  border: 1px solid rgba(237,28,36,.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.ecms-about-story__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(440px, .95fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
}

.ecms-about-story__visual {
  position: relative;
  min-width: 0;
}

.ecms-about-story__image-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid rgba(17,19,23,.12);
  border-radius: 30px;
  background: #0d0f12;
  box-shadow: 0 28px 75px rgba(17,19,23,.16);
}

.ecms-about-story__image-wrap::after {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: inherit;
  content: "";
  pointer-events: none;
}

.ecms-about-story__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s ease;
}

.ecms-about-story__visual:hover .ecms-about-story__image-wrap img {
  transform: scale(1.025);
}

.ecms-about-story__badge {
  position: absolute;
  right: clamp(1rem, 3vw, 2rem);
  bottom: clamp(1rem, 3vw, 2rem);
  display: flex;
  gap: .85rem;
  align-items: center;
  padding: .8rem 1rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(10,12,15,.88);
  box-shadow: 0 14px 34px rgba(0,0,0,.24);
  color: #fff;
  backdrop-filter: blur(12px);
}

.ecms-about-story__badge > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--ecms-final-red);
  color: #fff;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .05em;
}

.ecms-about-story__badge strong {
  font-size: .84rem;
  letter-spacing: .02em;
}

.ecms-about-story__content h2 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(2.45rem, 4.7vw, 5rem);
  line-height: 1;
  letter-spacing: -.057em;
}

.ecms-about-story__lead {
  margin: 1.5rem 0 0;
  color: #1a1d22;
  font-size: clamp(1.08rem, 1.5vw, 1.28rem);
  font-weight: 650;
  line-height: 1.65;
}

.ecms-about-story__content > p:not(.eyebrow):not(.ecms-about-story__lead) {
  margin: 1.05rem 0 0;
  color: #646b75;
  line-height: 1.75;
}

.ecms-about-story__points {
  display: grid;
  margin: 2rem 0 0;
  border-top: 1px solid rgba(17,19,23,.13);
}

.ecms-about-story__point {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 1rem;
  padding: 1.05rem 0;
  border-bottom: 1px solid rgba(17,19,23,.13);
}

.ecms-about-story__point > span {
  padding-top: .16rem;
  color: var(--ecms-final-red);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .12em;
}

.ecms-about-story__point strong {
  display: block;
  color: #111317;
  font-size: 1rem;
}

.ecms-about-story__point p {
  margin: .24rem 0 0;
  color: #6b717b;
  line-height: 1.55;
}

.ecms-about-story__content .button {
  margin-top: 1.6rem;
}

.ecms-about-pillars {
  padding-block: clamp(4.5rem, 7vw, 7rem);
}

.ecms-about-pillar {
  min-height: 280px;
}

.ecms-about-lines__content > p:not(.eyebrow) {
  max-width: 630px;
}

.ecms-about-commitment__intro h2 {
  max-width: 620px;
}

@media (max-width: 1100px) {
  .ecms-about-story__layout {
    grid-template-columns: 1fr 1fr;
    gap: 2.75rem;
  }
}

@media (max-width: 860px) {
  .ecms-about-story__layout {
    grid-template-columns: 1fr;
  }

  .ecms-about-story__visual {
    order: 2;
    width: min(100%, 720px);
  }

  .ecms-about-story__content {
    order: 1;
  }
}

@media (max-width: 560px) {
  .ecms-about-story {
    padding-block: 4rem;
  }

  .ecms-about-story__layout {
    gap: 2.5rem;
  }

  .ecms-about-story__image-wrap {
    border-radius: 22px;
  }

  .ecms-about-story__badge {
    right: .8rem;
    bottom: .8rem;
    padding: .65rem .8rem;
  }

  .ecms-about-story__content h2 {
    font-size: clamp(2.5rem, 13vw, 3.9rem);
  }

  .ecms-about-story__point {
    grid-template-columns: 32px minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ecms-about-story__image-wrap img {
    transition: none !important;
  }
}

/* ================================================================
   Concise About page — v0.9.93
   A direct company description focused on product development.
   ================================================================ */
.ecms-about-simple {
  background: #f7f6f3;
}

.ecms-about-simple__section {
  display: flex;
  align-items: center;
  min-height: clamp(590px, 70vh, 720px);
  padding: clamp(4.5rem, 6.5vw, 6.5rem) 0;
}

.ecms-about-simple__layout {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(500px, 1.18fr);
  align-items: center;
  gap: clamp(3.5rem, 6vw, 6.5rem);
}

.ecms-about-simple__content {
  max-width: 650px;
}

.ecms-about-simple__content h1 {
  margin: 0;
  color: #111317;
  font-size: clamp(3.4rem, 5.6vw, 6rem);
  line-height: .94;
  letter-spacing: -.06em;
}

.ecms-about-simple__copy {
  max-width: 620px;
  margin-top: clamp(1.8rem, 3vw, 2.4rem);
}

.ecms-about-simple__copy p {
  margin: 0;
  color: #4f5660;
  font-size: clamp(1.03rem, 1.25vw, 1.18rem);
  line-height: 1.72;
}

.ecms-about-simple__copy p + p {
  margin-top: 1rem;
}

.ecms-about-simple__actions {
  display: flex;
  margin-top: 2rem;
}

.ecms-about-simple__actions .button {
  min-height: 52px;
}

.ecms-about-simple__visual {
  position: relative;
  width: min(100%, 700px);
  margin: 0;
  justify-self: end;
}

.ecms-about-simple__image-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid rgba(237, 28, 36, .22);
  border-radius: 28px;
  background: #111317;
  box-shadow: 0 28px 75px rgba(18, 20, 24, .18);
}

.ecms-about-simple__image-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}

.ecms-about-simple__image-wrap img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 1100px) {
  .ecms-about-simple__layout {
    grid-template-columns: minmax(0, .9fr) minmax(430px, 1.1fr);
    gap: 3rem;
  }
}

@media (max-width: 960px) {
  .ecms-about-simple__section {
    min-height: auto;
  }

  .ecms-about-simple__layout {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .ecms-about-simple__content {
    max-width: 760px;
  }

  .ecms-about-simple__visual {
    width: min(100%, 760px);
    justify-self: start;
  }
}

@media (max-width: 620px) {
  .ecms-about-simple__section {
    padding: 3.75rem 0 4.5rem;
  }

  .ecms-about-simple__layout {
    gap: 2.4rem;
  }

  .ecms-about-simple__content h1 {
    font-size: clamp(3rem, 15vw, 4.5rem);
  }

  .ecms-about-simple__copy {
    margin-top: 1.45rem;
  }

  .ecms-about-simple__copy p {
    font-size: 1rem;
    line-height: 1.65;
  }

  .ecms-about-simple__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .ecms-about-simple__actions .button {
    width: 100%;
  }

  .ecms-about-simple__image-wrap {
    border-radius: 20px;
  }
}


/* ================================================================
   Client-managed Contact page — v1.0.0
   ================================================================ */
.ecms-contact-managed {
  background: #f7f6f3;
}

.ecms-contact-managed__section {
  padding: clamp(4.5rem, 7vw, 7rem) 0;
}

.ecms-contact-managed__layout {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(520px, 1.22fr);
  align-items: start;
  gap: clamp(3rem, 6vw, 6.25rem);
}

.ecms-contact-managed__content {
  position: sticky;
  top: calc(var(--ecms-header-height, 96px) + 2rem);
  max-width: 560px;
}

.ecms-contact-managed__content h1 {
  max-width: 9ch;
  margin: 0;
  color: #111317;
  font-size: clamp(3rem, 4.7vw, 4.75rem);
  line-height: .98;
  letter-spacing: -.055em;
}

.ecms-contact-managed__lead {
  max-width: 48ch;
  margin: 1.6rem 0 0;
  color: #505862;
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  line-height: 1.7;
}

.ecms-contact-managed__channels {
  display: grid;
  gap: .85rem;
  margin-top: 2rem;
}

.ecms-contact-channel {
  display: flex;
  align-items: center;
  gap: .9rem;
  min-height: 78px;
  padding: .95rem 1rem;
  border: 1px solid #dfe3e7;
  border-radius: 16px;
  background: #fff;
  color: #15181c;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(17, 19, 23, .05);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.ecms-contact-channel:hover,
.ecms-contact-channel:focus-visible {
  border-color: rgba(227, 24, 37, .48);
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(17, 19, 23, .09);
}

.ecms-contact-channel:focus-visible {
  outline: 3px solid rgba(227, 24, 37, .2);
  outline-offset: 3px;
}

.ecms-contact-channel__icon {
  display: inline-flex;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(227, 24, 37, .18);
  border-radius: 14px;
  background: rgba(227, 24, 37, .06);
  color: #e31825;
}

.ecms-contact-channel__icon svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}

.ecms-contact-channel small,
.ecms-contact-channel strong {
  display: block;
}

.ecms-contact-channel > span:last-child {
  min-width: 0;
}

.ecms-contact-channel small {
  margin-bottom: .2rem;
  color: #727a83;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ecms-contact-channel strong {
  overflow-wrap: anywhere;
  word-break: break-word;
  font-size: clamp(.92rem, 1vw, 1rem);
}

.ecms-contact-form-card {
  padding: clamp(1.4rem, 2.6vw, 2.3rem);
  border: 1px solid #dfe3e7;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 28px 72px rgba(17, 19, 23, .1);
  scroll-margin-top: calc(var(--ecms-header-height, 96px) + 1.5rem);
}

.ecms-contact-form-card__heading h2 {
  margin: 0;
  color: #111317;
  font-size: clamp(1.75rem, 2.4vw, 2.35rem);
  letter-spacing: -.035em;
}

.ecms-contact-form-card__heading p {
  max-width: 58ch;
  margin: .55rem 0 0;
  color: #68717b;
  line-height: 1.6;
}

.ecms-contact-notice {
  margin: 1.25rem 0;
  padding: .9rem 1rem;
  border: 1px solid;
  border-radius: 12px;
  font-weight: 700;
  line-height: 1.5;
}

.ecms-contact-notice.is-success {
  border-color: #91c9a4;
  background: #edf8f0;
  color: #165a2d;
}

.ecms-contact-notice.is-error {
  border-color: #e6a4aa;
  background: #fff1f2;
  color: #8f1722;
}

.ecms-contact-form {
  display: grid;
  gap: 1.15rem;
  margin-top: 1.55rem;
}

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

.ecms-contact-form p {
  margin: 0;
}

.ecms-contact-form label {
  display: block;
  margin-bottom: .45rem;
  color: #1c2025;
  font-size: .9rem;
  font-weight: 800;
}

.ecms-contact-form label small {
  color: #7a828a;
  font-weight: 600;
}

.ecms-contact-form input,
.ecms-contact-form select,
.ecms-contact-form textarea {
  width: 100%;
  min-height: 52px;
  padding: .78rem .9rem;
  border: 1px solid #cfd5db;
  border-radius: 11px;
  background: #fff;
  color: #15181c;
  font: inherit;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.ecms-contact-form textarea {
  min-height: 160px;
  resize: vertical;
}

.ecms-contact-form input:focus,
.ecms-contact-form select:focus,
.ecms-contact-form textarea:focus {
  border-color: #e31825;
  outline: 0;
  box-shadow: 0 0 0 4px rgba(227, 24, 37, .1);
}

.ecms-contact-form .button {
  justify-self: start;
  min-width: 180px;
  margin-top: .1rem;
}

.ecms-contact-form__honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

@media (max-width: 1080px) {
  .ecms-contact-managed__layout {
    grid-template-columns: minmax(0, .85fr) minmax(470px, 1.15fr);
    gap: 3rem;
  }
}

@media (max-width: 960px) {
  .ecms-contact-managed__layout {
    grid-template-columns: 1fr;
  }

  .ecms-contact-managed__content {
    position: static;
    max-width: 720px;
  }

  .ecms-contact-managed__content h1 {
    max-width: 13ch;
    font-size: clamp(3rem, 7.5vw, 4.25rem);
  }

  .ecms-contact-managed__channels {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .ecms-contact-managed__channels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .ecms-contact-managed__section {
    padding: 3.7rem 0 4.5rem;
  }

  .ecms-contact-managed__content h1 {
    max-width: 11ch;
    font-size: clamp(2.75rem, 13vw, 3.75rem);
  }

  .ecms-contact-managed__channels,
  .ecms-contact-form__grid {
    grid-template-columns: 1fr;
  }

  .ecms-contact-form-card {
    border-radius: 18px;
  }

  .ecms-contact-form .button {
    width: 100%;
  }
}

/* ========================================================================
   Final visual-inspection adjustments — v0.9.98
   1. Shared page-title scale and top alignment for About, Products, Contact.
   2. Separated footer-notice sentences.
   3. Full-bleed caliber visuals that preserve source proportions.
   ======================================================================== */

/* Shared page-heading rhythm. */
.ecms-about-simple__section,
.ecms-contact-managed__section,
body.woocommerce-shop .site-main--shop,
body.post-type-archive-product .site-main--shop,
body.tax-product_cat .site-main--shop,
body.tax-product_tag .site-main--shop {
  padding-top: clamp(4.5rem, 7vw, 7rem);
}

.ecms-about-simple__section {
  min-height: 0;
  align-items: stretch;
  padding-bottom: clamp(4.5rem, 7vw, 7rem);
}

.ecms-about-simple__layout {
  align-items: start;
}

.ecms-about-simple__content h1,
.ecms-contact-managed__content h1,
body.woocommerce-shop .woocommerce-products-header__title.page-title,
body.post-type-archive-product .woocommerce-products-header__title.page-title,
body.tax-product_cat .woocommerce-products-header__title.page-title,
body.tax-product_tag .woocommerce-products-header__title.page-title {
  max-width: 15ch;
  margin: 0;
  color: #111317;
  font-size: clamp(3.4rem, 5.2vw, 5.25rem);
  line-height: .96;
  letter-spacing: -.055em;
}

body.woocommerce-shop .woocommerce-products-header,
body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_tag .woocommerce-products-header {
  margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
  text-align: left;
}

/* Preserve visible separation between every sentence in the important notice. */
.site-footer__note-copy {
  display: grid;
  gap: .82rem;
  margin-top: .82rem;
}

.site-footer__note-copy p,
.site-footer__note-copy p + p {
  margin: 0 !important;
}

/* The caliber media now uses the complete available panel with no inner rim.
   object-fit: cover preserves proportions for landscape and portrait uploads. */
.caliber-card__media {
  padding: 0 !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 3 !important;
}

.caliber-card__media img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 720px) {
  .ecms-about-simple__section,
  .ecms-contact-managed__section,
  body.woocommerce-shop .site-main--shop,
  body.post-type-archive-product .site-main--shop,
  body.tax-product_cat .site-main--shop,
  body.tax-product_tag .site-main--shop {
    padding-top: 3.7rem;
  }

  .ecms-about-simple__content h1,
  .ecms-contact-managed__content h1,
  body.woocommerce-shop .woocommerce-products-header__title.page-title,
  body.post-type-archive-product .woocommerce-products-header__title.page-title,
  body.tax-product_cat .woocommerce-products-header__title.page-title,
  body.tax-product_tag .woocommerce-products-header__title.page-title {
    max-width: 100%;
    font-size: clamp(2.75rem, 13vw, 3.75rem);
    line-height: .98;
    letter-spacing: -.052em;
  }

  body.woocommerce-shop .woocommerce-products-header,
  body.post-type-archive-product .woocommerce-products-header,
  body.tax-product_cat .woocommerce-products-header,
  body.tax-product_tag .woocommerce-products-header {
    text-align: left !important;
  }

  .caliber-card__media {
    aspect-ratio: 4 / 3 !important;
  }
}


/* ========================================================================
   Mobile catalog and storefront review corrections — v1.0.2
   - Center shop titles and normalize horizontal margins.
   - Keep result count and ordering controls compact and aligned.
   - Place the homepage catalog CTA after products on mobile.
   - Prevent WooCommerce mobile containers/cards from overflowing.
   ======================================================================== */
.home-featured-products__catalog-action {
  display: none;
}

@media (max-width: 720px) {
  body.woocommerce-shop .site-main--shop,
  body.post-type-archive-product .site-main--shop,
  body.tax-product_cat .site-main--shop,
  body.tax-product_tag .site-main--shop {
    padding-top: 2.35rem !important;
    padding-bottom: 4rem !important;
  }

  body.woocommerce-shop .site-main--shop > .container,
  body.post-type-archive-product .site-main--shop > .container,
  body.tax-product_cat .site-main--shop > .container,
  body.tax-product_tag .site-main--shop > .container,
  body.single-product .site-main--shop > .container {
    width: calc(100% - 1.5rem) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  body.woocommerce-shop .woocommerce-products-header,
  body.post-type-archive-product .woocommerce-products-header,
  body.tax-product_cat .woocommerce-products-header,
  body.tax-product_tag .woocommerce-products-header {
    margin: 0 0 1.35rem !important;
    text-align: center !important;
  }

  body.woocommerce-shop .woocommerce-products-header__title.page-title,
  body.post-type-archive-product .woocommerce-products-header__title.page-title,
  body.tax-product_cat .woocommerce-products-header__title.page-title,
  body.tax-product_tag .woocommerce-products-header__title.page-title {
    width: 100% !important;
    max-width: none !important;
    margin-inline: auto !important;
    text-align: center !important;
    font-size: clamp(2.65rem, 12vw, 3.45rem) !important;
  }

  body.woocommerce-shop .woocommerce .woocommerce-result-count,
  body.post-type-archive-product .woocommerce .woocommerce-result-count,
  body.tax-product_cat .woocommerce .woocommerce-result-count,
  body.tax-product_tag .woocommerce .woocommerce-result-count {
    width: 100% !important;
    margin: .15rem 0 .75rem !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: .96rem !important;
    line-height: 1.35 !important;
  }

  body.woocommerce-shop .woocommerce .woocommerce-ordering,
  body.post-type-archive-product .woocommerce .woocommerce-ordering,
  body.tax-product_cat .woocommerce .woocommerce-ordering,
  body.tax-product_tag .woocommerce .woocommerce-ordering {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 1.2rem !important;
    padding: 0 !important;
  }

  body.woocommerce-shop .woocommerce .woocommerce-ordering select,
  body.post-type-archive-product .woocommerce .woocommerce-ordering select,
  body.tax-product_cat .woocommerce .woocommerce-ordering select,
  body.tax-product_tag .woocommerce .woocommerce-ordering select {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: .68rem 2.6rem .68rem .9rem !important;
    border: 1px solid #cfd5db !important;
    border-radius: 12px !important;
    background-color: #fff !important;
  }

  body.woocommerce-shop .woocommerce ul.products,
  body.post-type-archive-product .woocommerce ul.products,
  body.tax-product_cat .woocommerce ul.products,
  body.tax-product_tag .woocommerce ul.products {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.woocommerce-shop .woocommerce ul.products > li.product,
  body.post-type-archive-product .woocommerce ul.products > li.product,
  body.tax-product_cat .woocommerce ul.products > li.product,
  body.tax-product_tag .woocommerce ul.products > li.product {
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body.single-product .ecms-product-breadcrumb,
  body.single-product .ecms-product-layout,
  body.single-product .related,
  body.single-product .upsells {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body.single-product .ecms-product-gallery-card,
  body.single-product .ecms-product-summary-card,
  body.single-product .ecms-product-description-card {
    width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
  }

  .home-featured-products__catalog-button--desktop {
    display: none !important;
  }

  .home-featured-products__catalog-action {
    display: block;
    width: 100%;
    margin-top: 1.35rem;
  }

  .home-featured-products__catalog-button--mobile {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

@media (min-width: 721px) {
  .home-featured-products__catalog-button--mobile {
    display: none !important;
  }
}


/* ========================================================================
   Mobile catalog final corrections — v1.0.3
   - Keep the technical filter card permanently visible.
   - Center the shop title with selectors independent of body classes.
   - Remove any residual filter-toggle presentation.
   ======================================================================== */
@media (max-width: 720px) {
  .site-main--shop .woocommerce-products-header {
    display: block !important;
    width: 100% !important;
    margin: 0 auto 1.35rem !important;
    text-align: center !important;
  }

  .site-main--shop .woocommerce-products-header__title.page-title,
  .site-main--shop h1.woocommerce-products-header__title,
  .site-main--shop .page-title {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding-inline: 0 !important;
    text-align: center !important;
  }

  .site-main--shop .ecms-catalog-filter {
    display: block !important;
  }

  .site-main--shop .ecms-catalog-filter__summary {
    display: none !important;
  }

  .site-main--shop .ecms-catalog-filter__body {
    display: block !important;
  }
}

/* ========================================================================
   Mobile informational pages and account spacing — v1.0.4
   - Center About and Contact page headings only on mobile.
   - Restore comfortable gutters and vertical rhythm on My Account.
   ======================================================================== */
@media (max-width: 720px) {
  .ecms-about-simple__content > .eyebrow,
  .ecms-about-simple__content > h1,
  .ecms-contact-managed__content > .eyebrow,
  .ecms-contact-managed__content > h1 {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
  }

  .ecms-about-simple__content > .eyebrow,
  .ecms-contact-managed__content > .eyebrow {
    margin-bottom: .9rem !important;
  }

  body.woocommerce-account .site-main > .container.content-layout,
  body.woocommerce-account .site-main > .container.content-narrow {
    width: calc(100% - 2rem) !important;
    max-width: 760px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-top: 2.9rem !important;
    padding-bottom: 4.75rem !important;
  }

  body.woocommerce-account .entry-header {
    margin-bottom: 2.75rem !important;
    text-align: center !important;
  }

  body.woocommerce-account .entry-title {
    width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  body.woocommerce-account .entry-content,
  body.woocommerce-account .entry-content > .woocommerce,
  body.woocommerce-account .woocommerce #customer_login,
  body.woocommerce-account .woocommerce .u-columns,
  body.woocommerce-account .woocommerce .col2-set {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body.woocommerce-account .woocommerce #customer_login,
  body.woocommerce-account .woocommerce .u-columns.col2-set {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 3rem !important;
  }

  body.woocommerce-account .woocommerce #customer_login::before,
  body.woocommerce-account .woocommerce #customer_login::after,
  body.woocommerce-account .woocommerce .u-columns.col2-set::before,
  body.woocommerce-account .woocommerce .u-columns.col2-set::after {
    display: none !important;
  }

  body.woocommerce-account .woocommerce #customer_login > .u-column1,
  body.woocommerce-account .woocommerce #customer_login > .u-column2,
  body.woocommerce-account .woocommerce .u-columns > .col-1,
  body.woocommerce-account .woocommerce .u-columns > .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-account .woocommerce #customer_login h2,
  body.woocommerce-account .woocommerce .u-columns h2 {
    margin: 0 0 1rem !important;
    padding: 0 .25rem !important;
    font-size: clamp(1.8rem, 8.5vw, 2.35rem) !important;
    line-height: 1.1 !important;
  }

  body.woocommerce-account form.woocommerce-form-login,
  body.woocommerce-account form.woocommerce-form-register,
  body.woocommerce-account .woocommerce form.login,
  body.woocommerce-account .woocommerce form.register {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 1.4rem !important;
    border: 1px solid #dfe3e7 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 18px 44px rgba(17, 19, 23, .07) !important;
  }

  body.woocommerce-account .woocommerce form .form-row {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body.woocommerce-account .woocommerce form .form-row input.input-text {
    width: 100% !important;
  }
}

@media (max-width: 390px) {
  body.woocommerce-account .site-main > .container.content-layout,
  body.woocommerce-account .site-main > .container.content-narrow {
    width: calc(100% - 1.5rem) !important;
  }

  body.woocommerce-account form.woocommerce-form-login,
  body.woocommerce-account form.woocommerce-form-register,
  body.woocommerce-account .woocommerce form.login,
  body.woocommerce-account .woocommerce form.register {
    padding: 1.15rem !important;
  }
}


/* =========================================================
   CART CONFIRMATION PANEL — DESKTOP + MOBILE
   Presentation belongs to the theme; cart behavior lives in Core.
========================================================= */
.ecms-cart-confirmation[hidden] {
  display: none !important;
}

html.ecms-cart-panel-open,
body.ecms-cart-panel-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}

.ecms-cart-confirmation {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  justify-content: flex-end;
  pointer-events: none;
}

.ecms-cart-confirmation__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(5, 7, 9, .68);
  opacity: 0;
  cursor: default;
  pointer-events: auto;
  transition: opacity .28s ease;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}

.ecms-cart-panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(470px, 100%);
  height: 100%;
  max-height: 100%;
  padding: clamp(1.35rem, 3vw, 2rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #fff;
  box-shadow: -24px 0 70px rgba(0, 0, 0, .25);
  transform: translate3d(104%, 0, 0);
  transition: transform .3s cubic-bezier(.22, 1, .36, 1);
  pointer-events: auto;
  outline: none;
}

.ecms-cart-confirmation.is-open .ecms-cart-confirmation__backdrop {
  opacity: 1;
}

.ecms-cart-confirmation.is-open .ecms-cart-panel {
  transform: translate3d(0, 0, 0);
}

.ecms-cart-panel__header {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 44px;
  gap: .9rem;
  align-items: center;
  margin-bottom: 1.45rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #e2e5e8;
}

.ecms-cart-panel__status {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #ec1827;
  color: #fff;
  font-size: 1.45rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 12px 28px rgba(236, 24, 39, .25);
}

.ecms-cart-panel__eyebrow {
  margin: 0 0 .2rem;
  color: #ec1827;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .15em;
  line-height: 1.2;
  text-transform: uppercase;
}

.ecms-cart-panel__header h2 {
  margin: 0;
  color: #111317;
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  font-weight: 900;
  line-height: 1.05;
}

.ecms-cart-panel__close {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0 0 3px;
  border: 1px solid #d8dce0;
  border-radius: 50%;
  background: #fff;
  color: #16191d;
  font-family: Arial, sans-serif;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.ecms-cart-panel__close:hover,
.ecms-cart-panel__close:focus-visible {
  border-color: #ec1827;
  background: #fff4f5;
  transform: rotate(4deg);
  outline: 3px solid rgba(236, 24, 39, .16);
  outline-offset: 2px;
}

.ecms-cart-panel__data {
  display: block;
}

.ecms-cart-panel__product {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  gap: 1.15rem;
  align-items: start;
}

.ecms-cart-panel__image {
  display: grid;
  place-items: center;
  width: 108px;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid #e0e3e6;
  border-radius: 16px;
  background: #fff;
}

.ecms-cart-panel__image img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: contain;
}

.ecms-cart-panel__product-copy h3 {
  margin: 0 0 .65rem;
  color: #121418;
  font-size: 1.05rem;
  font-weight: 850;
  line-height: 1.28;
}

.ecms-cart-panel__specs {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem .75rem;
  margin: 0 0 .55rem;
}

.ecms-cart-panel__specs > div {
  display: inline-flex;
  gap: .25rem;
  align-items: baseline;
  color: #60666f;
  font-size: .82rem;
  line-height: 1.35;
}

.ecms-cart-panel__specs dt {
  margin: 0;
  font-weight: 800;
}

.ecms-cart-panel__specs dt::after {
  content: ':';
}

.ecms-cart-panel__specs dd {
  margin: 0;
}

.ecms-cart-panel__quantity,
.ecms-cart-panel__empty {
  margin: 0;
  color: #5d636b;
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.4;
}

.ecms-cart-panel__totals {
  display: grid;
  gap: .7rem;
  margin-top: 1.35rem;
  padding: 1rem 0;
  border-top: 1px solid #e2e5e8;
  border-bottom: 1px solid #e2e5e8;
}

.ecms-cart-panel__totals > div {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  align-items: baseline;
}

.ecms-cart-panel__totals span {
  color: #626871;
  font-size: .9rem;
  font-weight: 650;
}

.ecms-cart-panel__totals strong {
  color: #111317;
  font-size: 1rem;
  font-weight: 900;
  text-align: right;
}

.ecms-cart-panel__question {
  margin: auto 0 1rem;
  padding-top: 1.6rem;
  color: #111317;
  font-size: 1.15rem;
  font-weight: 850;
  line-height: 1.35;
  text-align: center;
}

.ecms-cart-panel__actions {
  display: grid;
  gap: .7rem;
}

.ecms-cart-panel__actions a,
.ecms-cart-panel__actions button {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 54px;
  margin: 0;
  padding: .85rem 1.15rem;
  border-radius: 999px;
  font-size: .96rem;
  font-weight: 900;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}

.ecms-cart-panel__actions a:hover,
.ecms-cart-panel__actions button:hover {
  transform: translateY(-1px);
}

.ecms-cart-panel__actions a:focus-visible,
.ecms-cart-panel__actions button:focus-visible {
  outline: 3px solid rgba(236, 24, 39, .22);
  outline-offset: 3px;
}

.ecms-cart-panel__checkout {
  gap: .65rem;
  border: 2px solid #ec1827;
  background: #ec1827;
  color: #fff !important;
  box-shadow: 0 14px 30px rgba(236, 24, 39, .22);
}

.ecms-cart-panel__checkout:hover {
  border-color: #cf0f1e;
  background: #cf0f1e;
}

.ecms-cart-panel__cart {
  border: 2px solid #24282d;
  background: #24282d;
  color: #fff !important;
}

.ecms-cart-panel__cart:hover {
  border-color: #08090b;
  background: #08090b;
}

.ecms-cart-panel__continue {
  min-height: 46px !important;
  border: 0;
  background: transparent;
  color: #a50d19;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.ecms-cart-panel__continue:hover {
  background: #fff5f6;
}

@media (max-width: 767px) {
  .ecms-cart-confirmation {
    align-items: flex-end;
  }

  .ecms-cart-panel {
    width: 100%;
    height: auto;
    max-height: min(88svh, 760px);
    padding: 1.2rem 1.15rem calc(1.15rem + env(safe-area-inset-bottom));
    border-radius: 26px 26px 0 0;
    box-shadow: 0 -22px 65px rgba(0, 0, 0, .26);
    transform: translate3d(0, 105%, 0);
  }

  .ecms-cart-panel::before {
    content: '';
    display: block;
    width: 46px;
    height: 5px;
    margin: -.35rem auto .8rem;
    border-radius: 999px;
    background: #d4d7da;
  }

  .ecms-cart-panel__header {
    grid-template-columns: 42px minmax(0, 1fr) 40px;
    gap: .75rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
  }

  .ecms-cart-panel__status {
    width: 42px;
    height: 42px;
    font-size: 1.2rem;
  }

  .ecms-cart-panel__close {
    width: 40px;
    height: 40px;
  }

  .ecms-cart-panel__product {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: .9rem;
  }

  .ecms-cart-panel__image {
    width: 88px;
    border-radius: 14px;
  }

  .ecms-cart-panel__product-copy h3 {
    font-size: .98rem;
  }

  .ecms-cart-panel__specs {
    gap: .25rem .55rem;
  }

  .ecms-cart-panel__specs > div {
    font-size: .76rem;
  }

  .ecms-cart-panel__totals {
    margin-top: 1rem;
    padding: .8rem 0;
  }

  .ecms-cart-panel__question {
    margin-top: 0;
    padding-top: 1.15rem;
    font-size: 1.02rem;
  }

  .ecms-cart-panel__actions a,
  .ecms-cart-panel__actions button {
    min-height: 50px;
    font-size: .92rem;
  }
}

@media (max-width: 390px) {
  .ecms-cart-panel {
    padding-right: .9rem;
    padding-left: .9rem;
  }

  .ecms-cart-panel__product {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .ecms-cart-panel__image {
    width: 76px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ecms-cart-confirmation__backdrop,
  .ecms-cart-panel,
  .ecms-cart-panel__actions a,
  .ecms-cart-panel__actions button {
    transition-duration: .01ms !important;
  }
}
