/* CafeAriel v1.5.50 — site-wide design harmony
 * Semantic colors unify static/floating carts, product actions, modals and account surfaces.
 * Specific state colors (danger, success, warning) remain semantic and are not flattened.
 */
:root {
  --ca-harmony-primary: var(--ca-primary, #0f3d3a);
  --ca-harmony-primary-hover: var(--ca-primary-hover, #2a746b);
  --ca-harmony-ink: var(--ca-text, #2a2a2a);
  --ca-harmony-muted: var(--ca-muted, #6e6a62);
  --ca-harmony-line: var(--ca-line, #e8dcc6);
  --ca-harmony-page: var(--ca-bg, #fff7ec);
  --ca-harmony-surface: var(--ca-surface, #fff7ec);
  --ca-harmony-card: var(--ca-white, #ffffff);
  --ca-harmony-subtle: var(--ca-surface-2, #f8f0e3);
  --ca-harmony-soft-green: var(--ca-reg-0008-e5efec, #e5efec);
  --ca-harmony-radius: 16px;
  --ca-harmony-gap: 14px;

  /* Make the header's floating cart use the same surface/ink/line palette as EDD checkout. */
  --ca-cart-shared-primary: var(--ca-harmony-primary);
  --ca-cart-shared-primary-hover: var(--ca-harmony-primary-hover);
  --ca-cart-shared-ink: var(--ca-harmony-ink);
  --ca-cart-shared-muted: var(--ca-harmony-muted);
  --ca-cart-shared-line: var(--ca-harmony-line);
  --ca-cart-shared-soft: var(--ca-harmony-subtle);
  --ca-cart-shared-tint: var(--ca-harmony-surface);
  --ca-cart-shared-paper: var(--ca-harmony-surface);
  --ca-cart-shared-total: var(--ca-harmony-subtle);
}

/* ---------------- Receipt / payment confirmation ---------------- */
.ca-receipt-page .ca-receipt-success,
.ca-receipt-page .ca-receipt-content {
  border-color: var(--ca-harmony-line) !important;
}
.ca-receipt-page .ca-receipt-content {
  background: var(--ca-harmony-surface) !important;
}
.ca-receipt-page .ca-receipt-content #edd_purchase_receipt,
.ca-receipt-page .ca-receipt-content #edd_purchase_receipt_products {
  background: var(--ca-harmony-card) !important;
  border-color: var(--ca-harmony-line) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}
.ca-receipt-page .ca-receipt-content #edd_purchase_receipt th,
.ca-receipt-page .ca-receipt-content #edd_purchase_receipt_products th {
  background: var(--ca-harmony-subtle) !important;
  color: var(--ca-harmony-primary) !important;
  border-bottom-color: var(--ca-harmony-line) !important;
}
.ca-receipt-page .ca-receipt-content #edd_purchase_receipt td,
.ca-receipt-page .ca-receipt-content #edd_purchase_receipt_products td {
  border-bottom-color: var(--ca-harmony-line) !important;
}

/* Desktop: center each per-book study/download action within the product row. */
@media (min-width: 1025px) {
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_files,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_product_files,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_bundled_product_files {
    align-items: center !important;
    width: 100% !important;
  }
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_files > li,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_product_files > li,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_bundled_product_files > li,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_download_file {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
  }
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_files a,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_product_files a,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_bundled_product_files a,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_download_file a,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products a.ca-online-reader-link,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products a.ca-direct-download-link {
    width: fit-content !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

/* Tablet + phone: only the action button itself is colored. The list/list-item wrappers
   remain transparent so no second panel/background strip appears underneath it. */
@media (max-width: 1024px) {
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_files,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_product_files,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_bundled_product_files,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_download_file {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_files > li,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_product_files > li,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_bundled_product_files > li,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_download_file {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_files::before,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_files::after,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_product_files::before,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_product_files::after,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_download_file::before,
  body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_download_file::after {
    content: none !important;
    display: none !important;
  }
}

/* ---------------- Static + floating cart share one color and surface rhythm ---------------- */
#floating-cart-modal .cart-modal-content {
  background: var(--ca-harmony-surface) !important;
  border-color: var(--ca-harmony-line) !important;
}
#floating-cart-modal .cart-modal-head {
  background: linear-gradient(135deg, var(--ca-harmony-surface), var(--ca-harmony-subtle)) !important;
  border-bottom-color: var(--ca-harmony-line) !important;
}
#floating-cart-modal .cart-items {
  background: var(--ca-harmony-subtle) !important;
}
#floating-cart-modal .edd-cart-item {
  background: var(--ca-harmony-card) !important;
  border-color: var(--ca-harmony-line) !important;
  box-shadow: 0 4px 12px rgba(15, 61, 58, .045) !important;
}
#floating-cart-modal .cart-footer {
  background: var(--ca-harmony-surface) !important;
  border-top-color: var(--ca-harmony-line) !important;
}
#floating-cart-modal .cart-discount-box {
  background: var(--ca-harmony-subtle) !important;
  border-color: var(--ca-harmony-line) !important;
}
#floating-cart-modal .cart-discount-input {
  background: var(--ca-harmony-card) !important;
  border-color: var(--ca-harmony-line) !important;
}
#floating-cart-modal .cart-summary-total {
  background: var(--ca-harmony-subtle) !important;
  border-color: var(--ca-harmony-line) !important;
}
#floating-cart-modal .continue-btn {
  color: var(--ca-harmony-primary) !important;
  background: var(--ca-harmony-subtle) !important;
  border-color: var(--ca-harmony-line) !important;
}
#floating-cart-modal .continue-btn:hover,
#floating-cart-modal .continue-btn:focus-visible {
  color: var(--ca-harmony-primary) !important;
  background: var(--ca-harmony-soft-green) !important;
  border-color: var(--ca-harmony-primary) !important;
}
main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .edd-blocks__cart,
main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .edd-blocks__purchase-form {
  background: var(--ca-harmony-surface) !important;
  border-color: var(--ca-harmony-line) !important;
}
main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .ca-cart-list,
main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .edd-blocks-form__cart .ca-cart-list {
  background: var(--ca-harmony-card) !important;
  border-color: var(--ca-harmony-line) !important;
}
main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .ca-cart-total-card,
main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .ca-discount-trigger,
main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .ca-discount-close {
  border-color: var(--ca-harmony-line) !important;
}
main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .ca-cart-total-card {
  background: var(--ca-harmony-subtle) !important;
}
main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .ca-static-section-label i,
main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .ca-purchase-account-item-icon {
  background: var(--ca-harmony-soft-green) !important;
  color: var(--ca-harmony-primary) !important;
}

/* ---------------- Dialogs, account and product purchase cards ---------------- */
#ca-profile-modal .ca-profile-shell {
  background: var(--ca-harmony-surface) !important;
  border-color: var(--ca-harmony-line) !important;
}
#ca-profile-modal .ca-profile-choice {
  background: var(--ca-harmony-card) !important;
  border-color: var(--ca-harmony-line) !important;
}
#ca-profile-modal .ca-profile-choice-icon,
#ca-profile-modal .ca-profile-close {
  background: var(--ca-harmony-soft-green) !important;
  color: var(--ca-harmony-primary) !important;
  border-color: var(--ca-harmony-line) !important;
}
#onModal.ca-auth-modal .ca-auth-shell {
  background: var(--ca-harmony-surface) !important;
  border-color: var(--ca-harmony-line) !important;
}
/* The sign-in popup's former gray visual panel conflicted with the site's green brand. */
#onModal.ca-auth-modal .ca-auth-visual {
  background: linear-gradient(145deg, var(--ca-harmony-primary), var(--ca-reg-0003-0d4f4a, #0d4f4a)) !important;
  color: #fff !important;
}
#onModal.ca-auth-modal .ca-auth-brand-icon {
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
}
#onModal.ca-auth-modal .ca-auth-visual-copy,
#onModal.ca-auth-modal .ca-auth-points {
  color: rgba(255,255,255,.82) !important;
}

