body.photo-library-page .photo-library__request { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px 24px; padding:20px 0; border-bottom:1px solid #dce4ee; }
.photo-library__request>div { flex:1 1 360px; }
.photo-library__request strong { color:#102850; font-size:15px; font-weight:600; }
.photo-library__request p { margin:5px 0 0; color:#61728b; font-size:14px; line-height:1.6; }
body .photo-library__request>a { display:inline-flex; align-items:center; min-height:44px; padding:10px 14px; border:1px solid #cdd9e6; border-radius:6px; background:#fff; color:#102850; font:500 14px/1.4 Manrope,sans-serif; text-decoration:none; }
.photo-library__request>a:hover { background:#f3f6fa; }
body .photo-request-modal { box-sizing:border-box; width:min(660px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:24px; border:0; border-radius:8px; background:#fff; color:#23324d; overflow:auto; font:500 15px/1.65 Manrope,sans-serif; }
.photo-request-modal::backdrop { background:#06132bbf; }
.photo-request-modal,.photo-preview-modal,.photo-licence-modal { overscroll-behavior:contain; }
.photo-request-security { display:grid; gap:8px; margin:20px 0; min-width:0; }
.photo-request-security>.cf-turnstile { width:300px; justify-self:start; }
body .photo-request-modal .photo-request-security>span { color:#44536c; font-size:14px; font-weight:500; }
.photo-request-unavailable { color:#a40025; overflow-wrap:anywhere; }
.photo-request-modal * { box-sizing:border-box; }
.photo-request-modal header { display:flex; align-items:start; justify-content:space-between; gap:16px; }
body .photo-request-modal h2 { margin:0; color:#102850; font:600 24px/1.3 Manrope,sans-serif; letter-spacing:-.025em; }
.photo-request-modal header p { margin:10px 0 0; color:#34445f; }
body .photo-request-modal header button { flex:none; width:44px; height:44px; border:1px solid #cdd9e6; border-radius:6px; color:#102850; background:#fff; font:inherit; cursor:pointer; }
body .photo-request-modal .photo-request-process { margin:16px 0; color:#34445f; }
.photo-request-prices { min-width:0; padding:0; margin:20px 0 0; border:0; }
.photo-request-prices legend { color:#102850; font-weight:600; margin-bottom:8px; }
.photo-request-option { padding:16px 0; border-top:1px solid #c6d0de; }
.photo-request-option>label { display:flex; align-items:start; gap:10px; font-weight:600; }
.photo-request-option label span { flex:1; }
.photo-request-option input,.photo-request-acknowledgement input { width:18px; height:18px; margin:3px 0 0; flex:none; accent-color:#102850; }
.photo-request-option strong { color:#ce0732; white-space:nowrap; }
body .photo-request-modal .photo-request-option p { margin:8px 0 12px; color:#34445f; }
body .photo-request-modal .photo-request-scope { color:#44536c; margin:8px 0 20px; }
.photo-request-modal a { color:#102850; text-underline-offset:3px; }
.photo-request-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
body .photo-request-modal .photo-request-fields label { display:grid; min-width:0; gap:8px; color:#102850; font-weight:600; }
body .photo-request-modal .photo-request-fields small { font-size:inherit; color:#44536c; font-weight:400; }
.photo-request-wide { grid-column:1/-1; }
body.photo-library-page .photo-request-modal .photo-request-fields input,body.photo-library-page .photo-request-modal .photo-request-fields textarea { width:100%; min-width:0; padding:11px 12px; border:1px solid #8392aa; border-radius:6px; background:#fff; color:#23324d; font:400 16px/1.5 Manrope,sans-serif; }
.photo-request-fields textarea { resize:vertical; }
.photo-request-fields :is(input,textarea)::placeholder { color:#536078; opacity:1; }
.photo-request-acknowledgement { display:flex; align-items:start; gap:10px; margin:20px 0; }
.photo-request-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:20px; }
body .photo-request-actions button { min-height:44px; padding:10px 16px; border:0; border-radius:6px; background:#ce0732; color:#fff; font:500 14px/1.4 Manrope,sans-serif; cursor:pointer; }
body .photo-request-actions button:disabled { background:#dde4ed; color:#65758b; cursor:not-allowed; }
body .photo-request-modal .photo-request-actions span { color:#44536c; font-size:13px; }
.photo-request-status { white-space:pre-line; margin:16px 0; color:#23324d; }
.photo-request-status:empty { display:none; }
.photo-request-status[role="alert"] { color:#a40025; }
.photo-request-modal footer { margin-top:20px; }
.photo-request-modal footer a { display:inline-flex; align-items:center; min-height:44px; }
.photo-request-honeypots { display:none; }
.photo-request-modal :is(button,a,input,textarea):focus-visible { outline:3px solid #355eaa; outline-offset:3px; }
@media(max-width:600px) { body .photo-request-modal { padding:18px; } .photo-request-fields { grid-template-columns:minmax(0,1fr); } body .photo-request-modal h2 { font-size:21px; } .photo-library__request>div { flex-basis:100%; } }

/* Cloudflare needs at least 300px; keep its horizontal layout on small phones. */
@media(max-width:360px) { body .photo-request-modal { width:calc(100% - 16px); max-width:calc(100% - 16px); padding:16px; } .photo-request-security>.cf-turnstile { margin-inline:-14px; } }
