/* Source: aeolus-design-system/src/components/GlassCard.tsx + src/tokens/index.ts glass map */

/* Every class below is a complete recipe: fill, blur, border, shadow, and rim. */
.glass-heroDark,
.glass-ctaGold,
.glass-dark,
.glass-darkSubtle,
.glass-goldTint,
.glass-light,
.glass-lightSubtle,
.glass-lightCard,
.glass-onGold,
.glass-inverted {
  --glass-bg: transparent;
  --glass-border: 1px solid transparent;
  --glass-blur: none;
  --glass-shadow: none;
  position: relative;
  border-radius: var(--aeolus-radius-card);
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  box-shadow: var(--glass-shadow);
}

.glass-heroDark {
  --glass-bg: var(--aeolus-glass-hero-bg);
  --glass-border: 1px solid var(--aeolus-glass-hero-border);
  --glass-blur: var(--aeolus-glass-hero-blur);
  --glass-shadow: var(--aeolus-glass-hero-shadow);
}

.glass-ctaGold {
  --glass-bg: var(--aeolus-glass-cta-bg);
  --glass-border: 1px solid var(--aeolus-glass-cta-border);
  --glass-blur: var(--aeolus-glass-cta-blur);
  --glass-shadow: var(--aeolus-glass-cta-shadow);
}

.glass-dark {
  --glass-bg: var(--aeolus-glass-dark-bg);
  --glass-border: 1px solid var(--aeolus-glass-dark-border);
  --glass-blur: var(--aeolus-glass-dark-blur);
  --glass-shadow: var(--aeolus-glass-dark-shadow);
}

.glass-darkSubtle {
  --glass-bg: var(--aeolus-glass-subtle-bg);
  --glass-border: 1px solid var(--aeolus-glass-subtle-border);
  --glass-blur: var(--aeolus-glass-subtle-blur);
  --glass-shadow: var(--aeolus-glass-subtle-shadow);
}

.glass-goldTint {
  --glass-bg: var(--aeolus-glass-goldtint-bg);
  --glass-border: 1px solid var(--aeolus-glass-goldtint-border);
  --glass-blur: var(--aeolus-glass-dark-blur);
  --glass-shadow: var(--aeolus-glass-dark-shadow);
}

.glass-light {
  --glass-bg: var(--aeolus-glass-light-bg);
  --glass-border: 1px solid var(--aeolus-glass-light-border);
  --glass-blur: var(--aeolus-glass-light-blur);
  --glass-shadow: var(--aeolus-glass-light-shadow);
}

.glass-lightSubtle {
  --glass-bg: var(--aeolus-glass-light-subtle-bg);
  --glass-border: 1px solid var(--aeolus-glass-light-subtle-border);
  --glass-blur: var(--aeolus-glass-light-subtle-blur);
  --glass-shadow: var(--aeolus-glass-light-subtle-shadow);
}

.glass-lightCard {
  --glass-bg: var(--aeolus-glass-light-card-bg);
  --glass-border: 1px solid var(--aeolus-glass-light-card-border);
  --glass-blur: var(--aeolus-glass-light-card-blur);
  --glass-shadow: var(--aeolus-glass-light-card-shadow);
}

.glass-onGold {
  --glass-bg: var(--aeolus-glass-gold-bg);
  --glass-border: 1px solid var(--aeolus-glass-gold-border);
  --glass-blur: var(--aeolus-glass-gold-blur);
  --glass-shadow: var(--aeolus-glass-gold-shadow);
}

.glass-inverted {
  --glass-bg: var(--aeolus-glass-inverted-bg);
  --glass-border: 1px solid var(--aeolus-glass-inverted-border);
  --glass-blur: var(--aeolus-glass-inverted-blur);
  --glass-shadow: var(--aeolus-glass-inverted-shadow);
}

/* Split-layer mode for overlapping montage cards. */
.glass-layered {
  box-sizing: border-box;
  isolation: isolate;
  overflow: hidden;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: var(--glass-layered-shadow, 0 30px 72px rgba(0,0,0,0.44), inset 0 1px 0 rgba(255,255,255,0.28));
}

.glass-layered > .glass-layer-fill {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
}

.glass-layered > .glass-layer-content {
  position: relative;
  z-index: 1;
}

.glass-layered.glass-elevation-back { --glass-layered-shadow: var(--aeolus-glass-back-shadow); }
.glass-layered.glass-elevation-mid { --glass-layered-shadow: 0 30px 72px rgba(0,0,0,0.44), inset 0 1px 0 rgba(255,255,255,0.28); }
.glass-layered.glass-elevation-midHeavy { --glass-layered-shadow: 0 34px 80px rgba(0,0,0,0.46), inset 0 1px 0 rgba(255,255,255,0.18); }
.glass-layered.glass-elevation-focus { --glass-layered-shadow: var(--aeolus-glass-focus-shadow); }
.glass-layered.glass-elevation-chip { --glass-layered-shadow: 0 24px 56px rgba(0,0,0,0.55); }

/* GlassCard radiusRole="panel": product-UI mockup shells only. */
.glass-panel {
  border-radius: var(--aeolus-radius-panel);
}

/* Nested GlassTile: no backdrop blur, only the deck's inset hairline ring. */
.glass-tile {
  border-radius: var(--aeolus-radius-tile);
  background: var(--aeolus-tile-bg);
  box-shadow: var(--aeolus-tile-ring);
}

.glass-tile.is-selected,
.glass-tile[aria-selected="true"] {
  background: var(--aeolus-tile-selected-bg);
  box-shadow: var(--aeolus-tile-selected-ring);
}
