/* GGX.sale redesign C (17.10.2026) — light theme for the whole buyer site.
 * Active only under html[data-site-theme="c"]; the old dark layers stay inert.
 * Palette: cool light ground, white tiles, near-black ink, one orange action.
 * Type: Onest everywhere (local, OFL). */
:root[data-site-theme="c"] {
  color-scheme: light;
  --c-bg: #eceef2;
  --c-tile: #ffffff;
  --c-soft: #f5f6f8;
  --c-hover: #eef0f4;
  --c-ink: #0e1014;
  --c-ink2: #2a2e36;
  --c-muted: #5b606d;
  --c-line: #dcdfe5;
  --c-line2: #c4c9d2;
  --c-dark: #111317;
  --c-dark2: #1c1f26;
  --c-acc: #ff6a00;
  --c-acc-hover: #ff8126;
  --c-acc-ink: #111111;
  --c-acc-text: #ad4500;
  --c-acc-wash: #fff1e6;
  --c-pos: #147a3d;
  --c-pos-wash: #e3f6ea;
  --c-neg: #b8322a;
  --c-neg-wash: #fdeceb;
  --c-r-sm: 12px;
  --c-r: 20px;
  --c-r-lg: 28px;
  --c-shadow: 0 18px 40px rgba(14, 16, 20, .10);
  --c-body: "Onest", system-ui, sans-serif;
  --c-display: var(--c-body); /* one family site-wide; Geologica dropped 17.10 */
  --c-max: 1280px;
  --c-gutter: 32px;

  /* Shared GGX token API */
  --ggx-bg: var(--c-bg);
  --ggx-surface: var(--c-tile);
  --ggx-soft: var(--c-soft);
  --ggx-hover: var(--c-hover);
  --ggx-ink: var(--c-ink);
  --ggx-muted: var(--c-muted);
  --ggx-line: var(--c-line);
  --ggx-control-line: var(--c-line2);
  --ggx-accent: var(--c-acc);
  --ggx-accent-hover: var(--c-acc-hover);
  --ggx-accent-wash: var(--c-acc-wash);
  --ggx-accent-ink: var(--c-acc-ink);
  --ggx-positive: var(--c-pos);
  --ggx-positive-wash: var(--c-pos-wash);
  --ggx-negative: var(--c-neg);
  --ggx-negative-wash: var(--c-neg-wash);
  --ggx-info: #2d5bd7;
  --ggx-info-wash: #e8eefc;
  --ggx-warning: #8a5a00;
  --ggx-warning-wash: #fff4dc;
  --ggx-overlay: rgba(14, 16, 20, .45);
  --ggx-focus: var(--c-ink);
  --ggx-selection: #ffd7b8;
  --ggx-heading: var(--c-display);
  --ggx-body: var(--c-body);
  --home-body: var(--c-body);
  --home-rule: var(--c-line);
  --radius: var(--c-r-sm);
}
/* Module palettes remapped to the same light system */
html[data-site-theme="c"][data-catalog-layout="sidebar"] {
  --rental-paper: var(--c-bg);
  --rental-surface: var(--c-tile);
  --rental-rule: var(--c-line);
  --rental-muted: var(--c-muted);
  --rental-ink: var(--c-ink);
  --rental-orange: var(--c-acc);
}
html[data-site-theme="c"][data-checkout-layout="split"] {
  --checkout-overlay: rgba(14, 16, 20, .45);
  --checkout-paper: var(--c-bg);
  --checkout-surface: var(--c-tile);
  --checkout-rule: var(--c-line);
  --checkout-control: var(--c-line2);
  --checkout-ink: var(--c-ink);
  --checkout-muted: var(--c-muted);
  --checkout-accent: var(--c-acc);
  --checkout-accent-hover: var(--c-acc-hover);
  --checkout-accent-wash: var(--c-acc-wash);
  --checkout-positive: var(--c-pos);
  --checkout-error: var(--c-neg);
  --checkout-disabled: #e6e8ec;
  --checkout-body: var(--c-body);
  --checkout-display: var(--c-display);
  --checkout-radius: var(--c-r);
}
html[data-site-theme="c"][data-account-layout="sidebar"] {
  --account-bg: var(--c-bg);
  --account-surface: var(--c-tile);
  --account-line: var(--c-line);
  --account-ink: var(--c-ink);
  --account-muted: var(--c-muted);
  --account-accent: var(--c-acc);
  --account-active: var(--c-acc-wash);
  --account-body: var(--c-body);
  --account-heading: var(--c-display);
}
html[data-site-theme="c"][data-account-layout="sidebar"] .balance-page {
  --balance-body: var(--c-body);
  --balance-display: var(--c-display);
}

