/* FaraPay storefront chrome — September 2026. */
:root {
  --fc-canvas:#f6f7fa; --fc-surface:#fff; --fc-glass:rgb(255 255 255 / .94);
  --fc-ink:#191d2d; --fc-muted:#717787; --fc-line:#e5e7ee;
  --fc-soft:#f2f3f8; --fc-accent:#6552df; --fc-shadow:0 8px 32px rgb(23 32 65 / .06);
}
html[data-theme="dark"] {
  --fc-canvas:#0c111c; --fc-surface:#141b29; --fc-glass:rgb(20 27 41 / .94);
  --fc-ink:#f0f2f8; --fc-muted:#a2acbe; --fc-line:#293244;
  --fc-soft:#1c2536; --fc-accent:#b0a2ff; --fc-shadow:0 8px 32px rgb(0 0 0 / .15);
}
.fc-header { position:sticky; top:0; z-index:110; padding:16px 20px 12px; color:var(--fc-ink); isolation:isolate; font-family:Vazirmatn,Tahoma,sans-serif; font-size:16px; line-height:1.5; }
.fc-bar { position:relative; display:flex; align-items:center; gap:30px; width:min(1240px,100%); min-height:80px; margin:auto; padding:13px 22px; border:1px solid var(--fc-line); border-radius:22px; background:var(--fc-glass); box-shadow:var(--fc-shadow),inset 0 1px 0 rgb(255 255 255 / .12); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); transition:box-shadow .25s,border-color .25s; }
.fc-scrolled .fc-bar { box-shadow:0 12px 36px rgb(15 23 42 / .13); border-color:color-mix(in srgb,var(--fc-line) 75%,var(--fc-accent)); }
.fc-header a { color:inherit; text-decoration:none; }
.fc-brand { display:flex; flex:none; align-items:center; gap:10px; margin-inline-end:auto; }
.fc-brand .fc-brand-mark { display:block; width:46px; height:46px; flex:none; color:var(--fc-ink); }
.fc-brand > span { display:grid; gap:4px; }
.fc-brand strong { font-size:1.28rem; font-weight:800; line-height:1.2; letter-spacing:-.035em; }
.fc-brand small { color:var(--fc-muted); font-size:.58rem; font-weight:600; letter-spacing:.12em; }
.fc-primary { display:flex; align-items:center; gap:7px; }
.fc-nav-link,.fc-catalog > summary { display:flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:10px 14px; border-radius:12px; color:var(--fc-muted); font-size:.85rem; font-weight:650; line-height:1.5; white-space:nowrap; transition:background .18s,color .18s; }
.fc-nav-link:hover,.fc-catalog > summary:hover,.fc-catalog[open] > summary { background:var(--fc-soft); color:var(--fc-ink); }
.fc-catalog { position:static; }
.fc-catalog > summary { cursor:pointer; list-style:none; color:var(--fc-ink); }
.fc-catalog > summary::-webkit-details-marker { display:none; }
.fc-chevron { width:14px; height:14px; transition:transform .2s; }
.fc-catalog[open] .fc-chevron { transform:rotate(180deg); }
.fc-header .fc-menu-icon { display:none; width:22px; height:22px; }
.fc-status-dot { width:5px; height:5px; border-radius:50%; background:#27a881; }
.fc-actions { display:flex; align-items:center; gap:6px; padding-inline-start:18px; border-inline-start:1px solid var(--fc-line); }
.fc-icon { display:grid; place-items:center; position:relative; flex:none; width:42px; height:42px; padding:0; border:0; border-radius:12px; background:transparent; color:var(--fc-muted); cursor:pointer; transition:background .18s,color .18s; }
.fc-icon:hover { background:var(--fc-soft); color:var(--fc-ink); }
.fc-icon svg,.fc-login svg { display:block; width:20px; height:20px; }
.fc-login { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; margin-inline-start:5px; border:1px solid rgb(255 255 255 / .15); border-radius:12px; background:#6552df; color:#fff!important; font-size:.8rem; font-weight:750; box-shadow:0 4px 12px rgb(101 82 223 / .16); transition:background .2s,transform .2s; white-space:nowrap; }
.fc-login:hover { background:#5542cc; transform:translateY(-1px); }
.fc-theme .fc-sun { display:none; }
html[data-theme="dark"] .fc-theme .fc-sun { display:block; }
html[data-theme="dark"] .fc-theme .fc-moon { display:none; }
.fc-count { position:absolute; top:-1px; right:-1px; display:grid; place-items:center; min-width:17px; height:17px; padding:0 3px; border-radius:20px; background:#6552df; color:#fff; font-size:10px; font-weight:700; }
.fc-mega { position:absolute; inset:calc(100% + 10px) 0 auto; overflow:auto; max-height:calc(100dvh - 132px); padding:26px; border:1px solid var(--fc-line); border-radius:22px; background:var(--fc-surface); box-shadow:0 24px 70px rgb(5 15 35 / .2); animation:fc-menu-in .2s ease-out; }
.fc-mega-intro { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:23px; border-bottom:1px solid var(--fc-line); }
.fc-mega-intro > div { display:grid; gap:4px; }
.fc-mega-intro > div > span { color:var(--fc-accent); font-size:.7rem; font-weight:700; }
.fc-mega-intro strong { font-size:1.1rem; font-weight:800; }
.fc-mega-intro > a { display:flex; gap:18px; align-items:center; padding:9px 14px; border:1px solid var(--fc-line); border-radius:10px; font-size:.76rem; font-weight:650; }
.fc-mega-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:23px 0; }
.fc-menu-group { min-width:0; margin:0; padding:0 0 0 22px; border-inline-end:1px solid var(--fc-line); }
.fc-menu-group:last-child { padding-inline-end:0; border:0; }
.fc-menu-group h2 { display:flex; align-items:center; gap:9px; margin:0 0 12px; color:var(--fc-muted); font-size:.76rem; font-weight:650; }
.fc-category-icon { display:grid; place-items:center; width:27px; height:27px; border-radius:8px; background:var(--fc-soft); color:var(--fc-accent); font-size:1.2rem; }
.fc-menu-group > a { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:48px; margin-inline:-8px; padding:10px 8px; border-radius:9px; font-size:.79rem; font-weight:700; transition:background .18s; }
.fc-menu-group > a:hover { background:var(--fc-soft); }
.fc-menu-group small { color:var(--fc-muted); font-size:.63rem; font-weight:450; }
.fc-mega-footer { display:flex; align-items:center; gap:25px; padding-top:18px; border-top:1px solid var(--fc-line); color:var(--fc-muted); font-size:.72rem; }
.fc-mega-footer > span { margin-inline-end:auto; }
.fc-mega-footer > a { font-weight:650; color:var(--fc-ink); }
.fc-header :is(a,button,summary):focus-visible { outline:3px solid var(--fc-accent); outline-offset:4px; }
@keyframes fc-menu-in { from { opacity:0; transform:translateY(-7px); } to { opacity:1; transform:translateY(0); } }

/* A quiet canvas and one deliberate focal point. */
html[data-theme] body.home-page { --bg:var(--fc-canvas); --text:var(--fc-ink); --text-muted:var(--fc-muted); --home-card:var(--fc-surface); --home-glass:var(--fc-surface); --home-glass-solid:var(--fc-surface); --home-shadow-soft:0 4px 22px rgb(20 32 60 / .04); background:var(--fc-canvas); }
.home-page::before { display:none; }
html[data-theme] .home-page .hero { margin:10px 20px 0; min-block-size:640px; padding-block:70px 88px; border:1px solid #25314a; border-radius:30px; background:radial-gradient(ellipse at 20% 52%,#243566 0%,transparent 47%),linear-gradient(115deg,#131c36,#0c1221 70%); color:#fff; overflow:visible; }
html[data-theme] .home-page .hero::before { inset:0; z-index:-1; block-size:auto; border-radius:inherit; opacity:.28; background:linear-gradient(110deg,transparent 48%,rgb(140 160 218 / .1) 48.05%,transparent 48.15%),linear-gradient(110deg,transparent 65%,rgb(140 160 218 / .1) 65.05%,transparent 65.15%); }
html[data-theme] .home-page .hero::after { content:none; }
.home-page .hero-atmosphere { display:none; }
.home-page .hero-layout { inline-size:min(100% - 80px,1160px); gap:55px; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); }
html[data-theme] .home-page .hero-title { color:#f8f9ff; font-size:clamp(2.5rem,3.7vw,3.9rem); font-weight:850; line-height:1.45; letter-spacing:-.04em; }
.home-page .hero-title .grad-text { color:#b8acff; background:none; }
html[data-theme] .home-page .hero-sub { color:#b9c3d8; max-inline-size:51ch; font-size:1rem; line-height:2.1; }
html[data-theme] .home-page .hero-badge { padding:7px 12px; border:1px solid #38445f; background:rgb(255 255 255 / .035); color:#d2caef; box-shadow:none; font-size:.76rem; font-weight:650; backdrop-filter:none; }
.home-page .badge-spark { width:20px; height:20px; border-radius:6px; background:#6758c6; }
.home-page .hero-visual { inline-size:100%; block-size:440px; transform:none; margin:0; }
.home-page .hero-services-art { filter:drop-shadow(0 22px 32px rgb(0 0 0 / .16))!important; }
.home-page .hero-ctas { gap:12px; margin-top:28px; }
.home-page .hero-ctas .btn { min-height:50px; border-radius:13px; padding:12px 22px; font-size:.9rem; box-shadow:none; }
.home-page .hero-ctas .btn-primary { background:#7662ef; border-color:#9180f5; }
.home-page .hero-ctas .btn-primary:hover { background:#8472f4; box-shadow:0 8px 24px rgb(110 88 230 / .25); }
html[data-theme] .home-page .hero-ctas .btn-ghost { background:rgb(255 255 255 / .035); color:#e2e7f1; border-color:#39455b; }
html[data-theme] .home-page .hero-scroll-cue { inline-size:50px; block-size:50px; bottom:-25px; background:var(--fc-canvas); border:1px solid var(--fc-line); color:var(--fc-ink); box-shadow:0 4px 12px rgb(0 0 0 / .05); }
.home-page .home-product-marquee { margin-block:58px 24px; }
.home-page .home-product-marquee-item { border:0; border-radius:0; background:transparent; color:var(--fc-muted); font-weight:600; gap:10px; }
.home-page .home-product-marquee-item .product-logo { background:transparent; border-radius:0; padding:7px; }
.home-page .home-product-marquee-item:hover { color:var(--fc-ink); }
.home-page .glass { border-color:var(--fc-line); background:var(--fc-surface); box-shadow:var(--home-shadow-soft); backdrop-filter:none; }
.home-page .trust-strip { border:0; border-block:1px solid var(--fc-line); border-radius:0; background:transparent; box-shadow:none; padding-block:14px; }
.home-page .services-shell { background:var(--fc-surface); box-shadow:none; border:1px solid var(--fc-line); border-radius:26px; }
.home-page .home-product-card { border-color:var(--fc-line); box-shadow:none; }
.home-page .home-product-card::after { opacity:.3; filter:blur(30px); }
.home-page .home-step,.home-page .faq-list { box-shadow:none; }
.home-page .home-footer { background:var(--fc-surface); border-color:var(--fc-line); }

/* The purchase pages use the same navigation and neutral background. */
html[data-theme] .fp-product-page { --fp-bg:var(--fc-canvas); --fp-page-bg:var(--fc-canvas); --fp-panel:var(--fc-surface); --fp-panel-strong:var(--fc-surface); --fp-header:var(--fc-glass); --fp-heading:var(--fc-ink); --fp-text:var(--fc-ink); --fp-muted:var(--fc-muted); --fp-line:var(--fc-line); background:var(--fc-canvas); }
.fp-product-page .fp-ambient { display:none; }
.fp-product-page .fc-header { font-size:16px; line-height:1.5; }
.fp-product-page .fc-icon { color:var(--fc-muted); }
.fp-product-page .fc-login { color:#fff; }
.fp-product-page .fp-panel { backdrop-filter:none; }
html[data-theme] .fc-guides-page { --bg:var(--fc-canvas); --panel:var(--fc-surface); --ink:var(--fc-ink); --muted:var(--fc-muted); --line:var(--fc-line); --soft:var(--fc-soft); background:var(--fc-canvas); }
.fc-guides-page .toc { top:124px; }
html:has(.fc-guides-page) { scroll-padding-top:126px; }

@media (max-width:1100px) {
  .fc-bar { gap:16px; padding-inline:17px; }
  .fc-nav-link,.fc-catalog > summary { padding-inline:10px; font-size:.79rem; }
  .fc-actions { padding-inline-start:12px; }
  .fc-menu-group > a { align-items:flex-start; flex-direction:column; gap:1px; }
  .home-page .hero-layout { gap:25px; inline-size:calc(100% - 56px); }
  .home-page .hero-visual { block-size:400px; }
}
@media (max-width:850px) {
  body:has(.fc-catalog[open]) .fp-support-widget, .home-page:has(.fc-catalog[open]) .fp-bottom-nav { visibility:hidden; }
  .fc-header { padding:10px 14px; }
  .fc-bar { min-height:70px; padding:10px 14px; gap:12px; border-radius:18px; }
  .fc-brand .fc-brand-mark { width:40px; height:40px; border-radius:12px; }
  .fc-brand strong { font-size:1.15rem; }
  .fc-primary { order:3; }
  .fc-primary > .fc-nav-link { display:none; }
  .fc-catalog > summary { width:40px; height:40px; padding:0; border:1px solid var(--fc-line); border-radius:11px; }
  .fc-catalog-label,.fc-header .fc-chevron { display:none; }
  .fc-header .fc-menu-icon { display:block; }
  .fc-actions { padding:0; border:0; margin-inline-start:auto; }
  .fc-brand { margin-inline-end:0; }
  .fc-icon { width:38px; height:40px; }
  .fc-mega { padding:20px; max-height:calc(100dvh - 116px); }
  .fc-mega-grid { gap:15px; }
  .fc-menu-group { padding-inline-end:12px; }
  .fc-mega-footer { flex-wrap:wrap; gap:14px 20px; }
  .fc-mega-footer > span { width:100%; }
  html[data-theme] .home-page .hero { margin:4px 14px 0; min-block-size:auto; padding-block:50px 46px; border-radius:24px; }
  .home-page .hero-layout { grid-template-columns:1fr; gap:16px; inline-size:calc(100% - 42px); }
  .home-page .hero-copy { max-inline-size:600px; text-align:center; margin:auto; }
  html[data-theme] .home-page .hero-title { font-size:clamp(2.2rem,5.8vw,3.4rem); line-height:1.4; }
  .home-page .hero-sub { margin-inline:auto; }
  .home-page .hero-ctas { justify-content:center; }
  .home-page .hero-visual { inline-size:min(100%,450px); block-size:350px; }
}
@media (max-width:560px) {
  .fc-header { padding:8px 10px; }
  .fc-bar { gap:8px; min-height:66px; padding:10px; border-radius:17px; }
  .fc-brand { gap:7px; }
  .fc-brand .fc-brand-mark { width:36px; height:36px; border-radius:11px; }
  .fc-brand strong { font-size:1.05rem; }
  .fc-brand small { font-size:.56rem; }
  .fc-actions { gap:0; }
  .fc-login { width:38px; min-height:38px; padding:0; margin-inline-start:3px; border-radius:10px; }
  .fc-login span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
  .fc-icon { width:34px; height:38px; }
  .fc-icon svg,.fc-login svg { width:19px; height:19px; }
  .fc-catalog > summary { width:36px; min-height:38px; height:38px; }
  .fc-mega { inset-inline:-1px; top:calc(100% + 7px); padding:18px; border-radius:17px; max-height:calc(100dvh - 104px); }
  .fc-mega-intro { align-items:flex-start; padding-bottom:17px; gap:9px; }
  .fc-mega-intro strong { font-size:.87rem; }
  .fc-mega-intro > a { padding:7px 9px; gap:5px; font-size:.65rem; }
  .fc-mega-grid { grid-template-columns:1fr; padding-block:16px; gap:15px; }
  .fc-menu-group { padding:0 0 14px; border:0; border-bottom:1px solid var(--fc-line); }
  .fc-menu-group:last-child { padding-bottom:0; }
  .fc-menu-group h2 { margin-bottom:6px; }
  .fc-menu-group > a { flex-direction:row; align-items:center; min-height:39px; padding-block:8px; font-size:.75rem; }
  .fc-menu-group small { font-size:.61rem; }
  .fc-mega-footer { padding-top:15px; font-size:.67rem; gap:12px; }
  html[data-theme] .home-page .hero { margin-inline:10px; padding-block:37px 37px; border-radius:22px; }
  .home-page .hero-layout { inline-size:calc(100% - 32px); gap:12px; }
  html[data-theme] .home-page .hero-title { font-size:clamp(1.85rem,7.2vw,2.6rem); line-height:1.5; }
  html[data-theme] .home-page .hero-sub { font-size:.87rem; line-height:1.95; margin-top:16px; }
  html[data-theme] .home-page .hero-badge { font-size:.65rem; gap:6px; margin-bottom:14px; }
  .home-page .hero-ctas { display:flex; flex-wrap:nowrap; gap:8px; margin-top:22px; }
  .home-page .hero-ctas .btn { inline-size:auto; flex:1; min-height:46px; padding:10px 11px; font-size:.78rem; }
  .home-page .hero-visual { block-size:280px; inline-size:min(100%,360px); }
  .home-page .home-product-marquee { margin-top:43px; }
}
@media (prefers-reduced-motion:reduce) { .fc-header *, .home-page .hero-ctas .btn { animation:none!important; transition:none!important; } }
@media (prefers-reduced-transparency:reduce) { .fc-bar { background:var(--fc-surface); backdrop-filter:none; } }
