.mc-collection-gallery {
    --serif: 'DM Serif Display', Georgia, serif;
    --sans: 'DM Sans', Arial, sans-serif;
    --ink: #351342;
    --muted: #65576d;
    --bold-bg: #351342;
    --bold-soft: #d9c7e2;
    --season-dark-a: #351342;
    --season-dark-c: #414b3b;
    --season-paper: #fbf7ef;
    --season-header-height: 64px;
    --gallery-light: #e8d3b7;
    --gallery-mid: #f0e7dc;
    width: 100%;
    background: radial-gradient(ellipse at 0% 16%, var(--gallery-light), transparent 46%),
        linear-gradient(150deg, var(--season-paper), var(--gallery-mid) 60%, var(--season-paper));
    color: var(--ink);
    font: 400 16px/1.6 var(--sans);
}
.mc-collection-gallery[data-season=winter] { --season-paper:#f8fafb; --gallery-light:#d2e1e9; --gallery-mid:#e6edf4; }
.mc-collection-gallery[data-season=spring] { --season-paper:#fff9f5; --gallery-light:#e9cfdc; --gallery-mid:#efe8f0; }
.mc-collection-gallery[data-season=summer] { --season-paper:#fffcf0; --gallery-light:#efe0aa; --gallery-mid:#eaf1e5; }
.mc-collection-gallery[data-season=christmas] { --season-paper:#fcf8ee; --gallery-light:#d7dfd3; --gallery-mid:#e5e9df; }
.mc-collection-gallery *, .mc-collection-gallery *::before, .mc-collection-gallery *::after { box-sizing: border-box; }
.mc-collection-gallery .container { width: min(1280px, calc(100% - 112px)); margin-inline: auto; }
.mc-collection-gallery h1, .mc-collection-gallery h2, .mc-collection-gallery h3 {
    font: 400 1.5em/1.1 var(--serif); color: var(--bold-bg); letter-spacing: -.035em; margin: 0; text-transform: none;
}
.mc-collection-gallery p { margin: 0; color: var(--muted); }
.mc-collection-gallery a { color: inherit; text-decoration: none; }
.mc-collection-gallery button, .mc-collection-gallery select, .mc-collection-gallery input { font-family: inherit; }
.mc-collection-gallery button { cursor: pointer; }
.mc-collection-gallery img { display: block; }
.mc-collection-gallery .eyebrow { font-size: 11px; letter-spacing: .15em; text-transform: uppercase; }
.mc-collection-gallery .button, .mc-collection-gallery .icon-button {
    display: inline-flex; align-items: center; justify-content: center; gap: 14px;
    border-radius: 999px; min-height: 44px; padding: 8px 18px; color: var(--bold-bg);
    background: #ffffff69; border: 1px solid #35134230; font: 600 14px/1.25 var(--sans);
}
.mc-collection-gallery .button-primary { background: var(--bold-bg); color: #fff; }
.mc-collection-gallery .icon-button { padding: 0; width: 44px; font-size: 24px; }
.mc-collection-gallery [hidden] { display: none !important; }
.mc-collection-gallery .gallery-dialog {
    position: fixed; inset: 0; margin: auto; overflow: auto; width: min(1000px, calc(100vw - 30px));
    max-height: 92dvh; padding: 20px 26px; border: 1px solid #bfa6cb; border-radius: 18px;
    background: linear-gradient(125deg, #f2e8f6, #fff8ed); color: var(--ink);
}
.mc-collection-gallery .gallery-manager { margin: auto; }
.mc-collection-gallery .gallery-dialog::backdrop { background: #21102bd6; backdrop-filter: blur(7px); }
.mc-collection-gallery .gallery-dialog-top, .mc-collection-gallery .gallery-dialog-controls {
    display: flex; align-items: center; justify-content: space-between; gap: 15px;
}
.mc-collection-gallery .gallery-dialog-top { margin-bottom: 12px; }
.mc-collection-gallery .gallery-dialog-controls { margin-top: 16px; font-size: 12px; }
.mc-collection-gallery .gallery-dialog > p { margin-top: 15px; line-height: 1.8; }
.mc-collection-gallery .album-label p, .mc-collection-gallery .album-label > span { color: var(--bold-soft); }
.mc-collection-gallery .subalbum-card .album-label p, .mc-collection-gallery .subalbum-card .album-label > span { color: var(--muted); }
body:has(.mc-collection-gallery) .ast-container > #primary { margin-block: 0; }
@media (max-width: 1150px) { .mc-collection-gallery .container { width: calc(100% - 72px); } }
@media (max-width: 680px) {
    .mc-collection-gallery .container { width: calc(100% - 40px); }
    .mc-collection-gallery .gallery-dialog { padding: 17px; }
}
@media (max-width: 420px) { .mc-collection-gallery .container { width: calc(100% - 36px); } }