/* Base */
html[data-site-theme="c"],
html[data-site-theme="c"] body {
  background: var(--c-bg);
  color: var(--c-ink);
  font-family: var(--c-body);
}
html[data-site-theme="c"] body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
/* One type system everywhere: legacy modules hard-code Oswald, Roboto Condensed and Russo One. */
html[data-site-theme="c"] body *:not(code):not(kbd):not(samp):not(pre):not(.gx-ico) { font-family: var(--c-body) !important; }
html[data-site-theme="c"] body :is(h1, h2, h3) { text-transform: none; letter-spacing: -.02em; }
html[data-site-theme="c"] ::selection { background: var(--ggx-selection); color: var(--c-ink); }
html[data-site-theme="c"] :focus-visible { outline: 2px solid var(--c-ink); outline-offset: 3px; }
html[data-site-theme="c"] .gx-ico { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
html[data-site-theme="c"] .skip-link { border-radius: var(--c-r-sm); }

/* Header: floating pill */
html[data-site-theme="c"] #site-header.gx-header {
  position: sticky; top: 12px; z-index: var(--layer-header, 10);
  width: 100%; max-width: calc(var(--c-max) + var(--c-gutter) * 2); margin: 12px auto 0; padding: 0 var(--c-gutter);
  min-height: 0; background: transparent; border: 0; box-shadow: none; color: var(--c-ink);
}
html[data-site-theme="c"] #site-header .gx-bar {
  display: flex; align-items: center; gap: 20px; height: 64px; padding: 0 10px 0 22px;
  border-radius: 999px; background: rgba(255, 255, 255, .86);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border: 1px solid rgba(14, 16, 20, .06); box-shadow: 0 6px 24px rgba(14, 16, 20, .06);
}
html[data-site-theme="c"] .gx-logo { font-size: 21px; font-weight: 800; line-height: 1; letter-spacing: -.03em; color: var(--c-ink); white-space: nowrap; }
html[data-site-theme="c"] .gx-logo b { color: var(--c-acc); font-weight: 800; }
html[data-site-theme="c"] #site-header .gx-nav { display: flex; gap: 4px; margin: 0 auto; }
html[data-site-theme="c"] #site-header .gx-nav a { padding: 9px 14px; border-radius: 999px; font-weight: 500; font-size: 15px; color: var(--c-ink2); transition: background .15s, color .15s; }
html[data-site-theme="c"] #site-header .gx-nav a:hover { background: var(--c-bg); color: var(--c-ink); }
html[data-site-theme="c"] #site-header .gx-nav a[aria-current="page"] { background: var(--c-ink); color: #fff; }
html[data-site-theme="c"] #site-header .gx-account { display: flex; align-items: center; gap: 8px; margin: 0; }
html[data-site-theme="c"] #site-header .gx-balance:not([hidden]) {
  display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 16px; border-radius: 999px;
  background: var(--c-bg); color: var(--c-ink); font-weight: 600; font-size: 15px; white-space: nowrap;
}
html[data-site-theme="c"] #site-header .gx-balance::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("/assets/icons/wallet.svg") center / contain no-repeat; mask: url("/assets/icons/wallet.svg") center / contain no-repeat; }
html[data-site-theme="c"] #site-header .gx-auth {
  display: inline-flex; align-items: center; gap: 8px; height: 44px; min-height: 44px; padding: 0 18px; border: 0; border-radius: 999px;
  background: var(--c-ink); color: #fff; font-weight: 600; font-size: 15px; cursor: pointer; white-space: nowrap;
}
html[data-site-theme="c"] #site-header .gx-auth:hover { background: var(--c-ink2); }
html[data-site-theme="c"] #site-header .gx-auth #auth-label { color: inherit; font-size: inherit; font-weight: inherit; line-height: 1; }
html[data-site-theme="c"] #site-header .gx-menu { display: none; position: relative; }
html[data-site-theme="c"] #site-header .gx-menu summary { list-style: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--c-bg); cursor: pointer; }
html[data-site-theme="c"] #site-header .gx-menu summary::-webkit-details-marker { display: none; }
html[data-site-theme="c"] #site-header .gx-menu-list { position: absolute; right: 0; top: 54px; z-index: 30; display: flex; flex-direction: column; min-width: 230px; padding: 8px; border-radius: var(--c-r); background: #fff; box-shadow: var(--c-shadow); border: 1px solid var(--c-line); }
html[data-site-theme="c"] #site-header .gx-menu-list a { padding: 12px 14px; border-radius: var(--c-r-sm); font-weight: 500; color: var(--c-ink); }
html[data-site-theme="c"] #site-header .gx-menu-list a:hover { background: var(--c-soft); }

