/**
 * Store (Experience Cloud) custom styles
 */

body {
  --lwc-colorTextDefault: var(--color-text);
  --lwc-brandTextLink: var(--color-link);
  --lwc-brandTextLinkActive: var(--color-link-hover);
  --slds-g-color-neutral-base-10: var(--color-text);

  --lwc-fontFamilyHeader: var(--font-family-heading);
  --lwc-lineHeightText: var(--font-lineheight-text);
  --lwc-fontSizeSmall: var(--font-size-minus-2);

  --lwc-colorBorder: var(--color-border);
  --lwc-colorBackground: var(--color-background);

  --slds-c-input-text-color: var(--color-text);
  --sds-c-input-text-color: var(--color-text);

  --slds-c-card-color-background: var(--color-lightest-box-background);
  --sds-c-card-color-background: var(--color-lightest-box-background);
  --lwc-cardColorBackground: var(--color-lightest-box-background);
  --lwc-colorBackgroundLight: var(--color-lightest-box-background);
  --slds-g-color-surface-container-1: var(--color-lightest-box-background);
  --slds-c-flow-color-background: transparent;

  --slds-c-card-text-color: var(--color-light-box-text);
  --sds-c-card-text-color: var(--color-light-box-text);
  --slds-c-card-radius-border: 0;
  --slds-c-card-sizing-border: 0;

  --slds-c-input-color-background: var(--color-background);
  --sds-c-input-color-background: var(--color-background);
  --lwc-colorBackgroundInput: var(--color-background);

  --slds-c-button-neutral-color-background: transparent;
  --slds-c-button-neutral-color-border: transparent;
  --slds-c-button-color-border-active: transparent;
  --slds-c-button-text-color: var(--color-link);
}

body .siteforceThemeLayoutStarter {
  font-size: var(--font-size-base);
}

body .nds-scope .bg-white,
body .nds-scope .bg-nimble-gray-1000 {
  background-color: var(--color-background);
}

body .nds-scope .border-nimble-gray-900,
body .nds-scope *,
body .nds-scope ::after,
body .nds-scope ::before {
  border-color: var(--color-border);
}


/* ---------- ISBA header ---------- */

/* Header links are hidden by default; show after processing */
.isba-header .header-links {
  display: none;
}
.isba-header .header-links.ready {
  display: block;
}



/* ---------- Products grid ---------- */

/* Hide column with empty image, stretch content */
.slds-card .slds-grid .slds-size_6-of-12:has(img[src=""]) {
  display: none;
}
.slds-card .slds-grid .slds-size_6-of-12:has(img[src=""]) + .slds-size_6-of-12 {
  width: 100%
}

body .slds-card.forceCommunityFlowCommunity {
  --lwc-borderWidthThin: 0;
}
body .slds-card.forceCommunityFlowCommunity .flowruntimeBody__lwc[lwc-4p1kl1q7p5n] {
  margin-block: 0;
  padding-inline: 0;
}

                                                                                                    
/* ---------- Product pages ---------- */

/* Subheading component */
.slds-card.flowRuntimeForFlexipage.forceCommunityFlowCommunity h2 {
  margin: 0 0 0.6em;
  padding: 0;
  color: var(--color-heading);
  font: var(--font-heading);
  font-size: 2.13333rem;
  font-variant-ligatures: var(--font-ligatures-heading);
  text-wrap: pretty;
}


/* Free CLE button */
flowruntime-action-button-field :is(.slds-button_neutral, .slds-button--neutral) {
  --slds-c-button-spacing-block-start: 0.8rem;
  --slds-c-button-spacing-block-end: 0.8rem;
  --slds-c-button-spacing-inline-start: 2.2rem;
  --slds-c-button-spacing-inline-end: 2.2rem;
  --slds-c-button-radius-border: 2.14rem;
  --slds-c-button-line-height: var(--font-lineheight-shortest);
  --slds-c-button-shadow: none;
  --slds-c-button-color-background: var(--color-highlight-background);
  --slds-c-button-text-color: var(--color-highlight-link);

  font-size: var(--font-size-minus-1);
  font-weight: var(--font-weight-button-link);
  font-family: var(--font-family-text);
  letter-spacing: 0.023rem;
  text-transform: uppercase;
  border: none;
  transition: color 0.2s, background-color 0.2s;
}
flowruntime-action-button-field :is(.slds-button_neutral, .slds-button--neutral):is(:hover, :focus, :active) {
  --slds-c-button-color-background-hover: var(--color-highlight-background-hover);
  --slds-c-button-text-color-hover: var(--color-highlight-link-hover);
  border: none;
}
flowruntime-action-button-field :is(.slds-button_neutral, .slds-button--neutral):is([disabled], :disabled) {
  background-color: var(--color-highlight-background);
  color: var(--color-highlight-link);
  opacity: 0.4;
  cursor: default;
}


/* Hide empty Free CLE box */
.cb-section_row .ui-widget:has(article.slds-card[lwc-7eubp5ml88f]):not(:has(strong, button)) {
  display: none;
}


