/* 
  Setup CSS usage, per scope (.elc-checkout role), for checkout app,
  NOTE: body specificity is temporary (and required) till we cleanup the css within rco
*/
/* TODO: cleanup default theming below as we introduce more generic components styles */

html {
  -webkit-text-size-adjust: 100%;
}

.elc-checkout hr {
  border-top: 1px solid var(--color-separator);
}

.app-loading-container {
  background: var(--color-body-minimal-bg);
}

/* adding this min-height to main-site to avoid the footer to be the first content paint on mobile
before the checkout is loaded to improve CLS(Cumulative Layout Shift) */
.main-content {
  min-height: 100vh;
}

@media only screen and (min-width: 768px) {
  .main-content {
    min-height: unset;
  }
}

/*-------------------------- DELIVERY PAGE --------------------------*/

/* HOME DELIVERY ----------------------------------------------------*/

/* Progress bar styles ----------------------------------------------*/
/* items */
.site_main_progressbar .elc-navigation-header-item h6 {
  font-family: var(--progress-bar-font-family);
  color: var(--progress-bar-color);
  font-size: var(--progress-bar-font-size);
  font-weight: var(--progress-bar-font-weight);
  line-height: var(--progress-bar-line-height);
  letter-spacing: var(--progress-bar-letter-spacing);
  text-transform: var(--progress-bar-text-transform);
}

/* active items */
.site_main_progressbar .elc-navigation-header-item.elc-navigation-header-item-active h6 {
  color: var(--progress-bar-active-color);
  font-weight: var(--progress-bar-active-font-weight);
}

/* progress bar color */
.site_main_progressbar .elc-progressbar-container-wrapper {
  background-color: var(--progress-bar-line-bg-color);
}

/* active progress bar color */
.site_main_progressbar .elc-progressbar-container-wrapper div {
  background-color: var(--progress-bar-line-active-bg-color);
}

/* done icon */
.site_main_progressbar .elc-done-icon {
  background-color: var(--text-color-strong);
}

.lock-icon {
  background-color: var(--color-warning);
  min-width: 24px;
}

/* Delivery option tabs styles --------------------------------------*/
.elc-tabs .elc-tabs__list .elc-tabs__tab {
  background-color: var(--delivery-options-tabs-background-color);
  border-color: var(--color-separator);
  color: var(--delivery-options-tabs-color);
  font-family: var(--delivery-options-tabs-font-family);
  font-size: var(--delivery-options-tabs-font-size);
  font-weight: var(--delivery-options-tabs-font-weight);
  line-height: var(--delivery-options-tabs-line-height);
  letter-spacing: var(--delivery-options-tabs-letter-spacing);
  overflow: hidden;
}

.elc-tabs .elc-tabs__list .elc-tabs__tab:hover {
  border-color: var(--text-color-strong);
}

.elc-tabs .elc-tabs__list .elc-tabs__tab.disabled {
  background: var(--gift-card-disabled-backgroud-color);
  cursor: not-allowed;
}

.elc-tabs__tab .elc-tabs__tab-subtitle {
  color: var(--delivery-options-tabs-subtitle-color);
  font-weight: 400;
}

.elc-tabs .elc-tabs__list .elc-tabs__tab--current {
  border-color: var(--text-color-strong);
  font-weight: var(--delivery-options-tabs-active-font-weight);
  color: var(--delivery-options-tabs-active-color);
}

.elc-tabs .elc-tabs__list .elc-tabs__tab--current .elc-tabs__tab-subtitle {
  color: var(--delivery-options-tabs-subtitle-active-color);
}

@media only screen and (max-width: 768px) {
  .elc-tabs__panels-wrapper .bopis-screen-container .elc-store-card {
    border-radius: 0;
    border: 0;
    border-bottom: 1px solid #e0e0e0;
    margin: 20px -16px;
  }
}

@media only screen and (max-width: 768px) {
  .home-delivery-tab,
  .same-day-delivery-tab {
    margin-right: 10px;
  }
}

/* Section container styles -----------------------------------------*/
.elc-screen-section,
.rc-sidebar-order-summary,
.elc-payment-methods-wrapper .acac-payment-method-accordion {
  background-color: var(--section-container-background-color);
}

.elc-screen-section,
.elc-payment-methods-wrapper {
  border: 1px solid var(--color-separator);
  border-left: 0;
  border-right: 0;
  border-radius: 0;
}

@media only screen and (min-width: 960px) {
  .elc-screen-section, .elc-payment-methods-wrapper {
    border-left: 1px solid var(--color-separator);
    border-right: 1px solid var(--color-separator);
  }
}

.elc-screen-section.elc-screen-section-secondary {
  background-color: transparent;
  border: none;
}

.elc-vertical-bar {
  border-color: var(--color-separator);
}

/* Section label styles ---------------------------------------------*/
.acac-delivery-screen-container > h1,
.elc-screen-section .section-label,
.rc-sidebar-order-summary .elc-header-label,
.salon-commission-label .elc-header-label,
.elc-donation-title,
.acac-shopping-bag-header,
.rc-info-card-title,
.rc-contact-info-label,
.rc-same-day-panel-header,
.same-day-delivery-price,
.bopis-screen-container-title,
.edit-bag .edit-bag-select-option {
  color: var(--section-label-text-color);
  font-family: var(--section-label-font-family);
  font-size: var(--section-label-font-size);
  font-weight: var(--section-label-font-weight);
  line-height: var(--section-label-line-height);
  letter-spacing: var(--section-label-letter-spacing);
  text-decoration: none;
  text-transform: var(--section-label-text-transform);
}

