/* Coinable Shop Flightline - intentionally scoped to the bolt-on Shop only. */
body.cfs-flightline-active { background:#070f1e; }
.cfs-shop {
  --cfs-bg:#070f1e; --cfs-panel:#0b1424; --cfs-elevated:#111c31; --cfs-steel:#22324d;
  --cfs-ink:#f6f8ff; --cfs-subtle:#a9b8ce; --cfs-blue:#4a66e8; --cfs-cyan:#38c9ff;
  --cfs-violet:#6b37e4; --cfs-green:#67a74a; --cfs-amber:#d88f1f;
  --cfs-yellow:#ffc94d; --cfs-gap:18px;
  width:100vw; max-width:100vw; position:relative; left:50%; margin-left:-50vw;
  padding:0 0 90px; isolation:isolate; overflow:clip; color:var(--cfs-ink);
  background:
    radial-gradient(ellipse 72% 34% at 82% -3%, rgba(61,73,185,.17),transparent 72%),
    radial-gradient(ellipse 58% 30% at 6% 62%, rgba(31,122,205,.10),transparent 72%),
    #070f1e;
  font-family:Montserrat,Inter,"Segoe UI",Arial,sans-serif; line-height:1.45;
  text-align:left; box-sizing:border-box;
}
.cfs-shop * { box-sizing:border-box; }
.cfs-shop img { display:block; max-width:100%; }
.cfs-shop p,.cfs-shop h1,.cfs-shop h2,.cfs-shop h3 { padding:0; margin:0; color:inherit; font-family:inherit; }
.cfs-shop a { color:inherit; text-decoration:none !important; }
.cfs-shop button { font:inherit; }
.cfs-shop button:focus-visible,.cfs-shop a:focus-visible,.cfs-shop [tabindex]:focus-visible { outline:3px solid #76c0ff; outline-offset:4px; }
.cfs-shop__inner { max-width:1510px; margin:0 auto; padding:32px clamp(18px,3.2vw,52px) 0; }
.cfs-hero { border:1px solid #273c66; border-radius:22px; overflow:hidden; position:relative; background:linear-gradient(142deg,#081b38 0%,#091526 52%,#1b1645 120%); box-shadow:0 30px 90px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.09); }
.cfs-hero::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.4; background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(115deg,transparent 12%,#000 100%); }
.cfs-hero__light { pointer-events:none; position:absolute; top:-140px; right:-100px; height:380px; width:450px; background:radial-gradient(circle,rgba(109,70,255,.25),transparent 65%); }
.cfs-hero__main { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(295px,365px); gap:clamp(24px,5vw,80px); padding:clamp(28px,4.1vw,63px); align-items:center; }
.cfs-kicker { color:#7dc8ff !important; letter-spacing:.15em; font-size:11px; font-weight:850; text-transform:uppercase; }
.cfs-live-dot { display:inline-block; height:7px; width:7px; margin-right:8px; border-radius:50%; vertical-align:middle; background:#76d78e; box-shadow:0 0 12px #76d78e; }
.cfs-hero h1 { margin:21px 0 22px; letter-spacing:-.047em; font-size:clamp(34px,3.7vw,64px); line-height:1.04; font-weight:900; text-transform:uppercase; max-width:780px; }
.cfs-hero h1 em { font-style:normal; background:linear-gradient(105deg,#58beff 5%,#8e7aff 72%,#bc8fff 110%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.cfs-hero__lead { max-width:690px; color:#c8d8ea !important; font-size:clamp(14px,1.23vw,18px); line-height:1.65; }
.cfs-hero__stats { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:27px; }
.cfs-hero__stats span { border-left:2px solid #546d9e; padding-left:12px; color:#9eb5d4; letter-spacing:.085em; font-size:10px; font-weight:750; }
.cfs-hero__stats strong { color:#fff; font-size:16px; margin-right:4px; }
.cfs-hero__actions { display:grid; gap:17px; }
.cfs-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:15px; min-width:0; border-radius:14px; border:1px solid; color:#fff !important; text-decoration:none; text-transform:uppercase; letter-spacing:.025em; font-weight:850; position:relative; isolation:isolate; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.cfs-cta:hover { color:#fff !important; transform:translateY(-2px); }
.cfs-cta svg { flex:0 0 25px; width:25px; height:25px; }
.cfs-cta--hero { padding:20px 22px; font-size:15px; min-height:90px; }
.cfs-cta--hero span { display:grid; gap:3px; }
.cfs-cta--hero small { font-size:11px; font-weight:750; color:#e5ecff; line-height:1.45; letter-spacing:.05em; }
.cfs-cta--amber { border-color:#ffcb43; background:linear-gradient(118deg,#241b0b,#4a320d 65%,#281c0d); box-shadow:0 0 0 1px rgba(255,201,77,.20),0 0 25px rgba(255,183,43,.12),inset 0 1px rgba(255,222,134,.15); }
.cfs-cta--amber:hover { border-color:#ffe37e; box-shadow:0 0 0 1px rgba(255,201,77,.5),0 0 28px rgba(255,183,43,.3),inset 0 1px rgba(255,222,134,.3); }
.cfs-cta--violet { border-color:#7f8eff; background:linear-gradient(110deg,#0a285a 0%,#151851 62%,#401454 100%); box-shadow:0 0 0 1px rgba(75,145,255,.18),0 0 22px rgba(92,104,255,.12),inset -1px 0 rgba(196,78,255,.8); }
.cfs-cta--violet:hover { border-color:#b488ff; box-shadow:0 0 0 1px rgba(130,116,255,.32),0 0 28px rgba(130,116,255,.3); }
.cfs-hero__jump { position:relative; z-index:1; border-top:1px solid #273857; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; padding:15px clamp(18px,3vw,40px); background:rgba(3,12,26,.55); }
.cfs-hero__jump > span { color:#91a6c3; font-size:10px; font-weight:850; letter-spacing:.12em; margin-right:10px; }
.cfs-jump { display:inline-flex; align-items:center; justify-content:center; gap:9px; background:#0c213c; border:1px solid #304a75; border-radius:999px; min-height:37px; padding:8px 15px; font-size:11px; font-weight:850; letter-spacing:.05em; }
.cfs-jump:hover { background:#1a345b; color:#fff; }
.cfs-jump svg { width:17px; height:17px; }
.cfs-jump--blue svg { color:#4caeff; }
.cfs-jump--violet svg { color:#bf81ff; }
.cfs-line { margin-top:42px; padding:26px 28px 25px; background:linear-gradient(155deg,#0a1729,#0a1221 85%); border:1px solid #253b5b; border-radius:22px; scroll-margin-top:120px; box-shadow:0 16px 45px rgba(0,0,0,.16); }
.cfs-line--round { --cfs-line-glow:rgba(49,158,255,.25); --cfs-line-accent:#35aaff; }
.cfs-line--cast { --cfs-line-glow:rgba(153,82,255,.23); --cfs-line-accent:#b06aff; }
.cfs-line__header { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:20px; }
.cfs-line__identity { display:flex; align-items:center; gap:18px; min-width:0; }
.cfs-line__icon { flex:0 0 66px; width:66px; height:66px; display:grid; place-items:center; border-radius:19px; border:1px solid rgba(122,172,255,.45); background:linear-gradient(140deg,#134da7,#123073); box-shadow:0 0 28px var(--cfs-line-glow),inset 0 1px rgba(255,255,255,.2); }
.cfs-line--cast .cfs-line__icon { background:linear-gradient(145deg,#643ce3,#371b78); border-color:#956eff; }
.cfs-line__icon svg { width:38px; height:38px; }
.cfs-line__eyebrow { color:var(--cfs-line-accent) !important; font-size:11px; letter-spacing:.13em; font-weight:850; }
.cfs-line__count { font-size:10px; margin-left:8px; color:#a7b9d0; background:#1b2c46; border:1px solid #33445f; border-radius:30px; padding:3px 9px; white-space:nowrap; }
.cfs-line h2 { font-size:clamp(21px,2vw,29px); line-height:1.25; margin:6px 0; font-weight:900; letter-spacing:-.035em; }
.cfs-line__description { color:#acbed4 !important; font-size:12px; line-height:1.5; }
.cfs-line__navigation { display:flex; align-items:center; gap:12px; flex:none; }
.cfs-arrow { height:43px; width:43px; display:grid; place-items:center; background:#152644; color:#e6f2ff; border:1px solid #526dab; border-radius:12px; cursor:pointer; font-size:20px; font-weight:600; transition:background .2s,box-shadow .2s,opacity .2s; }
.cfs-arrow:hover:not(:disabled) { background:#2254a5; box-shadow:0 0 17px rgba(69,132,244,.38); }
.cfs-arrow:disabled { opacity:.35; cursor:default; }
.cfs-line--cast .cfs-arrow:hover:not(:disabled) { background:#5b34aa; }
.cfs-line__position { color:#91a7c5; font-size:12px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.cfs-current { font-weight:900; font-size:18px; color:#fff; }
.cfs-line__scroll-hint { margin-bottom:8px; font-size:9px; letter-spacing:.18em; text-align:right; color:#667f9f; font-weight:850; }
.cfs-track { --cfs-cols:4; display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 54px) / 4); gap:var(--cfs-gap); overflow-x:auto; overflow-y:hidden; padding:11px 4px 21px; scroll-padding-inline:4px; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:thin; scrollbar-color:#2a4d7e transparent; }
.cfs-track::-webkit-scrollbar { height:7px; }
.cfs-track::-webkit-scrollbar-thumb { background:#2a4d7e; border-radius:20px; }
.cfs-product { scroll-snap-align:start; min-width:0; display:flex; flex-direction:column; border:1px solid #2b3a57; border-radius:16px; overflow:hidden; background:linear-gradient(152deg,#101d31,#081526); position:relative; box-shadow:0 12px 26px rgba(0,0,0,.12); transition:border-color .2s, transform .2s, box-shadow .2s; }
.cfs-product:hover { border-color:var(--cfs-line-accent); transform:translateY(-4px); box-shadow:0 0 25px var(--cfs-line-glow),0 16px 40px rgba(0,0,0,.3); }
.cfs-product__visual { background:radial-gradient(circle at 50% 30%,#233451,#0b1322 72%); display:block; width:100%; aspect-ratio:1.45/1; position:relative; overflow:hidden; }
.cfs-product__visual img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .28s ease; }
.cfs-product:hover .cfs-product__visual img { transform:scale(1.04); }
.cfs-product__placeholder { width:100%;height:100%;display:grid;place-items:center;color:#4caeff; }
.cfs-product__placeholder svg { width:76px;height:76px; }
.cfs-sale { position:absolute;top:12px;right:12px;z-index:2;padding:5px 8px;border:1px solid #ffdb65;border-radius:6px;background:#c48012;color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.25);font-size:9px;font-weight:900;letter-spacing:.1em; }
.cfs-product__size { position:absolute; bottom:12px;left:12px;display:inline-flex;align-items:center;justify-content:center;min-height:33px;padding:6px 12px;border-radius:9px;background:rgba(5,17,35,.9);border:1px solid #7187a4;color:#fff;backdrop-filter:blur(9px);font-size:17px;font-weight:900;line-height:1; }
.cfs-product__body { padding:17px 16px 16px; display:flex;flex-direction:column;flex:1; }
.cfs-product__type { color:var(--cfs-line-accent) !important;font-size:10px;font-weight:850;letter-spacing:.08em; }
.cfs-product__title { margin:5px 0 12px !important; font-size:clamp(15px,1.2vw,18px);font-weight:850;line-height:1.2; }
.cfs-product__title a:hover { color:#9fd5ff; }
.cfs-product__price { margin-top:auto; display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:5px;min-height:43px;padding:11px 0 12px;border-top:1px solid #243754; }
.cfs-product__price-label { color:#91adc9;font-size:9px;font-weight:850;letter-spacing:.12em; }
.cfs-product__money { color:#fff;font-size:20px;font-weight:900; }
.cfs-product__money del { color:#8296b3;font-size:13px;font-weight:500;margin-right:7px; }
.cfs-product__money ins { background:transparent;text-decoration:none;color:#ffd36a; }
.cfs-product__actions { display:grid;gap:9px; }
.cfs-cta--card { min-height:45px;padding:9px 12px;font-size:10px;line-height:1.3; }
.cfs-cta--card svg { width:19px;height:19px;flex-basis:19px; }
.cfs-progress { width:100%;height:3px;border-radius:10px;background:#213550;margin-top:2px;overflow:hidden; }
.cfs-progress__bar { display:block;height:100%;width:12%;border-radius:10px;background:linear-gradient(90deg,#419dff,#bc8cff);transition:width .12s linear; }
.cfs-line--cast .cfs-progress__bar { background:linear-gradient(90deg,#8864f9,#d5a1ff); }
.cfs-empty { padding:35px;text-align:center;color:#abc2db !important; }
.cfs-footer-cta { margin-top:42px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;padding:35px 40px;background:linear-gradient(114deg,#0a2247,#141733 100%);border:1px solid #39517a;border-radius:20px; }
.cfs-footer-cta h2 { font-size:clamp(23px,2.2vw,32px);margin:7px 0 9px;font-weight:900; }
.cfs-footer-cta p:not(.cfs-kicker) { max-width:740px;color:#c4d4e6;font-size:13px;line-height:1.6; }
.cfs-cta--footer { padding:16px 21px;font-size:12px;white-space:nowrap; }
@media (min-width:1700px) { .cfs-shop__inner { max-width:1600px; } }
@media (max-width:1150px) { .cfs-track { grid-auto-columns:calc((100% - 36px) / 3); } .cfs-hero__main { grid-template-columns:minmax(0,1fr) 300px;gap:25px; } .cfs-cta--hero { font-size:12px; min-height:76px; } }
@media (max-width:850px) { .cfs-track { grid-auto-columns:44%; } .cfs-shop__inner { padding:20px 18px 0; } .cfs-hero__main { grid-template-columns:1fr; } .cfs-hero__actions { grid-template-columns:1fr 1fr; } .cfs-hero h1 { font-size:clamp(32px,5.3vw,48px); } .cfs-line { padding:22px 20px; } }
@media (max-width:640px) {
  .cfs-shop__inner { padding:15px 12px 0; } .cfs-hero { border-radius:17px; } .cfs-hero__main { padding:23px 19px 25px;gap:20px; }
  .cfs-hero h1 { font-size:clamp(30px,8vw,42px); } .cfs-hero__lead { font-size:14px; } .cfs-hero__stats { gap:8px 12px; }
  .cfs-hero__stats span { font-size:9px; } .cfs-hero__actions { grid-template-columns:1fr;gap:10px; }
  .cfs-cta--hero { min-height:66px;padding:12px 16px; } .cfs-hero__jump { justify-content:flex-start;padding:14px; } .cfs-hero__jump > span { width:100%; }
  .cfs-line { margin-top:22px;padding:18px 12px;border-radius:16px; } .cfs-line__header { align-items:flex-start;flex-wrap:wrap;gap:15px;padding:0 4px; }
  .cfs-line__icon { flex-basis:50px;width:50px;height:50px;border-radius:13px; } .cfs-line__icon svg { width:28px;height:28px; }
  .cfs-line__identity { align-items:start;gap:11px; } .cfs-line h2 { font-size:21px; }
  .cfs-line__navigation { margin-left:auto; } .cfs-line__scroll-hint { font-size:8px; }
  .cfs-track { --cfs-gap:13px;grid-auto-columns:86%;padding:10px 3px 17px; }
  .cfs-product__body { padding:16px 13px; } .cfs-product__title { font-size:17px; }
  .cfs-footer-cta { margin-top:23px;grid-template-columns:1fr;padding:23px 19px;gap:17px; }
  .cfs-cta--footer { width:100%;white-space:normal; }
}
@media (prefers-reduced-motion:reduce) { .cfs-shop *, .cfs-shop *::before, .cfs-shop *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }
