/* guest-upload.css - the upload box (guest-upload.js), the dashboard upload
   tile's face. Tokens from tokens.css; loaded on every page that mounts it. */
.gbox { margin: 1.1rem 0 .9rem; max-width: 34rem; border: 1.5px dashed var(--border2, #d4d0c8); border-radius: var(--radius, 8px); padding: 1.2rem 1rem 1rem; background: transparent; transition: border-color .2s, background .2s; }
.gbox:hover, .gbox.dragover { border-color: var(--accent, #b5351f); background: rgba(181,53,31,.04); }
.gbox-drop { text-align: center; cursor: pointer; outline: none; }
/* The page has no .hidden rule and display:flex beats the hidden attribute:
   the native file inputs and the e-mail field showed before any file. */
.gbox input[type=file], .gbox [hidden] { display: none !important; }
.gbox-drop:focus-visible .dz-title { text-decoration: underline; }
.gbox .dz-icon { font-size: 1.9rem; margin-bottom: .5rem; opacity: .4; line-height: 1; }
.gbox .dz-title { font-weight: 500; font-size: 1rem; margin-bottom: .2rem; }
.gbox .dz-sub { font-size: .82rem; color: var(--muted, #6b6960); }
.gbox .cam-btn { display: none; width: 100%; margin-top: .9rem; padding: .8rem; font-family: var(--font); font-size: 1rem; font-weight: 600; color: #fff; background: var(--accent, #b5351f); border: none; border-radius: var(--radius, 8px); cursor: pointer; }
@media (max-width: 820px), (pointer: coarse) { .gbox .cam-btn { display: block; } .hero-actions { display: none; } }
.gbox-files { display: flex; flex-direction: column; gap: .3rem; margin-top: .6rem; }
.gbox-files:empty { display: none; }
.gbox-file { display: flex; align-items: center; gap: .5rem; font-size: .85rem; background: #fff; border: 1px solid var(--border, #e2dfd8); border-radius: 6px; padding: .35rem .6rem; text-align: left; }
.gbox-file .n { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gbox-file .x { border: 0; background: none; font-size: 1.1rem; cursor: pointer; color: var(--muted, #6b6960); }
.gbox-form { margin-top: .7rem; display: flex; flex-direction: column; gap: .5rem; }
.gbox-email { font: inherit; font-size: 1rem; padding: .75rem .8rem; border: 1px solid var(--border, #e2dfd8); border-radius: var(--radius, 8px); width: 100%; box-sizing: border-box; background: #fff; }
.gbox-terms { display: flex; gap: .5rem; align-items: flex-start; font-size: .85rem; line-height: 1.4; text-align: left; }
.gbox-terms input { margin-top: .2rem; }
.gbox-send { display: block; width: 100%; margin-top: .6rem; padding: .85rem; font-family: var(--font-mono, monospace); font-size: 1rem; font-weight: 500; color: #fff; background: var(--accent, #b5351f); border: none; border-radius: var(--radius, 8px); cursor: pointer; }
.gbox-send:disabled { opacity: .55; cursor: not-allowed; }
.gbox-note { font-size: .8rem; color: var(--muted, #6b6960); margin-top: .5rem; text-align: center; }
.gbox-sent { text-align: center; padding: .6rem 0 .2rem; }
.gbox-sent-ico { font-size: 2rem; }
.gbox-sent-t { font-weight: 700; font-size: 1.1rem; margin-top: .3rem; }
.gbox-sent-s { font-size: .9rem; color: var(--muted, #6b6960); margin-top: .3rem; }

/* On a fine page the box sits above the article's first heading. */
.gbox-page { margin: 0 0 1.4rem; max-width: none; }