/* Product details popup: same soft page surface, green dimmer and clear spacing. */
#cr-product-popup.cr-popup {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100050 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 22px !important;
  overflow: auto !important;
  background: rgba(15, 61, 58, .48) !important;
  -webkit-backdrop-filter: blur(5px) !important;
  backdrop-filter: blur(5px) !important;
}
#cr-product-popup .cr-popup-content {
  position: relative !important;
  width: min(640px, 100%) !important;
  max-height: min(82vh, 780px) !important;
  overflow: auto !important;
  margin: clamp(18px, 7vh, 70px) auto !important;
  padding: clamp(18px, 3vw, 28px) !important;
  border: 1px solid var(--ca-harmony-line) !important;
  border-radius: 20px !important;
  background: var(--ca-harmony-surface) !important;
  color: var(--ca-harmony-ink) !important;
  box-shadow: 0 24px 70px rgba(15, 61, 58, .22) !important;
}
#cr-product-popup .cr-popup-content h2 {
  margin: 0 0 14px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid var(--ca-harmony-line) !important;
  color: var(--ca-harmony-primary) !important;
  font-size: 19px !important;
  font-weight: 900 !important;
}
#cr-product-popup .cr-popup-close {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  border: 1px solid var(--ca-harmony-line) !important;
  border-radius: 11px !important;
  background: var(--ca-harmony-subtle) !important;
  color: var(--ca-harmony-primary) !important;
  cursor: pointer !important;
  line-height: 1 !important;
}
#cr-product-popup .cr-popup-close:hover,
#cr-product-popup .cr-popup-close:focus-visible {
  background: var(--ca-harmony-soft-green) !important;
  border-color: var(--ca-harmony-primary) !important;
}
#cr-product-popup #cr-popup-data {
  min-width: 0 !important;
  background: transparent !important;
  color: var(--ca-harmony-ink) !important;
}
#onModal.ca-auth-modal .ca-auth-form-area {
  background: var(--ca-harmony-surface) !important;
}
#onModal.ca-auth-modal .ca-auth-tabs .ca-auth-tab {
  background: var(--ca-harmony-card) !important;
  border-color: var(--ca-harmony-line) !important;
  color: var(--ca-harmony-primary) !important;
}
#onModal.ca-auth-modal .ca-auth-tabs .ca-auth-tab.is-active,
#onModal.ca-auth-modal .ca-auth-tabs .ca-auth-tab.active {
  background: var(--ca-harmony-soft-green) !important;
  border-color: var(--ca-harmony-primary) !important;
  color: var(--ca-harmony-primary) !important;
}
.ca-account-page .cr-account-sidebar,
.ca-account-page .cr-shortcuts,
.ca-account-page .cr-mini-info-card,
.ca-account-page .cr-native-shortcode .edd_profile_editor_form,
.ca-account-page .cr-native-shortcode .edd_form {
  border-color: var(--ca-harmony-line) !important;
}
.ca-single-product .ca-purchase-box {
  border-color: var(--ca-harmony-line) !important;
  background: var(--ca-harmony-surface) !important;
}
.ca-single-product .ca-purchase-box .ca-download-zone,
.ca-single-product .ca-purchase-box .ca-owned-downloads {
  background: transparent !important;
}

