/* MatchFast brand layer — base
   Applies the homepage identity (near-black ground, glass surfaces, royal and
   sky accents, DM Sans headings, Inter body) to every page without touching
   how any page is built. Elementor pages stay Elementor; plugin templates stay
   plugin templates. remap.css repaints their hard-coded colours; this file sets
   the ground rules and polishes the shared pieces. */

:root{
  --mfb-bg:#070A12;
  --mfb-surface:#0E1222;
  --mfb-surface-2:#141A2E;
  --mfb-glass:rgba(255,255,255,.035);
  --mfb-line:rgba(255,255,255,.1);
  --mfb-line-2:rgba(255,255,255,.16);
  --mfb-text:#F8FAFF;
  --mfb-body:rgba(248,250,255,.8);
  --mfb-dim:rgba(248,250,255,.66);
  --mfb-dimmer:rgba(248,250,255,.5);
  --mfb-royal:#4F46FF;
  --mfb-royal-h:#6A62FF;
  --mfb-sky:#3B82F6;
  --mfb-sky-l:#93B4FB;
  --mfb-lav:#E9D8FF;
  --mfb-indigo:#1E1B4B;
  --mfb-display:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mfb-font:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mfb-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --mfb-r:14px;
}

/* ── plugin design tokens, set by hand ──────────────────────────────────
   These templates keep their colours in CSS variables. Redefining the
   variables re-themes each template exactly as its author wired it. */

