/* 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; }

/* A confirmation link that no longer works (01-10-2026): the notice above
   the box, with the one field that asks for a fresh link. */
.gb-verify { max-width: 34rem; margin: 0 auto 1rem; padding: .9rem 1rem; border: 1px solid #c8862a; border-left-width: 4px; border-radius: 6px; background: #fff8ec; color: #3a2c12; font-size: .92rem; line-height: 1.45; text-align: left; }
.gb-verify p { margin: 0 0 .6rem; }
.gb-verify p:last-child { margin-bottom: 0; }
.gb-verify-row { display: flex; gap: .5rem; flex-wrap: wrap; }
.gb-verify-row input { flex: 1 1 14rem; min-width: 0; padding: .55rem .7rem; border: 1px solid #c9c4b8; border-radius: 5px; font: inherit; }
.gb-verify-row button { flex: 0 0 auto; padding: .55rem 1rem; border: 0; border-radius: 5px; background: #b5351f; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.gb-verify-row button:disabled { opacity: .55; cursor: not-allowed; }
.gb-verify-alt { margin: .6rem 0 0; font-size: .85rem; }

/* Who we are, under the box from the first screen (02-10-2026). */
/* Testimonials, phase 2 (11-10-2026). */
.pv-testi-wrap { margin: 1.2rem 0 .4rem; }
.pv-testi-wrap[hidden], .pv-stats[hidden] { display: none; }
.pv-testi-title { font-size: calc(1.1rem * var(--ts, 1)); margin: 0 0 .6rem; }
.pv-testi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .75rem; }
.pv-testi { margin: 0; padding: .85rem 1rem; border: 1px solid var(--border, #e2e2de); border-radius: 12px; background: var(--card, #fff); display: flex; flex-direction: column; gap: .4rem; }
.pv-testi-stars { color: #e0a81e; letter-spacing: .05em; font-size: calc(.95rem * var(--ts, 1)); }
.pv-testi-text { margin: 0; font-size: calc(.95rem * var(--ts, 1)); line-height: 1.45; }
.pv-testi-meta { color: var(--muted, #666); font-size: calc(.8rem * var(--ts, 1)); }
.pv-stats { margin: .4rem 0 0; color: var(--muted, #666); font-size: calc(.88rem * var(--ts, 1)); }
.gbox-who { font-size: .8rem; line-height: 1.45; color: var(--muted, #6b6960); margin-top: .7rem; text-align: center; }
.pv-testi-how { margin: .6rem 0 0; color: var(--muted, #666); font-size: calc(.8rem * var(--ts, 1)); }