/* ---------------- A consistent primary / secondary action language ---------------- */
.btn-green,
.button.green,
.edd-submit.green,
.ca-comment-submit,
.ca-auth-login-form input[type="submit"],
.ca-auth-login-form button[type="submit"],
.ca-account-page .cr-primary-btn,
.ca-account-page .cr-account-open-login,
.ca-account-page .cr-history-primary-action,
.ca-account-page input[type="submit"],
.ca-account-page .edd-submit,
.ca-account-page button[type="submit"],
#floating-cart-modal .checkout-btn,
#floating-cart-modal .cart-discount-apply,
main.ca-cart-page #edd_checkout_form_wrap .ca-discount-apply,
main.ca-cart-page #edd_checkout_form_wrap #edd-purchase-button,
main.ca-cart-page #edd_checkout_form_wrap #edd_purchase_submit input[type="submit"],
main.ca-cart-page #edd_checkout_form_wrap #edd_purchase_submit button[type="submit"] {
  font-family: IRANSans, Tahoma, sans-serif !important;
  background-color: var(--ca-harmony-primary) !important;
  border-color: var(--ca-harmony-primary) !important;
  color: #fff !important;
}
.btn-green:hover,
.button.green:hover,
.edd-submit.green:hover,
.ca-comment-submit:hover:not(:disabled),
.ca-auth-login-form input[type="submit"]:hover,
.ca-account-page .cr-primary-btn:hover,
.ca-account-page .cr-account-open-login:hover,
.ca-account-page .cr-history-primary-action:hover,
.ca-account-page input[type="submit"]:hover,
.ca-account-page .edd-submit:hover,
.ca-account-page button[type="submit"]:hover,
#floating-cart-modal .checkout-btn:hover,
#floating-cart-modal .cart-discount-apply:hover,
main.ca-cart-page #edd_checkout_form_wrap .ca-discount-apply:hover,
main.ca-cart-page #edd_checkout_form_wrap #edd-purchase-button:hover,
main.ca-cart-page #edd_checkout_form_wrap #edd_purchase_submit input[type="submit"]:hover {
  background-color: var(--ca-harmony-primary-hover) !important;
  border-color: var(--ca-harmony-primary-hover) !important;
  color: #fff !important;
}
.ca-write-comment-trigger,
.ca-discount-trigger,
.ca-receipt-content .ca-receipt-back-wrap .btn:not(.btn-green),
#floating-cart-modal .continue-btn {
  border-color: var(--ca-harmony-line) !important;
  background: var(--ca-harmony-subtle) !important;
  color: var(--ca-harmony-primary) !important;
}
.ca-write-comment-trigger:hover,
.ca-discount-trigger:hover,
.ca-receipt-content .ca-receipt-back-wrap .btn:not(.btn-green):hover {
  border-color: var(--ca-harmony-primary) !important;
  background: var(--ca-harmony-soft-green) !important;
  color: var(--ca-harmony-primary) !important;
}

