/* Adapter for the existing bilingual public pages and light checkout. */
:root {
  --bg: var(--sx-color-background);
  --surface: var(--sx-color-surface);
  --surface-2: var(--sx-color-raised);
  --line: var(--sx-color-border);
  --line-soft: var(--sx-color-border);
  --text: var(--sx-color-text);
  --muted: var(--sx-color-muted);
  --muted-2: var(--sx-color-muted);
  --blue: var(--sx-color-brand);
  --blue-strong: var(--sx-color-brand-hover);
  --green: var(--sx-color-success);
  --font: var(--sx-font-family);
  font-family: var(--sx-font-family);
  color: var(--sx-color-text);
  background-color: var(--sx-color-background);
}
html[lang="fa"] { --font: var(--sx-font-fa); }
html[lang="en"] { --font: var(--sx-font-en); }
body { font-family: var(--sx-font-family); font-size: var(--sx-font-body); color: var(--sx-color-text); }
:is(button, input, textarea, select) { font-family: var(--sx-font-family); }
html[lang="fa"] :is(h1, h2, h3, p) { letter-spacing: normal; }
:is(.hero-copy > p, .download-copy > p, .section-heading > p, .help-hero-copy > p, .account-section-intro) { font-size: var(--sx-font-body); line-height: var(--sx-leading-body); }
:is(.compatibility-list, .download-steps p, .feature-grid p, .library-count-card-copy p, .platform-stat-card p) { font-size: var(--sx-font-label); line-height: var(--sx-leading-body); }
:is(.site-header, .release-card, .quota-card, .payment-row, .session-row, .account-auth-card) { border-color: var(--sx-color-border); }
:is(.release-card, .quota-card, .payment-row, .session-row, .account-auth-card) { background-color: var(--sx-color-surface); border-radius: var(--sx-radius-card); }
:is(.release-card, .quota-card, .account-auth-card) { padding: var(--sx-space-6); }
:is(.primary-action, .header-download, .account-primary, .account-secondary, .pay-primary, .status-link) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sx-space-2);
  min-height: var(--sx-control-md);
  border-radius: var(--sx-radius-control);
  padding: var(--sx-space-2) var(--sx-space-4);
  font-family: var(--sx-font-family);
  font-size: var(--sx-font-label);
  font-weight: 600;
  line-height: 1.5;
  transition: background-color var(--sx-motion-fast) var(--sx-ease-out), border-color var(--sx-motion-fast) var(--sx-ease-out), color var(--sx-motion-fast) var(--sx-ease-out);
}
:is(.primary-action, .account-primary, .pay-primary) { border-color: transparent; background: var(--sx-color-brand); color: var(--sx-color-on-brand); }
:is(.primary-action, .account-primary, .pay-primary):hover:not(:disabled) { background: var(--sx-color-brand-hover); }
:is(.header-download, .account-secondary, .status-link) { border: 1px solid var(--sx-color-input); background: transparent; color: var(--sx-color-text); }
:is(.header-download, .account-secondary, .status-link):hover { background: var(--sx-color-raised); }
:is(.language-switch button, .header-help, .header-account) { font-size: var(--sx-font-label); }
.language-switch button { min-width: var(--sx-control-sm); min-height: var(--sx-control-sm); border-radius: var(--sx-radius-control); }
.language-switch button[aria-pressed="true"] { background: var(--sx-color-raised); color: var(--sx-color-text); }
:is(button, a, input, textarea, select, summary):focus-visible { outline: 2px solid var(--sx-color-focus); outline-offset: 3px; }
:is(.account-auth-form, .account-playlist-form, .pay-card) :is(input:not([type="radio"]):not([type="checkbox"]), textarea, select) {
  min-height: var(--sx-control-md);
  border: 1px solid var(--sx-color-input);
  border-radius: var(--sx-radius-control);
  background: var(--sx-color-field);
  color: var(--sx-color-text);
  padding-inline: var(--sx-space-3);
  font-size: var(--sx-font-body);
}
:is(.account-auth-form, .pay-card) input[aria-invalid="true"] { border-color: var(--sx-color-error); }
:is(.account-feedback, .section-status, .release-note) { font-size: var(--sx-font-label); line-height: var(--sx-leading-body); }
:is(.account-feedback, .section-status).is-error { color: var(--sx-color-error); }
:is(.payment-row, .session-row) small { font-size: var(--sx-font-caption); color: var(--sx-color-muted); }
:is(.pay-card, .plan-card) { border-color: var(--sx-color-border); border-radius: var(--sx-radius-card); background: var(--sx-color-surface); color: var(--sx-color-text); }
.pay-card { padding: var(--sx-space-6); }
:is(.pay-summary, .pay-plan, .pay-result dl) { border-color: var(--sx-color-border); background: var(--sx-color-raised); }
:is(.pay-security, .pay-card small, .pay-result dt) { color: var(--sx-color-muted); font-size: var(--sx-font-caption); }
:is(.pay-card > p, .pay-result dd, .pay-plan p) { font-size: var(--sx-font-label); line-height: var(--sx-leading-body); }
.pay-plan h2 { color: var(--sx-color-text); font-size: var(--sx-font-body); }
.status-page { color: var(--sx-color-text); }
body:has(.status-page) { background-color: var(--sx-color-background); }
@media (pointer: coarse) {
  .language-switch button { min-width: var(--sx-control-md); min-height: var(--sx-control-md); }
  :is(input, textarea, select) { font-size: max(1rem, 1em); }
}
@media (prefers-reduced-motion: reduce) {
  :is(button, a, input, textarea, select) { transition-duration: 0ms; }
  .sx-button:active { transform: none; }
}

