/**
 * CTO Configurable
 */
.cto-configurable {
  display: block;
  margin-bottom: 42px;
}

.cto-configurable--reduced-margin {
  margin-bottom: 32px;
}

.cto-configurable--no-margin {
  margin-bottom: 0;
}

.cto-configurable__sticky-atc-bar .expedited-checkout .apple-button {
  -apple-pay-button-type: check-out !important;
}

.cto-configurable__sticky-atc-bar .checkout-button__link {
  margin: 5px auto 0;
  display: flex;
  white-space: nowrap;
}

.cto-configurable__sticky-atc-bar .ac-modal-trigger,
.cto-configurable__sticky-atc-bar .checkout-button__link,
.cto-configurable__accordion-menu .ac-modal-trigger {
  letter-spacing: 0;
}

.cto-configurable__sticky-atc-bar .ac-modal-trigger:hover,
.cto-configurable__sticky-atc-bar .checkout-button__link:hover,
.cto-configurable__accordion-menu .ac-modal-trigger:hover {
  color: var(--color-tertiary-dynamic-hover) !important;
  text-decoration: none;
}

.cto-configurable__sticky-atc-bar .pickup-availability-preview,
.cto-configurable__sticky-atc-bar .free_shipping_msg {
  font-size: 14px;
}

.cto-configurable__sticky-atc-bar .net-monthly-pricing__modal-trigger .billboard_icon {
  margin-left: 3px;
}

.cto-configurable__sticky-atc-bar .pickup-availability-preview .pickup-availability-info {
  margin-top: 4px;
}

.cto-configurable__sticky-atc-bar .free_shipping_msg {
  align-items: flex-end;
  margin-top: 4px;
  line-height: 20px;
}

.cto-configurable__sticky-atc-bar .free_shipping_msg .cto-shipping-message {
  margin-bottom: 1px;
}

.cto-configurable__sticky-atc-bar .pickup-availability-preview svg,
.cto-configurable__sticky-atc-bar .free_shipping_msg svg {
  height: 20px;
  width: 20px;
  min-width: 20px;
}

pickup-availability.cto__pickup .pickup-availability-info {
  display: flex;
  flex-wrap: wrap;
}

pickup-availability.cto__pickup .pickup-availability-info .pickup-availability__time,
pickup-availability.cto__pickup .pickup-availability-info .caption,
pickup-availability.cto__pickup .pickup-availability-info .pickup-availability-button {
  font-weight: 600;
}

@media screen and (min-width: 1024px) {
  .cto-configurable__title {
    margin-bottom: 0;
  }
}

.cto-configurable__accordion {
  border-bottom: 1px solid #D9D9D9;
  min-width: auto;
}

.cto-configurable__accordion:last-child {
  border-bottom: 0;
}

.cto-configurable__accordion-btn {
  position: relative;
  display: block;
  background-color: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
  width: 100%;
  padding: 24px 24px 24px 0;
  color: #000;
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
}

@media screen and (min-width: 1024px) {
  .cto-configurable__accordion-btn {
    padding-top: 16px;
    padding-bottom: 16px;
  }
}

.cto-configurable__fieldset {
  margin: 0;
}

.cto-configurable__fieldset.is-hidden {
  display: none;
}

.cto-configurable__legend {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 70px;
  width: 100%;
}

.cto-configurable__legend-label {
  font-weight: 600;
  text-align: left;
}

.cto-configurable__legend-active-option {
  text-align: right;
}


.cto-configurable__accordion-btn-icon {
  position: absolute;
  right: 0;
  top: 24px;
}

@media screen and (min-width: 1024px) {
  .cto-configurable__accordion-btn-icon {
    top: 16px;
  }
}

.cto-configurable__accordion.is-open .cto-configurable__accordion-btn-icon {
  transform: scaleY(-1);
}

.cto-configurable__accordion-menu {
  display: none;
  padding-bottom: 16px;
  align-items: center;
  justify-content: left;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .cto-configurable__accordion-menu {
    margin-top: -20px;
  }
}

.cto-configurable__accordion.is-open .cto-configurable__accordion-menu {
  display: flex;
}

.cto-configurable__option-label {
  text-decoration: none !important;
  flex-direction: column;
}

