/* Patch 120: modulové CSS pro krok výběru bytu.
   Konkrétní karty používají sdílené styly z wizard-vyklizeni-bytu.css. */

/* Patch 129: vlastní parametry bytu v prvním kroku. */
.ap-choice--custom-apartment {
  border-style: dashed;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.ap-choice--custom-apartment.is-selected {
  border-style: solid;
}

.ap-custom-apartment-panel {
  grid-column: 1 / -1;
  border: 1px solid rgba(6, 75, 134, .16);
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border-radius: 22px;
  padding: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(180px, .8fr) minmax(180px, .8fr);
  gap: 16px;
  align-items: end;
  box-shadow: 0 14px 36px rgba(15, 23, 42, .055);
}

.ap-custom-apartment-panel[hidden] {
  display: none;
}

.ap-custom-apartment-copy {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ap-custom-apartment-copy strong {
  color: var(--ap-blue-dark);
  font-size: 1.05rem;
}

.ap-custom-apartment-copy span,
.ap-custom-apartment-output small {
  color: var(--ap-muted);
  line-height: 1.45;
}

.ap-custom-apartment-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-weight: 900;
  color: var(--ap-blue-dark);
}

.ap-custom-apartment-field input {
  min-height: 54px;
  font-weight: 900;
}

.ap-custom-apartment-output {
  border: 1px solid var(--ap-border);
  background: #fff;
  border-radius: 18px;
  padding: 13px 14px;
  min-height: 96px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

.ap-custom-apartment-output span {
  color: var(--ap-muted);
  font-weight: 800;
  font-size: .88rem;
}

.ap-custom-apartment-output strong {
  color: var(--ap-green);
  font-size: 1.35rem;
}

.ap-custom-apartment-confirm {
  grid-column: 1 / -1;
  justify-self: start;
}

.ap-custom-apartment-confirm:disabled {
  opacity: .55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

@media (max-width: 820px) {
  .ap-custom-apartment-panel {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .ap-custom-apartment-confirm {
    width: 100%;
  }
}
