body .elc-iam,
body .elc-ramp {
  /* customize iam/tokens */
  --color-primary-50: #f5f5f5;
  --color-primary-100: #e7e7e7;
  --color-primary-300: #e2e1e1;
  --color-primary-350: #cccccc;
  --color-primary-380: #949494;
  --color-primary-400: #737373;
  --color-primary-500: #606060;
  --color-primary-900: #212121;
  --color-secondary: #a3d6c7;
  --color-error: #db2514;
  --color-warning: #94640a;
  --color-green: #008500;
  --color-splitter: #e0e0e0;
  --border-current: #c7c7c7;
  --font-body: var(--font-headline);
  --title-font: var(--font-headline);
  --text-base: 15px;
  --form-input-border-color: var(--border-current);
  --ramp-checkbox-icon: url("/tenant-web/brands/mac/icons/ramp-checkbox-checked.svg");
  --border-checkbox-checked: 1px solid var(--border-current);
  --border-radius: 3px;

  /* customize iam/roles */
  --bg-tab-hover: var(--color-secondary);
  --border-input: var(--color-primary-100);
  --border-current: var(--color-primary-350);
  --crossed-eye-bg: var(--color-primary-900);
  --iam-loyalty-background: #f5f5f5;
  --color-otp-verified: #bdbdbd;

  --iam-disclaimer-tooltip-border: var(--color-primary-50);
  --iam-disclaimer-tooltip-background: var(--color-primary-50);
}

body .minimal-footer {
  --color-footer-bg: var(--color-black);
  --color-mobile-footer-bg: var(--color-black);
  --color-footer-text: var(--color-white);
}

body .elc-iam .elc-button {
  --button-hover-background-color: var(--color-black);
  --border-radius: 100px;
}

body .elc-iam .elc-iam-sign-in-button,
body .elc-iam .elc-iam-submit-button {
  font-size: 0.75rem;
  line-height: 1.2;
  letter-spacing: 0.3px;
}

body .elc-iam .elc-tabs__panel {
  padding-block-end: 30px;
}

body .elc-iam .elc-iam-wrapper {
  padding-block-end: 0;
}

body .elc-iam-wrapper a {
  font-family: var(--font-body);
  font-size: inherit;
  color: inherit;
}

body .elc-iam-wrapper a:hover {
  color: var(--color-primary-900);
}

body .elc-iam .elc-tabs__tab {
  height: 56px;
}

body .elc-iam .elc-tabs__tab.elc-tabs__tab--current {
  border-block-end: 3px solid var(--color-black);
}

body .elc-iam .elc-tabs__tab .elc-tabs__tab-text {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 0.875;
  font-weight: 400;
  text-transform: uppercase;
  color: var(--color-primary-400);
}

body .elc-iam .elc-tabs__tab.elc-tabs__tab--current .elc-tabs__tab-text {
  color: var(--color-black);
}

body .elc-iam .elc-iam-title .elc-iam-title-text {
  font-size: var(--text-lg);
}

body .elc-iam input {
  --form-input-border-color: var(--color-primary-380);
  color: var(--color-black);
}

body .elc-iam input:focus {
  --form-input-border-color-focus: var(--color-primary-900);
}

body .elc-iam .elc-dropdown-arrow {
  inline-size: auto;
}

body .elc-iam .elc-dropdown-arrow-icon {
  margin-inline-start: 10px;
  margin-inline-end: 10px;
}

body .elc-iam .elc-input-field {
  --form-input-font-size: 1rem;
  --form-input-latter-spacing: 0.005em;
  font-family: var(--font-body);
}

.elc-iam .elc-dropdown-option,
.elc-iam .elc-dropdown-readonly-input,
.elc-iam.elc-iam-in-store .elc-dropdown-option {
  font-size: 1rem;
}

body .elc-iam .elc-checkbox-label {
  --checkbox-label-font-size: 0.875rem;
  --checkbox-label-line-height: 1.285;
  --checkbox-label-color: var(--color-black);
}

body .elc-iam-terms-conditions,
body .elc-iam-reviewPrivacyNotice-wrapper > div {
  margin-block-start: 10px;
}

body .elc-iam-terms-conditions,
body .elc-iam-terms-conditions a,
body .elc-iam .elc-iam-privacy-label,
body .elc-iam .elc-iam-privacy-hidden-text,
body .elc-iam .elc-iam-privacy-hidden-text a,
body .elc-iam .elc-iam-text-acceptPrivacyPolicyAndTnc,
body .elc-iam .elc-iam-text-acceptPrivacyPolicyAndTnc a {
  color: var(--color-black);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.17;
}

body .elc-iam .elc-iam-privacy-hidden-text,
body .elc-iam .elc-iam-privacy-hidden-text a {
  color: var(--color-secondary-700);
}

body .elc-iam .elc-iam-privacy-hidden-text span,
body .elc-iam-terms-conditions a:hover,
body .elc-iam-terms-conditions a:focus,
body .elc-iam .elc-iam-privacy-label:hover,
body .elc-iam .elc-iam-privacy-hidden-text a:hover,
body .elc-iam .elc-iam-privacy-hidden-text a:focus {
  color: var(--color-black);
}