/* Footer */
html[data-site-theme="c"] body .gx-footer {
  display: block; width: 100%; max-width: calc(var(--c-max) + var(--c-gutter) * 2); min-height: 0;
  margin: 0 auto; padding: 40px var(--c-gutter) 28px; background: transparent; border: 0; color: var(--c-muted);
}
html[data-site-theme="c"] .gx-footer-in { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; border-top: 1px solid var(--c-line); padding-top: 28px; font-size: 14px; }
html[data-site-theme="c"] .gx-footer .gx-logo { font-size: 18px; }
html[data-site-theme="c"] #site-header .gx-auth .gx-ico { width: 18px; height: 18px; }
html[data-site-theme="c"] body .gx-footer-nav { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0 auto; justify-content: center; }
html[data-site-theme="c"] body .gx-footer-nav a { min-height: 44px; display: inline-flex; align-items: center; color: var(--c-muted); font-size: 14px; }
html[data-site-theme="c"] body .gx-footer-nav a:hover { color: var(--c-ink); }
html[data-site-theme="c"] .gx-copy { white-space: nowrap; }
html[data-site-theme="c"] .demo-banner { background: var(--c-dark); color: #fff; border: 0; text-align: center; }

/* Buttons shared by the home and help bands */
html[data-site-theme="c"] .gx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 20px; border-radius: 999px; background: var(--c-ink); color: #fff; font-weight: 600; font-size: 15px; white-space: nowrap; border: 0; cursor: pointer; transition: background .15s; }
html[data-site-theme="c"] .gx-btn:hover { background: var(--c-ink2); }
html[data-site-theme="c"] .gx-btn-sm { height: 38px; padding: 0 16px; font-size: 14px; }
html[data-site-theme="c"] .gx-btn-acc { background: var(--c-acc); color: var(--c-acc-ink); height: 54px; padding: 0 26px; font-size: 16px; }
html[data-site-theme="c"] .gx-btn-acc:hover { background: var(--c-acc-hover); }
html[data-site-theme="c"] .gx-btn-ghost { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .28); height: 54px; padding: 0 24px; font-size: 16px; }
html[data-site-theme="c"] .gx-btn-ghost:hover { background: rgba(255, 255, 255, .08); }

/* Legacy components: rounded, light controls */
html[data-site-theme="c"] body :is(.button, button.button, a.button) { border-radius: 999px; }
html[data-site-theme="c"] body :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { border-radius: var(--c-r-sm); }
html[data-site-theme="c"] .modal { border-radius: var(--c-r-lg); border: 0; box-shadow: 0 30px 80px rgba(14, 16, 20, .25); }
html[data-site-theme="c"] .modal::backdrop { background: rgba(14, 16, 20, .45); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }

@media (max-width: 1050px) {
  html[data-site-theme="c"] #site-header .gx-nav { display: none; }
  html[data-site-theme="c"] #site-header .gx-account { margin-left: auto; }
  html[data-site-theme="c"] #site-header .gx-menu { display: block; }
}
@media (max-width: 640px) {
  :root[data-site-theme="c"] { --c-gutter: 14px; }
  html[data-site-theme="c"] #site-header .gx-bar { height: 58px; padding: 0 7px 0 18px; gap: 10px; }
  html[data-site-theme="c"] .gx-logo { font-size: 19px; }
  html[data-site-theme="c"] #site-header .gx-auth { padding: 0 14px; }
  html[data-site-theme="c"] #site-header .gx-balance:not([hidden]) { padding: 0 12px; }
  html[data-site-theme="c"] .gx-footer-in { justify-content: center; text-align: center; }
}
@media (max-width: 380px) {
  html[data-site-theme="c"] #site-header .gx-auth .gx-ico { display: none; }
}
