/* Campaign photo frame (2026-11-04). Shared pieces come from css/_image-kit.css. */
#visu-tools.vt-photo-frame-campaign .vt-pf-notice { grid-column: 1 / -1; display: grid; gap: 6px; justify-items: start; padding: 14px 16px; border: 1px solid var(--vt-line); border-radius: 14px; background: var(--vt-bg); }
#visu-tools.vt-photo-frame-campaign .vt-pf-notice[hidden], #visu-tools.vt-photo-frame-campaign .vt-pf-setup[hidden], #visu-tools.vt-photo-frame-campaign .vt-pf-work[hidden] { display: none; }
#visu-tools.vt-photo-frame-campaign .vt-pf-notice p { margin: 0; font-size: 14.5px; line-height: 1.45; }
#visu-tools.vt-photo-frame-campaign .vt-pf-bad { border-color: #c62828; }
#visu-tools.vt-photo-frame-campaign .vt-pf-setup, #visu-tools.vt-photo-frame-campaign .vt-pf-linkbox { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
#visu-tools.vt-photo-frame-campaign .vt-pf-linkbox { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--vt-line); }
#visu-tools.vt-photo-frame-campaign .vt-pf-setup[hidden] + .vt-pf-linkbox { margin-top: 0; padding-top: 0; border-top: 0; }
#visu-tools.vt-photo-frame-campaign .vt-pf-top, #visu-tools.vt-photo-frame-campaign .vt-pf-clear { margin: 0; }
#visu-tools.vt-photo-frame-campaign .vt-seg-items { flex-wrap: wrap; }
#visu-tools.vt-photo-frame-campaign .vt-pf-logo { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
#visu-tools.vt-photo-frame-campaign .vt-pf-logo-btn { position: relative; cursor: pointer; }
#visu-tools.vt-photo-frame-campaign .vt-pf-logo-btn:focus-within { outline: 2px solid var(--vt-accent-text); outline-offset: 2px; }
#visu-tools.vt-photo-frame-campaign #vt-pf-link { width: 100%; text-overflow: ellipsis; font-size: 14px; }
#visu-tools.vt-photo-frame-campaign .vt-pf-stage { padding: 12px; min-height: 0; margin-bottom: 8px; }
#visu-tools.vt-photo-frame-campaign .vt-pf-stage canvas { width: min(100%, 460px); max-height: none; height: auto; aspect-ratio: 1; border-radius: 4px; }
#visu-tools.vt-photo-frame-campaign .vt-pf-work { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 12px; }
#visu-tools.vt-photo-frame-campaign .vt-pf-work .vt-link-btn { justify-self: start; }
/* Someone who came by the link has one job: the photo button comes before the frame. */
#visu-tools.vt-photo-frame-campaign .vt-pf-joined .vt-out { display: flex; flex-direction: column; gap: 12px; }
#visu-tools.vt-photo-frame-campaign .vt-pf-joined .vt-out > * { min-width: 0; margin-top: 0; }
#visu-tools.vt-photo-frame-campaign .vt-pf-joined .vt-out-label { order: -3; margin-bottom: 0; }
#visu-tools.vt-photo-frame-campaign .vt-pf-joined .vt-ik-drop { order: -2; }
#visu-tools.vt-photo-frame-campaign .vt-pf-joined .vt-ik-private { order: -1; }
#visu-tools.vt-photo-frame-campaign .vt-pf-qr-text { margin-top: 14px; }
#visu-tools.vt-photo-frame-campaign a.vt-off { opacity: .55; }
@media (max-width: 860px) {
  /* The picture first: on a phone the visitor must see what the form changes. Notices stay on top of it. */
  #visu-tools.vt-photo-frame-campaign .vt-pf-notice { order: -2; }
  #visu-tools.vt-photo-frame-campaign .vt-out { order: -1; }
}
@media (max-width: 600px) {
  #visu-tools.vt-photo-frame-campaign .vt-pf-stage canvas { max-height: none; width: 100%; }
  #visu-tools.vt-photo-frame-campaign .vt-pf-stage { padding: 8px; }
}
