/* ============================================================================
   deal-os.css: the single free game / free app page in the homepage's layout
   (owner 2026-09-27, mockup HDFhSHw9NzgBV21p924QJP layout 2). Loaded by
   Theme\DealOs only; every rule is under body.cg-deal-os, which only
   cryptogames.gg carries. free-os.css still colours the shared parts (the
   "More free" cards come from deals/card.php). Green only means FREE.
   ============================================================================ */

/* ---------------------------------------------------------------- tokens */
body.cg-deal-os {
  --dlo-bg: #191919;
  --dlo-s1: #212121;
  --dlo-s2: #333333;
  --dlo-s3: #3f3f3f;
  --dlo-line: rgba(255, 255, 255, .08);
  --dlo-text: #ffffff;
  --dlo-body: #d6d6d6;
  --dlo-muted: #b5b5b5;
  --dlo-accent: #9d8cff;
  --dlo-grad: linear-gradient(135deg, #06707f 0%, #4a28c4 62%, #7b2fc0 100%);
  --dlo-glow: rgba(123, 47, 192, .5);
  --dlo-glow-2: rgba(74, 40, 196, .24);
  --dlo-well: rgba(0, 0, 0, .32);
  --dlo-free: #35b477;
  --dlo-free-soft: rgba(53, 180, 119, .14);
  --dlo-soon: #d65a52;
  --dlo-cross: linear-gradient(100deg, rgba(6, 112, 127, .35) 0%, rgba(74, 40, 196, .35) 55%, rgba(123, 47, 192, .3) 100%);
  --dlo-cross-line: rgba(157, 140, 255, .28);
  --dlo-cross-ring: #26213d;
}
body:not([data-theme="dark"]).cg-deal-os {
  --dlo-bg: #ffffff;
  --dlo-s1: #f4f4f6;
  --dlo-s2: #e9e9ee;
  --dlo-s3: #dedee6;
  --dlo-line: rgba(0, 0, 0, .08);
  --dlo-text: #191919;
  --dlo-body: #333333;
  --dlo-muted: #6b6b6b;
  --dlo-accent: #4a28c4;
  --dlo-glow: rgba(123, 47, 192, .22);
  --dlo-glow-2: rgba(74, 40, 196, .12);
  --dlo-well: rgba(255, 255, 255, .72);
  --dlo-free: #2f9e68;
  --dlo-free-soft: rgba(47, 158, 104, .12);
  --dlo-soon: #c0453e;
  --dlo-cross: linear-gradient(100deg, rgba(6, 112, 127, .12) 0%, rgba(74, 40, 196, .12) 55%, rgba(123, 47, 192, .1) 100%);
  --dlo-cross-line: rgba(74, 40, 196, .22);
  --dlo-cross-ring: #ffffff;
}

/* ---------------------------------------------------------- page ground */
body.cg-deal-os .cg-content-area.cg-dlo {
  max-width: none; padding: 20px 24px 40px; color: var(--dlo-text);
  font: 400 14px/1.45 Inter, system-ui, sans-serif;
  display: flex; flex-direction: column; gap: 16px;
}
body.cg-deal-os .cg-dlo a { text-decoration: none; }
body.cg-deal-os .cg-dlo :focus-visible { outline: 2px solid var(--dlo-accent); outline-offset: 2px; }
body.cg-deal-os .cg-dlo [hidden] { display: none !important; }
body.cg-deal-os .cg-dlo .material-symbols-outlined { font-size: 18px; line-height: 1; }

body.cg-deal-os .cg-dlo-crumb ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--dlo-muted); }
body.cg-deal-os .cg-dlo-crumb li + li::before { content: "/"; margin-right: 6px; }
body.cg-deal-os .cg-dlo-crumb a { color: inherit; }
body.cg-deal-os .cg-dlo-crumb a:hover { color: var(--dlo-accent); }
body.cg-deal-os .cg-dlo-crumb span[aria-current] { color: var(--dlo-text); }