/* A quiet, shared space for official trust marks in public footers. */
.public-footer-logos { display: flex; align-items: center; flex: 0 0 auto; gap: 8px; }
.public-trust-link { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 6px 10px; border: 1px solid var(--sx-color-border); border-radius: 8px; color: var(--sx-color-muted); font-size: 11px; line-height: 1.4; }
.public-trust-link:hover { background: var(--sx-color-surface); color: var(--sx-color-text); }
html[lang^="en"] .public-trust-link [lang="fa"], html[lang^="fa"] .public-trust-link [lang="en"] { display: none; }
.public-trust-dialog { width: min(380px, calc(100% - 32px)); max-height: calc(100svh - 48px); margin: auto; padding: 24px; overflow-y: auto; border: 1px solid var(--sx-color-border); border-radius: 16px; background: var(--sx-color-surface); color: var(--sx-color-text); box-shadow: var(--sx-shadow-overlay); font-family: var(--sx-font-family); }
.public-trust-dialog::backdrop { background: rgb(0 0 0 / .65); backdrop-filter: blur(4px); }
.trust-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.trust-dialog-head h2 { margin: 0; font-size: 17px; font-weight: 600; line-height: 1.7; }
.trust-dialog-close { display: grid; width: 36px; height: 36px; flex: 0 0 36px; padding: 0; place-items: center; border: 0; border-radius: 8px; color: var(--sx-color-muted); background: transparent; font: 24px/1 var(--sx-font-en); cursor: pointer; }
.trust-dialog-close:hover { background: var(--sx-color-raised); }
.public-trust-dialog > p { margin: 12px 0 20px; color: var(--sx-color-muted); font-size: var(--sx-font-caption); line-height: 1.9; }
.trust-seal-image { display: grid; width: 132px; min-height: 140px; margin: 24px auto; padding: 12px; place-items: center; border-radius: 10px; color-scheme: light; background: Canvas; }
.trust-seal-image img { display: block; width: 104px; height: 112px; object-fit: contain; cursor: pointer; }
.public-trust-dialog [hidden] { display: none !important; }
.trust-verify { display: flex; min-height: 44px; align-items: center; justify-content: center; padding: 10px 14px; border: 1px solid var(--sx-color-border); border-radius: 8px; color: var(--sx-color-text); font-size: var(--sx-font-label); text-decoration: none; }
.trust-verify:hover { background: var(--sx-color-raised); }
