/* GDS colour tokens — Ticketmaster (TM) is the default theme.
   Base palette names are the GDS "space" names used across the codebase. */
:root{
/* Primary */
--gds-neptune:#024ddf;
--gds-neutron:#2a55d9;
--gds-spotlight:#ffffff;
--gds-cosmos:#121212;
/* Secondary */
--gds-callisto:#a733ff;
--gds-jupiter:#ffb932;
--gds-ganymede:#21fff2;
--gds-titan:#fbff2c;
--gds-earth:#048851;
--gds-mars:#eb0000;
/* Grey ramp */
--gds-granite:#646464;
--gds-slate:#949494;
--gds-moonrock:#bfbfbf;
--gds-ammonite:#d6d6d6;
--gds-diatomite:#ebebeb;
--gds-lunar:#f6f6f6;
/* Inventory */
--gds-resale:#d0006f;
--gds-package:#f36c0e;
/* Derived — the modifier utilities applied to neptune (dark = mix 25% black, darker = 40% black, muted = 75% white, light = 50% white) */
--gds-neptune-dark:#023aa7;
--gds-neptune-darker:#012e86;
--gds-neptune-muted:#c0d3f7;
--gds-neptune-light:#81a6ef;
--gds-neptune-ghost-hover:rgba(129,166,239,.25);
--gds-cosmos-muted:#c4c4c4;
--gds-earth-dark:#03663d;
--gds-earth-darker:#025231;
--gds-ganymede-dark:#19bfb6;
--gds-ganymede-hover:#1cd9ce;
--gds-ganymede-active:#17b3a9;
--gds-resale-dark:#9c0053;
/* Live Nation palette (secondary brand) */
--gds-ln-rainier:#e21836;
--gds-ln-black:#191919;
--gds-ln-onyx:#262626;
--gds-ln-onyx-70:#646464;
--gds-ln-teal:#20837f;
--gds-ln-turquoise:#2cb3ad;
--gds-ln-azure:#026cdf;
--gds-ln-ruby:#d93a3a;
--gds-ln-amber:#f2bd2a;
--gds-ln-emerald:#078a09;
--gds-ln-quartz:#f6f6f6;

/* --- Semantic: surfaces & borders (theme.base) --- */
--gds-base-primary:var(--gds-neptune);
--gds-base-primary-alt:var(--gds-neptune-dark);
--gds-base-secondary:var(--gds-callisto);
--gds-base-border:var(--gds-moonrock);
--gds-base-border-light:var(--gds-diatomite);
--gds-base-border-midtone:var(--gds-ammonite);
--gds-base-border-dark:var(--gds-slate);
--gds-base-bg:var(--gds-spotlight);
--gds-base-bg-alt:var(--gds-lunar);
--gds-base-bg-inverse:var(--gds-cosmos);
--gds-base-overlay:rgba(0,0,0,.75);
--gds-base-overlay-text:rgba(0,0,0,.5);
--gds-base-footer-bg:var(--gds-cosmos);
--gds-base-header-context-bg:var(--gds-cosmos);

/* --- Semantic: text (theme.text) --- */
--gds-text-primary:var(--gds-cosmos);
--gds-text-secondary:var(--gds-granite);
--gds-text-accent-1:var(--gds-callisto);
--gds-text-accent-2:var(--gds-callisto);
--gds-text-inverse:var(--gds-spotlight);
--gds-text-link:var(--gds-neptune);
--gds-text-link-hover:var(--gds-neptune-dark);

/* --- Semantic: status (theme.status) --- */
--gds-status-success:var(--gds-earth);
--gds-status-warning:var(--gds-jupiter);
--gds-status-danger:var(--gds-mars);
--gds-status-info:var(--gds-neptune);
--gds-status-default:var(--gds-slate);

/* --- Semantic: buttons (theme._buttons) --- */
--gds-btn-primary-bg:var(--gds-neptune);
--gds-btn-primary-fg:var(--gds-spotlight);
--gds-btn-secondary-bg:var(--gds-neptune);
--gds-btn-secondary-fg:var(--gds-spotlight);
--gds-btn-tertiary-bg:var(--gds-cosmos);
--gds-btn-tertiary-fg:var(--gds-spotlight);
--gds-btn-inverse-bg:var(--gds-spotlight);
--gds-btn-inverse-fg:var(--gds-cosmos);
--gds-btn-disabled-bg:var(--gds-diatomite);
--gds-btn-disabled-fg:var(--gds-slate);
--gds-btn-transaction-bg:var(--gds-earth);
--gds-btn-transaction-fg:var(--gds-spotlight);
--gds-btn-pill-bg:var(--gds-ganymede);
--gds-btn-pill-fg:var(--gds-cosmos);
--gds-btn-checkout:var(--gds-earth);
--gds-btn-vip:var(--gds-jupiter);
--gds-btn-collector:var(--gds-cosmos);

/* --- Semantic: header / footer / links (co-branding hooks) --- */
--gds-header-bg:var(--gds-neptune);
--gds-header-fg:var(--gds-spotlight);
--gds-footer-bg:var(--gds-cosmos);
--gds-footer-fg:var(--gds-spotlight);
--gds-link-primary:var(--gds-neptune);
--gds-link-inverse:var(--gds-spotlight);

/* --- Semantic: icons (theme.icons) --- */
--gds-icon-primary:var(--gds-neptune);
--gds-icon-secondary:var(--gds-granite);
--gds-icon-resale:var(--gds-resale);
--gds-icon-selected:var(--gds-spotlight);
--gds-icon-vip:var(--gds-jupiter);
--gds-icon-collector:var(--gds-cosmos);

/* --- Semantic: interactive seat map (theme.ism) --- */
--gds-ism-available:var(--gds-neutron);
--gds-ism-selected:var(--gds-earth);
--gds-ism-unavailable-section:var(--gds-slate);
--gds-ism-unavailable-seat:var(--gds-moonrock);

/* --- Semantic: badges (theme.badge) --- */
--gds-badge-active:var(--gds-earth);
--gds-badge-inactive:var(--gds-cosmos);
--gds-badge-package:var(--gds-package);

/* --- Misc --- */
--gds-highlight:var(--gds-neptune);
--gds-focus-ring:var(--gds-neptune);
}