/* Shared focus state gives controls one clear, accessible interaction language. */
:where(a, button, input, select, textarea, [role="button"]):focus-visible {
  outline: 2px solid var(--ca-harmony-primary) !important;
  outline-offset: 3px !important;
}
.ca-harmony-card,
.ca-receipt-page .ca-receipt-content,
#floating-cart-modal .cart-modal-content,
#ca-profile-modal .ca-profile-shell {
  border-radius: var(--ca-harmony-radius) !important;
}
@media (prefers-reduced-motion: reduce) {
  :where(a, button, input, select, textarea, [role="button"]) {
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
  }
}


/* v1.5.53 — inset floating-cart header from the outer drawer frame. */
#floating-cart-modal .cart-modal-content > .cart-modal-head {
  margin: 12px 12px 8px !important;
  width: auto !important;
  border: 1px solid var(--ca-cart-shared-line, #e4e9e3) !important;
  border-radius: 15px !important;
  overflow: hidden !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
}
@media (max-width: 700px) {
  #floating-cart-modal .cart-modal-content > .cart-modal-head {
    margin: 9px 9px 7px !important;
    border-radius: 13px !important;
  }
}
@media (max-width: 390px) {
  #floating-cart-modal .cart-modal-content > .cart-modal-head {
    margin: 8px 8px 6px !important;
  }
}