.edit-bag .edit-bag-select-option {
  color: var(--bopis-edit-bag-options-title-color);
  font-size: var(--bopis-edit-bag-options-title-font-size);
  font-weight: var(--bopis-edit-bag-options-title-font-weight);
  letter-spacing: var(--bopis-edit-bag-options-title-letter-spacing);
}

.rc-contact-info-label {
  text-transform: uppercase;
}

.elc-header-label {
  text-overflow: clip;
  overflow: initial;
  white-space: normal;
  width: 100%;
}

/* disclaimer text */
.rc-same-day-delivery-panel .rc-same-day-delivery-text:not(.rc-same-day-disabled div),
.rc-same-day-delivery-disclaimer-text,
.rc-same-day-delivery-panel.same-day-delivery-get-it-by-text,
.limited-country-label,
.elc-screen-section .acac-edit-address-subtitle-text,
.rc-named-delivery-instructions,
.provide-postal-code-label {
  font-family: var(--disclaimer-text-font-family);
  color: var(--disclaimer-text-color);
  font-size: var(--disclaimer-text-font-size);
  font-weight: var(--disclaimer-text-font-weight);
  line-height: var(--disclaimer-text-line-height);
  letter-spacing: var(--disclaimer-text-letter-spacing);
}

/* Address styles ---------------------------------------------------*/
/* default address text */
.acac-address-list div[id*='option-'],
.delivery-address-default-message,
.acac-billing-from-container div[id*='option-'] {
  font-family: var(--address-font-family);
  color: var(--address-color);
  font-size: var(--address-font-size);
  font-weight: var(--address-font-weight);
  line-height: var(--address-line-height);
  letter-spacing: var(--address-letter-spacing);
}

.delivery-address-default-message {
  color: var(--address-default-label-color);
}

.elc-screen-section .acac-address-fullname,
.elc-screen-section .acac-address-item.first-row,
.elc-screen-section .acac-company-billing-item.first-row {
  font-family: var(--address-first-line-font-family);
  font-size: var(--address-first-line-font-size);
  font-weight: var(--address-first-line-font-weight);
  line-height: var(--address-first-line-line-height);
  letter-spacing: var(--address-first-line-letter-spacing);
  text-transform: var(--address-first-line-text-transform);
  padding-bottom: 0.2em;
}

.acac-address-item:not(.first-row) {
  color: var(--address-description-color);
}

.address-list .default-address-label {
  background-color: var(--address-default-label-background-color);
}

/* Shipping method styles -------------------------------------------*/
.shipping-method {
  font-family: var(--shipping-method-font-family);
  color: var(--shipping-method-color);
  font-size: var(--shipping-method-font-size);
  font-weight: var(--shipping-method-font-weight);
  line-height: var(--shipping-method-line-height);
  letter-spacing: var(--shipping-method-letter-spacing);
}

.shipping-method .shipping-number-of-days {
  color: var(--shipping-method-number-of-days-color);
  font-family: var(--shipping-method-number-of-days-font-family);
  font-weight: var(--shipping-method-number-of-days-font-weight);
  letter-spacing: var(--shipping-method-number-of-days-letter-spacing);
  text-transform: lowercase;
}

.shipping-method .shipping-price {
  font-weight: var(--shipping-method-price-font-weight);
  text-transform: var(--shipping-method-price-text-transform);
}

.shipping-method .shipping-price-without-discount {
  color: var(--shipping-method-price-without-discount-color);
  font-weight: var(--shipping-method-price-without-discount-font-weight);
  text-decoration: line-through;
  text-decoration-color: var(--shipping-method-price-without-discount-text-decoration-color);
}

.shipping-method button.elc-tooltip-visible-text {
  text-decoration: none;
}

.shipping-method .method-name {
  text-transform: var(--shipping-method-name-text-transform);
}

.shipping-method .method-name:first-line {
  text-transform: capitalize;
}

.rc-info-icon {
  background: var(--text-color-strong);
  color: #fff;
}

.elc-signature-required-message {
  color: var(--text-color-medium);
  font-size: var(--text-base);
}

/* Privacy notice text styles ---------------------------------------*/
.elc-privacy-notice-wrapper .elc-tooltip-visible-text {
  color: var(--privacy-notice-text-color);
  font-size: var(--privacy-notice-text-font-size);
  font-weight: var(--privacy-notice-text-font-weight);
  line-height: var(--privacy-notice-text-line-height);
  letter-spacing: var(--privacy-notice-text-letter-spacing);
}

/* Order summary styles ---------------------------------------------*/
.acac-aside-item-wrapper .elc-label-slide-content,
.acac-aside-item-wrapper .rc-sidebar-order-summary-content {
  font-family: var(--order-summary-font-family);
  color: var(--order-summary-color);
  font-size: var(--order-summary-font-size);
  font-weight: var(--order-summary-font-weight);
  line-height: var(--order-summary-line-height);
  letter-spacing: var(--order-summary-letter-spacing);
}

/* total price */
.acac-sidebar-order-summary-total {
  color: var(--order-summary-total-price-color);
  font-family: var(--order-summary-total-price-font-family);
  font-weight: var(--order-summary-total-price-font-weight);
  text-transform: var(--order-summary-total-price-text-transform);
}

