.mfg-private-shell { margin: 1.25rem 0 2rem; color: var(--text, #17243b); }
.mfg-gallery-card--private .mfg-gallery-card__thumb { background: #e8eef8; }
.mfg-gallery-card--private .mfg-gallery-card__placeholder { box-sizing: border-box; padding: 1rem; color: #173b78; font-weight: 700; text-align: center; }
body.high-contrast .mfg-gallery-card--private .mfg-gallery-card__thumb, html.mfg-a11y-mode .mfg-gallery-card--private .mfg-gallery-card__thumb { background: #000 !important; border: 2px solid #fff; }
body.high-contrast .mfg-gallery-card--private .mfg-gallery-card__placeholder, html.mfg-a11y-mode .mfg-gallery-card--private .mfg-gallery-card__placeholder { color: #fff !important; }
.mfg-private-form { max-width: 38rem; margin: 1.5rem auto; padding: clamp(1.1rem, 3vw, 2rem); background: var(--surface, #fff); border: 2px solid var(--blue-700, #204d95); border-radius: 1rem; color: var(--text, #17243b); }
.mfg-private-form h2 { margin: 0 0 .7rem; color: var(--blue-900, #162e59); }
.mfg-private-form label { display: block; margin: 1rem 0 .4rem; font-weight: 700; }
.mfg-private-form input[type="password"] { display: block; box-sizing: border-box; width: 100%; min-height: 2.8rem; padding: .55rem .75rem; font: inherit; color: #17243b; background: #fff; border: 2px solid #405475; border-radius: .35rem; }
.mfg-private-form button, .mfg-private-logout button, .mfg-private-shell > button { display: inline-block; margin-top: 1rem; padding: .65rem 1.1rem; border: 2px solid #173b78; border-radius: .45rem; background: #173b78; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.mfg-private-form button:hover, .mfg-private-logout button:hover, .mfg-private-shell > button:hover { background: #102c5e; color: #fff; }
.mfg-private-form button:disabled { opacity: .7; cursor: wait; }
.mfg-private-form .mfg-private-error { margin: .8rem 0; padding: .75rem; background: #fff1ee; color: #8a1c13; border-left: 4px solid #a12219; font-weight: 700; }
.mfg-private-form .mfg-private-error[hidden] { display: none; }
.mfg-private-description { margin: 1rem 0 1.5rem; }
.mfg-private-photos { margin: 1rem 0; }
.mfg-private-logout { margin-top: 1.3rem; }
.mfg-private-logout button { background: #fff; color: #173b78; }
.mfg-private-logout button:hover { color: #fff; }
.mfg-private-shell :where(a, button, input):focus-visible { outline: 3px solid var(--focus-ring, #ffbf47); outline-offset: 3px; }
body.high-contrast .mfg-private-shell, html.mfg-a11y-mode .mfg-private-shell { color: #fff !important; }
body.high-contrast .mfg-private-form, html.mfg-a11y-mode .mfg-private-form { background: #000 !important; color: #fff !important; border-color: #fff !important; }
body.high-contrast .mfg-private-form h2, body.high-contrast .mfg-private-photos-title, html.mfg-a11y-mode .mfg-private-form h2 { color: #fff !important; }
body.high-contrast .mfg-private-form input[type="password"] { color: #000 !important; background: #fff !important; border-color: #fff !important; }
body.high-contrast .mfg-private-logout button, html.mfg-a11y-mode .mfg-private-logout button { background: #000 !important; color: #fff !important; border-color: #fff !important; }
body.high-contrast .mfg-private-form .mfg-private-error, html.mfg-a11y-mode .mfg-private-form .mfg-private-error { color: #fff !important; background: #4b0904 !important; }
@media (max-width: 640px) { .mfg-private-photos { --mfg-columns: 1 !important; } }
