/* Faditec Protect Stage 5 — Product UX/UI/CRO polish v7.0.0 */
:root {
  --fd-content-max: 1480px;
  --fd-reading-max: 760px;
  --fd-control-min: 44px;
}

/* Readability and hierarchy */
.fd-public-body, .fd-app-body { line-height: 1.72; }
.fd-public-body p, .fd-app-body p { text-wrap: pretty; }
.fd-page-header > div:first-child > p,
.fd-public-section__head > p,
.fd-premium-section__head > p { max-width: var(--fd-reading-max); }
.fd-page-header h1, .fd-subscriber-hero h1, .fd-admin-hero h1 { text-wrap: balance; }

/* Consistent, quieter motion */
@media (hover:hover) {
  .fd-public-card:hover,
  .fd-public-plan:hover,
  .fd-panel:hover { transform: translateY(-1px); }
}
@media (hover:none) {
  .fd-app-body .btn:hover, .fd-public-body .btn:hover,
  .fd-public-card:hover, .fd-public-plan:hover, .fd-panel:hover { transform: none !important; }
}

/* Public conversion surfaces */
.fd-premium-hero__content h1 { max-width: 760px; }
.fd-premium-hero__lead { max-width: 760px; font-size: clamp(1rem, 1.25vw, 1.17rem); }
.fd-premium-trust { row-gap: .55rem; }
.fd-premium-trust span { background: rgba(255,255,255,.72); border: 1px solid rgba(148,163,184,.18); border-radius: 999px; padding: .42rem .66rem; }
.fd-public-plans { align-items: stretch; }
.fd-public-plan { display:flex; flex-direction:column; min-height:100%; position:relative; }
.fd-public-plan__head p { min-height: 3.2em; }
.fd-public-plan__features { flex:1 1 auto; }
.fd-public-plan__features li { align-items:flex-start; line-height:1.55; }
.fd-public-plan__assurance { display:flex; align-items:center; gap:.42rem; margin:.8rem 0 1rem; padding:.68rem .75rem; border-radius:12px; background:#f8fafc; color:#475569; font-size:.78rem; border:1px solid #e2e8f0; }
.fd-public-plan__assurance i { color:var(--fd-success); }
.fd-public-buy-note { max-width:900px; margin:1rem auto 0; padding:.85rem 1rem; border:1px solid #e2e8f0; border-radius:14px; background:#fff; color:#475569; font-size:.88rem; text-align:center; }
.fd-public-buy-note a { font-weight:700; }

/* Authentication: keep the first decision simple */
.fd-auth-card { max-width: 720px; }
.fd-auth-progress { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem; margin:1.1rem 0 0; }
.fd-auth-progress span { display:flex; gap:.45rem; align-items:center; padding:.6rem .7rem; border:1px solid rgba(255,255,255,.15); border-radius:12px; color:rgba(255,255,255,.82); font-size:.78rem; }
.fd-auth-progress b { width:24px; height:24px; flex:0 0 24px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.12); color:#fff; }
.fd-auth-optional { margin-top:.25rem; border:1px solid var(--fd-border); border-radius:12px; background:#f8fafc; }
.fd-auth-optional summary { cursor:pointer; padding:.75rem .85rem; font-weight:700; color:var(--fd-ink-soft); }
.fd-auth-optional__body { padding:0 .85rem .85rem; }

/* App shell navigation: clearer active state and less visual density */
.fd-nav-section__label { text-transform:none; letter-spacing:0; }
.fd-nav-link { min-height:42px; }
.fd-nav-link.is-active::after { content:""; position:absolute; inset-inline-start:0; top:10px; bottom:10px; width:3px; border-radius:99px; background:#ef5963; }

/* Subscriber action clarity */
.fd-dashboard-state { display:flex; align-items:center; gap:.75rem; margin-top:1rem; padding:.8rem .9rem; border:1px solid rgba(255,255,255,.14); border-radius:14px; background:rgba(255,255,255,.08); color:#fff; }
.fd-dashboard-state i { font-size:1.1rem; }
.fd-dashboard-state strong { display:block; color:#fff; font-size:.86rem; }
.fd-dashboard-state small { display:block; color:rgba(255,255,255,.7); margin-top:.12rem; }
.fd-dashboard-state--healthy i { color:#86efac; }
.fd-dashboard-state--attention i { color:#fde68a; }

.fd-site360-nav { position:sticky; top:76px; z-index:20; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.fd-next-action { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:0 0 1rem; padding:1rem 1.1rem; border:1px solid var(--fd-border); border-radius:16px; background:#fff; box-shadow:var(--fd-shadow-sm); }
.fd-next-action__copy { display:flex; align-items:flex-start; gap:.75rem; min-width:0; }
.fd-next-action__icon { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; border-radius:13px; background:var(--fd-primary-soft); color:var(--fd-primary); }
.fd-next-action h2 { margin:0; font-size:1rem; }
.fd-next-action p { margin:.2rem 0 0; color:var(--fd-muted); font-size:.86rem; }
.fd-next-action--healthy .fd-next-action__icon { background:var(--fd-success-soft); color:var(--fd-success); }
.fd-next-action--warning .fd-next-action__icon { background:var(--fd-warning-soft); color:var(--fd-warning); }
.fd-next-action--danger .fd-next-action__icon { background:var(--fd-danger-soft); color:var(--fd-danger); }

/* Findings: make filters and pagination usable on small screens */
.fd-findings-quick { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:.75rem; }
.fd-findings-quick .btn { min-height:36px; }
.fd-pagination { display:flex; justify-content:space-between; align-items:center; gap:.75rem; margin-top:1rem; }
.fd-pagination__meta { color:var(--fd-muted); font-size:.82rem; }

/* Billing transparency */
.fd-payment-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; margin-top:1rem; }
.fd-payment-step { padding:.78rem; border:1px solid var(--fd-border); border-radius:12px; background:#fff; }
.fd-payment-step strong { display:block; font-size:.82rem; }
.fd-payment-step small { display:block; color:var(--fd-muted); margin-top:.18rem; }

/* Admin information architecture / packaging warnings */
.fd-admin-callout { display:flex; gap:.8rem; align-items:flex-start; padding:1rem; margin-bottom:1rem; border:1px solid #fde68a; border-radius:16px; background:#fffbeb; color:#78350f; }
.fd-admin-callout i { font-size:1.15rem; margin-top:.1rem; }
.fd-admin-callout strong { display:block; color:#78350f; }
.fd-admin-callout p { margin:.2rem 0 0; color:#92400e; font-size:.85rem; }

/* Accessibility and mobile */
@media (max-width: 767.98px) {
  .fd-public-hero__actions, .fd-premium-hero__actions, .fd-page-header__actions { width:100%; }
  .fd-public-hero__actions .btn, .fd-premium-hero__actions .btn, .fd-page-header__actions .btn { flex:1 1 100%; }
  .fd-auth-progress, .fd-payment-steps { grid-template-columns:1fr; }
  .fd-next-action { align-items:stretch; flex-direction:column; }
  .fd-next-action .btn { width:100%; }
  .fd-site360-nav { top:64px; overflow-x:auto; flex-wrap:nowrap; white-space:nowrap; scrollbar-width:none; }
  .fd-site360-nav::-webkit-scrollbar { display:none; }
  .fd-findings-toolbar { grid-template-columns:1fr !important; }
  .fd-pagination { align-items:stretch; flex-direction:column; }
  .fd-pagination .btn { width:100%; }
  .fd-table-mobile-hint::before { content:"اسحب الجدول أفقيًا لعرض المزيد"; display:block; padding:.55rem .75rem; color:var(--fd-muted); font-size:.72rem; background:#f8fafc; border-bottom:1px solid var(--fd-border); }
}

@media (max-width: 575.98px) {
  .fd-public-plan { border-radius:16px; }
  .fd-subscriber-metrics { grid-template-columns:1fr 1fr !important; }
  .fd-subscriber-metric { min-height:118px; }
  .fd-page-header { align-items:flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .fd-public-card, .fd-public-plan, .fd-panel { transform:none !important; }
}