/* discounted price */
.acac-cart-item-discounted-price {
  color: var(--order-summary-discounted-price-color);
}

.acac-sidebar-order-summary-vat-label {
  text-transform: none;
}

.rc-sidebar-order-summary-value,
.rc-info-card-edit,
.rc-offer-code-edit {
  text-transform: uppercase;
  white-space: nowrap;
}

/* offer code */
.acac-sidebar-order-summary-offer-code-title {
  color: var(--text-color-strong);
}

.acac-offer-code-text {
  font-family: var(--order-summary-offer-code-font-family);
  color: var(--order-summary-offer-code-color);
  font-size: var(--order-summary-offer-code-font-size);
  font-weight: var(--order-summary-offer-code-font-weight);
  line-height: var(--order-summary-offer-code-line-height);
  letter-spacing: var(--order-summary-offer-code-letter-spacing);
}

.acac-offer-code {
  border: 0;
  border-radius: 0;
}

.acac-offer-code-text+a div.elc-edit-link {
  white-space: nowrap;
  margin-left: 8px;
}

.elc-order-summary-afterpay-wrapper {
  color: var(--paragraph-message-color);
}

/* Shopping bag styles ----------------------------------------------*/
.cart-item-headings {
  margin-bottom: 3px;
}

.cart-item-name {
  font-family: var(--shopping-bag-cart-item-name-font-family);
  color: var(--shopping-bag-cart-item-name-color);
  font-size: var(--shopping-bag-cart-item-name-font-size);
  font-weight: var(--shopping-bag-cart-item-name-font-weight);
  line-height: var(--shopping-bag-cart-item-name-line-height);
  letter-spacing: var(--shopping-bag-cart-item-name-letter-spacing);
  text-transform: var(--shopping-bag-cart-item-name-text-transform);
}

.cart-item-child,
.cart-item-quantity {
  font-family: var(--shopping-bag-cart-item-description-font-family);
  color: var(--shopping-bag-cart-item-description-color);
  font-size: var(--shopping-bag-cart-item-description-font-size);
  font-weight: var(--shopping-bag-cart-item-description-font-weight);
  line-height: var(--shopping-bag-cart-item-description-line-height);
  letter-spacing: var(--shopping-bag-cart-item-description-letter-spacing);
}

.cart-item-subproduct-name {
  color: var(--shopping-bag-cart-item-subproduct-name-color);
  display: var(--shopping-bag-cart-item-subproduct-name-display);
  font-weight: var(--shopping-bag-cart-item-subproduct-name-font-weight);
}

.acac-cart-item-initial-price,
.acac-cart-item-price,
.acac-cart-item-total-price,
.acac-gift-item-price-label,
.acac-cart-item-complimentary-gift-label,
.gift-item-total-price {
  font-family: var(--shopping-bag-cart-item-price-font-family);
  color: var(--shopping-bag-cart-item-price-color);
  font-size: var(--shopping-bag-cart-item-price-font-size);
  font-weight: var(--shopping-bag-cart-item-price-font-weight);
  line-height: var(--shopping-bag-cart-item-price-line-height);
  letter-spacing: var(--shopping-bag-cart-item-price-letter-spacing);
}

.acac-cart-item-initial-price {
  color: var(--shopping-bag-cart-item-initial-price-color);
  font-weight: var(--shopping-bag-cart-item-initial-price-font-weight);
  text-decoration-color: var(--shopping-bag-cart-item-initial-price-text-decoration-color);
}

.acac-cart-item-total-price,
.gift-item-total-price {
  font-weight: var(--shopping-bag-cart-item-total-price-font-weight);
  text-transform: uppercase;
}

/* Gift wrap styles ------------------------------------------------*/
.gift-wrap-card .rc-info-card-subtitle {
  font-size: var(--gift-wrap-subtitle-font-size);
  font-weight: var(--gift-wrap-subtitle-font-weight);
  letter-spacing: var(--gift-wrap-subtitle-letter-spacing);
}

/* User email styles ------------------------------------------------*/
.user-email-address {
  color: var(--user-email-color);
  font-size: var(--user-email-font-size);
  font-weight: var(--user-email-font-weight);
  line-height: var(--user-email-line-height);
  letter-spacing: var(--user-email-letter-spacing);
}

.log-out-button {
  color: var(--user-logout-color);
  font-size: var(--user-logout-font-size);
  font-weight: var(--user-logout-font-weight);
  text-decoration: var(--user-logout-text-decoration);
  text-transform: var(--user-logout-text-transform);
}

/* Our guarantee styles ---------------------------------------------*/
/* title */
.elc-our-guarantee-title {
  font-family: var(--out-guarantee-title-font-family);
  color: var(--out-guarantee-title-color);
  font-size: var(--out-guarantee-title-font-size);
  font-weight: var(--out-guarantee-title-font-weight);
  line-height: var(--out-guarantee-title-line-height);
  letter-spacing: var(--out-guarantee-title-letter-spacing);
  text-transform: var(--out-guarantee-title-text-transform);
}

/* body */
.elc-our-guarantee-body {
  font-family: var(--out-guarantee-body-font-family);
  color: var(--out-guarantee-body-color);
  font-size: var(--out-guarantee-body-font-size);
  font-weight: var(--out-guarantee-body-font-weight);
  line-height: var(--out-guarantee-body-line-height);
  letter-spacing: var(--out-guarantee-body-letter-spacing);
}

