/* The deck submission page. Loads after theme.css; every rule is scoped to it.
   Text sizes follow the shared calendar scale and enlarged text,
   while hit areas keep their 44px minimum. */

.dk-col { width: 100%; max-width: 784px; margin: 0 auto; padding-left: 32px; padding-right: 32px; }
.dk-head { min-height: 72px; display: flex; align-items: center; }
.dk-mark { display: block; width: 80px; height: auto; }

main.dk-main { max-width: 44rem; padding: clamp(1.5rem, 5vw, 4rem) 16px 4rem; }
.dk { font-size: 0.875rem; line-height: 1.5; container-type: inline-size; container-name: dk; }
.dk-stack { display: flex; flex-direction: column; gap: 24px; }
.dk-stack.panel > * + * { margin-top: 0; }
.dk-stack-sm { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dk-grow { flex: 1 1 auto; }
.dk-nowrap { white-space: nowrap; }

/* introduction */
.dk-intro { display: flex; flex-direction: column; gap: 24px; }
.dk-heading { display: flex; flex-direction: column; gap: 12px; }
.dk h1 { font-size: 1.5rem; line-height: 1.2; margin-bottom: 0; }
.dk-lede { font-size: 0.9375rem; line-height: 1.6; color: var(--muted); }
.dk-agent-hint { font-size: 0.8125rem; color: var(--muted); }
.dk-agent { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.dk-agent-hint { flex: 1 1 14em; min-width: 0; }
.dk-glyph { width: 1em; height: 1em; flex: none; }
.dk-glyph-lg { width: 1.25em; height: 1.25em; flex: none; }

/* buttons: the shared .btn classes at this page's text size */
.dk .dk-button { font-size: 0.8125rem; font-weight: 400; line-height: 1.2; padding: 0 16px; white-space: normal; text-align: left; }
.dk .dk-submit { font-size: 0.8125rem; font-weight: 600; line-height: 1.2; padding: 0 16px; white-space: nowrap; }
.dk .btn-text { min-height: 44px; margin: -10px 0; padding: 0; font-size: 1em; line-height: 1.5; text-align: left; }

/* fields */
.dk-form { display: flex; flex-direction: column; gap: 16px; }
.dk-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.dk-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.dk label, .dk .dk-label, .dk legend { display: block; margin: 0; padding: 0; font-size: 0.8125rem; font-weight: 400; line-height: 1.4; color: var(--fg); }
.dk :is(input[type='text'], input[type='email'], input[type='url'], select, textarea) {
  min-height: 44px; padding: 10px 12px; font-size: 1rem; line-height: 1.5; background-color: var(--card); transition: border-color 0.12s ease;
}
.dk :is(input[type='text'], input[type='email'], input[type='url'], select, textarea):hover { border-color: var(--muted); }
.dk .dk-field textarea { min-height: 80px; field-sizing: content; }
.dk textarea[readonly] { overflow-wrap: anywhere; }
.dk .field-error { margin-top: 0; font-size: 1em; }
.dk-fieldset { min-width: 0; }

/* pitch deck */
.dk-deck-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 16px; }
.dk .dk-drop {
  display: flex; align-items: center; gap: 12px; min-height: 64px; margin: 0; padding: 10px 16px;
  border: 1px dashed var(--input); border-radius: var(--radius); color: var(--fg); cursor: pointer;
  transition: border-color 0.12s ease, background-color 0.12s ease;
}
.dk .dk-drop:hover, .dk .dk-drop.is-drag { border-color: var(--fg); background: var(--card); }
.dk .dk-drop.is-invalid { border-style: solid; border-color: var(--dot); border-width: 2px; }
.dk-deck:has(.dk-file-input:focus-visible) .dk-drop { outline: 2px solid var(--accent); outline-offset: 2px; }
.dk-choose { color: var(--accent); text-decoration: underline dotted rgba(198, 242, 245, 0.45); text-underline-offset: 4px; }
.dk-file {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; min-height: 64px; padding: 10px 10px 10px 16px;
  border: 1px solid var(--input); border-radius: var(--radius); background: var(--field);
}
.dk-file-name { display: flex; align-items: flex-start; gap: 12px; flex: 1 1 14em; min-width: 0; }
.dk-file-icon { width: 1em; height: 1em; flex: none; margin-top: 0.25em; }
.dk-file-preview { display: flex; min-width: 0; white-space: nowrap; overflow-wrap: normal; }
.dk-file-head { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.dk-file-tail { flex: none; }
.dk-file-wrapped { overflow-wrap: anywhere; }
.dk-file-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; flex: 0 1 auto; min-width: 0; margin-left: auto; }
.dk-link { display: flex; flex-direction: column; gap: 8px; }

/* raising */
.dk-raising { display: flex; flex-direction: column; }
.dk legend { margin-bottom: 0; }
.dk-radios { display: flex; flex-wrap: wrap; column-gap: 24px; margin: -2px 0 -10px; }
.dk .dk-radio { display: inline-flex; align-items: flex-start; gap: 0.75em; min-height: 44px; padding: 10px 8px 10px 0; color: var(--fg); cursor: pointer; }
.dk-amount { margin-top: 20px; max-width: 24em; }
.dk-amount-row { display: flex; gap: 8px; }
.dk-amount-row select { flex: none; width: 6.5em; }
.dk-amount-row input { flex: 1 1 auto; }
.dk-raising > .field-error { margin-top: 8px; }

/* consent */
.dk .dk-check { display: flex; align-items: flex-start; gap: 0.75em; min-height: 44px; margin: -10px 0; padding: 10px 0; color: var(--fg); cursor: pointer; }
.dk :is(.dk-radio, .dk-check) input {
  font-size: inherit; width: max(22px, 1.375em); height: max(22px, 1.375em); min-width: 22px; min-height: 22px; margin: 0.125em 0 0; flex: none; cursor: pointer;
  accent-color: var(--accent);
}

.dk .dk-failed { font-size: 1em; }
.dk-sent { max-width: 40rem; }

@media (max-width: 640px) {
  .dk-col { padding-left: 16px; padding-right: 16px; }
}
@container dk (max-width: 34em) {
  .dk-pair { grid-template-columns: minmax(0, 1fr); }
  .dk-radios { flex-direction: column; }
  .dk .dk-radio { display: flex; width: 100%; }
  .dk .dk-submit { width: 100%; }
}
