/* ============================================================================
   CitedAgain — shared design system  (ca-design.css)
   The new design language, applied site-wide (homepage, account, report, ...).
   Load after the Google Fonts link. Tokens mirror the after-scan redesign.
   ============================================================================ */
:root{
  /* ink / text */
  --ink:#15130F; --body:#2A2621; --sec:#4A453E; --muted:#6B655C; --faint:#8C867D;
  /* lines / surfaces */
  --line:#ECE8E2; --ctrl:#E2DDD5; --s1:#F6F4F0; --s2:#F2EEE8; --s3:#EAE5DE; --bmenu:#FBFAF8;
  /* brand */
  --brown:#8A5A2B; --brown-d:#6E451F; --indigo:#4B47D6; --link:#1A0DAB;
  --favbg:#EEF0FB; --favfg:#3B37B8;
  /* status */
  --green:#1F7A4D; --greendot:#1F9A5B; --greenbg:#E8F3EC; --greenbg2:#EAF4EE; --greentx:#174A30; --greentx2:#1A5C3A;
  --amberbg:#FBF1DF; --ambertx:#7A4E0C; --amberdot:#C98A1E;
  --red:#B3392C; --redbg:#FBEDEA; --badge:#D2362A;
  --paypal:#FFC439; --paypaltx:#14254F; --fb:#1A56C4;
  /* type */
  --F:'Schibsted Grotesk',system-ui,-apple-system,sans-serif;
  --N:'Newsreader',Georgia,'Times New Roman',serif;
  /* layout */
  --maxw:1180px; --maxw-wide:1320px;
  --r-pill:8px; --r-btn:14px; --r-card:20px; --r-lg:24px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--F);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
input,button,textarea,select{font-family:inherit}
input::placeholder{color:var(--faint)}
h1,h2,h3,h4{margin:0;letter-spacing:-0.02em;font-weight:800}
p{margin:0}

/* ---- layout helpers ---- */
.ca-wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.ca-wrap-wide{max-width:var(--maxw-wide);margin:0 auto;padding:0 32px}
.ca-section{padding:72px 0}
.ca-section--tight{padding:48px 0}
.ca-stack{display:flex;flex-direction:column}
.ca-grid{display:grid;gap:24px}

/* ---- typography scale ---- */
.ca-h1{font-size:clamp(34px,5vw,56px);line-height:1.05;font-weight:800;letter-spacing:-0.035em}
.ca-h2{font-size:clamp(26px,3.4vw,40px);line-height:1.1;font-weight:800;letter-spacing:-0.03em}
.ca-h3{font-size:22px;line-height:1.2;font-weight:800;letter-spacing:-0.02em}
.ca-lead{font-size:clamp(17px,2vw,20px);line-height:1.5;color:var(--muted)}
.ca-eyebrow{font-size:14px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted)}
.ca-hl{color:var(--brown)}
.ca-ink{color:var(--ink)}
.ca-serif{font-family:var(--N);font-weight:600;letter-spacing:-0.01em}

/* ---- buttons ---- */
.ca-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 24px;
  border-radius:var(--r-btn);border:1px solid transparent;font:700 17px var(--F);cursor:pointer;
  text-decoration:none;transition:transform .06s ease, filter .15s ease;white-space:nowrap}