/* Helpful links styles ---------------------------------------------*/
.acac-helpful-links-container,
.acac-helpful-links-container a.acac-link {
  color: var(--helpful-links-text-color);
  font-size: var(--helpful-links-text-font-size);
  font-weight: var(--helpful-links-text-font-weight);
  line-height: var(--helpful-links-text-line-height);
  letter-spacing: var(--helpful-links-text-letter-spacing);
}

.acac-helpful-links-container a.acac-link {
  text-decoration: underline;
}

/* Same Day Delivery styles -----------------------------------------*/
.elc-delivery-shipping-options-section .same-day-delivery-receive-note {
  color: var(--same-day-delivery-section-color);
  font-size: var(--same-day-delivery-section-font-size);
  font-weight: var(--same-day-delivery-section-font-weight);
  line-height: var(--same-day-delivery-section-line-height);
  letter-spacing: var(--same-day-delivery-section-letter-spacing);
}

.elc-dropdown-arrow {
  border-left: none;
}

.elc-textarea {
  border-radius: 0;
}

.rc-same-day-delivery-instructions textarea {
  border-radius: 0;
}

.rc-same-day-disabled div:not(.rc-same-day-delivery-panel) {
  color: var(--text-color-medium);
}

.rc-same-day-delivery-tout {
  color: var(--text-color-strong);
  background-color: var(--same-day-delivery-tout-background-color);
  border: solid 1px var(--color-primary300);
  padding: 20px 16px 20px 0;
  margin-bottom: 24px;
}

.rc-same-day-delivery-tout .rc-same-day-time {
  color: var(--text-color-medium);
}

.rc-same-day-dropdown.rc-same-day-disabled {
  box-shadow: none;
}

/* Bopis Delivery styles --------------------------------------------*/
.bopis-screen-container .bopis-store-list-section {
  background-color: var(--bopis-store-list-background-color);
  border-color: var(--bopis-store-list-border-color);
}

.bopis-screen-container .elc-store-card {
  background-color: var(--bopis-store-card-background-color);
  border: 1px solid #e0e0e0;
  border-radius: var(--bopis-store-card-border-radius);
}

.store-list-header {
  color: var(--text-color-strong);
}

.bopis-screen-container .store-list-header .toggle-stores {
  display: flex;
  align-items: center;
}

main .section-messages {
  padding-bottom: 10px;
}

.bopis-stores-not-found {
  text-align: left;
}

.bopis-screen-container .store-list-title {
  margin: 5px 0;
}

.elc-store-card .elc-car-icon,
.elc-store-card .elc-phone-icon {
  width: 18px;
  height: 18px;
  mask-size: 20px;
  -webkit-mask-size: 20px;
  margin-right: 4px;
}

/* bopis store title */
.bopis-screen-container .elc-store-details-wrapper p.elc-body--1 {
  font-family: var(--bopis-store-title-font-family);
  color: var(--bopis-store-title-color);
  font-size: var(--bopis-store-title-font-size);
  font-weight: var(--bopis-store-title-font-weight);
  line-height: var(--bopis-store-title-line-height);
  letter-spacing: var(--bopis-store-title-letter-spacing);
  text-transform: var(--bopis-store-title-text-transform);
}

/* bopis store body */
.bopis-screen-container .elc-store-details-wrapper p.elc-body--2,
.bopis-screen-container .store-details-wrapper div span {
  font-family: var(--bopis-store-body-font-family);
  color: var(--bopis-store-body-color);
  font-size: var(--bopis-store-body-font-size);
  font-weight: var(--bopis-store-body-font-weight);
  line-height: var(--bopis-store-body-line-height);
  letter-spacing: var(--bopis-store-body-letter-spacing);
}

.bopis-screen-container .item-availability,
.bopis-store-card .rc-store-address-card-info {
  font-size: var(--bopis-store-availability-text-font-size);
  font-weight: var(--bopis-store-availability-text-font-weight);
  letter-spacing: var(--bopis-store-availability-text-letter-spacing);
  line-height: var(--bopis-store-availability-text-line-height);
}

.bopis-screen-container .item-availability.all-available span,
.bopis-store-card .rc-store-address-card-info {
  color: var(--color-success);
}
.bopis-screen-container .item-availability.item-availability.all-available .item-availability-icon-wrapper div {
  background-color: var(--color-success);
}

.bopis-screen-container .item-availability.some-available span {
  color: var(--color-warning);
}
.bopis-screen-container .item-availability.item-availability.some-available .item-availability-icon-wrapper div {
  background-color: var(--color-warning);
}

.elc-responsive-modal .item-availability.none-available span,
.bopis-screen-container .item-availability.none-available span {
  color: var(--color-error);
}
.bopis-screen-container .item-availability.item-availability.none-available .item-availability-icon-wrapper div {
  background-color: var(--color-white);
  mask-size: unset;
}

.bopis-screen-container .load-more-stores.elc-button {
  background-color: transparent;
  border: none;
  color: var(--bopis-store-more-locations-button-color);
  font-size: var(--bopis-store-more-locations-button-font-size);
  font-weight: var(--bopis-store-more-locations-button-font-weight);
  letter-spacing: var(--bopis-store-more-locations-button-letter-spacing);
  line-height: var(--bopis-store-more-locations-button-line-height);
  text-transform: var(--bopis-store-more-locations-button-text-transform);
}

