/* ogarniJ — dialog dołączania (premiera / inwestor) */

.join-dialog {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
}

.join-dialog[open] {
  width: min(var(--sheet-w), calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  overflow: auto;
  padding: var(--space-xl);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(24px) saturate(1.6);
  -webkit-backdrop-filter: blur(24px) saturate(1.6);
  box-shadow: 0 40px 90px rgba(17, 18, 20, 0.22);
  animation: join-dialog-in 420ms var(--ease-scene);
}

@keyframes join-dialog-in {
  from { opacity: 0; transform: translateY(12px) scale(0.97); }
}

.join-dialog::backdrop {
  background: rgba(17, 18, 20, 0.28);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  animation: join-backdrop-in 420ms ease;
}

@keyframes join-backdrop-in { from { opacity: 0; } }

.join-form {
  position: relative;
  margin: 0;
}

.join-head {
  padding-right: calc(var(--size-icon-btn) + var(--space-sm));
}

.join-dialog h2 {
  margin: 0;
  font-size: clamp(1.7rem, 2.6vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.08;
  text-wrap: balance;
}

.join-close {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  width: var(--size-icon-btn);
  height: var(--size-icon-btn);
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(17, 18, 20, 0.05);
  color: var(--ink-soft);
  cursor: pointer;
  transition: background var(--ms-fast) ease, color var(--ms-fast) ease;
}

.join-close:hover { background: rgba(17, 18, 20, 0.09); color: var(--ink); }

.join-close svg {
  width: 18px;
  height: 18px;
}

.join-lede {
  margin: var(--space-md) 0 var(--space-lg);
  color: var(--ink-soft);
  font-size: 1.02rem;
  line-height: 1.55;
}

.join-fields {
  display: grid;
  gap: var(--space-lg);
  margin: 0;
  padding: 0;
  border: 0;
  min-inline-size: 0;
}

.join-fields[hidden] {
  display: none;
}

.join-label {
  display: grid;
  gap: var(--space-sm);
  color: var(--ink);
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.join-label-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-md);
}

.join-optional {
  color: var(--ink-mute);
  font-weight: 500;
}

.join-input,
.join-textarea {
  width: 100%;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--white);
  color: var(--ink);
  font: inherit;
  font-size: 1rem;
  letter-spacing: -0.01em;
  transition: border-color var(--ms-fast) ease, box-shadow var(--ms-fast) ease;
}

.join-input:focus,
.join-textarea:focus {
  outline: none;
  border-color: var(--blue);
  box-shadow: 0 0 0 4px rgba(47, 123, 255, 0.13);
}

.join-input {
  height: var(--size-control);
  padding: 0 var(--space-lg);
}

.join-textarea {
  padding: var(--space-md) var(--space-lg);
  resize: vertical;
}

.join-error {
  margin: var(--space-lg) 0 0;
  color: #c93b3b;
  font-size: 0.92rem;
  font-weight: 500;
}

.join-actions {
  margin-top: var(--space-xl);
}

.join-actions .pill-button {
  width: 100%;
}

.join-done {
  margin: var(--space-xl) 0 0;
  font-size: clamp(1.2rem, 2.2vw, 1.6rem);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.3;
}

.join-form[data-state="done"] .join-lede,
.join-form[data-state="done"] .join-fields,
.join-form[data-state="done"] .join-actions,
.join-form[data-state="done"] .join-error {
  display: none;
}