body.cg-deal-os .cg-dlo-ended { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 14px; background: var(--dlo-s1); border: 1px solid var(--dlo-soon); }
body.cg-deal-os .cg-dlo-ended p { margin: 0; color: var(--dlo-body); }
body.cg-deal-os .cg-dlo-ended a { color: var(--dlo-accent); }

/* ------------------------------------------------------------------ hero */
body.cg-deal-os .cg-dlo-hero {
  position: relative; overflow: hidden; border-radius: 18px; background: var(--dlo-s1);
  display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, 1fr);
}
body.cg-deal-os .cg-dlo-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(90% 120% at 100% 0%, var(--dlo-glow) 0%, var(--dlo-glow-2) 40%, rgba(6, 112, 127, 0) 72%);
}
body.cg-deal-os .cg-dlo-hero > * { position: relative; min-width: 0; }
body.cg-deal-os .cg-dlo-cover { position: relative; margin: 0; min-height: 300px; background: #000; overflow: hidden; }
body.cg-deal-os .cg-dlo-cover-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body.cg-deal-os .cg-dlo-cover-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(28px) saturate(1.4) brightness(.55); transform: scale(1.3); }
body.cg-deal-os .cg-dlo-cover-icon { position: absolute; left: 50%; top: 50%; width: 140px; height: 140px; max-width: 60%; transform: translate(-50%, -50%); border-radius: 30px; object-fit: cover; box-shadow: 0 20px 50px rgba(0, 0, 0, .55); }
body.cg-deal-os .cg-dlo-cover-blank { position: absolute; inset: 0; display: grid; place-items: center; background: var(--dlo-s2); color: var(--dlo-muted); }
body.cg-deal-os .cg-dlo-cover-blank .material-symbols-outlined { font-size: 56px; }
body.cg-deal-os .cg-dlo-store {
  position: absolute; left: 14px; top: 14px; height: 28px; padding: 0 10px; border-radius: 8px;
  display: flex; align-items: center; gap: 6px; background: rgba(0, 0, 0, .62); color: #fff;
  font-size: 12px; font-weight: 700; backdrop-filter: blur(6px);
}
body.cg-deal-os .cg-dlo-store .material-symbols-outlined { font-size: 15px; }
body.cg-deal-os .cg-dlo-hero.is-expired .cg-dlo-cover > img { filter: grayscale(1) brightness(.6); }

body.cg-deal-os .cg-dlo-claim { padding: 24px 24px 22px; display: flex; flex-direction: column; gap: 14px; }
body.cg-deal-os .cg-dlo-title { margin: 0; font: 800 28px/1.12 Inter, system-ui, sans-serif; letter-spacing: -.015em; color: var(--dlo-text); text-wrap: balance; overflow-wrap: anywhere; }
body.cg-deal-os .cg-dlo-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; margin: 0; }
body.cg-deal-os .cg-dlo-price s { font-size: 16px; color: var(--dlo-muted); font-variant-numeric: tabular-nums; }
body.cg-deal-os .cg-dlo-free { font-size: 34px; font-weight: 800; letter-spacing: -.01em; color: var(--dlo-free); }
body.cg-deal-os .cg-dlo-hero.is-expired .cg-dlo-free { color: var(--dlo-muted); }
body.cg-deal-os .cg-dlo-save { padding: 3px 8px; border-radius: 999px; background: var(--dlo-free-soft); color: var(--dlo-free); font-size: 12px; font-weight: 700; }
body.cg-deal-os .cg-dlo-ends { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; background: var(--dlo-well); border: 1px solid var(--dlo-line); }
body.cg-deal-os .cg-dlo-ends > .material-symbols-outlined { color: var(--dlo-accent); }
body.cg-deal-os .cg-dlo-ends-txt { display: flex; flex-direction: column; min-width: 0; }
body.cg-deal-os .cg-dlo-ends-txt b { font-size: 14px; }
body.cg-deal-os .cg-dlo-ends-txt small { font-size: 12px; color: var(--dlo-muted); font-variant-numeric: tabular-nums; }
body.cg-deal-os .cg-dlo-clock { margin-left: auto; display: flex; gap: 4px; }
body.cg-deal-os .cg-dlo-clock > span { min-width: 40px; padding: 4px 2px; border-radius: 8px; background: var(--dlo-s2); text-align: center; line-height: 1.1; }
body.cg-deal-os .cg-dlo-clock b { display: block; font-size: 15px; font-variant-numeric: tabular-nums; }
body.cg-deal-os .cg-dlo-clock small { display: block; font-size: 9px; font-weight: 700; letter-spacing: .08em; color: var(--dlo-muted); }
body.cg-deal-os .cg-dlo-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
body.cg-deal-os .cg-dlo-chips li { height: 26px; padding: 0 10px; border-radius: 8px; display: inline-flex; align-items: center; gap: 5px; background: var(--dlo-s2); font-size: 12px; font-weight: 600; }
body.cg-deal-os .cg-dlo-chips .material-symbols-outlined { font-size: 15px; color: var(--dlo-muted); }
body.cg-deal-os .cg-dlo-cta {
  height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--dlo-grad); color: #fff !important; font-size: 15px; font-weight: 700;
}
body.cg-deal-os .cg-dlo-cta:hover { filter: brightness(1.12); }
body.cg-deal-os .cg-dlo-cta.is-disabled { background: var(--dlo-s2); color: var(--dlo-muted) !important; cursor: default; }
body.cg-deal-os .cg-dlo-cta-note { margin: -6px 0 0; font-size: 12px; color: var(--dlo-muted); text-align: center; }