.cto-configurable__option-label::before,
.cto-configurable__option-label::after {
  display: none;
}

.cto-configurable__option-label-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  color: #000;
  width: 100%;
}

.cto-configurable__option-label-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cto-configurable__option-label-warning {
  color: #333;
  font-size: 12px;
  font-weight: 400;
  line-height: 14px;
  letter-spacing: normal;
}

.cto-configurable__option-label-from-price {
  text-align: right;
  font-size: 12px;
  font-weight: 400;
  line-height: 14px;
  letter-spacing: normal;
}

.cto-configurable__option-label-extra-message {
  width: 100%;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #D9D9D9;
  color: #000;
  font-size: 12px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: normal;
}

.cto-configurable__option-label-extra-message--invalid-combo {
  font-weight: 600;
  line-height: 14px;
  color: #0071E3;
}

.cto-configurable__option-label-extra-message--invalid-combo:hover,
.cto-configurable__option-label-extra-message--invalid-combo:focus {
  color: var(--color-tertiary-dynamic-hover) !important;
}

.cto-configurable__option-label-extra-message--invalid-combo:hover,
.cto-configurable__option-label-extra-message--invalid-combo:focus {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  text-decoration-thickness: 0.1rem;
}

.cto-configurable__option-label-from-price .net-monthly-pricing--pdp {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

.cto-configurable__option-label-from-price .net-monthly-pricing__conditional-text {
  display: none !important;
}

.cto-configurable__option-label-from-price .net-monthly-pricing .net-monthly-pricing__modal-trigger {
  font-size: 12px;
  font-weight: 400;
  line-height: 14px;
  color: inherit;
  pointer-events: none;
}

.cto-configurable__option-label-from-price .net-monthly-pricing .net-monthly-pricing__modal-trigger i {
  display: none;
}

.net-monthly-pricing__conditional-text {
  color: #595959;
}

.cto-configurable__sticky-atc-bar {
  left: 0;
  margin-left: 0;
}

.cto-configurable__sticky-atc-bar pickup-availability.cto__pickup .pickup-availability-info > * {
  display: flex;
  column-gap: 4px;
  vertical-align: middle;
}

.cto-configurable__sticky-atc-bar .cto-shipping-message span {
  color: #008900;
  font-weight: 600;
}

.cto-configurable__sticky-atc-bar .is-unavailable .cto-shipping-message span {
  color: #6E6E73;
}

@media screen and (max-width: 767px) {
  .cto-configurable__sticky-atc-bar {
    display: none;
  }
}

.cto-configurable__advanced-customization-wrapper {
  margin-top: 24px;
}

@media screen and (min-width: 1024px) {

  .cto-configurable__option-label {
    padding: 16px !important;
    margin-bottom: 12px !important;
  }

  .cto-configurable__advanced-customization-wrapper {
    margin-top: 42px;
    margin-bottom: 8px;
  }
}

.cto-configurable__advanced-customization {
  border: none;
  display: flex;
  gap: 16px;
}

.cto-configurable__advanced-customization-option {
  width: 50%;
}

.cto-configurable__advanced-customization-option-input {
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
  position: absolute;
  height: 1px;
  width: 1px;
}

.cto-configurable__advanced-customization-option-label {
  display: block;
  border-radius: 8px;
  border: 1px solid rgba(var(--color-foreground), var(--variant-pills-border-opacity));;
  padding: 16px;
  color: #000;
  font-size: 14px;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: normal;
  width: 100%;
  cursor: pointer;
}

.cto-configurable__advanced-customization-option-input:checked + .cto-configurable__advanced-customization-option-label {
  border-color: var(--color-link-dynamic-label);
  border-width: 2px;
}

.cto-configurable__advanced-customization-option-input:disabled + .cto-configurable__advanced-customization-option-label {
  cursor: auto;
  opacity: 0.1;
}

@media screen and (min-width: 1024px) {
  .cto-configurable__advanced-customization-option-label {
    font-size: 16px;
    line-height: 20px;
  }

  .cto-configurable .title-tip-color-swatch {
    height: 44px !important;
    width: 44px !important;
  }

  .cto-configurable input[type="radio"]:checked + .color-swatch {
    height: 54px !important;
    width: 54px !important;
  }
}

/* mobile */
@media screen and (max-width: 1023px) {
  .cto-configurable__accordion-menu .cto-configurable__option-label {
    margin-top: 14px !important;
    padding: 14px !important;
  }

  .cto-configurable__accordion-menu .cto-configurable__option-label .cto-configurable__option-label-text {
    font-size: 16px;
    font-weight: 500;
    line-height: 20px;
  }

  .cto-configurable__option-label + .seedkit-component-standalone {
    padding-top: 16px;
  }

  .cto-configurable__accordion-menu .cto-configurable__option-label .cto-configurable__option-label-extra-message {
    font-size: 12px;
    line-height: 14.32px;
  }

  .cto-insurance .add-on-element.care-info {
    font-size: 14px;
    font-weight: 500;
    line-height: 16px;
  }

  .cto-insurance .cto-insurance__pricing {
    color: #000;
  }

  .cto-configurable__title {
    margin-bottom: 0;
    letter-spacing: -.05em;
  }

  .cto-configurable__accordion-menu .cto-configurable__option-label {
    margin: 12px 0 0 !important;
  }

  .cto-configurable__accordion-menu .title-tip-color-swatch.title-tip-color-swatch--cto {
    margin: 16px 0 0;
  }
}

.cto-configurable__select-accordion {
  width: 100%;
}

@media screen and (max-width: 1023px) {
  .cto-configurable__select-accordion {
    margin-top: 12px;
  }
}

.cto-configurable__select-accordion-btn {
  position: relative;
  display: block;
  background-color: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
  width: 100%;
  padding: 12px 48px 12px 16px;
  border-radius: 4px;
  border: 0.8px solid #333333;
  background: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  color: #000;
  text-align: left;
  font-family: inherit;
}

.cto-configurable__select-accordion-btn-icon {
  position: absolute;
  right: 12px;
  top: 12px;
}

.cto-configurable__select-accordion-menu {
  margin-top: 4px;
  width: 100%;
  padding: 12px 16px;
  border-radius: 4px;
  border: 0.8px solid #D9D9D9;
  background: #fff;
}

.cto-configurable__select-accordion-active-option:not(:empty) + .cto-configurable__select-accordion-no-active-option {
  display: none;
}

.cto-configurable__select-accordion-btn-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

.cto-configurable__select-accordion.is-open .cto-configurable__select-accordion-btn-icon {
  transform: scaleY(-1);
}

.cto-configurable__select-accordion-menu input[type=radio] + label {
  border: none !important;
  border-radius: 0 !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
}

.product-form__input .cto-configurable__select-accordion-menu input[type=radio].disabled + label.title-tip:hover {
  border: none !important;
}

@media screen and (min-width: 1024px) {
  .cto-configurable__select-accordion-menu input[type=radio] + label {
    margin-bottom: 4px !important;
  }
}

.cto-configurable__select-accordion-menu input[type=radio] + label:last-child {
  margin-bottom: 0 !important;
}

.cto-configurable__select-accordion-menu .cto-configurable__option-label > *:not(.cto-configurable__option-label-wrapper),
.cto-configurable__select-accordion-menu .cto-configurable__option-label-wrapper > *:not(.cto-configurable__option-label-text),
.cto-configurable__select-accordion-menu .cto-configurable__option-label-text > *:not(.cto-configurable__option-label-value) {
  display: none !important;
}

.product-form__input input[type=radio][data-option_name="Color"].disabled + label.color-swatch {
  text-decoration: none;
  border: 1px solid #d4d8e0 !important;
}

.product-form__input input[type=radio][data-option_name="Color"].disabled + label.color-swatch:hover {
  border-color: #0071e3 !important;
}

.product-form__input input[type=radio][data-option_name="Color"].disabled + label.color-swatch .disabled_img,
.product-form__input input[type=radio][data-option_name="Color"].disabled + label.color-swatch::after,
.product-form__input input[type=radio][data-option_name="Color"].disabled + label.color-swatch::before {
  display: none;
}

.vat-product-enabled .cto-configurable__sticky-atc-bar #price-element .actual_price,
.vat-product-enabled .cto-configurable__sticky-atc-bar #price-element .compare_price {
  display: none;
}