body .elc-iam .elc-dropdown {
  border-color: var(--color-primary-400);
  margin-inline-end: 10px;
}

body .elc-iam .elc-grid-column:last-child .elc-dropdown {
  margin-inline-end: 0;
}

body .elc-iam .elc-floating-label-string {
  padding: 0 2px;
  color: var(--color-black);
  font-size: 0.75rem;
  line-height: 1.167;
}

.elc-iam .elc-floating-label__label-wrapper span {
  padding: 0 2px;
}

body .elc-iam .elc-iam-label {
  font-size: var(--text-base);
}

body .elc-iam .elc-iam-forgot-password-button {
  font-size: 1rem;
  letter-spacing: 0.25px;
  font-weight: 400;
  color: var(--color-black);
}

body .elc-iam .elc-iam-forgot-password-button:hover {
  color: var(--button-hover-background-color);
}

body .elc-iam .elc-iam-password-criteria-item-wrapper {
  color: var(--color-primary-400);
}

body
  .elc-iam
  .elc-iam-passwordCriteria-wrapper
  .elc-iam-password-criteria-item.matched {
  color: var(--color-black);
}

body
  .elc-iam
  .elc-iam-passwordCriteria-wrapper
  .elc-iam-password-criteria-item.matched::before {
  color: var(--color-password-strength-strong);
}

/* In-store IAM */
body .elc-ramp .elc-iam-title .elc-iam-title-text {
  font-family: var(--font-headline);
}

body .elc-dropdown {
  --form-input-border-color: var(--border-current);
}

body .elc-dropdown-options-list {
  padding-inline-start: 2px;
}

body input.elc-input-field.elc-floating-label-input-errorField {
  border-color: var(--color-error);
  color: var(--color-error);
}

body .elc-floating-label-input-error span.elc-floating-label__text-wrapper {
  color: var(--color-error);
}

body .elc-iam .elc-iam-birthdayOptional-wrapper p {
  margin-block-end: 8px;
}

body .elc-ramp .elc-iam-acceptPrivacyPolicyAndTnc-wrapper a {
  font-size: var(--text-sm);
}

body .elc-iam .elc-iam-social-button-facebook {
  text-transform: none;
}

body .elc-iam .elc-iam-text-acceptPrivacyPolicyAndTnc {
  margin-block-start: 15px;
}

body
  .elc-iam-in-store
  .elc-iam-section-contactSection-wrapper
  .elc-checkbox-label
  a,
body .elc-iam-in-store .elc-iam-label {
  color: var(--color-black);
}

body .elc-iam-in-store .elc-iam-text-birthdayOptional,
body .elc-iam-in-store .elc-iam-text-contentPreferenceTitle {
  font-size: var(--text-lg);
  font-family: var(--font-headline);
  font-weight: 700;
}

.elc-floating-label-input,
.elc-input-field,
.elc-dropdown,
.elc-textarea {
  --form-input-background-disabled: var(--input-disabled-background);
  --form-input-border-color-disabled: var(--color-primary-400);
  --form-input-color-disabled: var(--color-black);
}

body .elc-iam .elc-eye-icon,
body .elc-iam .elc-eye-crossed-icon {
  opacity: 1;
}

body
  .iam-loyalty
  .elc-iam-section-loyaltySection-wrapper
  .elc-iam-loyaltyCallout-wrapper
  p {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.285;
}

body .vulcan-iam .iam-loyalty .elc-iam-loyaltyCallout-wrapper::after {
  --iam-loyalty-color: #cccccc;
}

body .vulcan-iam .iam-loyalty .elc-iam-section-loyaltySection-wrapper {
  --iam-loyalty-background: #f9f9f9;
  padding-block-start: 20px;
}

body
  .vulcan-iam
  .iam-loyalty
  .elc-iam-section-loyaltySection-wrapper
  .elc-iam-loyaltyCallout-wrapper {
  padding-block-end: 18px;
}

body .vulcan-iam .elc-iam-wrapper {
  padding: 8px 0 20px;
}

body .vulcan-iam .elc-tabs__panel {
  padding: 28px 16px 0;
}

body .vulcan-iam .elc-iam-sign-in-button {
  margin-block-start: 34px;
}

.vulcan-iam .iam-loyalty .elc-iam-loyaltyCallout-wrapper::before {
  min-width: 47px;
  min-height: 46px;
  --brand-logo-loyalty: url('/tenant-web/brands/mac/loyalty-logo.png');
}

@media (min-width: 1024px) {
  body .vulcan-iam .elc-iam-wrapper {
    padding: 0;
    padding-block-end: 30px;
  }

  body .vulcan-iam .elc-tabs__panel {
    padding: 38px 0 0;
  }

  body .vulcan-iam .elc-tabs__tab {
    margin-block-start: 29px;
    block-size: 55px;
  }

  body .vulcan-iam .iam-loyalty .elc-iam-section-loyaltySection-wrapper {
    margin-block-start: -8px;
  }

  body .vulcan-iam .elc-iam-sign-in-button {
    margin-block-start: 18px;
  }
}