/* listicle template (blocktunix) */
html:root{
  --btx-bg:#070A12;--btx-bg-deep:#070A12;
  --btx-blue:#4F46FF;--btx-blue-deep:#3F37E6;--btx-blue-lt:#93B4FB;
  --btx-border:rgba(255,255,255,.1);--btx-border-dk:rgba(255,255,255,.12);
  --btx-card:#0E1222;--btx-card-soft:#141A2E;
  --btx-muted:rgba(248,250,255,.62);--btx-text:#F8FAFF;--btx-text-dim:rgba(248,250,255,.66);--btx-text-mute:rgba(248,250,255,.74);
  --btx-shadow:0 1px 2px rgba(0,0,0,.4);--btx-shadow-hv:0 18px 44px -20px rgba(79,70,255,.55);
}
/* company profile (btxp) */
html body .btxp{
  --p-bg:#070A12;--p-card:#0E1222;--p-card2:#141A2E;--p-panel:#141A2E;
  --p-ink:#F8FAFF;--p-ink2:rgba(248,250,255,.78);--p-mut-l:rgba(248,250,255,.62);--p-mut-d:rgba(248,250,255,.55);
  --p-line-l:rgba(255,255,255,.1);--p-line-d:rgba(255,255,255,.12);
  --p-teal:#4F46FF;--p-teal-d:#93B4FB;
  --p-shadow:0 1px 2px rgba(0,0,0,.4),0 18px 40px -22px rgba(0,0,0,.7);
}
/* directory archives (bor-product-controls) */
html body .bor-archive-main{--bor-blue:#93B4FB;--bor-gold:#3B82F6;--bor-ink:#F8FAFF;--bor-muted:rgba(248,250,255,.62);--bor-navy:#070A12}
/* app / tool / software reviews */
html body[class] :is(.bor-single-wrap,.bor-single-container,.bor-single){
  --borx-blue:#93B4FB;--borx-blue-dark:#1E1B4B;--borx-card:#0E1222;--borx-ink:#F8FAFF;--borx-line:rgba(255,255,255,.1);
  --borx-muted:rgba(248,250,255,.62);--borx-navy:#070A12;--borx-soft:#141A2E;--borx-green:#4ADE80;--borx-orange:#FB923C;
}
/* project-fit matcher */
html body :is(.mfpf,.mfpf-cta){
  --mfpf-accent:#4F46FF;--mfpf-accent-ink:#6A62FF;--mfpf-good:#4ADE80;--mfpf-ground:#0E1222;--mfpf-ink:#F8FAFF;
  --mfpf-line:rgba(255,255,255,.1);--mfpf-muted:rgba(248,250,255,.62);--mfpf-surface:#141A2E;
  --mfpf-warn:#FBBF6A;--mfpf-warn-wash:rgba(245,158,11,.1);--mfpf-wash:rgba(79,70,255,.12);
}

/* methodology page */
html body .mfm{--mfm-ink:rgba(248,250,255,.82);--mfm-muted:rgba(248,250,255,.6);--mfm-line:rgba(255,255,255,.1);--mfm-accent:#93B4FB;--mfm-wash:rgba(79,70,255,.1);--mfm-warn:#FBBF6A;--mfm-warn-wash:rgba(245,158,11,.08)}
html body .mfm :is(h2,h3){color:var(--mfb-text)}
html body .mfm-key{border-color:rgba(79,70,255,.3)}
html body .mfm-case{border-color:rgba(245,158,11,.3)}

/* plain content pages (categories, advertise, sitemap) */
html body .mfp{--ink:rgba(248,250,255,.82);--muted:rgba(248,250,255,.62);--line:rgba(255,255,255,.1);--accent:#93B4FB;--wash:rgba(79,70,255,.1)}
html body .mfp :is(h1,h2,h3){color:var(--mfb-text)}

/* small fixes the variables do not reach */
html body .borpc-cform-btn{color:#fff}
html body .btxp-src a,html body .btxp-stamp a,html body a.btx-src,html body .btx-meta-row a.btx-src,html body .mfpf-eyebrow{color:var(--mfb-sky-l)}
html body .borart-metarow span{color:var(--mfb-dim)}

/* ── ground ─────────────────────────────────────────────────────────────── */
html{background:var(--mfb-bg);scrollbar-color:#2A3150 var(--mfb-bg)}
html body{background:var(--mfb-bg);color:var(--mfb-body);font-family:var(--mfb-font)}
/* Elementor's global colours are set for light backgrounds; on this dark
   ground the text and accent tokens have to read as light. */
html body[class*="elementor-kit-"]{
  --e-global-color-text:#D5DAE6;
  --e-global-color-accent:#93B4FB;
  --e-global-color-primary:#4F46FF;
  --e-global-color-secondary:#3B82F6;
}
html body ::selection{background:rgba(79,70,255,.5);color:#fff}

/* headings and links (the site-wide brand CSS colours them for light pages) */
html body :is(h1,h2,h3,h4,h5,h6){color:var(--mfb-text);font-family:var(--mfb-display)}
body a{color:var(--mfb-sky-l)}
body a:hover{color:var(--mfb-lav)}
html body :is(p,li,dd,dt,td,blockquote,figcaption){text-wrap:pretty}
html body hr{border-color:var(--mfb-line)}
html body :is(code,kbd,samp){font-family:var(--mfb-mono);background:rgba(255,255,255,.06);border-radius:5px;padding:.1em .35em;color:var(--mfb-lav)}
html body pre{background:var(--mfb-surface);border:1px solid var(--mfb-line);border-radius:12px;color:var(--mfb-body)}
html body pre code{background:none;padding:0}
html body blockquote{border-left:3px solid var(--mfb-royal);color:var(--mfb-dim)}

/* forms: WordPress and Hello defaults leave text black on a transparent field */
html body :where([type=email],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=url],[type=date],select,textarea){color:var(--mfb-text);background-color:rgba(255,255,255,.04);border-color:var(--mfb-line-2)}
html body :where(input,textarea)::placeholder{color:var(--mfb-dimmer)}
html body select option{background:var(--mfb-surface);color:var(--mfb-text)}
html body :where([type=email],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=url],select,textarea):focus{border-color:var(--mfb-sky);outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.25)}
html body :where(button,[type=submit],[type=button]):not([class]){background:var(--mfb-royal);color:#fff;border:0;border-radius:100px;padding:.7em 1.3em;font-family:var(--mfb-display);font-weight:600}

/* tables: the brand CSS stripes rows in ice blue, which is unreadable here */
html body table{border-color:var(--mfb-line)}
html body tbody tr:nth-child(even){background:rgba(255,255,255,.025)}
html body tbody td{border-bottom-color:var(--mfb-line)}
html body thead th{background:var(--mfb-indigo);color:var(--mfb-text)}

/* focus ring */
html body :focus-visible{outline:2px solid var(--mfb-sky);outline-offset:2px}

/* ── header (Elementor header #154, custom HTML widget .borhd) ──────────── */
html body .borhd{background:rgba(7,10,18,.78);-webkit-backdrop-filter:saturate(140%) blur(18px);backdrop-filter:saturate(140%) blur(18px);
  border-bottom:1px solid var(--mfb-line);box-shadow:none;font-family:var(--mfb-font)}
html body .borhd-logo{font-family:var(--mfb-display);letter-spacing:-.045em}
html body .borhd-logo b{color:var(--mfb-sky)}
html body .borhd-nav>a,html body .borhd-svc-btn{color:var(--mfb-dim);font-weight:500;border-radius:100px}
html body .borhd-nav>a:hover,html body .borhd-svc-btn:hover,html body .borhd-svc.open .borhd-svc-btn{background:rgba(255,255,255,.06);color:var(--mfb-text)}
html body .borhd-cta{border-radius:100px;font-family:var(--mfb-display);font-weight:600;height:42px}
html body .borhd-cta-ghost{border-color:var(--mfb-line-2);color:var(--mfb-text);background:rgba(255,255,255,.03)}
html body .borhd-cta-ghost:hover{border-color:var(--mfb-sky);color:var(--mfb-text);background:rgba(255,255,255,.08)}
html body .borhd-cta-solid{background:var(--mfb-royal);color:#fff}
html body .borhd-cta-solid:hover{background:var(--mfb-royal-h);color:#fff;box-shadow:0 10px 30px -12px rgba(79,70,255,.9)}
html body .borhd-mega,html body .borhd-nav{border-top-color:var(--mfb-line)}
html body .borhd-mega{background:rgba(9,12,22,.97);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
html body .borhd-col h4,html body .borhd-p3 h4,html body .borhd-feat-head h4{font-family:var(--mfb-display);letter-spacing:-.02em}
html body .borhd-item:hover,html body .borhd-b2.active,html body .borhd-pcat.active{background:rgba(79,70,255,.14);color:#fff}
html body .borhd-item:hover .borhd-arr,html body .borhd-b2.active .borhd-arr,html body .borhd-pcat.active .borhd-arr,html body .borhd-pphead a{color:var(--mfb-sky-l)}
html body .borhd-feat-card:hover{background:rgba(79,70,255,.12)}
html body .borhd-feat-logo{background:#fff}
html body .borhd-burger span{background:var(--mfb-text)}
html body .borhd-burger,html body .borhd-burger:hover,html body .borhd-burger:focus,html body .borhd-burger:active{background:transparent;box-shadow:none}
@media(max-width:1120px){
  html body .borhd-nav{background:#090C16;border-bottom:1px solid var(--mfb-line);box-shadow:0 30px 60px -20px rgba(0,0,0,.8)}
}

/* ── finder autocomplete (homepage search and 404 search) ──────────────── */
html body .mffind-drop,html body #mf-home .finder .mffind-drop{background:#0E1222;border:1px solid var(--mfb-line-2);box-shadow:0 24px 60px -20px rgba(0,0,0,.85)}
html body .mffind-item,html body #mf-home .finder .mffind-item{color:var(--mfb-text);border-top-color:var(--mfb-line)}
html body .mffind-item em{color:var(--mfb-dimmer)}
html body .mffind-item:hover,html body .mffind-item.act,html body #mf-home .finder .mffind-item:hover,html body #mf-home .finder .mffind-item.act{background:rgba(79,70,255,.16);color:var(--mfb-sky-l)}

/* ── footer (Elementor footer #234) ────────────────────────────────────── */
html body .elementor-location-footer{border-top:1px solid var(--mfb-line);background:var(--mfb-bg)}
html body .elementor-location-footer .elementor-section{background-color:var(--mfb-bg)}
html body .elementor-location-footer h6.elementor-heading-title{font-family:var(--mfb-mono);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mfb-dimmer)}
html body .elementor-location-footer h4.elementor-heading-title{font-family:var(--mfb-display);letter-spacing:-.04em}
html body .elementor-location-footer .elementor-text-editor,html body .elementor-location-footer .elementor-widget-text-editor{color:var(--mfb-dimmer)}
html body .elementor-location-footer .elementor-icon-list-text{color:var(--mfb-dim);transition:color .2s}
html body .elementor-location-footer .elementor-icon-list-item a:hover .elementor-icon-list-text{color:var(--mfb-sky-l)}
html body .elementor-location-footer .elementor-icon-list-icon :is(i,svg){color:var(--mfb-sky);fill:var(--mfb-sky)}
html body .elementor-location-footer form input{border-radius:100px;border-color:var(--mfb-line-2)}
html body .elementor-location-footer form button{border-radius:100px;background:var(--mfb-royal);color:#fff;font-family:var(--mfb-display);font-weight:600}
html body .elementor-location-footer form button:hover{background:var(--mfb-royal-h)}
html body .elementor-location-footer .elementor-divider-separator{border-color:var(--mfb-line)}

/* ── Elementor buttons everywhere ──────────────────────────────────────── */
html body .elementor-button{border-radius:100px}

/* ── WordPress default templates (blog, search, archives, plain pages) ─── */
html body main#content.site-main{padding-block:clamp(2rem,4vw,3.5rem) clamp(3rem,6vw,5rem)}
html body main#content.site-main > .page-header{margin-bottom:clamp(1.5rem,3vw,2.5rem)}
html body main#content.site-main > .page-header .entry-title{font-family:var(--mfb-display);font-weight:700;letter-spacing:-.035em;line-height:1.05;font-size:clamp(2rem,4.2vw,3.25rem);color:var(--mfb-text)}
html body main#content.site-main > .page-header .entry-title span{background:linear-gradient(104deg,var(--mfb-text) 10%,var(--mfb-sky) 60%,var(--mfb-lav));-webkit-background-clip:text;background-clip:text;color:transparent}
html body main#content.site-main > .page-content{color:var(--mfb-body);font-size:1.02rem;line-height:1.7}
html body main#content.site-main > .page-content > :is(p,ul,ol) a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(147,180,251,.45)}

/* archive + search listings become a card grid */
html body main#content.site-main > .page-content:has(> article.post){display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.15rem}
html body main#content.site-main > .page-content > article.post{position:relative;display:flex;flex-direction:column;gap:.8rem;margin:0;padding:1.2rem;background:var(--mfb-glass);border:1px solid var(--mfb-line);border-radius:var(--mfb-r);transition:transform .3s cubic-bezier(.2,.7,.3,1),border-color .3s,background .3s}
html body main#content.site-main > .page-content > article.post:hover{transform:translateY(-3px);border-color:var(--mfb-line-2);background:rgba(255,255,255,.055)}
html body main#content.site-main > .page-content > article.post > a:has(img){order:-1;display:block;border-radius:9px;overflow:hidden;aspect-ratio:16/9;background:linear-gradient(135deg,var(--mfb-indigo),var(--mfb-royal))}
html body main#content.site-main > .page-content > article.post img{width:100%;height:100%;object-fit:cover;display:block;margin:0}
html body main#content.site-main > .page-content > article.post .entry-title{font-size:1.08rem;line-height:1.3;margin:0;letter-spacing:-.02em}
html body main#content.site-main > .page-content > article.post .entry-title a{color:var(--mfb-text);text-decoration:none}
html body main#content.site-main > .page-content > article.post:hover .entry-title a{color:var(--mfb-sky-l)}
html body main#content.site-main > .page-content > article.post .entry-title a::after{content:"";position:absolute;inset:0;border-radius:inherit}
html body main#content.site-main > .page-content > article.post p{margin:0;color:var(--mfb-dim);font-size:.9rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
html body main#content.site-main nav.pagination{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;font-family:var(--mfb-display)}
html body main#content.site-main nav.pagination a{display:inline-flex;align-items:center;padding:.65rem 1.2rem;border-radius:100px;border:1px solid var(--mfb-line-2);color:var(--mfb-text);text-decoration:none}
html body main#content.site-main nav.pagination a:hover{border-color:var(--mfb-sky);background:rgba(255,255,255,.05)}

/* ── shared cards and chips from the directory plugins get the glass look ─ */
html body :is(.btx-card,.bor-card,.btx-lcard,.bor-sim-card,.bor-side-card,.btxp-card,.mfm-key,.mfm-case){border-radius:var(--mfb-r)}

/* ── reduced motion ────────────────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  html body main#content.site-main > .page-content > article.post{transition:none}
}
