/* layout.css — overall page rhythm. Toggled by body.layout-<name>. */

/* magazine — featured hero + multi-column content (default) */
body.layout-magazine .msl-card-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
body.layout-magazine .msl-section + .msl-section { padding-top: 32px; }

/* minimal — generous whitespace, single column */
body.layout-minimal .msl-container { max-width: 760px; }
body.layout-minimal .msl-card-grid { grid-template-columns: 1fr; gap: 40px; }
body.layout-minimal .msl-section { padding: 80px 0; }
body.layout-minimal .msl-hero { padding: 96px 0; }

/* showroom — product-grid focus, stat-block feel */
body.layout-showroom .msl-card-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
body.layout-showroom .msl-card { border: 1px solid rgba(0,0,0,.1); }
body.layout-showroom .msl-section { padding: 36px 0; }

/* outdoor-mag — image-heavy, full-bleed sections */
body.layout-outdoor-mag .msl-section { padding: 56px 0; }
body.layout-outdoor-mag .msl-card-thumb img { aspect-ratio: 4/3; }
body.layout-outdoor-mag .msl-section:nth-of-type(even) { background: var(--c-neutral); }
body.layout-outdoor-mag .msl-card-grid { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }

/* lifestyle-blog — editorial flow, story-first */
body.layout-lifestyle-blog .msl-container { max-width: 880px; }
body.layout-lifestyle-blog .msl-card-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
body.layout-lifestyle-blog .msl-card { background: transparent; }
body.layout-lifestyle-blog .msl-card-body { padding: 16px 0; }
body.layout-lifestyle-blog .msl-card-title { font-size: 22px; }

/* tactical-grid — dense info, hard angles */
body.layout-tactical-grid .msl-card-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 4px; }
body.layout-tactical-grid .msl-card { border-radius: 0; border: 1px solid var(--c-primary); background: var(--c-bg); }
body.layout-tactical-grid .msl-card-body { padding: 12px; }
body.layout-tactical-grid .msl-card-title { font-size: 15px; text-transform: uppercase; letter-spacing: .04em; }
body.layout-tactical-grid .msl-section { padding: 32px 0; }
body.layout-tactical-grid .msl-btn { border-radius: 0; }
