/* App Typography Fixes
   Ensures third-party apps use consistent letter spacing
   Prevents apps from using heading letter spacing inappropriately
*/

/* Target common app selectors and force them to use body letter spacing */
.shopify-app-block,
.shopify-buy-frame,
div[data-shopify-app],
div[data-app-id],
div[class*="app-"],
div[class*="App"],
#bundle-container,
#bundle-app,
[data-bundle-app],
.bundle-builder,
#ReCharge,
[data-rebuy-id],
[data-rebuy-container],
[data-bold-bundle],
[data-loyalty-container],
[data-quickview],
[data-sm-buy],
[data-judge-me],
#judgeme_product_reviews {
  --letter-spacing-heading: var(--app-letter-spacing, var(--letter-spacing-body)) !important;
  letter-spacing: var(--app-letter-spacing, var(--letter-spacing-body)) !important;
}

/* Also target all children of app containers */
.shopify-app-block *,
.shopify-buy-frame *,
div[data-shopify-app] *,
div[data-app-id] *,
div[class*="app-"] *,
div[class*="App"] *,
#bundle-container *,
#bundle-app *,
[data-bundle-app] *,
.bundle-builder *,
#ReCharge *,
[data-rebuy-id] *,
[data-rebuy-container] *,
[data-bold-bundle] *,
[data-loyalty-container] *,
[data-quickview] *,
[data-sm-buy] *,
[data-judge-me] *,
#judgeme_product_reviews * {
  --letter-spacing-heading: var(--app-letter-spacing, var(--letter-spacing-body)) !important;
  letter-spacing: var(--app-letter-spacing, var(--letter-spacing-body)) !important;
}

/* Fix for frames and iframes which might contain app content */
iframe[src*="app"],
iframe[src*="bundle"],
iframe[src*="recharge"],
iframe[src*="rebuy"],
iframe[src*="loyalty"] {
  --letter-spacing-heading: var(--app-letter-spacing, var(--letter-spacing-body)) !important;
}

/* Fix specific app containers by class name patterns */
[class*="bundle"],
[class*="Bundle"],
[class*="subscription"],
[class*="Subscription"],
[class*="rebuy"],
[class*="Rebuy"],
[class*="recharge"],
[class*="Recharge"],
[class*="quickview"],
[class*="Quickview"] {
  --letter-spacing-heading: var(--app-letter-spacing, var(--letter-spacing-body)) !important;
  letter-spacing: var(--app-letter-spacing, var(--letter-spacing-body)) !important;
}

/* Fix for apps that use letter-spacing directly */
[style*="letter-spacing"] {
  letter-spacing: var(--app-letter-spacing, var(--letter-spacing-body)) !important;
}