/* Live Nation theme scope */
.gds-theme-ln{
--gds-base-primary:var(--gds-ln-rainier);
--gds-base-primary-alt:#aa1229;
--gds-base-secondary:var(--gds-ln-teal);
--gds-base-bg-alt:var(--gds-ln-quartz);
--gds-base-bg-inverse:var(--gds-ln-onyx);
--gds-base-footer-bg:var(--gds-ln-black);
--gds-base-header-context-bg:var(--gds-ln-black);
--gds-text-primary:var(--gds-ln-onyx);
--gds-text-secondary:var(--gds-ln-onyx-70);
--gds-text-accent-1:var(--gds-ln-rainier);
--gds-text-accent-2:var(--gds-ln-rainier);
--gds-text-link:var(--gds-ln-teal);
--gds-text-link-hover:#186260;
--gds-status-success:var(--gds-ln-emerald);
--gds-status-warning:var(--gds-ln-amber);
--gds-status-danger:var(--gds-ln-ruby);
--gds-status-info:var(--gds-ln-teal);
--gds-status-default:var(--gds-ln-onyx-70);
--gds-btn-primary-bg:var(--gds-ln-teal);
--gds-btn-secondary-bg:var(--gds-ln-teal);
--gds-btn-tertiary-bg:#000000;
--gds-btn-transaction-bg:var(--gds-ln-rainier);
--gds-btn-disabled-bg:var(--gds-ln-quartz);
--gds-btn-checkout:var(--gds-ln-emerald);
--gds-btn-vip:var(--gds-ln-amber);
--gds-btn-collector:var(--gds-ln-onyx);
--gds-header-bg:var(--gds-ln-rainier);
--gds-footer-bg:var(--gds-ln-black);
--gds-link-primary:var(--gds-ln-teal);
--gds-icon-primary:var(--gds-ln-rainier);
--gds-icon-secondary:var(--gds-ln-onyx-70);
--gds-icon-collector:var(--gds-ln-onyx);
--gds-ism-available:var(--gds-ln-turquoise);
--gds-ism-selected:var(--gds-ln-emerald);
--gds-badge-active:var(--gds-ln-emerald);
--gds-badge-inactive:var(--gds-ln-onyx);
--gds-highlight:var(--gds-ln-teal);
--gds-focus-ring:var(--gds-ln-teal);
}

/* TM dark — proof-of-concept surface flip. Brand accents are unchanged. */
.gds-theme-tm-dark{
--gds-cosmos-raised:#1e1e1e;
--gds-base-border:var(--gds-granite);
--gds-base-border-light:var(--gds-cosmos-raised);
--gds-base-border-midtone:var(--gds-granite);
--gds-base-border-dark:var(--gds-slate);
--gds-base-bg:var(--gds-cosmos);
--gds-base-bg-alt:var(--gds-cosmos-raised);
--gds-base-bg-inverse:var(--gds-spotlight);
--gds-base-overlay:rgba(0,0,0,.85);
--gds-base-overlay-text:rgba(255,255,255,.5);
--gds-text-primary:var(--gds-spotlight);
--gds-text-secondary:var(--gds-moonrock);
--gds-text-inverse:var(--gds-cosmos);
--gds-text-link:var(--gds-spotlight);
--gds-text-link-hover:var(--gds-moonrock);
--gds-btn-tertiary-bg:var(--gds-spotlight);
--gds-btn-tertiary-fg:var(--gds-cosmos);
--gds-btn-inverse-bg:var(--gds-cosmos);
--gds-btn-inverse-fg:var(--gds-spotlight);
--gds-btn-disabled-bg:var(--gds-granite);
--gds-btn-collector:var(--gds-spotlight);
--gds-link-primary:var(--gds-spotlight);
--gds-link-inverse:var(--gds-cosmos);
--gds-icon-secondary:var(--gds-moonrock);
--gds-icon-collector:var(--gds-spotlight);
--gds-ism-unavailable-seat:var(--gds-granite);
--gds-badge-inactive:var(--gds-spotlight);
}
