/* Shared breakpoints and cross-component mobile fixes. */
body.wpfo-plugin-page .wpfo-page-main { padding-bottom: calc(106px + env(safe-area-inset-bottom)); }
body.wpfo-plugin-page .wpfo-live-ticker { max-width: 100%; }
body.wpfo-plugin-page .wpfo-sortbar { min-width: 0; }
body.wpfo-plugin-page .wpfo-sort-select { max-width: 58%; min-width: 0; }
body.wpfo-plugin-page .wpfo-item-card,
body.wpfo-plugin-page .wpfo-order-card,
body.wpfo-plugin-page .wpfo-order-card-top,
body.wpfo-plugin-page .wpfo-order-card-meta,
body.wpfo-plugin-page .wpfo-order-card-status { min-width: 0; }
body.wpfo-plugin-page .wpfo-copy-row code { min-width: 0; overflow-wrap: anywhere; }
body.wpfo-plugin-page .wpfo-auth-form label { display: grid; gap: 7px; min-width: 0; }
body.wpfo-plugin-page .wpfo-auth-form input:not([type="hidden"]),
body.wpfo-plugin-page .wpfo-password-form input,
body.wpfo-plugin-page .wpfo-payment-form input,
body.wpfo-plugin-page .wpfo-payment-form textarea,
body.wpfo-plugin-page .wpfo-password-form input[type="password"] {
  min-width: 0;
  max-width: 100%;
}
body.wpfo-plugin-page .wpfo-password-field {
  display: flex !important;
  align-items: center !important;
  flex-flow: row nowrap !important;
  gap: 8px;
  width: 100%;
  min-width: 0;
}
body.wpfo-plugin-page .wpfo-password-field .wpfo-field-icon { display: inline-flex; flex: 0 0 auto; }
body.wpfo-plugin-page .wpfo-auth-form .wpfo-password-field input,
body.wpfo-plugin-page .wpfo-password-form .wpfo-password-field input {
  display: block !important;
  flex: 1 1 auto !important;
  width: 1% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
body.wpfo-plugin-page .wpfo-password-field .wpfo-eye {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  width: 34px;
  min-width: 34px;
  margin: 0;
}
body.wpfo-plugin-page .wpfo-bottom-nav {
  min-height: calc(70px + env(safe-area-inset-bottom));
  height: calc(70px + env(safe-area-inset-bottom));
  padding: 7px 8px calc(7px + env(safe-area-inset-bottom));
}
body.wpfo-plugin-page .wpfo-bottom-nav a { min-width: 0; display: block; }
body.wpfo-plugin-page .wpfo-bottom-nav span:last-child { line-height: 1.2; }
body.wpfo-plugin-page .wpfo-modal { padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom); }
body.wpfo-plugin-page .wpfo-modal-card { max-width: calc(100vw - 24px); }
body.wpfo-plugin-page .wpfo-payment-qr,
body.wpfo-plugin-page .wpfo-qr-canvas { max-width: min(100%, 240px); height: auto; aspect-ratio: 1 / 1; }
body.wpfo-plugin-page .wpfo-profile-hero,
body.wpfo-plugin-page .wpfo-panel,
body.wpfo-plugin-page .wpfo-payment-summary { min-width: 0; }
body.wpfo-plugin-page .wpfo-gateway-resume .wpfo-btn { width: 100%; white-space: normal; }
body.wpfo-plugin-page .wpfo-gateway-note { color: #98a3b3; font-size: 13px; line-height: 1.5; }

@media (min-width: 1100px) {
  body.wpfo-plugin-page .wpfo-page-main { width: min(900px, calc(100% - 64px)); }
  body.wpfo-plugin-page .wpfo-topbar { height: 72px; }
  body.wpfo-plugin-page .wpfo-items-list { gap: 18px; }
}
@media (max-width: 760px) {
  body.wpfo-plugin-page .wpfo-page-main { width: calc(100% - 28px); padding-top: 12px; }
  body.wpfo-plugin-page .wpfo-topbar { height: 62px; gap: 9px; }
  body.wpfo-plugin-page .wpfo-brand { font-size: clamp(17px, 4.4vw, 21px); letter-spacing: .7px; }
  body.wpfo-plugin-page .wpfo-balance { padding: 8px 12px; font-size: 13px; white-space: nowrap; }
  body.wpfo-plugin-page .wpfo-theme-toggle { width: 40px; height: 40px; flex: 0 0 40px; }
  body.wpfo-plugin-page .wpfo-live-ticker { gap: 7px; font-size: 11px; padding-inline: 11px; white-space: normal; min-height: 42px; height: auto; }
  body.wpfo-plugin-page .wpfo-ticker-user { display: none; }
  body.wpfo-plugin-page .wpfo-sortbar { gap: 10px; padding: 12px; border-radius: 15px; }
  body.wpfo-plugin-page .wpfo-label { font-size: 10px; letter-spacing: 1px; }
  body.wpfo-plugin-page .wpfo-sort-select { max-width: 58%; padding: 10px 9px; border-radius: 11px; font-size: 12px; }
  body.wpfo-plugin-page .wpfo-live-card { padding: 16px; gap: 10px; border-radius: 17px; }
  body.wpfo-plugin-page .wpfo-live-title { font-size: 17px; }
  body.wpfo-plugin-page .wpfo-live-text { font-size: 12px; }
  body.wpfo-plugin-page .wpfo-live-icon { font-size: 27px; }
  body.wpfo-plugin-page .wpfo-item-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; min-height: 0; padding: 16px; border-radius: 17px; }
  body.wpfo-plugin-page .wpfo-item-content { min-width: 0; }
  body.wpfo-plugin-page .wpfo-item-price { font-size: clamp(21px, 5vw, 25px); }
  body.wpfo-plugin-page .wpfo-item-card .wpfo-btn { align-self: center; padding: 12px 13px; font-size: 12px; white-space: nowrap; }
  body.wpfo-plugin-page .wpfo-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.wpfo-plugin-page .wpfo-order-tabs { gap: 4px; padding: 5px; }
  body.wpfo-plugin-page .wpfo-order-tabs button { padding: 10px 4px; font-size: 12px; }
  body.wpfo-plugin-page .wpfo-order-card-top strong { font-size: 17px; }
  body.wpfo-plugin-page .wpfo-auth-shell { min-height: calc(100dvh - 62px); padding: 22px 14px calc(30px + env(safe-area-inset-bottom)); }
  body.wpfo-plugin-page .wpfo-auth-form { width: 100%; max-width: 460px; padding: clamp(18px, 5vw, 26px); margin: 0 !important; }
  body.wpfo-plugin-page .wpfo-modal-card { width: 100%; max-width: 100%; max-height: 100dvh; height: 100dvh; margin: 0; border-radius: 0; padding-bottom: env(safe-area-inset-bottom); }
  body.wpfo-plugin-page .wpfo-modal-close { position: sticky; }
  body.wpfo-plugin-page .wpfo-payment { padding: 20px 14px calc(24px + env(safe-area-inset-bottom)); }
}
@media (max-width: 480px) {
  body.wpfo-plugin-page .wpfo-page-main { width: calc(100% - 22px); }
  body.wpfo-plugin-page .wpfo-item-card { grid-template-columns: minmax(0, 1fr); align-items: stretch; }
  body.wpfo-plugin-page .wpfo-item-card .wpfo-btn { width: 100%; }
  body.wpfo-plugin-page .wpfo-profile-grid { gap: 8px; }
  body.wpfo-plugin-page .wpfo-stat { padding: 13px 8px; }
  body.wpfo-plugin-page .wpfo-stat strong { font-size: 18px; overflow-wrap: anywhere; }
  body.wpfo-plugin-page .wpfo-payment-summary { flex-direction: column; align-items: flex-start; }
  body.wpfo-plugin-page .wpfo-payment-summary strong { font-size: 28px; }
  body.wpfo-plugin-page .wpfo-payment-status { white-space: normal; }
  body.wpfo-plugin-page .wpfo-copy-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  body.wpfo-plugin-page .wpfo-copy-row code { grid-column: 1 / -1; }
  body.wpfo-plugin-page .wpfo-copy-btn { min-height: 40px; }
  body.wpfo-plugin-page .wpfo-order-card-top { flex-direction: column; }
  body.wpfo-plugin-page .wpfo-order-card-meta { gap: 8px; }
  body.wpfo-plugin-page .wpfo-order-tabs button { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  body.wpfo-plugin-page *, body.wpfo-plugin-page *::before, body.wpfo-plugin-page *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}


/* v1.9.10: stronger ELITE PAY brand sizing across all portal shortcodes. */
body.wpfo-plugin-page .wpfo-topbar .wpfo-brand {
  font-size: clamp(28px, 2.4vw, 34px) !important;
  font-weight: 950 !important;
  letter-spacing: 1.6px !important;
  line-height: 1.05;
  white-space: nowrap;
}
@media (max-width: 760px) {
  body.wpfo-plugin-page .wpfo-topbar .wpfo-brand {
    font-size: clamp(23px, 6vw, 28px) !important;
    letter-spacing: 1px !important;
  }
}