.bopis-screen-container .select-store-custom-button {
  color: var(--bopis-store-custom-button-color);
  font-size: var(--bopis-store-custom-button-font-size);
  font-weight: var(--bopis-store-custom-button-font-weight);
  line-height: var(--bopis-store-custom-button-line-height);
  letter-spacing: var(--bopis-store-custom-button-letter-spacing);
  text-decoration: var(--bopis-store-custom-button-text-decoration);
  text-transform: var(--bopis-store-custom-button-text-transform);
}

.preferred-store .info-list {
  border-bottom: 1px solid var(--color-primary300);
}

.preferred-store ul li {
  color: var(--text-color-strong);
  font-size: var(--checkout-default-font-size);
}

/* bopis edit bag modal */
.edit-bag {
  background-color: var(--section-container-background-color);
}

.edit-bag .elc-floating-label-input-field {
  background-color: transparent;
}

.select-radio-bopis-edit-bag {
  margin-bottom: 10px;
  color: var(--text-color-strong);
  font-size: var(--checkout-default-font-size);
  line-height: var(--checkout-default-line-height);
  letter-spacing: var(--checkout-default-letter-spacing);
}

.edit-bag .edit-bag-header {
  max-width: 500px;
  margin: auto;
}

@media only screen and (max-width: 960px) {
  .edit-bag .edit-bag-header {
    max-width: 340px;
  }
}
.edit-bag .edit-bag-title {
  color: var(--text-color-strong);
  text-align: center;
  font-size: 18px;
  line-height: 22px;
  margin-bottom: 8px;
}

.edit-bag .edit-bag-message {
  text-align: center;
  color: var(--bopis-edit-bag-subtitle-color);
  font-size: var(--checkout-default-font-size);
  line-height: var(--checkout-default-line-height);
  letter-spacing: var(--checkout-default-letter-spacing);
}

.edit-bag .edit-bag-select-option {
  text-transform: none;
}

.edit-bag .edit-bag-store-card .elc-button {
  display: none;
}

.edit-bag .elc-dropdown {
  border-color: rgba(0, 0, 0, 0.9);
}

.edit-bag .elc-floating-label-string {
  text-transform: uppercase;
}

.edit-bag .elc-dropdown-arrow {
  padding: 20px;
  height: 100%;
  border-left: 1px solid rgba(0, 0, 0, 0.5);
}

/*-------------------------- PAYMENT PAGE ---------------------------*/

/* Gift card styles -------------------------------------------------*/
.elc-accordion.elc-panel {
  background-color: var(--section-container-background-color);
  border: 0;
  border-radius: 0;
}

.elc-screen-section .elc-accordion-header .elc-header-label,
.gift-card-redeem-label {
  color: var(--accordion-label-color);
  font-family: var(--accordion-label-font-family);
  font-size: var(--accordion-label-font-size);
  font-weight: var(--accordion-label-font-weight);
  line-height: var(--accordion-label-line-height);
  text-transform: var(--accordion-label-text-transform);
  letter-spacing: var(--accordion-label-letter-spacing);
}

.elc-gift-card-redemption .elc-accordion {
  border-color: #c7c3c3;
  border-radius: 0;
}
.elc-gift-card-redemption .elc-accordion input {
  border-radius: 0;
}

.elc-gift-card-redemption .elc-subtitle--1,
.elc-gift-card-redemption .elc-subtitle--3 {
  font-family: var(--gift-card-details-font-family);
  font-size: var(--gift-card-details-font-size);
}

.gift-card-not-available-container {
  box-sizing: border-box;
  border-radius: 0;
  border: 1px solid var(--color-separator);
}

.gift-card-not-available-content {
  background-color: var(--gift-card-disabled-backgroud-color);
}

.gift-card-not-available-payment-method-label {
  color: var(--gift-card-disabled-text-color);
  font-size: var(--gift-card-disabled-text-font-size);
  font-weight: var(--gift-card-disabled-text-font-weight);
  line-height: var(--gift-card-disabled-text-line-height);
  letter-spacing: var(--gift-card-disabled-text-letter-spacing);
}

/* Donations styles ------------------------------*/
.elc-donation-description,
.elc-added-donation-wrapper, 
.elc-donation-notification {
  color: var(--donation-description-text-color);
  font-size: var(--donation-description-font-size);
  line-height: var(--donation-description-line-height);
}

.elc-donation-description a {
  text-decoration: underline;
}

.elc-donation-title {
  text-transform: var(--donation-title-text-transform);
}

.elc-donation-item {
  font-size: var(--donation-description-font-size);
}

.elc-charity-item, .elc-donation-item {
  border: 0.5px solid var(--color-separator);
}

.elc-charity-item-selected, .elc-donation-item-selected {
  border: 2px solid var(--text-color-strong);
}

.elc-expand-description-title {
  font-size: var(--donation-see-more-font-size);
  color: var(--donation-description-text-color);
  text-decoration: underline;
}

/* Payment type styles ----------------------------------------------*/
.acac-payment-method-accordion .acac-payment-type {
  color: var(--payment-type-color);
  font-family: var(--payment-type-font-family);
  font-size: var(--payment-type-font-size);
  font-weight: var(--payment-type-font-weight);
  line-height: var(--payment-type-line-height);
  letter-spacing: var(--payment-type-letter-spacing);
  text-transform: var(--payment-type-text-transform);
}

/* Payment terms and conditions styles ------------------------------*/
.acac-terms-and-conditions {
  color: var(--term-and-conditions-color);
  font-size: var(--term-and-conditions-font-size);
  font-weight: var(--term-and-conditions-font-weight);
  line-height: var(--term-and-conditions-line-height);
  letter-spacing: var(--term-and-conditions-letter-spacing);
}

