html {
  --accent: #fcb615;
  --error: #FF0000;
  --warning: #dc2626;
  --success: #398D39;
  --blue: #6593D7B2;
  --white: #FFFFFF;
  --light_gray1: #EDECE8;
  --light_gray2: #DCDBD8;
  --light_gray3: #F1F1F1;
  --light_gray4: #F9F9F9;
  --black: #000000;
  --dark: #515151;
  
  /* Avenir baseline normalization variables */
  --btn-text-offset: 0px;
  --btn-text-platform-correction: 0px;
  
  /* Prevent iOS text size adjustments */
  -webkit-text-size-adjust: 100%;
}

/* iOS-specific correction */
@supports (-webkit-touch-callout: none) {
  html {
    --btn-text-platform-correction: 1px;
  }
}

.noSelect {
  -ms-user-select: none;
  -webkit-touch-callout: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.displayNoneImportant {
  display: none !important;
}

.disabledInteractivity {
  pointer-events: none;
  touch-action: none;
}

/* ====================================================================
   AVENIR FONT-FACE WITH METRICS OVERRIDES
   Replace existing Avenir declarations or add if missing
   ==================================================================== */

/* Avenir Light (300) */
@font-face {
  font-family: 'AvenirLTStd';
  src: url("//bimotal.com/cdn/shop/t/55/assets/subset-AvenirLTStd-Light.woff2?v=33325308888349715931760634894") format('woff2'),
       url("//bimotal.com/cdn/shop/t/55/assets/subset-AvenirLTStd-Light.woff?v=151073396853327984391760634894") format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  ascent-override: 90%;
  descent-override: 22%;
  line-gap-override: 0%;
}

/* Avenir Book (400) */
@font-face {
  font-family: 'AvenirLTStd';
  src: url("//bimotal.com/cdn/shop/t/55/assets/subset-AvenirLTStd-Book.woff2?v=159759854375708543301760634894") format('woff2'),
       url("//bimotal.com/cdn/shop/t/55/assets/subset-AvenirLTStd-Book.woff?v=71566182302950562741760634894") format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  ascent-override: 90%;
  descent-override: 22%;
  line-gap-override: 0%;
}

/* Avenir Medium (500) */
@font-face {
  font-family: 'AvenirLTStd';
  src: url("//bimotal.com/cdn/shop/t/55/assets/subset-AvenirLTStd-Medium.woff2?v=173165817743977397101760634894") format('woff2'),
       url("//bimotal.com/cdn/shop/t/55/assets/subset-AvenirLTStd-Medium.woff?v=124772529762411229481760634894") format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  ascent-override: 90%;
  descent-override: 22%;
  line-gap-override: 0%;
}

/* Avenir Heavy (700) */
@font-face {
  font-family: 'AvenirLTStd';
  src: url("//bimotal.com/cdn/shop/t/55/assets/subset-AvenirLTStd-Heavy.woff2?v=1994229082912817491760634894") format('woff2'),
       url("//bimotal.com/cdn/shop/t/55/assets/subset-AvenirLTStd-Heavy.woff?v=92090290696531399531760634894") format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  ascent-override: 90%;
  descent-override: 22%;
  line-gap-override: 0%;
}

/* Avenir Black (900) */
@font-face {
  font-family: 'AvenirLTStd';
  src: url("//bimotal.com/cdn/shop/t/55/assets/subset-AvenirLTStd-Black.woff2?v=110646617343419336521760634894") format('woff2'),
       url("//bimotal.com/cdn/shop/t/55/assets/subset-AvenirLTStd-Black.woff?v=104128968756174752751760634894") format('woff');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
  ascent-override: 90%;
  descent-override: 22%;
  line-gap-override: 0%;
}

/* ====================================================================
   BUTTON BASELINE NORMALIZATION
   ==================================================================== */

/* Apply flexbox centering to all button-like elements */
.btn,
.button,
button[type="submit"],
button[type="button"],
a.button,
.shop_button,
[data-btn],
input[type="submit"],
input[type="button"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  -webkit-font-smoothing: antialiased;
  font-synthesis-style: none;
  font-synthesis-weight: none;
}

/* Apply transform correction to button labels */
.btn__label,
.button__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transform: translateY(calc(var(--btn-text-platform-correction) + var(--btn-text-offset)));
  will-change: transform;
}

/* Auto-apply to single child spans (for buttons without explicit .btn__label) */
.btn > span:only-child:not(.icon):not([class*="svg"]),
.button > span:only-child:not(.icon):not([class*="svg"]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transform: translateY(calc(var(--btn-text-platform-correction) + var(--btn-text-offset)));
  will-change: transform;
}