/* Batch 03 shell / grid / spacing via chrome-* body classes */

body.atelier[class*="theme-t2"] { --pad-card: var(--pad-card, 1rem); --gap-grid: var(--gap-grid, 1rem); }

.b03-stage { box-sizing: border-box; width: 100%; max-width: 100%; }

/* Shells */
body.chrome-shell-asymm-art .b03-stage { padding-inline: clamp(0.5rem, 4vw, 3rem); }
body.chrome-shell-dense-index .b03-stage { width: 90vw; max-width: 90vw; margin-inline: auto; }
body.chrome-shell-story-full .an-section { margin: 0; padding-block: 1.15rem; }
body.chrome-shell-modular-grid .b03-stage { --gutter: 1rem; }
body.chrome-shell-stage-show .b03-stage { background: color-mix(in srgb, var(--bg) 96%, var(--moss) 4%); }
body.chrome-shell-social-mix .b03-stage { background: linear-gradient(180deg, color-mix(in srgb, var(--bg) 88%, #fff), var(--bg)); }
body.chrome-shell-split-shell .an-section { border-bottom: 2px solid var(--ink); }
body.chrome-shell-workspace .b03-stage { background: color-mix(in srgb, var(--bg) 92%, #fff); }
body.chrome-shell-heritage .b03-stage { background: var(--bg); }
body.chrome-shell-canvas-dyn .b03-stage { overflow-x: clip; }

/* Grids */
body.chrome-grid-asymm-comp .an-grid { display: grid; grid-template-columns: 1.4fr 1fr 1.2fr; gap: var(--gap-grid); align-items: start; }
body.chrome-grid-asymm-comp .an-grid > :nth-child(3n) { margin-top: 0.65rem; }
body.chrome-grid-index-rows .an-grid { display: grid; grid-template-columns: 1fr; gap: 0; }
body.chrome-grid-story-stack .an-grid { display: grid; grid-template-columns: 1fr; gap: 0; }
body.chrome-grid-swiss-4 .an-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--ink); }
body.chrome-grid-swiss-4 .an-grid > * { background: var(--bg); }
body.chrome-grid-stage-2 .an-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-grid); }
body.chrome-grid-feed-mix .an-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-grid); }
body.chrome-grid-split-2 .an-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
body.chrome-grid-desk-3 .an-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-grid); }
body.chrome-grid-folio-3 .an-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-grid); }
body.chrome-grid-canvas-exp .an-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-grid); }

/* Space rhythm, compact (no spare empty bands) */
body.chrome-space-gallery .an-section { padding-block: 0.7rem; }
body.chrome-space-archive .an-section { padding-block: 0.55rem; }
body.chrome-space-film .an-section { min-height: 0; display: grid; align-content: start; padding-block: 0.7rem; }
body.chrome-space-baseline .an-section { padding-block: 0.65rem; }
body.chrome-space-flagship .an-section { padding-block: 0.7rem; }
body.chrome-space-pulse .an-section { padding-block: 0.65rem; }
body.chrome-space-twin .an-section { padding-block: 1.15rem; }
body.chrome-space-desk .an-section { padding-block: 0.55rem; }
body.chrome-space-heritage .an-section { padding-block: 0.7rem; }
body.chrome-space-orbit .an-section { padding-block: 0.65rem; }

/* Solid CTAs only in B03, kill outline ghosts on primary actions */
body.atelier[class*="theme-t2"] .an-btn--ghost:not(.hx .an-btn--ghost):not(.an-news .an-btn--ghost),
body.atelier[class*="theme-t2"] .ui-btn--outline {
  background: transparent;
  border: 2px solid var(--ink);
  color: var(--ink);
}
body.atelier[class*="theme-t2"] .an-btn--solid,
body.atelier[class*="theme-t2"] .ui-btn--solid {
  background: var(--cta-bg) !important;
  color: var(--cta-fg) !important;
  border-color: var(--cta-border, var(--cta-bg)) !important;
}

@media (max-width: 899px) {
  body.chrome-grid-asymm-comp .an-grid,
  body.chrome-grid-swiss-4 .an-grid,
  body.chrome-grid-stage-2 .an-grid,
  body.chrome-grid-feed-mix .an-grid,
  body.chrome-grid-split-2 .an-grid,
  body.chrome-grid-desk-3 .an-grid,
  body.chrome-grid-folio-3 .an-grid,
  body.chrome-grid-canvas-exp .an-grid {
    grid-template-columns: 1fr 1fr;
  }
  body.chrome-grid-asymm-comp .an-grid > :nth-child(3n) { margin-top: 0; }
  body.chrome-grid-index-rows .an-grid { grid-template-columns: 1fr; }
}
@media (max-width: 599px) {
  body.chrome-grid-swiss-4 .an-grid,
  body.chrome-grid-stage-2 .an-grid,
  body.chrome-grid-feed-mix .an-grid,
  body.chrome-grid-split-2 .an-grid,
  body.chrome-grid-desk-3 .an-grid,
  body.chrome-grid-folio-3 .an-grid,
  body.chrome-grid-canvas-exp .an-grid,
  body.chrome-grid-asymm-comp .an-grid {
    grid-template-columns: 1fr;
  }
}