.acac-payment-method-accordion .afterpay-installment-message {
  color: var(--payment-afterpay-messaging-color);
}

/* Address card -----------------------------------------------------*/
/* address card text */
.rc-info-card .rc-address-card-text,
.rc-bopis-order-card-first-last-name,
.rc-bopis-order-card-email,
.rc-store-address-card-text {
  font-family: var(--address-card-text-font-family);
  color: var(--address-card-text-color);
  font-size: var(--address-card-text-font-size);
  font-weight: var(--address-card-text-font-weight);
  line-height: var(--address-card-text-line-height);
  letter-spacing: var(--address-card-text-letter-spacing);
}

/* address card text name */
.rc-info-card .rc-address-card-text.first-row,
.rc-bopis-order-card-first-last-name,
.store-address-card-name {
  color: var(--address-card-text-name-color);
  font-size: var(--address-card-text-name-font-size);
  font-weight: var(--address-card-text-name-font-weight);
  line-height: var(--address-card-text-name-line-height);
  letter-spacing: var(--address-card-text-name-letter-spacing);
  text-transform: var(--address-card-text-name-text-transform);
}

/* this is structural, should be configured in elc-inputs */
.acac-edit-address-button svg,
.acac-shopping-bag-edit svg,
.rc-info-card-edit svg {
  height: 24px;
  width: 24px;
}

/*------------------------------------------------------------------*/

section[data-scrollbar='true'] {
  width: 100%;
  height: 100%;
}

.rc-info-card-first-last-name,
.rc-info-card-text {
  font-size: 12px;
}

.fade-out {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s 0.6s, opacity 0.6s ease-in-out;
}

@media only screen and (min-width: 768px) {
  .rc-info-card-first-last-name,
  .rc-info-card-text {
    font-size: 14px;
  }
}

.acac-total-wrapper {
  color: black;
  font-weight: bold;
}

.acac-helpful-link-title {
  font-size: 14px;
}

.highlight_terms_and_conditions,
.highlight_terms_and_conditions a {
  color: var(--color-error);
}

.acac-link-element {
  text-decoration: underline;
}

.acac-payment-title {
  font-family: var(--main-font-family);
}

.acac-payment-screen-instructions {
  font-family: var(--main-font-family);
  color: var(--color-primary-900);
  font-size: 12px;
}

/*
 * This ensures that no image will be larger than its container.
 */
img {
  font-family: var(--main-font-family);
  max-width: 100%;
}

header img {
  height: 38px;
  filter: invert(100%);
}

.topbar {
  padding: 1rem;
  border-bottom: 1px solid var(--color-primary400);
  box-shadow: 2px 2px 5px var(--color-black-light-emphasis);
}

.terms-condition-advanced-legal-wrapper {
  width: 500px;
  align-self: center;
}

@media (max-width: 768px) {
  .terms-condition-advanced-legal-wrapper {
    width: fit-content;
  }
}

.terms-conditions-advanced-legal-text,
.elc-tnc-legal-wrapper {
  border-color: rgba(0, 0, 0, 0.4);
  border-radius: 0;
  box-sizing: border-box;
  border-width: 1px;
  border-style: solid;
  margin-top: 15px;
  width: 100%;
}

.iyzico-payment-form-wrapper {
  margin-top: 10px;
  padding-top: 10px;
}

.elc-helpful-link {
  font-family: var(--main-font-family);
}

.elc-plus-icon,
.elc-minus-icon {
  width: 14px;
  height: 14px;
  mask-size: 34px 34px;
  -webkit-mask-size: 34px 34px;
}

.elc-button.edit-bag-cancel:hover {
  background: none;
}

.elc-accordion.elc-panel:not(:last-child) {
  border-bottom: 1px solid var(--color-separator);
}

.elc-default-address-checkbox-container p {
  font-family: var(--main-font-family);
}

.store-info-container p {
  font-family: var(--main-font-family);
}

.elc-dropdown-input-wrapper .elc-dropdown-label {
  font-family: var(--font-body);
}

.address-list .elc-dropdown-input-wrapper {
  font-family: var(--main-font-family);
}

.acac-edit-address {
  text-transform: uppercase;
}

.acac-edit-address-button {
  float: right;
}

.acac-offer-box-status {
  color: var(--color-black-medium-emphasis);
}


.elc-delivery-screen-privacy-notice-section {
  margin-bottom: 32px;
}

.acac-newsletter-accordion {
  border: 1px solid #c7c3c3;
}

@media (max-width: 768px) {
  .acac-newsletter-accordion .elc-label-slide-content {
    margin-bottom: 0;
  }
}

.acac-aside-item-wrapper {
  border-color: var(--color-primary300);
  border-bottom: 0;
}

.acac-aside-item-wrapper.acac-aside-button-container {
  border: 0;
  background-color: var(--mobile-cta-button-container-background-color);
}

.elc-ups-address-validation-title {
  font-family: var(--main-header-font-family);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--color-primary-900);
}

.acac-terms-and-conditions #accept_terms_label {
  white-space: pre-wrap;
}

.GMORPay-accordion span:has(img) {
  width: 48px;
}
/* end of payment pannel styles */

.acac-subpage-header {
  color: var(--color-black-medium-emphasis);
}