/* ---------------------------------------- the cross banner, as a strip */
body.cg-deal-os .cg-dlo > .cg-free-banner--cross { margin: 0; padding: 0; border: 1px solid var(--dlo-cross-line); border-radius: 16px; background: var(--dlo-cross), var(--dlo-s1); overflow: hidden; }
body.cg-deal-os .cg-dlo > .cg-free-banner--cross .cg-fb-main {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas: "thumbs eyebrow btn" "thumbs title btn" "thumbs sub btn" "thumbs names btn";
  align-items: center; gap: 0 18px; padding: 16px 20px; color: var(--dlo-text);
}
body.cg-deal-os .cg-dlo > .cg-free-banner--cross .cg-fb-eyebrow { grid-area: eyebrow; color: var(--dlo-accent); }
body.cg-deal-os .cg-dlo > .cg-free-banner--cross .cg-fb-title { grid-area: title; margin: 2px 0 0; font-size: 17px; color: var(--dlo-text); }
body.cg-deal-os .cg-dlo > .cg-free-banner--cross .cg-fb-sub { grid-area: sub; color: var(--dlo-body); }
body.cg-deal-os .cg-dlo > .cg-free-banner--cross .cg-fb-names { grid-area: names; color: var(--dlo-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.cg-deal-os .cg-dlo > .cg-free-banner--cross .cg-fb-thumbs { grid-area: thumbs; display: flex; margin: 0; }
body.cg-deal-os .cg-dlo > .cg-free-banner--cross .cg-fb-thumb { width: 50px; height: 50px; border-radius: 12px; object-fit: cover; box-shadow: 0 0 0 3px var(--dlo-cross-ring); }
body.cg-deal-os .cg-dlo > .cg-free-banner--cross .cg-fb-thumb + .cg-fb-thumb { margin-left: -14px; }
body.cg-deal-os .cg-dlo > .cg-free-banner--cross .cg-fb-btn {
  grid-area: btn; width: auto; margin: 0; padding: 0 16px; height: 40px; border-radius: 10px;
  display: flex; align-items: center; gap: 4px; background: #ffffff; color: #1b1540; font-weight: 700; white-space: nowrap;
}
body:not([data-theme="dark"]).cg-deal-os .cg-dlo > .cg-free-banner--cross .cg-fb-btn { background: var(--dlo-grad); color: #ffffff; }

/* --------------------------------------------------------------- columns */
body.cg-deal-os .cg-dlo-cols { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
body.cg-deal-os .cg-dlo-stack { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
body.cg-deal-os .cg-dlo-panel { padding: 18px 20px; border-radius: 16px; background: var(--dlo-s1); }
body.cg-deal-os .cg-dlo-panel h2,
body.cg-deal-os .cg-dlo-panel .cg-deals-h2 { margin: 0 0 12px; font: 700 17px/1.3 Inter, system-ui, sans-serif; color: var(--dlo-text); text-wrap: balance; }
body.cg-deal-os .cg-dlo-panel .cg-deals-section-head { margin-bottom: 12px; }
body.cg-deal-os .cg-dlo-panel .cg-deals-section-head .cg-deals-h2 { margin: 0; }
body.cg-deal-os .cg-dlo-panel .cg-deals-see-all { color: var(--dlo-accent); font-weight: 600; }
body.cg-deal-os .cg-dlo-body p { margin: 0 0 10px; max-width: 72ch; color: var(--dlo-body); font-size: 15px; line-height: 1.6; }
body.cg-deal-os .cg-dlo-body p:last-child { margin-bottom: 0; }
body.cg-deal-os .cg-dlo-steps { margin: 0; padding: 0; list-style: none; counter-reset: dlo; display: grid; gap: 8px; }
body.cg-deal-os .cg-dlo-steps li { counter-increment: dlo; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; align-items: center; padding: 8px 10px; border-radius: 12px; background: var(--dlo-s2); color: var(--dlo-text); }
body.cg-deal-os .cg-dlo-steps li::before { content: counter(dlo); width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: var(--dlo-grad); color: #fff; font-size: 13px; font-weight: 700; }
body.cg-deal-os .cg-dlo-facts { margin: 0; }
body.cg-deal-os .cg-dlo-facts div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--dlo-line); font-size: 13px; }
body.cg-deal-os .cg-dlo-facts div:last-child { border-bottom: 0; }
body.cg-deal-os .cg-dlo-facts dt { color: var(--dlo-muted); }
body.cg-deal-os .cg-dlo-facts dd { margin: 0; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
body.cg-deal-os .cg-dlo-facts dd.is-free { color: var(--dlo-free); }
body.cg-deal-os .cg-dlo-related { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: var(--dlo-s2); color: var(--dlo-text); font-weight: 600; }
body.cg-deal-os .cg-dlo-related:hover { background: var(--dlo-s3); }

/* ----------------------------------------------------------------- narrow */
@media (max-width: 1100px) {
  body.cg-deal-os .cg-dlo-cols { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  body.cg-deal-os .cg-dlo-hero { grid-template-columns: minmax(0, 1fr); }
  body.cg-deal-os .cg-dlo-cover { min-height: 0; aspect-ratio: 16 / 9; max-width: 100%; }
  body.cg-deal-os .cg-dlo-cover.is-icon { aspect-ratio: auto; min-height: 200px; }
}
@media (max-width: 600px) {
  body.cg-deal-os .cg-content-area.cg-dlo { padding: 12px 12px 32px; gap: 12px; }
  body.cg-deal-os .cg-dlo-claim { padding: 18px; }
  body.cg-deal-os .cg-dlo-title { font-size: 22px; }
  body.cg-deal-os .cg-dlo-clock > span { min-width: 34px; }
  body.cg-deal-os .cg-dlo-clock b { font-size: 13px; }
  body.cg-deal-os .cg-dlo > .cg-free-banner--cross .cg-fb-main {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "thumbs eyebrow" "thumbs title" "sub sub" "names names" "btn btn";
    gap: 4px 12px; padding: 14px;
  }
  body.cg-deal-os .cg-dlo > .cg-free-banner--cross .cg-fb-thumb { width: 40px; height: 40px; }
  body.cg-deal-os .cg-dlo > .cg-free-banner--cross .cg-fb-btn { justify-content: center; margin-top: 8px; }
  body.cg-deal-os .cg-dlo-panel { padding: 16px; }
}