/* Hide CLE placeholder image column */
nc-product-details .image-container:has(img[src$="NoImagePlaceholder.png"]) {
  display: none;
}
nc-product-details .image-container:has(img[src$="NoImagePlaceholder.png"]) + .details-container {
  width: 100%;
}


/* Product details card */
nc-product-details > article.slds-card {
  --slds-c-card-color-background: transparent;
  padding: 0;
  background-color: transparent;
}

nc-product-details .slds-card__body {
  --slds-c-card-body-spacing-inline-start: 0;
  --slds-c-card-body-spacing-inline-end: 0;
}

/* Image */
nc-product-details .image-container img.slds-m-around_small {
  --lwc-spacingSmall: 0;
}


/* Hide short product name */
nc-product-details .product-name[NC-productDetails_productDetails] {
  display: none;
}


/* Price */
nc-product-details .product-price[NC-productDetails_productDetails] {
  display: inline-block;
  margin-block: 0 1.25rem;
  padding-block: 0.75em;
  padding-inline: 1em;
  font-size: var(--font-size-plus-6);
  background-color: var(--color-lightest-box-background);
  color: var(--color-text-dark);
}
nc-product-details .product-price[NC-productDetails_productDetails] + .separator {
  display: none;
}

/* Add pricing info */
/*
body:has(.isba-header .header-account:not([hidden])) nc-product-details .product-price::after {
  content: ' (ISBA Member Price)';
}
body:has(.isba-header .header-account[hidden]) nc-product-details .product-price::after {
  content: ' (Login to see member price)';
  font-size: var(--font-size-minus-2);
}
*/


/* Description */
nc-product-details .product-description-body :is(p, div, span, li) {
  font-family: var(--font-family-text);
}
nc-product-details .product-description-body :is(h1, h2, h3, h4, h5, h6) {
  margin-block: 0 0.6em;
}
nc-product-details .product-description-body :is(p, ol, ul, dl) {
  margin-block: 1.2em 1.6em;
}

nc-product-details .slds-rich-text-editor__textarea h2,
nc-product-details .slds-rich-text-editor__output h2 {
  font-size: var(--font-size-plus-9);
  font-weight: var(--font-weight-heading);
}


/* Restore list items */
nc-product-details .slds-rich-text-editor__textarea :is(ul, ul ul),
nc-product-details .slds-rich-text-editor__output :is(ul, ul ul) {
  list-style-type: none;
  list-style-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7'%3E%3Ccircle cx='3.2' cy='2.4' r='2.2' fill='%23910028'/%3E%3C/svg%3E");

  @media (prefers-color-scheme: dark) {
  	list-style-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7'%3E%3Ccircle cx='3.2' cy='2.4' r='2.2' fill='%23e2e3e4'/%3E%3C/svg%3E");
  }
}


/* Hide "Show more" link; expand text */
nc-product-details a.more-button[NC-productDetails_productDetails] {
  display: none;
}
nc-product-details .collapse-description[NC-productDetails_productDetails] {
  height: auto;
  overflow: visible;
  margin-block: 0;
}


/* Quantity */
nc-product-details div[nc-productdetails_productdetails]:has(.quantity-input) p.attribute-key {
  margin-bottom: 0.25em;
  color: var(--color-text-dark);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-label);
}

nc-product-details input.quantity-input {
  font-size: var(--font-size-plus-1);
}

nc-product-details div[nc-productdetails_productdetails]:has(.quantity-input) {
  margin-block: 0 1.5rem;
}
nc-product-details div[nc-productdetails_productdetails]:has(.quantity-input) + .separator {
  display: none;
}

/* Hide field for CLE (only one allowed) */
nc-product-details div[nc-productdetails_productdetails]:has(> .slds-form-element > .slds-form-element__control > .quantity-input[max="1"]) {
  display: none;
}


/* Add to cart button */
nc-product-details :is(.slds-button_brand, .slds-button--brand) {
  --slds-c-button-spacing-block-start: 0.8rem;
  --slds-c-button-spacing-block-end: 0.8rem;
  --slds-c-button-spacing-inline-start: 2.2rem;
  --slds-c-button-spacing-inline-end: 2.2rem;
  --slds-c-button-radius-border: 2.14rem;
  --slds-c-button-line-height: var(--font-lineheight-shortest);
  --slds-c-button-shadow: none;
  --slds-c-button-color-background: var(--color-button-background);
  --slds-c-button-text-color: var(--color-button-text);

  font-size: var(--font-size-minus-1);
  font-weight: var(--font-weight-button-link);
  font-family: var(--font-family-text);
  letter-spacing: 0.023rem;
  text-transform: uppercase;
  border: none;
  transition: color 0.2s, background-color 0.2s;
}
nc-product-details :is(.slds-button_brand, .slds-button--brand):is(:hover, :focus, :active) {
  --slds-c-button-color-background-hover: var(--color-button-background-hover);
  --slds-c-button-text-color-hover: var(--color-button-text-hover);
  border: none;
}
nc-product-details :is(.slds-button_brand, .slds-button--brand):is([disabled], :disabled) {
  background-color: var(--slds-c-button-color-background);
  color: var(--slds-c-button-text-color);
  opacity: 0.4;
  cursor: default;
}