.acac-address-form.disabled,
.tool-tip-wrapper.disabled {
  opacity: 0.5;
}

@media only screen and (min-width: 768px) {
  .elc-tooltip-hidden-text-wrapper {
    width: 700px;
    z-index: 100;
  }
}

.rc-postmates-check-availability {
  border: 1px solid var(--color-black);
}

.rc-postmates-check-availability.rc-invalid-error {
  border: 1px solid var(--color-error);
}

.rc-invalid-error button {
  color: var(--color-error);
}

.rc-postmates-check-availability-fastest {
  color: var(--color-black-high-emphasis);
}

.acac-gift-item-name {
  font-family: var(--main-header-font-family);
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.1px;
  line-height: 16px;
  margin-bottom: 5px;
}

.acac-gift-item-greeting {
  font-family: var(--main-header-font-family);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  margin: 10px 0px;
  letter-spacing: 0.4px;
}

.acac-gift-item-message {
  font-family: var(--main-font-family);
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0.4px;
}

.acac-cart-discounted-price {
  color: var(--color-black-24-emphasis);
}
/* end of shopping bag styles */

h2.acac-helpful-links-title {
  font-size: 16px;
  font-weight: bold;
  text-transform: uppercase;
  line-height: 24px;
  opacity: 0.88;
  text-decoration: none;
}

@media only screen and (min-width: 768px) {
  h2.acac-helpful-links-title {
    font-size: 18px;
  }
}

.acac-address-address1,
.acac-address-address2,
.acac-address-address3,
.acac-address-company-name {
  font-size: 14px;
}

/* Address List */

.acac-link {
  font-size: 16px;
  color: #999999;
  opacity: 0.88;
  line-height: 20px;
}

a.acac-link {
  color: #545454;
  font-family: var(--main-font-family);
  font-weight: 500;
  text-decoration: none;
}

.acac-link-title {
  font-weight: bold;
}

.edit-bag-info .shopping-bag-wrapper {
  margin-top: 4px;
  box-shadow: none;
  border: 0;
}
button.acac-shopping-bag-toggle-btn {
  background-color: inherit;
}

@media (max-width: 768px) {
  .acac-newsletter-accordion .elc-label-slide-content {
    padding-top: 0px;
  }

  .acac-shipping-dropdown-wrapper {
    margin-bottom: 24px;
  }
}

.elc-textarea p.elc-floating-label-string.elc-floating-label__label-is-down {
  padding-top: 20px;
}

.error-background {
  background-color: var(--color-primary300);
  font-family: var(--main-font-family);
  font-size: 18px;
}

.chckt-pm__details .chckt-checkbox {
  margin: 0 -7px 0 1px;
  top: 5px;
  box-shadow: none;
}

.afterpay-purchase-agreement-link {
  font-size: 12px;
  text-decoration: underline;
}

.bopis-screen-container .preferred-store .elc-button--outlined-address {
  border: 1px solid;
  padding: 10px;
}

@media only screen and (max-width: 1300px) {
  .bopis-screen-container .preferred-store .elc-button {
    width: auto;
  }
}

.bopis-screen-container .load-more-stores-container {
  text-align: center;
}

.bopis-screen-container .store-list-header .toggle-stores .toggle {
  border: none;
}

.bopis-screen-container .item-availability.all-available .elc-check-circle-icon {
  background-color: #70b000;
}

.rc-store-address-card-info {
  color: #70b000;
}

.bopis-screen-container .item-availability.none-available .item-availability-icon-wrapper {
  background-color: #b00020;
  border-radius: 50%;
  padding: 8px;
}

.bopis-screen-container .item-availability.some-available .rc-info-icon {
  background-color: #ee9f57;
}

.bopis-screen-container .info-message {
  margin-top: 30px;
}

.elc-responsive-modal-mask {
  overflow: auto;
}

@media only screen and (max-width: 767px) {
  .elc-responsive-modal {
    box-sizing: border-box;
    width: 100vw;
    overflow: auto;
  }
}

@media only screen and (min-width: 960px) {
  .elc-responsive-modal-mask {
    padding: 50px 0;
  }

  aside.sidebar {
    margin-top: 0px;
  }
}

.elc-form-field-wrapper {
  transition: max-height 0.65s ease-in;
}

/* credit cards */
.elc-creditcard-wrapper .elc-credit-card-expired {
  color: var(--color-error);
}

main .elc-notification-message {
  background-color: transparent;
}

main .payment-ups-warning-message {
  background-color: transparent;
}

main .rc-mobile-info-message {
  color: var(--color-black-medium-emphasis);
}

main .rc-mobile-info-message.contact-info-phone-field {
  margin-bottom: 8px;
}

/* adyen checkout */
:root,
.adyen-checkout__card-input {
  --adyen-sdk-color-background-primary: var(--form-input-background);
  --adyen-sdk-color-outline-primary: var(--form-input-border-color);
  --adyen-sdk-color-outline-primary-active: var(--form-input-border-color-focus);
  --adyen-sdk-color-outline-critical: var(--form-input-error-color);
  --adyen-sdk-color-label-critical: var(--form-input-error-color);
  --adyen-sdk-text-caption-font-size: var(--text-xs);
  --adyen-sdk-text-body-font-size: var(--text-sm);
  --adyen-sdk-color-label-primary: var(--form-input-placeholder-color);
  --adyen-sdk-color-background-disabled: var(--form-input-disabled-background)
}

