/* Scoped styles, also used by maintenance. No layout space before the banner. */
.photo-consent[hidden], .photo-consent [hidden], .photo-cookie-settings[hidden] { display: none !important; }
.photo-consent {
    position: fixed;
    z-index: 11000;
    bottom: max(20px, env(safe-area-inset-bottom));
    right: max(20px, env(safe-area-inset-right));
    width: min(440px, calc(100% - 40px));
    max-height: 75vh;
    overflow: auto;
    padding: 22px;
    color: #f4f4f4;
    background: #181818;
    border: 1px solid #888;
    box-shadow: 0 8px 32px #0008;
    font: 15px/1.55 Arial, sans-serif;
    text-align: left;
    letter-spacing: normal;
    user-select: text;
}
.photo-consent h2 { font: bold 19px/1.3 Arial, sans-serif; margin: 0 0 12px; color: #fff; text-transform: none; }
.photo-consent p { font: inherit; margin: 0 0 12px; color: inherit; }
.photo-consent__actions { display: flex; gap: 12px; margin-top: 16px; }
.photo-consent .photo-consent__choice {
    flex: 1;
    min-height: 44px;
    border: 1px solid #ddd;
    padding: 10px 14px;
    background: #eee;
    color: #111;
    font: bold 15px/1.4 Arial, sans-serif;
    cursor: pointer;
    text-transform: none;
    letter-spacing: normal;
}
.photo-consent .photo-consent__choice:hover { background: #fff; }
.photo-consent summary { cursor: pointer; padding: 8px 0; text-decoration: underline; }
.photo-consent details p { margin-top: 10px; }
.photo-consent a { color: #fff; text-decoration: underline; }
.photo-cookie-settings {
    display: block;
    background: transparent;
    border: 0;
    padding: 8px 0;
    min-height: 44px;
    color: #ccc;
    text-decoration: underline;
    font: 13px/1.4 Arial, sans-serif;
    cursor: pointer;
}
.photo-cookie-settings:hover { color: #fff; }
.photo-consent :focus-visible, .photo-cookie-settings:focus-visible { outline: 3px solid #ffcf66 !important; outline-offset: 3px; }
@media (max-width: 480px) {
    .photo-consent { bottom: max(12px, env(safe-area-inset-bottom)); right: 12px; width: calc(100% - 24px); padding: 16px; font-size: 14px; }
}
@media (forced-colors: active) {
    .photo-consent, .photo-consent .photo-consent__choice { border: 1px solid CanvasText; }
}