.ca-btn:hover{text-decoration:none}
.ca-btn:active{transform:translateY(1px)}
.ca-btn--primary{background:var(--brown);color:#fff}
.ca-btn--primary:hover{filter:brightness(1.05)}
.ca-btn--dark{background:var(--ink);color:#fff}
.ca-btn--ghost{background:#fff;border-color:var(--ctrl);color:var(--ink)}
.ca-btn--paypal{background:var(--paypal);color:var(--paypaltx)}
.ca-btn--lg{height:58px;padding:0 28px;font-size:18px}
.ca-btn--sm{height:44px;padding:0 16px;font-size:15px}

/* ---- pills / chips / tabs ---- */
.ca-pill{display:inline-flex;align-items:center;height:44px;padding:0 16px;border-radius:12px;border:0;
  cursor:pointer;font:600 16px var(--F);background:transparent;color:var(--sec)}
.ca-pill--on{background:var(--ink);color:#fff}
.ca-chip{display:inline-flex;align-items:center;height:46px;padding:0 18px;border-radius:23px;cursor:pointer;
  font:600 16px var(--F);white-space:nowrap;border:1px solid var(--ctrl);background:#fff;color:var(--ink)}
.ca-chip--on{border-color:var(--ink);background:var(--ink);color:#fff}

/* ---- cards / surfaces ---- */
.ca-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:28px}
.ca-card--soft{background:var(--s1);border:1px solid var(--line)}
.ca-card--plain{background:var(--s1);border:0}
.ca-callout{display:flex;flex-direction:column;gap:8px;padding:20px 22px;border-radius:18px;background:var(--s1);border:1px solid var(--line)}
.ca-callout__t{font-size:18px;font-weight:800;letter-spacing:-0.01em}
.ca-callout__p{margin:0;font-size:17px;line-height:1.5;color:var(--sec)}

/* ---- scan input (shared across hero + CTAs) ---- */
.ca-scan{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ca-scan__field{flex:1 1 280px;min-width:0;height:58px;padding:0 18px;border:1px solid var(--ctrl);
  background:#fff;border-radius:var(--r-btn);font:500 17px var(--F);color:var(--ink);
  box-shadow:0 2px 10px rgba(40,30,20,.05)}
.ca-scan__field:focus{outline:none;border-color:var(--brown)}
.ca-scan__note{font-size:16px;color:var(--muted)}
.ca-scan__note b{color:var(--brown);font-weight:700}

/* ---- status badges ---- */
.ca-badge{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:8px;
  font-size:14px;font-weight:600}
.ca-badge--ok{background:var(--greenbg2);color:var(--greentx2)}
.ca-badge--idx{background:var(--amberbg);color:var(--ambertx)}

/* ---- favicon circle ---- */
.ca-fav{flex:0 0 32px;height:32px;border-radius:50%;background:var(--favbg);color:var(--favfg);
  font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}

/* ---- pulse dot ---- */
.ca-pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--greendot);
  animation:ca-pulse 1.6s ease-in-out infinite}
@keyframes ca-pulse{0%,100%{opacity:1}50%{opacity:.3}}
@media (prefers-reduced-motion:reduce){.ca-pulse{animation:none}}

/* ---- header ---- */
.ca-head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)}
.ca-head__row{display:flex;align-items:center;gap:18px;min-height:76px;padding:12px 0}
.ca-logo{display:inline-flex;align-items:center;gap:6px;font-size:23px;font-weight:800;letter-spacing:-0.03em;color:var(--ink)}
.ca-logo:hover{text-decoration:none}
.ca-logo__q{color:var(--indigo);font-size:38px;line-height:0;margin-top:14px;font-family:Georgia,serif}
.ca-logo__b{color:var(--brown)}

/* ---- footer ---- */
.ca-foot{border-top:1px solid var(--line);background:var(--s1)}
.ca-foot__in{display:grid;gap:32px;padding:48px 0 40px}
.ca-foot a{color:var(--sec)}
.ca-foot__legal{font-size:14px;line-height:1.5;color:var(--faint)}

/* ---- image placeholder ---- */
.ca-slot{position:relative;background:var(--s2);display:flex;align-items:center;justify-content:center;
  color:var(--faint);font-size:14px;font-weight:600;text-align:center;overflow:hidden;border-radius:16px}
.ca-slot img{width:100%;height:100%;object-fit:cover}

/* ---- utility ---- */
.ca-noscroll{scrollbar-width:none;-ms-overflow-style:none}
.ca-noscroll::-webkit-scrollbar{display:none}
.ca-center{text-align:center}
.ca-mt8{margin-top:8px}.ca-mt16{margin-top:16px}.ca-mt24{margin-top:24px}.ca-mt40{margin-top:40px}

@media (max-width:760px){
  .ca-section{padding:48px 0}
  .ca-wrap,.ca-wrap-wide{padding:0 20px}
}