body .adyen-checkout__input-wrapper {
  height: var(--input-height);
  border-radius: 0;
}

body .adyen-checkout__input-wrapper:active,
body .adyen-checkout__input-wrapper:active:hover,
body .adyen-checkout__input-wrapper:focus-within,
body .adyen-checkout__input-wrapper:focus-within:hover,
body .adyen-checkout__label--focused+.adyen-checkout__input-wrapper,
body .adyen-checkout__input:focus {
  box-shadow: none;
}

body .adyen-checkout__label--disabled+.adyen-checkout__input-wrapper {
  border-color: var(--form-input-disabled-border-color);
}

body .adyen-checkout__label {
  background: var(--input-background);
}

body .adyen-checkout__label__text {
  color: var(--color-primary-700);
}

body .adyen-checkout__button__text {
  white-space: normal;
}

/* end adyen checkout */

.salon-commission-title,
.salon-commission-search-results-label {
  font-size: 18px;
  font-weight: bold;
}

.elc-app .elc-button.salon-commission-search-salon-button,
.elc-app .elc-button.salon-commission-search-salon-button:disabled {
  background-color: white;
  border: 1px solid black;
  color: black;
}

.salon-commission-search-salon-button:hover {
  opacity: 0.6;
  background-color: inherit;
}

.elc-delivery-screen-salon-commission-section .elc-accordion-light {
  padding: 0px;
}

.ingenico-terms-and-conditions {
  background-color: var(--color-white);
  padding: 16px 0;
}

.ingenico-terms-and-conditions .acac-terms-and-conditions {
  margin-top: 0px;
}

.GMORPay-accordion .elc-button {
  background-color: #bf0000 ;  /* rakuten color */
  font-size: 15px;
}

.elc-delivery-screen-convenience-store-container .elc-button {
  font-weight: bold;
  background-color: transparent;
  color: var(--color-black);
  font-size: 13px;
  border: 1px solid var(--color-black);
}

/* cancel button in convenience store */
.elc-delivery-screen-convenience-store-container .elc-button--text {
  border: none;
}

.convenience-store-title-wrapper div:has(.rc-info-icon) {
  margin-top: 0;
}

.elc-form-field-wrapper .elc-floating-label-string {
  padding: 0 1px;
}

.Beleza-accordion .acac-terms-and-conditions {
  margin-top: 12px;
}

.payment-disable-message {
  margin: 10px;
  font-size: 14px;
  color: #545454;
}

.payment-disabled {
  cursor: default;
}

.payment-disabled span {
  color: darkgray;
}

.payment-disabled .elc-icon {
  background-color: darkgray;
}

.elc-tooltip-hidden-text a {
  text-decoration: underline;
}

afterpay-placement {
  --messaging-line-height: var(--paragraph-message-line-height);
  --messaging-font-size: var(--paragraph-message-font-size);
}

#app-loading-container {
  top: 3.5rem;
}

@media (min-width: 1024px) {
  #app-loading-container {
    top: 5.25rem;
  }
}

/* For long 'wait message' text */
.elc-loading-img-container {
  max-width: 500px;
}

.klarna-information {
  font-family: var(--main-font-family);
  font-size: 18px;
}

.klarna-information__header {
  font-size: 2em;
}

.klarna-information__list {
  list-style: auto;
  display: block;
  list-style-type: decimal;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0;
  margin-inline-end: 0;
  padding-inline-start: 40px;
}

.klarna-information__text {
  font-size: 15px;
}

.klarna-information__list-item::marker {
  font-size: 1.5rem;
}

.klarna-message-wrapper {
  font-size: var(--paragraph-message-font-size);
  color: var(--paragraph-message-color);
}

.acac-payment-method-accordion .klarna-message-wrapper {
  color: var(--payment-klarna-messaging-color);
}

.klarna-information__link {
  text-decoration: underline;
}

.acac-rakuten-info ul {
  list-style: disc;
  padding: 1rem 0 0 1.6rem;
}

.giftwrap-radio-label,
.giftwrap-radio-price {
  color: var(--text-color-strong);
  font-size: var(--text-base);
  font-weight: bold;
}


.giftwrap-radio-description,
.no-giftwrap-info {
  color: var(--text-color-medium);
  font-size: var(--text-base);
}

.giftwrap-radio-position {
  align-self: center;
}

.giftwrap-option-info-description,
.giftwrap-message-info-description,
.giftwrap-toggle-button,
.acac-gift-item-message {
  font-size: var(--text-base);
}

.giftwrap-container .shipping-price {
  font-size: var(--gift-wrap-price-font-size);
  font-weight: var(--gift-wrap-price-font-weight);
  letter-spacing: var(--gift-wrap-price-letter-spacing);
  text-transform: var(--gift-wrap-price-text-tranform);
}

/* elc tooltip */
.elc-tooltip-hidden-text-wrapper,
.elc-tooltip-hidden-text,
.elc-tooltip-hidden-text:before,
.elc-tooltip-close-button,
.elc-tooltip-responsive-modal {
  background-color: var(--tooltip-background-color);
}

.elc-tooltip-hidden-text {
  color: var(--tooltip-text-color);
  font-size: var(--tooltip-font-size);
  font-weight: var(--tooltip-font-weight);
  line-height: var(--tooltip-line-height);
  letter-spacing: var(--tooltip-letter-spacing);
}

.elc-tooltip-close-button {
  width: unset;
}

.elc-tooltip-close-button:focus {
  outline: auto;
}
